아직 공격 스크립트가 짜여지지 않았기 때문에 장황하게 뭔가를 넣을 수는 없었지만, 메소드 하나를 활용해서 HP를 관리하는 스크립트를 만들었다.

유니티 엔진에서 HP 바를 보여주는 방식은, 두 개의 큐브를 사용하여 하나는 HP 게이지, 하나는 HP 바 배경으로 만들어(물론 나중에 새로운 머터리얼을 입힐 테지만) 대략적으로 만들었다.

HP 게이지를 줄이는데, Scale에 그냥 접근해서 줄이면 왼쪽 오른쪽 동시에 크기가 줄어드는 문제가 있었는데 옛날에 경수가 조언해줬던 게 생각이 나서, 빈 게임 오브젝트를 하나 생성하여 그 오브젝트의 자식으로 HP 게이지 바를 넣어준 후 그 게임 오브젝트의 Scale을 조정하니 문제는 해결되었다.

일단 움직이는 스크립트에 메소드를 사용하여 피가 잘 닳는지 확인해 보니 아직까지 별 문제가 없어 보인다. 이것 역시 나중에 다른 스크립트와 합칠 때 문제가 발생할 시 수정을 해야 할 것 같다.

남은 문제점 하나. HP바를 캐릭터에게 직접 붙여 놓았는데 캐릭터가 회전할 때, HP바도 같이 회전해버리는 문제가 있다. 그건 차차 해결해볼 생각.




HP바 회전 문제 해결.

HPBar_set.transform.rotation = Quaternion.Euler(new Vector3(0, -transform.rotation.y, 0)); 

다음 코드를 통해서 캐릭터가 회전할 때마다 반대로 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) - 문제들 봉착..

[Unity] [일지] 소프트웨어 프로젝트, AOS 만들기 (5) - Terrain으로 지형 만들기

[Unity] [완성] 소프트웨어 프로젝트, AOS 만들기