Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

804
Views
Unity3D Cinemachine: ¿cómo puedo fijarme en el estilo Dark Souls de un enemigo?

Estoy trabajando en un pequeño proyecto experimental en Unity y quiero centrarme en un enemigo. Mi cámara se comporta de manera similar a la cámara de Dark Souls, usando la cámara Cinemachine Free Look. Ahora quiero poder hacer clic en un botón y fijarme en el enemigo, de forma similar a cómo funciona la cámara de Dark Souls, que se muestra en este video . También hice una imagen para explicar lo que estoy buscando. Quiero que tanto el jugador como el enemigo estén en el centro vertical de la pantalla mientras están bloqueados, pero quiero que la cámara siga al jugador, básicamente mientras gira alrededor del enemigo.

He intentado agregar tanto al jugador como al enemigo en un grupo objetivo, pero no se comporta como yo quiero. Claro, mira tanto al jugador como al enemigo, pero no los mantiene alineados como he tratado de mostrar en la imagen y el video.

Imagen que describe el objetivo.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Para mí, en el video, parece que la cámara está colocada alrededor de un punto de pivote (verde) que está fijo en el reproductor. Luego, la cámara apunta a la posición media exacta (punto naranja) entre el jugador y el enemigo seleccionado. También parece que hay un ángulo máximo cuando el enemigo salta.

Ilustración

Una prueba rápida de concepto con el código que hice. Sin embargo, el código es realmente solo una prueba de concepto:

simulacro rápido

 public class CameraScript : MonoBehaviour { public Transform enemy; public Transform player; public float cameraSlack; public float cameraDistance; private Vector3 pivotPoint; void Start() { pivotPoint = transform.position; } void Update() { Vector3 current = pivotPoint; Vector3 target = player.transform.position + Vector3.up; pivotPoint = Vector3.MoveTowards(current, target, Vector3.Distance(current, target) * cameraSlack); transform.position = pivotPoint; transform.LookAt((enemy.position + player.position) / 2); transform.position -= transform.forward * cameraDistance; } }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!