몬스터의 HP바가 시점이 바뀌더라도 항상 카메라를 쳐다보도록 구현하고 싶었다.
그런데 코드를 짜보니 HP바가 위아래, 좌우로 불안정하게 흔들리는 현상이 발생했다.
public class HPBarUI : MonoBehaviour
{
[SerializeField] private GameObject hpBar;
private Camera mainCamera;
void Start()
{
mainCamera = Camera.main;
}
void Update()
{
RotateTowardsCamera();
}
void RotateTowardsCamera()
{
Vector3 direction = (mainCamera.transform.position - hpBar.transform.position).normalized;
Quaternion lookRotation = Quaternion.LookRotation(-direction);
hpBar.transform.rotation = lookRotation;
}
}
RotateTowardsCamera 함수를 보면 문제점이 많았다.
-> y값이 고정되어있지 않았다.
-> transform.rotation 값에 직접적으로 회전 값을 지정하는 것은 좋지 않은 방법이었다.
transform.LookAt(transform.position + mainCamera.transform.rotation * Vector3.forward, mainCamera.transform.rotation * Vector3.up);
이렇게 코드를 수정하였더니 흔들림 없이 카메라를 잘 보았다.
'Study > Unity' 카테고리의 다른 글
[Unity] 오일러 각과 짐벌락 (0) | 2024.06.28 |
---|---|
[Unity] Serializefield & Property (0) | 2024.06.16 |
[Unity] Photon 사용해보기 - 멀티플레이 게임 구현 (0) | 2024.06.13 |
[Unity] Photon (0) | 2024.06.13 |
[Unity] Particle System (0) | 2024.06.12 |