Inclinar la cámara en una dirección específica en Unity3D
– UnityAssets3Free
bienvenido , me llamo juansito y para hoy os traigo
esta unity pregunta
Hola chicos, necesito ayuda, estoy tratando de descubrir cómo hacer que mi cámara se incline correctamente en una dirección específica, pero tengo algunas rarezas. específicamente en la dirección en la que mi jugador fue golpeado, como en este video que describe cómo Minecraft solía tener esta cámara inclinable para expresar de dónde se tomó el daño
mi idea era recopilar la dirección de donde provino el ataque, obtener el producto cruzado y transformarlo para obtener un eje que pueda rotar, y luego usar Quaternion.AngleAxis para inclinar mi cámara en esa dirección, pero con esta implementación no parece reaccionar cuando me giro en el lugar, siempre inclinado en la misma dirección extraña
este es mi guión que trata sobre ser atacado y comienza la inclinación de la cámara
// Vector3 punchSource is from attack instance
Vector3 punchPosition = new Vector3(punchSource.x, transform.position.y, punchSource.z);
Vector3 punchDirection = (punchPosition - transform.position).normalized;
Vector3 crossAxis = Vector3.Cross(punchDirection, transform.up);
pa.punchRotation = Quaternion.AngleAxis(45f, crossAxis);
y esto es lo relevante en el controlador de mi cámara
public Quaternion punchRotation;
...
punchRotation = Quaternion.RotateTowards(punchRotation, quaternion.identity, 45f * Time.deltaTime);
...
cameraRotation += punchRotation.eulerAngles;
transform.eulerAngles = cameraRotation;
y un ejemplo de mi problema
2 respuestas 2
Si usa animación en Unity, comience a grabar e intente mover su cámara como desee. puede guardar este clip. De esa manera, tienes el control total de cómo quieres que se mueva la cámara. Actívala cada vez que tu personaje sea atacado. También puedes comprobar cinemachine
pareces estar mirando Transformar.Mirar en cualquier secuencia de comandos adjunta al objeto que desee en otro objeto, simplemente llame a transform.LookAt(objetivo) en la función de actualización y su objeto rotará hacia el objetivo. Esto hará que su objeto gire por x, y y z, por lo que si desea restricciones, debe agregarlas.
Además, otra respuesta habla de cómo hacer una versión muy complicada de esto para grabar un video. Si desea hacer un video, simplemente ejecute su escena, vaya al administrador de escenas y use el botón derecho del mouse, los movimientos del mouse y las teclas WASD para recorrer su escena como un orbe flotante.
nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias
por hoy,espero que te halla servido