본문 바로가기

분류 전체보기330

13. Background 및 NPC 추가 Background 및 NPC 추가 - Background는 그냥 이미지를 가져와서 화면에 뿌려주는 식으로 구현했다. - 리소스를 찾기가 힘들어서 로딩 씬에 있는 이미지로 구현했는데, 아무래도 포토샵으로 실제 인게임에 있는 자료들을 가공해서 사용하게 될 것 같다. - NPC는 각각 무기를 주는 NPC, 스킬을 찍게 해주는 NPC, 버프를 주는 NPC 등등이 있는데, 이 NPC들이 제 역할을 하려면 UI가 구현되어야 한다. - 따라서 추후 작업은 UI 작업 내일 할 일 - UI 작업 2023. 3. 27.
부록 : i, j로 이루어진 이중 for문 에서 j < i가 조건일 때 시간복잡도 계산 cin >> n; for (int i = 0; i < n; ++i) for (int j = 0; j < i; ++j) int a = 0; // No used - 이 코드의 시간복잡도는 O(n^2)이다. - 왜 O(n^2)인가? 궁금해서 이게 어떻게 수식으로 표현되는지 알아봤다. - i는 n만큼 반복하고, j는 i-1만큼 반복한다. - 그렇다면 이 식은 i가 증가함에 따라 매 루프마다 i-1번만큼 반복하는 식이다. - i가 10이라면 j는 아래의 횟수만큼 반복한다. (행 : i, 열: j) 0 1 (j) 2 3 4 5 6 7 8 9 1 (i) 2 V 3 V V 4 V V V 5 V V V V 6 V V V V V 7 V V V V V V 8 V V V V V V V 9 V V V V V V V V - j는.. 2023. 3. 27.
12. Raycast를 이용한 충돌 디테일 작업 Raycast - 타일 맵 기반의 맵은 타일 각각이 충돌체를 가지고 있고, 플레이어가 타일과 충돌할 때 적절한 처리를 해주어야 한다. - 그 중 하나는 플레이어가 타일의 위에 올라왔을 때 Ground 처리를 해주고 그에 따른 애니메이션을 적용해야 한다는 것이다. - 이 기능을 구현하려면 단순히 플레이어와 타일의 충돌만을 처리하는 게 아니라 어느 방향에서 충돌했는지도 검사해야 한다. - 이번에는 PhysX에서 GeometryQuery::raycast 함수를 지원해서 이 기능을 사용해보기로 했다. - raycast 함수는 빛의 원점과 빛의 방향, 그리고 검사할 지오메트리와 Transform을 인자로 넘기면, 충돌 여부에 따라 true, false를 반환해주며, PxRaycastHit 구조체에 어느 지점에 충.. 2023. 3. 26.
11. Compute Shader 구현 Compute Shader 구현 - Compute Shader도 기존에 dx12 강의에서 봤던 내용들을 참고했다. - Shader 클래스에서 CreateComputeShader 멤버함수를 구현해서 사용할 수 있게 했으며, PushData로 값을 넘겨주는 부분을 이제 PushGraphicData, PushComputeData로 구분해서 사용할 수 있게 했다. - 겸사겸사 숙제까지 완료 (Compute Shader와 Noise Texture를 이용해서 알록달록하게 그리기) 내일 할 일 - 충돌 디테일 (충돌 방향에 따른 처리 등) 2023. 3. 25.