DirectX11 봄버맨 모작 프로젝트 개발일지 (1)
* 이전까지 작업한 내용들은 중요한 부분만 추려서 ( 0 ) 번으로 포스팅 하겠습니다 *
오늘은 이전에 작업했던 Bomb Class와 Fire Effect를 연결하여 폭탄이 터짐과 동시에 가로세로로 Fire Effect가 생기는 기능까지를 만들어 보았습니다. 이를 위해서는 튜토리얼로 주어진 FIre Class와 ModelClass( 저는 오브젝트들과 분리하여 사용하기 위해서 EffectClass로 변경하여 사용하였습니다.)를 수정하는 작업을 우선적으로 진행하였습니다.
이번에 진행한 내용을 정리해보면..
- Fire Class 생성 시, 내부적으로 초기화 진행 ( Texture 등.. )
- Bomb Class 를 소멸시키기 전, Fire Effect를 생성 ( 불줄기의 세기에 따라 길이 변동)
- Scene Class에서 Scene에 존재하는 모든 Effect들을 랜더하게끔 생성
- 일정시간이 지나면 Fire Effect가 사라지게 구현
음... 이 정도 되는 것 같네요. (정리하고 보니 별게 없어보이는건 기분탓..)
그렇다면! 조금 더 세부적으로 구현한 내용을 정리해보겠습니다.
Effect Class를 상속하는 Fire Class를 다형성을 통해 update를 진행하였고, EFFECT_TYPE 이라는 enum class를 만들어서 그에 해당하는 switch문 case를 두어 각기 다른 파일들을 로딩할 수 있게 구현하였습니다.
Bomb Class가 소멸하기 전, Fire Class들을 플레이어의 불줄기 파워에 따라서 길이을 달리 하여 생성하게끔 만들었습니다. * 플레이어의 파워는 GamaMgr를 싱글톤 기법을 제작하여 접근하였습니다.
Scene Class에서 Effect들을 랜더하기 전, 오브젝트들과 동일한 WorldMatrix, CameraMatrix 에 배치하기 위해 행렬계산을 진행하였습니다.
각 이펙트들은 Bomb Class가 소멸하기 전 생성자에 넘겨준 위치값을 기반으로 추가적으로 WorldMatrix에 행렬변환을 통해서 Transition을 진행하였습니다.
마지막으로 Fire Effect를 FireShader를 통해서 Render를 진행하면 끝!!
정리한 내용 외에도 자잘하게 코드를 수정한 부분이 있지만 따로 올리지는 않았습니다.
다음에는 맵 배치나 충돌판정 등에 대해서 공부해보도록 하겠습니다!