본문 바로가기
Study/Unity

[Unity] HpBar 방향 수정

by chobbo 2024. 6. 18.

몬스터의 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