Red de conocimiento informático - Material del sitio web - ¿Cómo rotar una cámara alrededor de un objeto específico en Unity3D?

¿Cómo rotar una cámara alrededor de un objeto específico en Unity3D?

Al crear un juego, necesitamos girar la cámara alrededor de un objeto específico para que al usuario le resulte más fácil verlo. Necesitamos usar la función RotateAround (posición del vector3, eje del vector3, ángulo flotante) de transform (Nota: este artículo solo usa C#).

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.