포지션 설정(서명된 거리 필드)
메뉴 경로: Position > Set Position (Signed Distance Field)
Set Position (Signed Distance Field) 블록은 서명된 거리 필드(SDF) 입력을 기반으로 포지션을 계산하고, 합성을 기반으로 결과를 포지션 속성에 저장합니다.
이 블록은 SDF의 Surface, Volume 또는 Thick Surface에서 포지션을 계산할 수 있습니다. 여기서 두께는 모양의 크기 또는 절대값을 기준으로 할 수 있습니다.
또한 이 블록은 모양의 계산된 포지션을 기반으로 방향 벡터를 계산하고, 합성을 기반으로 방향 속성에 저장합니다. 이 방향은 계산된 파티클 포지션에서 표면의 노멀과 같습니다.
참고: 그러면 Velocity from Direction and Speed 블록이 방향 속성을 처리할 수 있습니다.
블록 호환성
이 블록은 다음 컨텍스트와 호환됩니다.
- Initialize
- Update
- 모든 Output 컨텍스트
블록 설정
설정 | 타입 | 설명 |
---|---|---|
Position Mode | 열거형 | 이 블록이 모양을 사용하여 포지션을 계산하는 방법을 지정합니다. 옵션은 다음과 같습니다. • Surface: 모양의 표면에서만 포지션을 계산합니다. • Volume: 전체 모양의 볼륨 내 포지션을 계산합니다. • Thickness Absolute: 특정 절대 두께의 두꺼운 표면에서 포지션을 계산합니다. • Thickness Relative는 두꺼운 표면의 포지션을 가장 큰 축의 크기에 대한 특정 백분율로 계산합니다. |
Spawn Mode | 열거형 | 이 블록이 모양의 호 사이에 파티클을 분산하는 방법을 지정합니다. • Random: 호에서 파티클당 무작위 진행도(0..1)를 계산합니다. • Custom: Arc Sequencer 프로퍼티 포트에서 진행도를 지정할 수 있습니다. |
Kill Outliers | 부울 | (인스펙터) 포지션이 표면/볼륨에 맞지 않는 파티클을 죽일지 여부를 나타냅니다. |
Projection Steps | uint | (인스펙터) 이 블록이 SDF 표면에 파티클을 투사하는 데 사용하는 단계 수입니다. 이는 성능에 영향을 미칠 수 있지만, 이상치(outlier) 수를 줄일 수 있습니다. |
블록 프로퍼티
입력 | 타입 | 설명 |
---|---|---|
Box | AABox | 포지션을 계산할 모양을 결정하는 축 정렬 상자입니다. |
Thickness | float | 포지션 계산을 위한 모양 표면의 두께입니다. 이 프로퍼티는 Position Mode를 Thickness Relative 또는 Thickness Absolute로 설정한 경우에만 나타납니다. |
Arc Sequencer | float | 파티클을 생성할 호의 포지션입니다. 이 프로퍼티는 Spawn Mode를 Custom으로 설정한 경우에만 나타납니다. |
참고
이 블록은 SDF의 가장 큰 축을 기반으로 상대 두께를 계산합니다(SDF가 나타내는 오브젝트의 크기일 필요는 없음). 따라서 이 블록이 계산하는 포지션은 상대 두께가 1보다 작은 경우에도 전체 모양의 볼륨 내부에 있을 수 있습니다.