서명된 거리 필드 샘플링
메뉴 경로: Operator > Sampling > Sample Signed Distance Field
Sample Signed Distance Field 연산자를 사용하면 Texture3D에 저장된 거리 필드를 페치할 수 있습니다.
서명된 거리 필드(SDF)는 공간의 한 점에서 모양의 표면까지의 거리를 결정합니다. 일반적으로 이 함수는 모양 내부의 점에 대해서는 음수이고 외부에 있는 점에 대해서는 양수입니다. 오브젝트의 표면에서 SDF는 0과 같습니다.
연산자 프로퍼티
입력 | 타입 | 설명 |
---|---|---|
texture | Texture3D | SDF를 저장하는 3D 텍스처입니다. |
position | 포지션 | SDF를 샘플링할 포지션입니다. |
orientedBox | OrientedBox | SDF에 적용할 변환을 지정하는 방향 상자입니다. |
Level | float | 밉맵 레벨입니다. |
Output | 타입 | 설명 |
---|---|---|
distance | float | position에서 SDF가 정의하는 표면까지의 부호 있는 거리입니다. 이 값은 position이 모양 밖에 있으면 양수이고, position이 모양 안에 있으면 음수입니다. |
direction | Vector3 | SDF가 정의하는 표면에서 가장 가까운 점을 가리키는 방향입니다. |
추가 참고 사항
OrientedBox를 사용하여 SDF의 포지션, 방향, 스케일을 설정할 수 있습니다. OrientedBox의 중심은 SDF의 중심에 해당합니다.
한계
이 연산자가 월드 좌표에서 정확한 거리를 출력하려면 OrientedBox의 크기가 SDF를 베이크하는 데 사용한 상자의 크기와 일치해야 합니다. 이를 올바르게 설정하지 않으면 텍스처 경계의 내부와 외부로부터의 거리가 다른 스케일을 사용하기 때문에 출력이 예상한 동작을 표시하지 않습니다.
또한 SDF에 비균일 스케일을 적용하면(즉 베이크하는 데 사용한 상자의 크기와 비례하지 않으면) 거리가 왜곡되는 결과가 생성됩니다.