이 페이지에서는 RGBA에 매핑된 벡터 값을 출력하는, 사용 가능한 벡터 머티리얼 표현식을 설명합니다. 머티리얼이 반응할 수 있도록 월드 스페이스 내 오브젝트 위치를 얻거나, 캐릭터가 특정 영역에 진입했을 때 컬러를 전환하는 등 많고 다양한 공간 머티리얼 이펙트에 유용합니다. 그 외에도 로컬 머티리얼 이펙트를 제어할 수 있는 다양한 표현식을 아래 예시에서 자세히 알아볼 수 있습니다.
ActorPositionWS
ActorPositionWS 는 월드 스페이스 내 이 머티리얼로 오브젝트 위치를 나타내는 Vector3(RGB) 데이터를 출력합니다.

이 예시에서 ActorPositionWS는 머티리얼의 베이스 컬러로 직접 전달됩니다. 그 결과, 머티리얼이 적용된 각 오브젝트는 3D 스페이스 내 다양한 위치로 이동하면서 서로 다른 컬러를 표시합니다. 컬러가 느닷없이 튀지 않고 자연스럽게 블렌딩되도록 하기 위해 ActorPositionWS 노드의 결과가 1600으로 나뉜다는 점을 참고하세요.
CameraPositionWS
CameraWorldPosition 표현식은 월드 스페이스 내 카메라의 위치를 나타내는 3채널 벡터 값을 출력합니다.
아래 예시에서 카메라 위치는 머티리얼의 베이스 컬러로 전달됩니다. 카메라 위치가 변경됨에 따라 프리뷰 스피어의 컬러가 어떻게 변하는지 눈여겨보세요.
CameraVectorWS
CameraVector 표현식은 표면에 대한 카메라의 방향을 나타내는 3채널 벡터 값을 출력합니다. 즉, 픽셀에서 카메라까지의 방향입니다.
사용 예시: CameraVector는 CameraVector를 ComponentMask에 연결하고 CameraVector의 X 및 Y 채널을 텍스처 좌표로 사용하여 인바이런먼트 맵을 흉내 내는 데 사용되기도 합니다.

Constant2Vector
Constant2Vector 표현식은 2채널 벡터 값, 다른 말로 상수 둘을 출력하는 표현식입니다.
프로퍼티 | 설명 |
---|---|
R | 표현식이 출력하는 벡터의 빨강 또는 첫 번째 채널의 실수 값을 나타냅니다. |
G | 표현식이 출력하는 벡터의 초록 또는 두 번째 채널의 실수 값을 나타냅니다. |
예: (0.4, 0.6), (1.05, -0.3)
사용 예: Constant2Vector 는 마찬가지로 2채널 값을 사용하는 텍스처 좌표 변경에 좋습니다.

머티리얼 그래프 영역에서 2 키를 누른 채 클릭하면 Constant2Vector 노드를 빠르게 만들 수 있습니다.
Constant3Vector
Constant3Vector 표현식은 3채널 벡터 값, 다른 말로 상수 셋을 출력하는 표현식입니다. 각 채널마다 (빨강, 초록, 파랑) 한 가지씩 색이 할당되는 RGB 컬러를 예로 들 수 있습니다.
프로퍼티 | 설명 |
---|---|
프로퍼티 | |
R | 표현식이 출력하는 벡터의 빨강 또는 첫 번째 채널의 실수 값을 나타냅니다. |
G | 표현식이 출력하는 벡터의 초록 또는 두 번째 채널의 실수 값을 나타냅니다. |
B | 표현식이 출력하는 벡터의 파랑 또는 세 번째 채널의 실수 값을 나타냅니다. |
예: (0.4, 0.6, 0.0), (1.05, -0.3, 0.3)

머티리얼 그래프 영역에서 3 키를 누른 채 클릭하면 Constant3Vector 노드를 빠르게 만들 수 있습니다.
Constant4Vector
Constant4Vector 표현식은 4채널 벡터 값, 다른 말로 상수 넷을 출력하는 표현식입니다. 각 채널마다 (빨강, 초록, 파랑, 알파) 한 가지씩 색이 할당되는 RGBA 컬러를 예로 들 수 있습니다.
프로퍼티 | 설명 |
---|---|
R | 표현식이 출력하는 벡터의 빨강 또는 첫 번째 채널의 실수 값을 나타냅니다. |
G | 표현식이 출력하는 벡터의 초록 또는 두 번째 채널의 실수 값을 나타냅니다. |
B | 표현식이 출력하는 벡터의 파랑 또는 세 번째 채널의 실수 값을 나타냅니다. |
A | 표현식이 출력하는 벡터의 알파 또는 네 번째 채널의 실수 값을 나타냅니다. |
예: (0.4, 0.6, 0.0, 1.0), (1.05, -0.3, 0.3, 0.5)
아래의 예시에서는 Constant4Vector 표현식이 머티리얼의 Base Color 와 Opacity 를 정의하는 데 사용됩니다. 상단 핀은 RGB 색상을 출력하며, 하단 핀은 알파 채널의 값을 출력합니다. 알파 값이 0.5로 설정되면 반투명한 머티리얼이 생성됩니다.

머티리얼 그래프 영역에 4 키를 누른 채 클릭하면 Constant4Vector 노드를 빠르게 만들 수 있습니다.
LightVector
LightVector 머티리얼 표현식은 디퍼드 데칼(Deferred Decal) 머티리얼 및 데칼 액터와 함께 사용 시 벡터(RGB) 데이터를 출력합니다. 이는 데칼의 좌표 공간 내 데칼 투영 박스를 기준으로 현재 픽셀의 정규화된(0~1 범위) 위치를 나타냅니다.
LightFunction 머티리얼과 함께 사용하는 경우, LightVector 머티리얼 표현식은 라이트의 좌표 공간 내 라이트에서 픽셀까지의 벡터를 나타내는 벡터(RGB) 데이터를 출력합니다.
다른 머티리얼 도메인에는 LightVector 표현식이 사용되지 않습니다.
LightVector 머티리얼 표현식은 디퍼드 데칼 또는 LightFunction 머티리얼 도메인에만 사용해야 합니다.
예시
LightVector 머티리얼 표현식을 사용하여 디퍼드 데칼의 선형 감쇠 이펙트를 구현할 수 있습니다. 아래의 그래프에는 데칼과 수신 표면 간 블렌드의 뎁스 및 감쇠를 제어하는 2개의 파라미터가 있습니다.
결과는 아래와 같습니다.
Object Bounds
Object Bounds 표현식은 각 축에 머티리얼이 적용된 오브젝트의 크기를 출력합니다. 표현식은 X, Y, Z축을 나타내는 float3을 출력합니다. 이 노드를 베이스 컬러에 연결하는 경우 축은 각각 R, G, B에 해당합니다.

아래 영상에서 오브젝트가 각 축에서 스케일 조절될 때 머티리얼의 컬러가 어떻게 변하는지 눈여겨보세요.
ObjectOrientation
ObjectOrientation 표현식은 머티리얼이 적용된 오브젝트의 월드 스페이스 업 벡터를 출력합니다. 즉, 오브젝트의 로컬 양수 Z축이 이 방향을 가리킵니다.

ObjectPositionWS
ObjectPositionWS 표현식은 오브젝트 바운드의 월드 스페이스 중앙 위치를 출력합니다. 아래 이미지의 각 스피어는 공간 내 다른 위치로 이동하면서 다른 컬러로 바뀝니다. RGB 컬러 채널은 레벨의 X, Y, Z축에 해당합니다. 이 노드는 폴리지에 스피어 라이팅을 생성할 때 유용합니다.

ParticlePositionWS
ParticlePositionWS (파티클 위치 월드 스페이스)는 각 개별 파티클의 월드 스페이스 위치를 나타내는 Vector3 (RGB) 데이터를 출력합니다.

이 이미지에서는 이미시브 컬러에 ParticlePositionWS 를 물려 데이터를 시각화시키고 있습니다. 파티클 시스템의 위치에 따라 색이 어찌 변해가는가 보이기 위해 스케일을 올려 놨습니다.
PixelNormalWS
PixelNormalWS 표현식은 현재 노멀을 기준으로 픽셀이 향하는 방향을 나타내는 벡터 데이터를 출력합니다.

이 예시에서 PixelNormalWS는 베이스 컬러로 연결됩니다. 노멀 맵이 픽셀당 결과를 제공하는 데 어떻게 사용되는지 눈여겨보세요.
PreSkinnedLocalNormal
PreSkinnedLocalNormal 벡터 표현식은 스켈레탈 및 스태틱 메시의 로컬 표면 노멀을 나타내는 3채널 벡터 값을 출력합니다. 이를 통해 로컬 정렬된 3면 머티리얼과 머티리얼의 메시 정렬 이펙트를 구현할 수 있습니다.
이 예시에서 아래 머티리얼은 메시의 로컬 표면 노멀에 정렬된 3면 텍스처를 사용합니다.
이미지를 클릭하면 확대됩니다.
![]() |
![]() |
---|---|
3면 PreSkinnedLocalNormal 벡터 표현식 | 3면 머티리얼 |
PreSkinnedLocalPosition
PreSkinnedLocalPosition 벡터 표현식은 버텍스당 출력에서 사용할 스켈레탈 메시의 디폴트 포즈 위치 데이터에 대한 액세스 권한을 부여하는 3채널 벡터 값을 출력합니다. 이를 통해 애니메이팅된 캐릭터에 현지화된 이펙트를 구현할 수 있습니다. 이 벡터 표현식은 스태틱 메시에도 사용할 수 있으며, 그러면 표준 로컬 위치를 반환합니다.
이미지를 클릭하면 확대됩니다.
이 예시에서는 스켈레탈 메시의 디폴트 포즈가 매핑에 사용되었으며, 오른쪽은 디폴트 UV 매핑입니다.
![]() |
![]() |
---|---|
PreSkinnedLocalPosition 벡터 표현식 | 스켈레탈 메시의 디폴트 UV 레이아웃 |
ReflectionVectorWS
ReflectionVectorWS 표현식은 CameraVectorWS와 비슷하지만, 표면 노멀 전체에 반영된 카메라 방향을 나타내는 3채널 벡터 값을 출력합니다.
사용 예시: ReflectionVector는 리플렉션 벡터가 큐브맵 텍스처의 UV 좌표에 전달되는 인바이런먼트 맵에서 일반적으로 사용됩니다. 이를 통해 물리적 환경과 매칭되지 않는 머티리얼에서 임의의 리플렉션을 생성할 수 있습니다. 또한 리플렉션 벡터를 사용하여 Surface TranslucencyVolume 또는 Surface ForwardShading 이 활성화되지 않은 반투명 머티리얼에 비용이 저렴한 페이크 리플렉션을 생성할 수 있습니다.

VertexNormalWS
VertexNormalWS 표현식은 월드 스페이스 버텍스 노멀을 출력합니다. WorldPositionOffset과 같이 버텍스 셰이더에서 실행되는 머티리얼 입력에만 사용할 수 있습니다. 메시를 키우거나 줄이는 경우 유용합니다. 노멀에 따른 위치 오프셋으로 인해 UV 심을 따라 지오메트리가 분리될 수 있습니다.
위의 예시에서 프리뷰 스피어는 각 버텍스가 저마다의 노멀 방향으로 움직이므로 사인파 모션으로 스케일 업/다운되는 것처럼 보입니다.
Vector Noise

Vector Noise 머티리얼 표현식은 머티리얼에서 사용하기 위한 3D 또는 4D 벡터 노이즈 결과를 몇 가지 더 추가합니다. 이 함수의 런타임 비용으로 인해, 일단 해당 표현식으로 룩 개발을 하고 나면 렌더 타깃 기능을 사용하여 연산 전체 또는 일부를 텍스처에 굽는 것이 좋습니다.
외부 툴을 이용하여 텍스처를 절차적으로 생성하는 대신 이러한 머티리얼 그래프 표현식을 통해 엔진에서 최종 에셋의 프로시저럴 룩을 개발할 수 있습니다. Vector Noise 머티리얼 표현식에는 다음과 같은 Vector Noise 타입이 있습니다.
이미지 | 항목 | 설명 |
---|---|---|
![]() |
Cellnoise | 3D 그리드(즉, 노드 입력에 적용되는 수학적 floor 연산)의 각 셀에 랜덤 컬러를 반환합니다. 결과는 항상 주어진 위치에 대해 일관적이므로, 머티리얼에 무작위성을 더하는 안정적인 방법이 될 수 있습니다. 이 Vector Noise 함수의 연산 비용은 매우 저렴하므로 굳이 퍼포먼스를 위해 텍스처에 굽지 않아도 됩니다. |
![]() |
Perlin 3D Noise | 3D 그리드(즉, 노드 입력에 적용되는 수학적 floor 연산)의 각 셀에 랜덤 컬러를 반환합니다. 결과는 항상 주어진 위치에 대해 일관적이므로, 머티리얼에 무작위성을 더하는 안정적인 방법이 될 수 있습니다. 이 Vector Noise 함수의 연산 비용은 매우 저렴하므로 굳이 퍼포먼스를 위해 텍스처에 굽지 않아도 됩니다. |
![]() |
Perlin Gradient | 스칼라 Perlin Simplex Noise의 분석적 3D 그레이디언트를 계산합니다. 출력은 4채널로, 첫 3개 채널(RGB)은 그레이디언트이고 네 번째 채널(A)은 스칼라 노이즈입니다. 이 노이즈 타입은 표면의 범프나 플로 맵에 유용합니다. |
![]() |
Perlin Curl | 벡터 Perlin Simplex Noise(일명 Curl Noise)의 분석적 3D 컬을 계산합니다. 출력은 부호가 있는 3D 컬 벡터로, 플루이드 또는 파티클 플로에 유용합니다. |
![]() |
Voronoi | 스칼라 Noise 머티리얼 노드와 동일한 Voronoi 노이즈를 계산합니다. 스칼라 Voronoi 노이즈는 3D 스페이스에 시드 포인트를 스캐터링하고 가장 가까운 시드 포인트까지의 거리를 반환합니다. Vector Noise 버전은 RGB에서는 가장 가까운 시드 포인트 위치를, 알파(A)에서는 해당 시드 포인트까지의 거리를 반환합니다. 특히 Cellnoise와 함께 사용하면 Voronoi 셀별로 어느 정도의 랜덤화된 비헤이비어가 가능합니다. |
아래는 단순한 암석층 머티리얼로, Voronoi Vector Noise의 거리 컴포넌트를 사용하여 일부 표면 범프를 변조하고 갈라진 틈에 이끼를 블렌딩했습니다. 시드 위치는 Vector Noise > Cellnoise와 함께 암석당 컬러와 범프 높이를 변경하는 데 사용되었습니다.

도함수 기반 연산인 Perlin Curl 및 Perlin Gradient 는 일반적인 펄린 노이즈와 마찬가지로 옥타브 단위로 함께 추가할 수 있습니다. 표현식이 보다 복잡한 도함수의 경우 표현식 결과의 그레이디언트를 계산해야 합니다. 계산할 표현식을 머티리얼 함수에 배치하고 다음과 같은 헬퍼 노드와 함께 사용하면 계산에 도움이 됩니다.
항목 | 설명 |
---|---|
Prepare3DDeriv | 4면체 패턴의 위치 오프셋을 사용하여 3D 도함수를 계산합니다. 이 함수로 생성한 각 오프셋 위치에서 동일한 3D 함수를 평가한 다음 결과 값을 Compute3DDeriv로 전달합니다. |
Compute3DDeriv | 4면체 패턴의 위치 오프셋을 사용하여 3D 도함수를 계산합니다. Prepare3DDeriv와 함께 사용합니다. |
GradFrom3DDeriv | Prepare3DDeriv/Compute3DDeriv의 결과에서 3D 그레이디언트 벡터를 계산합니다. |
CurlFrom3DDeriv | Prepare3DDeriv/Compute3DDeriv의 결과에서 3D 벡터 필드의 컬을 계산합니다. |
이러한 헬퍼 머티리얼 함수는 4면체 패턴으로 배치된 베이스 표현식의 4가지 평가를 사용하여 이와 같은 도함수 기반 연산의 근사치를 계산합니다.
Vector Noise 머티리얼 표현식에서 찾을 수 있는 다양한 노이즈 함수의 설명은 다음과 같습니다.
항목 | 설명 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
프로퍼티 | ||||||||||||||
함수(Function) |
|
|||||||||||||
퀄리티(Quality) | 룩/퍼포먼스 세팅입니다. 값이 낮을수록 빠르지만 퀄리티는 떨어져 보일 수 있으며, 값이 높을수록 느리지만 퀄리티는 나아 보일 수 있습니다. | |||||||||||||
타일링(Tiling) | 타일링을 지원하는 노이즈 함수에 노이즈 타일링을 허용합니다. 비용은 더 많이 들지만, 끊김없는 래핑 텍스처에 노이즈를 구울 때 유용합니다. | |||||||||||||
타일 크기(Tile Size) | 타일링할 때 노이즈를 반복해야 하는 빈도입니다. 펄린 노이즈 베리언트의 경우 타일 크기는 3의 배수여야 합니다. | |||||||||||||
입력 | ||||||||||||||
Position | 3D 벡터를 통해 텍스처 크기를 조정할 수 있습니다. |
-
Cell Noise 머티리얼 예시:
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
Perlin Gradient 머티리얼 예시:
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
Voronoi 머티리얼 예시:
이미지를 클릭하면 최대 크기로 볼 수 있습니다.