¿Cómo rotar una cámara alrededor de un objeto específico en Unity3D?
El siguiente ejemplo le permitirá comprender mejor:
Interfaz del juego: una cámara Cámara principal, un cubo Cubo
Crea un nuevo script en la vista Proyecto Archivo Gamelogic1.cs
Interfaz de código: el código es el siguiente
Usar UnityEngine;
Usar System.Collections;
Clase pública Gamelogic1: MonoBehaviour {
cubo público GameObject;
Vector2 p1 p2 //Se utiliza para realizar un seguimiento de la posición del mouse para calcular la rotación
/ / Use esto para la inicialización
void Start () {
originalPosition=transform.mousePosition.x, Input.mousePosition.y); //Registra la posición del mouse p1 cuando se usa el mouse derecho); se presiona el botón} if (Input.GetMouseButton(1)){p2=new Vector2(Input.mousePosition.x, Input.mousePosition.y); //registra la posición del mouse p2 al arrastrar con el botón derecho del mouse
// Comienza a girar abajo, solo en dirección horizontal
float dx=p2.x-p1.x;
transform.RotateAround(cube.transform.position, vector3 .up, dx *Time.delTime);}}PD: Es posible que su Unity3D MonoDevelop no admita chino. Si se produce un error, elimine los comentarios en chino en el código de muestra anterior
Después de editar el código, en. En la interfaz de visualización, Gamelogic1.cs se coloca en la cámara para permitir la ejecución del código. De esta manera puedes ver el objeto horizontalmente desde cualquier ángulo.
Notas de programación: puede consultar la Referencia de secuencias de comandos de Unity, que contiene explicaciones y ejemplos de todos los objetos, propiedades y métodos, suponiendo que su inglés sea bueno.