Physic Event 추가
- 현재 대마도사 스컬의 메테오가 바닥에 떨어질 때, 콜백 함수에서 물리 작용을 받는 파티클들에게 특정 방향으로 힘을 주게 되어 있는데, 이 부분에서 PhysX에서 경고 메시지가 발생해서 이벤트방식으로 수정
invalid operation : Concurrent API write call or overlapping API read and write call detected during physx::NpRigidDynamic::addTorque from thread 25140! Note that write operations to the SDK must be sequential, i.e., no overlap with other write or read calls, else the resulting behavior is undefined. Also note that API writes during a callback function are not permitted.
- 이 경고인데, 요약하자면 멀티스레드 환경에서 읽기와 쓰기 작업을 동시에 하지 말라는 이야기와 콜백 함수에서 물리 관련 쓰기 작업을 하지 말라는 이야기이다.
- PhysX에서 지원하는 콜백 함수는 멀티스레드 환경에서 동작하기 때문에, 내가 쓰는 시점에 다른 스레드가 접근하여 쓸 수 있기 때문이다.
- 그래서 이 부분을 이벤트로 따로 빼서 등록하고, 나중에 프레임이 끝나갈 무렵 이벤트에서 일괄적으로 힘을 주도록 했다.
Particle System 구현 중
- 작업해야 할 것도 많고 알아야 할 부분도 많아서 오늘 대부분의 시간을 여기에 할애했다.
- 맞게 구현한 것 같은데 파티클들이 화면에 보이지 않아서 뭔가 버그가 있는 것 같은데 짐작가지 않는다
- 일단 화면에 띄우는 게 첫 번째고, 원하는 방향으로 움직이게끔 하려면 당분간 붙잡고 있어야 할 듯 하다.
* 나오긴 하는데 1개씩 나온다 이유가 뭘까?
* 어이없게도 DrawIndexedInstanced 함수의 인자인 Instance 개수를 1개로 고정해두고 있었다!
* 위 부분을 총 파티클의 개수에 맞게 수정해줌으로써 해결
내일 할 일
- Particle System 구현 (화면에 띄우기)
'게임 개발 > [D2D_Portfolio] DirectX2D 포트폴리오 작업일지' 카테고리의 다른 글
32. HighWarlock Attack Method 구현 및 카메라 움직임 부드럽게 변경 (0) | 2023.04.23 |
---|---|
31. Particle System을 활용하여 공격 시 발생하는 먼지 구현 (0) | 2023.04.22 |
29. Monster Factory 추가 & RigidBody 및 충돌 개선 (0) | 2023.04.19 |
28. 몬스터 파티클 추가 (0) | 2023.04.17 |
27. 몬스터 추가 및 AI 초기 작업 & 타일 충돌 처리 완료 (0) | 2023.04.14 |
댓글