Mandelbulb를 만드는 방법

Mandelbulb는 점점 인기를 얻고있는 3 차원 프랙탈입니다. 3D 아트 및 VFX. 이 기사에서는 Mandelbulb를 빠르게 만드는 방법을 살펴 보겠습니다. 후디니 , SDF (서명 된 거리 필드 볼륨)를 사용합니다.

각 복셀에서 SDF는 표면의 가장 가까운 지점까지의 거리를 저장합니다. Houdini는 이러한 거리를 해석하고 파생 된 표면을 3D 형상으로 시각화 할 수 있습니다. 이는 대부분의 프랙탈 공식이 '거리 추정 함수'의 형태를 취하기 때문에 매우 편리합니다. 공간의 한 점이 주어지면 함수는 프랙탈 암시 표면에서 가장 가까운 점까지의 거리를 반환합니다. 즉, 프랙탈 함수의 결과를 각 복셀에 직접 넣을 수 있으며 작동합니다!

01. 빈 볼륨 만들기

빈 볼륨 도구 모음 만들기



이미지를 확대하려면 오른쪽 상단의 아이콘을 클릭하십시오.

먼저 빈 볼륨 (볼륨 SOP)을 만들어 거리 값을 채 웁니다. 이름을 '표면'으로 지정합니다. 테스트하기에 좋은 프랙탈은 Mandelbulb이며 기본적으로 너비가 약 2.5 단위이므로 볼륨 크기를 2.5, 2.5, 2.5로 설정하십시오. 볼륨의 해상도를 변경하여 속도와 품질을 절충 할 수 있습니다. 좋은 시작점은 Uniform Sampling을 By Size (분할 크기 0.01)로 설정하는 것입니다. Houdini에서 볼륨을 시각화하는 기본 모드는 포그 볼륨이지만 Display Mode를 Isosurface (속성 탭에서)로 변경하여이를 하드 한계 표면으로 표시하도록 변경할 수 있습니다.

02. 코드 추가

코드 툴바 추가

이미지를 확대하려면 오른쪽 상단의 아이콘을 클릭하십시오.

그런 다음 복셀을 거리 값으로 채우는 문제입니다. Volume Wrangle SOP에서이 VEX 코드를 사용하여 복셀 당 Mandelbulb 공식을 실행합니다.

vector p = v@P; float dr = 1; float r = 0.0; float power = chf(“power”); for (int i = 0; i 1.5) break; // convert to polar coordinates float theta = acos(p.z/r); float phi = atan(p.y, p.x); dr = pow( r, power-1.0)*power*dr + 1.0; // scale and rotate the point float zr = pow(r, power); theta *= power; phi *= power; // convert back to cartesian coordinates p = zr*set(sin(theta)*cos(phi), sin(phi)*sin(theta), cos(theta)); p += v@P; } f@surface = 0.5*log(r)*r/dr;

03. 매개 변수 참조 소개

3D 프랙탈

이미지를 확대하려면 오른쪽 상단의 아이콘을 클릭하십시오.

Houdini를 사용하면 개별 노드의 사용자 인터페이스에 사용자 지정 예비 매개 변수를 추가 할 수 있습니다. VEX 코드에는 매개 변수 참조 ( chf () 함수), UI에서 매개 변수를 사용하여 수식의 측면을 제어 할 수 있습니다. 이러한 매개 변수는 기본적으로 존재하지 않지만 코드 창 오른쪽에있는 예비 매개 변수 만들기 버튼을 눌러 만들 수 있습니다.

이 경우 Iterations 매개 변수는 Mandelbulb에 대한 세부 수준을 제어합니다. 5 또는 6으로 시작합니다. Power는 Mandelbulb의 모양을 제어합니다. 일반적인 모양은 Power 8.0에서 나타납니다.

04. 다각형으로 변환

다각형으로 변환

이미지를 확대하려면 오른쪽 상단의 아이콘을 클릭하십시오.

표면을 다각형으로 변환하려면 볼륨 변환 SOP와 함께 볼륨 Wrangle을 따르십시오. 반전 모드를 사용하면 부호있는 거리 필드로 해석되며 다각형 형태로 메시 된 상세한 프랙탈 모양을 얻을 수 있습니다. 효과적으로 반전 모드는 표면의 법선과 다각형의 감기 ​​방향을 반전시킵니다.

05. Mandelbulb 렌더링

mandelbulb 렌더링

이미지를 확대하려면 오른쪽 상단의 아이콘을 클릭하십시오.

그런 다음 다른 메시와 동일하게 렌더링 할 수 있지만 너무 상세하기 때문에 UV 래핑을 쉽게 풀 수 없습니다. 예를 들어 곡률에 따른 음영 처리와 같은 절차 적 기법을 사용하여 표면을 표면화하는 것이 좋습니다.

이 기사는 원래 3D 세계 , CG 아티스트를위한 세계 베스트셀러 매거진. 구입 237 호 또는 구독 .

더 읽어보기 :