주요 콘텐츠로 건너뛰기
버전: 3.5.x

SDF 형상 카탈로그

시각적 참고 자료: 이니고 킬레스 — 3D 거리 함수

SDF란 무엇인가요?

부호화된 거리 함수는 공간 내의 임의의 점에서 형상의 가장 가까운 표면까지의 거리를 반환합니다. 표면 안쪽은 음수, 표면 위는 0, 바깥쪽은양수로 표현됩니다. 이 거리는 힘 곡선의 입력값이 되며, 표면에 가까울수록 힘이 더 강해지고, 멀어질수록 힘이 사라집니다.

SDF 형상은 내비게이션 모듈에서 사용됩니다(버블 모양).

도형은 다음으로 정의된다. primitiveparameters 블록:

{
"shape": {
"primitive": "sphere",
"parameters": { "r": 0.05 }
}
}

기본 도형

원시적인매개변수참고 사항
spherer (반경)가장 단순한 형태
ellipsoida (반지름을 vec3 형식으로)SDF 근사치; 힘에 대해서는 정확함
boxb (vec3 형식의 반 범위)축과 일치하는
rounded_boxb (반쪽 크기), r (모서리 반경)총 면적 = b + r
box_frameb (반쪽 크기), e (가장자리 두께)상자의 와이어프레임 윤곽
planen (일반 vec3), h (~를 따라 오프셋) n)무한 반공간; n 정규화되어야 한다

캡슐과 원통

원시적인매개변수참고 사항
capsulea, b (종점 좌표는 vec3 형식), r (반경)반구형 캡
capsule_verticalh (반 높이), r (반경)Y축 약어
capped_cylindera, b (축의 끝점을 vec3로), r (반경)평평한 끝마개
capped_cylinder_verticalh (반 높이), r (반경)Y축 약어

토러스 제품군

원시적인매개변수참고 사항
torusr1 (주 반경), r2 (관 반경)XZ 평면상의 도넛
capped_torussc (cap 방향은 vec2로), r1, r2아크; sc = (cos θ, sin θ)
linkle (반신상), r1 (링 반경), r2 (관 반경)체인 링크 모양

원뿔

원시적인매개변수참고 사항
conec (각도를 vec2로) (sin α, cos α)), h (높이)끝부분이 잘린 무한 원뿔
capped_conea, b (종단점을 vec3로), r1 (기저 반경), r2 (상단 반경)원뿔형
rounded_conea, b (종단점을 vec3로), r1, r2구면 덮개가 있는 원뿔형
solid_anglec (각도를 vec2로), r (반경)원뿔에 의해 잘린 구

특이한 모양

원시적인매개변수참고 사항
vesica_revolveda, b (축을 vec3로), w (너비)렌즈 모양
rhombusla, lb (반대각선), h (반 높이 압출), r (반올림)다이아몬드 단면
pyramidh (높이)사각형 받침대
octahedronr (내접원)정팔면체
hexagonal_prismr (원주반지름), h (반 높이)Y를 따라
triangular_prismw (반폭), h (반 높이)Z를 따라
매개변수 유형

스칼라 매개변수 (r, h, e, 등)은 단순한 숫자입니다. 벡터 매개변수(a, b, n)는 객체입니다: { "x": 0.0, "y": 0.0, "z": 0.0 }. Vec2 매개변수 (c, sc)는 객체입니다: { "x": 0.707, "y": 0.707 }.

JSON 예시

구:

{ "primitive": "sphere", "parameters": { "r": 0.05 } }

타원체 (X/Z 방향이 더 넓은):

{ "primitive": "ellipsoid", "parameters": { "a": { "x": 0.06, "y": 0.03, "z": 0.06 } } }

상자:

{ "primitive": "box", "parameters": { "b": { "x": 0.04, "y": 0.02, "z": 0.04 } } }

둥근 상자:

{ "primitive": "rounded_box", "parameters": { "b": { "x": 0.30, "y": 0.02, "z": 0.30 }, "r": 0.01 } }

요약:

{
"primitive": "capsule",
"parameters": {
"a": { "x": 0.0, "y": -0.03, "z": 0.0 },
"b": { "x": 0.0, "y": 0.03, "z": 0.0 },
"r": 0.04
}
}

평면 (+X축을 따라 뻗은 경계):

{ "primitive": "plane", "parameters": { "n": { "x": 1.0, "y": 0.0, "z": 0.0 }, "h": 0.0 } }

토러스:

{ "primitive": "torus", "parameters": { "r1": 0.08, "r2": 0.02 } }

원뿔의 윗부분이 잘린 원뿔 (원뿔형):

{
"primitive": "capped_cone",
"parameters": {
"a": { "x": 0.0, "y": -0.05, "z": 0.0 },
"b": { "x": 0.0, "y": 0.05, "z": 0.0 },
"r1": 0.04, "r2": 0.01
}
}

지원되지 않는 기본 요소가 제공되면, 서비스는 원점으로부터의 거리 기반 구형 평가 방식으로 대체됩니다.