VOXEL HORIZON – Dynamic Voxel Object구현

요새 Dynamic Voxel Object라고 이름 붙인 기능을 구현하고 있다.월드 상의 복셀 오브젝트들을 선택해서 강체변환(회전/스케일/이동)을 적용하여 맵에 배치 가능한 오브젝트로 만드는 기능이다.기능을 표현하는 용어로는 The brush from Voxel Objects라고 하는게 더 어울릴지도 모르겠다.다만 내부적으론는 Dynamic Object를 상속받은 Character Object에서 Voxel Object 집합을 생성해서 들고 있고 Dynamic Object-Character Object로 간주해서 컨트롤 하기 때문에 이런 이름을 붙였다. 영상과 … More VOXEL HORIZON – Dynamic Voxel Object구현

2023년 개발 결산

VOXEL HORIZON의 iOS/macOS 포팅 D3D Tiled resources 지원 D3D Mesh Shader지원 D3D12 Resources -> GPU Memory Heap기반으로 전환(로딩성능개선, GPU메모리 절약) VOXEL HORIZON MOD(Plugin) 지원 macOS/iOS 미디 기능 추가 13세대 Hybrid Core(P-Core, E-Core) 지원 이 정도면 많이 했다.

‘Bad apple!’ on VOXEL HORIZON

천재 박정환(devjeonghwan)님이 VOXEL HORIZON의 프로세스를 후킹해서 ‘Bad apple!’을 (voxel 데이터로서) 플레이하는데 성공.초당 30프레임으로 LoadVoxels함수(월드의 복셀 데이터를 다시 로드)를 호출한다는데 돌아가는게 신기하다.정환님의 리버싱 + 탁월한 플러그인 제작 능력에 감탄하고, 저렇게 해도 크래시 안하고 돌아가는 내 엔진도 조금 자랑스럽다. https://youtu.be/FzKi-QIf5I0 기술적 설명은 다음 링크에서 https://cafe.naver.com/megayuchi/280

VOXEL HORIZON iPhone XBOX PC 네트워크 플레이 테스트

VOXEL HORIZON의 XBOX와 PC와 iPhone간의 네트워크 플레이 테스트. [지원 플랫폼]Windows Desktop(DX11/DX12/DXR)XBOX ONE(UWP on XBOX-DirectX11 feature level 11)XBOX Series S/X(UWP on XBOX-DirectX12 feature level 11)iPhone/iPad Devices(A12 Processor 이상 필요)mac(Apple Silicon) [사용된 기술]iOS/macOS – macOS API + metal API + BSD Socket + C++Windows Desktop – DirectX 11/12/DXR + winsock + IOCP + C++XBOX(UWP on XBOX) – … More VOXEL HORIZON iPhone XBOX PC 네트워크 플레이 테스트

apple silicon m1 8 Core GPU vs RTX3070

요새 VOXEL HORIZON의 DX11/12버전을 macOS/iOS로 포팅하고 있다.https://youtu.be/oYhuwkkuGzg 일체의 외부 라이브러리 없이 C++과 metal API를 사용해서 작업중이다. DXR버전은 아직은 한참 무리고 DX11/12렌더러 기준으로는 거의 비슷하게 포팅했다. 물/파티클 빼고는 다 구현했다.이제 nvidia GPU와의 성능비교를 할 수 있겠다 싶었다. 스샷의 씬에서 렌더링하는 오브젝트는 캐릭터 한마리에 복셀 오브젝트 5개, 그리고 하늘&구름이다. 구름처리(Volumetric Cloudscapes)가 대량의 픽셀에 대해 상당히 복잡한 쉐이더를 … More apple silicon m1 8 Core GPU vs RTX3070

D3D12의 Map()에 대한 고찰.

최근에 VOXEL HORIZON에서 와이어 프레임으로 렌더링되는 박스들이 상당히 성능을 잡아먹고있음을 알게됐다. 본래라면 이런건 디버깅용 매시로나 쓰는거다.VOXEL HORIZON에서는 다수의 오브젝트를 선택해서 회전/이동을 시킬때 다수의 박스를 그리게 되므로 문제가 됐다. 첨부한 이미지와 같이 커틀러옹의 이미지로부터 변환된 복셀 오브젝트는 250개 정도 되고 이 오브젝트들을 선택했을때, 250개 정도의 박스를 렌더링 한다. 또한 회전/이동 시킬때 프리뷰 화면으로 250개 정도의 블럭(geometry … More D3D12의 Map()에 대한 고찰.

VOXEL HORIZON – 복셀 편집을 위한 발판 구현.

높은 곳에서의 복셀편집을 위해 발판을 구현하는 중. 제트팩 아이템 같은걸 만들까 하다가 이동처리 잘못 건드리면 서버까지 엮어서 일이 엄청 커지기 때문에 기존 이동체계를 건드리지 않는 방향으로 가닥을 잡았다. 고민 끝에 ‘캐릭터 위치를 따라다니는 높이 조절 가능한 발판’을 만들면 기존 체계 안건드리고 복셀 편집을 위해 떠다닐 수 있겠다는 결론을 얻었다. 필요한 기능은 엔진쪽에 다 넣어놨고 일단 … More VOXEL HORIZON – 복셀 편집을 위한 발판 구현.

VOXEL HORIZON – 복셀 오브젝트 회전 기능 구현중

복셀 회전시키는게 뭔 대수인가..하겠지만.이게 생각보다 빡신 이유는 다음과 같다. 복셀 오브젝트는 변환매트릭스를 항시 들고 있어 손쉽게 변환되는 동적 오브젝트가 아니다. 완전히 정적이다. 따라서 변환이라고 하지만 구조물을 깨고 다시 만드는 작업이다. 부수고 다시 만드는 작업이기에 OK를 누르면 되돌리기 어렵다. 따라서 유저에게 반드시 프리뷰를 제공해야한다. 여기서 작업량이 대폭 증가한다. 서버 및 다른 클라이언트와 동기화 되어야 하므로 부수고 … More VOXEL HORIZON – 복셀 오브젝트 회전 기능 구현중