본문 바로가기
DirectX/[갠플] Maple Story 모작

22-08-01

by GameStudy 2022. 8. 1.

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 걸어달라는 이야기라서..; 역시 사람은 혼자 일하는게 아니라는게 뼈저리게 느껴짐.

'DirectX > [갠플] Maple Story 모작' 카테고리의 다른 글

22-08-10  (0) 2022.08.11
22-08-04  (0) 2022.08.04
22-07-29  (0) 2022.07.30
22-07-28  (0) 2022.07.28
22-07-27  (0) 2022.07.27

댓글