0. 오늘 느낀점.
- 모작 일지를 열심히 쓰자.
1. Collision Component를 이용한 충돌 확인
1.1 몬스터 FSM 작성
- 각 몬스터의 FSM을 다 짜기가 힘들어서,
Monster 클래스에다가 중복되는 상태들을 정의하고자 했음.
- 근데 이러면 해당 상태의 start, update, end 함수가 모두 Monster 클래스에 종속.
그래서 업캐스팅을 활용함.
- 그래도 문제인게, 해당 상태에 맞는 각 몬스터의 애니메이션으로 Change 되어야함.
이게 불가능함. 각 몬스터의 애니메이션 이름이 다르기 때문.
- 그래서 다른 클라이언트 지망생 분과 상의 후, Start() 함수를 virtual로 선언하면
된다는 결론에 다다름.
- 근데 또.. 이렇게하니까 CreateStateMember()가 말썽임.. 결국 자식에서 다 따로해야할듯..
내일 다시 하기로함.
1.2 플레이어 & 몬스터 충돌 구현
- 정상작동했음. + 피격 1초간 무적판정까지 구현함.
2. Veil 클래스의 DefaultRenderer 문제 확인.
- Veil 클래스에서 만들어진 Default Renderer Component가 있었음.
근데, Veil 클래스에서 해당 Renderer를 Main Camera에 Push해줘야
화면에 그려지는데 그게 불가능 했음. MainCameraPush() 함수가 private이었고
DefaultRenderer 클래스와만 friend 상태였기 때문.
- 그래서 이를 엔진 프로그래머 분께 "Veil 클래스에서도 PushMainCamera() 호출 가능"하게금
요청 드릴려 했음. 근데 그전에 동기 클라 프로그래머분들께 이 상황을 공유함.
- 그 중 한분이 "DefaultRenderer를 상속 받은 VeilRenderer를 만들고, 그 클래스 내에서 호출"이라는
피드백을 주심. 반영했더니, 역시 깔끔하게 해결..
- 섣불렀던 거 같음. 사실 Veil 클래스에서 PushMainCamera()가 호출 가능하다는건 말이 안됨.
개체마다 다 friend 걸어달라는 이야기라서..; 역시 사람은 혼자 일하는게 아니라는게 뼈저리게 느껴짐.
댓글