게임 개발101 6. PhysX Debug Rect 기능 개선 Debug Rect - Debug Rect는 PhysX 씬에서 물체가 차지하는 크기를 표시해주는 역할을 한다 - 기존 방식은 Debug Rect의 크기를 정할 때, 플레이어의 Scale값을 따라가도록 만들었다. - 그런데 생각해보니, 이렇게 같게 만들면 충돌체의 크기가 고정되어 버려서 물체의 크기와 다른 크기의 충돌체를 구현하기가 어려워진다. - 그래서 내부적으로 크기행렬을 2개 가지고 있다가, GPU에 월드행렬을 전달할 때 MeshRenderer, DebugRenderer 각각 다른 크기행렬로 계산을 하는 식으로 구현했다. 몇 가지 버그들 Fix 1. 내가 월드에서 정해준 플레이어의 크기와 물리 씬에서의 물체 크기가 일치하지 않는 버그 - 박스의 크기를 정해준 다음 플레이어의 스케일을 또 곱해줘서 더 .. 2023. 3. 16. 5. 타일 출력 및 정렬 구현 타일 출력 - 클릭된 타일의 인덱스를 가져와서 화면에 뿌려주는 로직인데 이 부분은 간단하게 구현함 - LBUTTON CLICK 이벤트가 발생하면, 현재 마우스에 Preview Tile의 위치값을 받아서 타일을 생성하였음 타일 정렬 - 타일은 일정한 간격으로 배치되어야 하므로 타일 크기로 나눈 다음 나머지를 버린 몫을 취해서 다시 타일 크기를 곱해주는 것으로 쉽게 구현이 가능하다. - 그 후 그리드와 타일의 위치를 맞춰 주는 수작업을 통해 실제 타일 칸에 타일이 찍히는 로직을 구현했다. 툴 탭 및 옵션 추가 - 현재 TilePallete에서 타일을 선택하는 부분이 있고, 옵션을 선택하는 부분이 있는데(충돌체, 그리는방식(연속,단일) 등등) 이런 기능들을 한 GUI안에 집어넣으면 복잡하기 때문에, 탭을 나눠.. 2023. 3. 15. 4. Tool Pallete 기능 개선 및 Grid 구현 Pallete 클래스에 필요한 기능 추가 - 우클릭 시 마우스 커서 위치에 있던 타일 텍스쳐 제거 - 이 과정에서 발견한 버그 중 하나는 SRV 레지스터가 초기화되고 있지 않다는 것 - 팔레트 버튼 클릭 시 버튼 인덱스에 맞는 텍스쳐를 Resources에서 가져오는데, Tool 쪽에서 텍스쳐를 nullptr로 보내줘도 SRV 레지스터가 초기화가 안되니 커서 위치의 타일이 화면에서 지워지지 않는 버그 - 이 부분을 개선하기 위해 Material에서 해당 SRV 레지스터에 보낼 텍스쳐가 없는 경우 nullptr을 가진 ShaderResourceView를 보내줘서 해결 Grid 구현 - Grid는 일반 GameObject에 GridScript를 추가해서 사용했다 - Grid를 그려주는 부분은 Shader 코드.. 2023. 3. 14. 3. Pallete 클래스 작업_230313 Pallete 클래스 - 이 클래스는 타일 맵 툴에서 사용될 녀석이다 - 마우스로 Pallete에 있는 타일을 클릭해서 화면상에 찍어 주면, 그 타일이 화면에 출력된다 - 이렇게 맵에 타일을 깔아주면, 그 타일들이 모여서 맵이 만들어진다. - 이렇게 맵 단위로 만들게 되면 당연히 그 맵에 몬스터도 같이 추가시킬 것이기 때문에 나중에 추가할 Prefab 기능을 고려해서 작성하고 있다. ImGui::ImageButton - 이 함수는 첫 번째 인자로 ShaderResourceView를 받고, 두번째 인자로 사이즈를 받는다. - Pallete의 전체적인 로직은 메인 함수에서 툴을 초기화할 때 특정 경로에 있는 타일들을 다 텍스쳐로 로드한 후, - 그 텍스쳐를 Resources (리소스 매니저)에 저장함과 동시.. 2023. 3. 13. 이전 1 ··· 20 21 22 23 24 25 26 다음