개요
- 롯데월드 부산 프로젝트를 앞두고 ArcEye로 스캔한 pcd 데이터를 3D 모델링에 잘 사용할 수 있는 방법이 없을지 생각해보다가 블렌더에서 포인트 클라우드 데이터를 활용하는 방법을 찾아서 적용해보았다.
- 블렌더에서 포인트 클라우드 데이터를 볼 수 있다면 모델 형상을 참고하고 전체 모델링 스케일을 맞추는 데에 유용할 것이라고 판단했다.
활용 방법 1 -포인트 색상 확인
- 포인트 클라우드 파일을 준비한다. (.pcd 파일)

- CloudCompare 프로그램을 이용하여 pcd 파일을연다.
CloudCompare - Downloads
CloudCompy, by Paul Rascle This project allows one to load clouds and access their internal data as numpy arrays, call some of CloudCompare's algorithms, apply your own processes, and save the result. the reference documentation can be found here the lates
cloudcompare-org.danielgm.net

- 위쪽 툴 중 Segment 기능을 사용한다.
(맵을 자르는 이유는 전체를 ply 파일로 변환해서 블렌더에 import 하면 부하가 커져서 블렌더가 꺼지기 때문.)
(포인트 수를 줄여서 전체 맵을 사용할 수 있는 기능은 맨 아래 참고사항에 추가했다.)

- 마우스 왼쪽 버튼으로 다각형을 그려서 이어나갈 수 있고 마우스 오른쪽 버튼으로 다각형을 완성한다.

- 다각형을 그렸다면 우측 상단에 Export selection 기능을 이용하여 오리지널 데이터는 유지한 채로 분리할 수 있다.


- ply 파일로 export 할 포인트 클라우드 데이터만 viewport에 띄워놓은 후 [File] - [Save]에서 ply 포맷으로 저장하면 된다.


PLY 파일 포맷이란?
- Designed to store three-dimensional data from 3D scanners
- Including color and transparency, surface normals, texture coordinates and data confidence values.
PLY (file format) - Wikipedia
From Wikipedia, the free encyclopedia File format designed to store three-dimensional data from 3D scanners PLY is a computer file format known as the Polygon File Format or the Stanford Triangle Format. It was principally designed to store three-dimension
en.wikipedia.org
- 저장을 할 때 두 가지 옵션이 있다. Binary와 ASCII에 대한 설명은 아래와 같고 두 타입 모두 Blender에 import가 가능하다. 압축률이 높은 Binary 옵션을 사용하는 것이 좋다고 판단했다. (ASCII 타입은 Binary 타입에 비해 3배나 높은 용량이 표시되는 것을 볼 수 있다.)

Binary : The data is simply packed closely together at the endianness specified in the header and with the data types given in the property records.
ASCII : The vertices and faces are each described one to a line with the numbers separated by white space.
PLY (file format) - Wikipedia
From Wikipedia, the free encyclopedia File format designed to store three-dimensional data from 3D scanners PLY is a computer file format known as the Polygon File Format or the Stanford Triangle Format. It was principally designed to store three-dimension
en.wikipedia.org
- 이제 블렌더를 열어서 ply 파일을 import 한다.

- 처음 보게 되는 모델은 렌더된 형태가 아니라 이름 그대로 단순히 포인트가 클라우드화 된, 점들이 모여있는 형태를 볼 수 있다. 색상까지 보고싶다면 조금의 몇 가지 기능을 이용해야 한다.

- 먼저, Geometry Node Editor 창을 열어서 노드를 하나 생성한다.

- [Mesh to Points]와 [Set Material] 노드를 생성하여 연결한다.
- [Mesh to Points]의 Radius 옵션으로 포인트 클라우드 점의 지름을 정할 수 있다.
- 메테리얼은 바로 뒤에서 생성해서 적용할 예정


- 메테리얼을 하나 생성해서 [Attribute] 노드를 추가하고 컬러를 연결한다.
- 여기서 가장 중요한 점은, [Attribute]의 [Name]에 “Col”을 입력해야 한다는 점이다. 대소문자 구분을 하기 때문에 정확히 입력해야 한다.

- 메테리얼을 만들었다면 다시 Geometry Node Editor로 가서 방금 만든 메테리얼을 적용한다.

- 이제 거의 끝났는데, 색상이 렌더되려면 [EEVEE] 렌더 엔진으로는 지원되지 않아서 [Cycles] 엔진으로 변경한다. 샘플링 숫자는 너무 크면 렌더가 오래 걸리기 때문에 적당히 낮춰서 편한 설정으로 사용하면 된다.

- 메테리얼이 빛의 영향을 받기 때문에 Light를 추가해야 한다.

- 라이트를 추가하면 색상까지 렌더되는 것을 불 수 있다.

활용 방법 2 -포인트 메쉬화 하기
색상을 볼 수 있는 방법 외에 포인트를 메쉬화 해서 보는 방법도 있다.
Geometry Node를 활용해서 볼 수 있다. 아래 [Mesh to Points] - [Set Material]은 색상을 보는 용도, 위에 [Points to Volume] - [Volume to Mesh]는 메쉬화 하는 노드이다.

Density, Radius, Threshold 값은 캡쳐된 설정을 따르는 것을 추천한다. (프로젝트에 따라 세부 조정 가능)
VoxelAmount 값은 컴퓨터 사양에 따라서 1000 이상으로, 형태가 잘 보일 정도로 높이는 것을 추천한다.
위와 같은 설정을 했을 때 포인트사이에 보간이 되어 메쉬 느낌으로 채워지는 것을 볼 수 있다.



메쉬화 된 맵은 블렌더 Edit 모드를 통해서 불필요한 폴리곤을 지우고 필요한 에셋만 남겨서 export 할 수 있다.


참고사항
- Subsample 기능을 사용하여 포인트 수를 줄일 수 있다. 이로써 전체 맵을 한 번에 변환할 수도 있다.

- Random : 전체 포인트 수 중에서 사용할 포인트 수를 직접 지정하여 줄일 수 있다. 현재 2억이 넘는 포인트를 2천만 정도로 줄일 수 있다는 뜻. 랜덤으로 줄어들기 때문에 전체적인 형상은 유지한다.

- Random(%) : 전체 포인트 수 중에서 일정 비율 만큼의 포인트만 사용하도록 설정한다.

*2억 개의 포인트 중 10%만 사용하여 렌더한 모습

*Geometry Node 원형 크기를 늘려서 더 선명하게 보는 방법이 있다. 0.02m → 0.05m로 확대

*참고 영상
'Blender > 내용 정리&Tip' 카테고리의 다른 글
| [Blender] 블렌더에서 텍스쳐 이미지 베이킹하기 (Baking Texture Image in Blender) (1) | 2025.05.26 |
|---|---|
| [Blender] GLB 파티클 애니메이션 제작 매뉴얼 (0) | 2025.04.28 |
| [Blender] 블렌더 서로 다른 오브젝트 Join 할 때 생기는 오류 (0) | 2025.01.02 |
| [Blender] 마우스 좌클릭으로 원하는 곳에 오브젝트 쉽게 복제하기(2) (4) | 2024.11.11 |
| [Blender] 마우스 좌클릭으로 원하는 곳에 오브젝트 쉽게 복제하기 (6) | 2024.10.29 |