유니티게임개발/기초공부

유니티에서 포인트 클라우드(point cloud) 렌더링하기(keijiro - Pcx)

디지털콘텐츠크리에이터 2024. 6. 27. 22:08

유니티에서 포인트 클라우드(point cloud) 렌더링하기(keijiro - Pcx)

유니티 개발자 keijiro가 자신의 깃허브 웹사이트에서 포인트 클라우드 데이터(ply 형식)를 유니티에서 임포트 및 렌더링 할수있는 프로젝트(pcx)를 공개 및 제공하고있습니다.

1)아래 keijiro 깃허브 웹사이트에서 프로젝트를 다운로드하고 유니티에서 해당 프로젝트를 열기합니다.

https://github.com/keijiro/Pcx?tab=readme-ov-file

 

2)pcx 패키지를 사용하려면 scoped registry를 추가해야합니다. 메모장에서 패키지 매니페스트 파일(Packages/manifest.json)을 열기합니다.

 

3)매니페스트에 다음을 추가합니다.

scopedRegistries 섹션

  "scopedRegistries": [
    {
      "name": "Keijiro",
      "url": "https://registry.npmjs.com",
      "scopes": [ "jp.keijiro" ]
    }
  ],

dependencies 섹션
"jp.keijiro.pcx": "1.0.1"

 

4)수정한 메니페스트를 저장하면 추가한 scoped Registry를 가져오기하며 프로젝트 설정의 패키지 관리자에서 확인할수있습니다.

 

5)프로젝트에서 테스트 씬과 가져오기한 포인트 클라우드를 확인할수있습니다.

 

6)프로젝트에 가져오기한 ply 파일은 인스펙터에서 몇가지 컨테이터 타입을 제공합니다(mesh, compute buffer, texture)

 

7)mesh 타입은 커스텀 쉐이더인 Point Cloud의 Point 쉐이더를 사용합니다.

 

8)compute buffer 타입은 사용자 스크립트인 PointCloudRenderer 를 사용합니다.

 

7)타입을 선택하고 적용한후 씬에 생성하면 포인트 클라우드를 렌더링합니다.

 

8)사용자 포인트 클라우드 데이터를 준비합니다. 

 

9)프로젝트에 파일을 가져오기합니다.

 

10)ply importer에서 컨테이너 타입을 선택하고(compute buffer) 적용한후 씬에 오브젝트를 추가합니다.

 

11)씬과 카메라 뷰에서 렌더링한 포인트 클라우드를 확인할수있습니다.