[Unity] [일지] 소프트웨어 프로젝트, AOS 만들기 (3) - HP 관리
아직 공격 스크립트가 짜여지지 않았기 때문에 장황하게 뭔가를 넣을 수는 없었지만, 메소드 하나를 활용해서 HP를 관리하는 스크립트를 만들었다.
유니티 엔진에서 HP 바를 보여주는 방식은, 두 개의 큐브를 사용하여 하나는 HP 게이지, 하나는 HP 바 배경으로 만들어(물론 나중에 새로운 머터리얼을 입힐 테지만) 대략적으로 만들었다.
HP 게이지를 줄이는데, Scale에 그냥 접근해서 줄이면 왼쪽 오른쪽 동시에 크기가 줄어드는 문제가 있었는데 옛날에 경수가 조언해줬던 게 생각이 나서, 빈 게임 오브젝트를 하나 생성하여 그 오브젝트의 자식으로 HP 게이지 바를 넣어준 후 그 게임 오브젝트의 Scale을 조정하니 문제는 해결되었다.
일단 움직이는 스크립트에 메소드를 사용하여 피가 잘 닳는지 확인해 보니 아직까지 별 문제가 없어 보인다. 이것 역시 나중에 다른 스크립트와 합칠 때 문제가 발생할 시 수정을 해야 할 것 같다.
남은 문제점 하나. HP바를 캐릭터에게 직접 붙여 놓았는데 캐릭터가 회전할 때, HP바도 같이 회전해버리는 문제가 있다. 그건 차차 해결해볼 생각.
HP바 회전 문제 해결.
다음 코드를 통해서 캐릭터가 회전할 때마다 반대로 hp바의 각도를 회전하게 하여 항상 정면을 바라보게 만들었다. quaternion.euler는 절대각도이며, gameObject.transform.rotation = Quaternion.Euler(0, 90, 0); 이런 식의 코드를 쓰면 월드 축으로 정확히 x = 0, y = 90, z = 0 형태로 회전을 하게 된다.
- 유니티 빌보드를 사용하는 방법이 있을 듯. 수정해보자. 결과 : LookAt을 사용하니 계속해서 카메라를 바라보게 되는데 카메라가 항상 정면이 아니라는 사실을 해봄으로써 알게 되었다 ㅋㅋ.. 아무튼 실패. 이전의 방식이 좀 더 나은 것 같다.
[Unity] [일지] 소프트웨어 프로젝트, AOS 만들기 (1) - NavMesh
[Unity] [일지] 소프트웨어 프로젝트, AOS 만들기 (2) - 가까운 적 인식에 대해
[Unity] [일지] 소프트웨어 프로젝트, AOS 만들기 (4) - 문제들 봉착..