Coordinates 표현식

텍스처 좌표나 텍스처 좌표를 수정 또는 그 자체로 사용할 수 있는 출력값에 어떠한 작업을 하는 표현식입니다.

Windows
MacOS
Linux

ActorPositionWS

ActorPositionWS 는 월드 스페이스에서 이 머티리얼을 가진 오브젝트의 위치를 나타내는 Vector3 (RGB) 데이터를 출력합니다.

ActorPositionColors.png ActorPositionNetwork.png

이 예제에서는 ActorPositionWS 가 Material 의 베이스 컬러에 바로 물리는 것을 볼 수 있습니다. 그 결과 이 머티리얼이 적용된 각각의 구체는 3D 공간의 다른 위치로 이동함에 따라 다른 색을 내는 것을 볼 수 있습니다. 참고로 ActorPositionWS 노드의 결과에 1600 을 나눠서 색이 그냥 튀지 않고 멋지게 블렌딩되고 있습니다.

CameraPositionWS

CameraWorldPosition 는 월드 스페이스에서의 카메라 위치를 나타내는 3채널 벡터값을 출력하는 표현식입니다.

미리보기 구체는 카메라가 회전하면서 색이 바뀝니다.

CameraPositionWSExample.png CameraPositionWSNetwork.png

LightmapUVs

LightmapUVs 는 2채널 벡터값 형태로 라이트맵 UV 텍스처 좌표를 출력하는 표현식입니다. 라이트맵 UV 를 사용할 수 없는 경우, 2채널 벡터값 (0,0) 을 출력합니다.

ObjectOrientation

ObjectOrientation 는 오브젝트의 월드 스페이스 업 벡터를 출력하는 표현식입니다. 다른 말로 오브젝트의 로컬 양수 Z 축이 이 방향을 가리킨다는 것입니다.

ObjectOrientationExample.png

ObjectPositionWS

ObjectPositionWS 는 오브젝트 바운드의 월드 스페이스 중심 위치를 출력하는 표현식입니다. 예로 폴리지에 대한 구체형 라이팅을 만든다든가 할 때 좋습니다.

WorldPositionWSScene.png WorldPositionNetwork.png

ObjectRadius

주어진 오브젝트의 반경과 동일한 값을 언리얼 유닛 단위로 출력하는 표현식입니다. 스케일을 적용해 계산되기에 결과는 각 오브젝트마다 고유할 수 있습니다.

ObjectRadiusExample.png

이 예제에서는 두 메시 모두 ObjectRadius 가 Diffuse 에 물려있는 이 머티리얼을 받고 있습니다. 시각적으로 좀 더 의미있는 결과를 내기 위해 ObjectRadius 출력을 512 로 나누고 있습니다.

Panner

Panner 는 텍스처를 패닝 또는 이동시키는 데 사용할 수 있는 UV 텍스처 좌표를 출력하는 표현식입니다.

항목

설명

프로퍼티

SpeedX

좌표를 U 방향으로 패닝시킬 속력을 나타냅니다.

SpeedY

좌표를 V 방향으로 패닝시킬 속력을 나타냅니다.

입력

Coordinate

표현식이 변경하게 될 바탕 UV 텍스처 좌표를 받습니다.

Time

현재 패닝 위치를 결정하는 데 사용되는 값을 받습니다. 일정한 패닝 이펙트를 내기 위해 보통은 Time 표현식을 쓰지만, 일정량의 오프셋을 주거나 마티네 또는 블루프린트를 통해 제어하려는 경우에는 Constant 나 ScalarParameter 를 사용할 수도 있습니다.

Panner 는 Time 입력에 따라 변하는 UV 를 생성합니다. Coordinate 입력은 Panner 노드가 생성한 UV 의 (오프셋 등을) 조작하는 데 사용할 수 있습니다.

PannerExample.png

ParticlePositionWS

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

ParticlePositionWS.png

이 이미지에서는 이미시브 컬러에 ParticlePositionWS 를 물려 데이터를 시각화시키고 있습니다. 파티클 시스템의 위치에 따라 색이 어찌 변해가는가 보이기 위해 스케일을 올려 놨습니다.

PixelNormalWS

PixelNormalWS 는 현재 노멀에 따라 픽셀이 향하고 있는 방향을 나타내는 벡터 데이터를 출력합니다.

PixelNormalWSExample.png

이 예제에서 PixelNormalWS 는 베이스 컬러에 물려 있습니다. 픽셀별 결과를 내기 위해 노멀 맵을 어찌 사용했는지 눈여겨 보세요.

Rotator

Rotator 는 회전하는 텍스처를 만드는 데 사용할 수 있는 2채널 벡터값 형태로 UV 텍스처 좌표를 출력하는 표현식입니다.

항목

설명

프로퍼티

CenterX

회전 중심으로 사용할 U 좌표를 나타냅니다.

CenterY

회전 중심으로 사용할 V 좌표를 나타냅니다.

Speed

좌표의 시계방향 회전 속도를 나타냅니다.

입력

Coordinate

표현식이 변경하게 될 바탕이 되는 UV 텍스처 좌표를 받습니다.

Time

현재 패닝 위치를 결정하는 데 사용되는 값을 받습니다. 일정한 패닝 이펙트를 내기 위해 보통은 Time 표현식을 쓰지만, 일정량의 오프셋을 주거나 마티네 또는 블루프린트를 통해 제어하려는 경우에는 ConstantScalarParameter 를 사용할 수도 있습니다.

RotatorExample.png

SceneTexelSize

SceneColor 나 SceneDepth 표현식을 사용할 때와 마찬가지로 텍셀 크기만큼 이격(offset)시킬 수 있는 표현식입니다. 해상도가 고정되어 있지 않은 시스템에서 에지(edge)를 검출해내기 좋은 방법인데, 이런 계산이 없으면 작은 고정 값을 사용할 수밖에 없고, 낮은 해상도에서는 고르지 않은 결과가 나게 됩니다.

ScreenPosition

ScreenPosition 은 현재 렌더링되고 있는 픽셀의 화면 공간 위치를 출력하는 표현식입니다.

ScreenPositionExample.png

TextureCoordinate

TextureCoordinate 는 2채널 벡터값 형태로 UV 텍스처 좌표를 출력하여, 머티리얼에 다른 UV 채널을 사용하거나 타일링을 지정하거나 메시 UV 에 다른 작업을 하거나 할 수 있는 표현식입니다.

항목

설명

프로퍼티

Coordinate Index

사용할 UV 채널을 나타냅니다.

UTiling

U 방향 타일링 양을 나타냅니다.

VTiling

V 방향 타일링 양을 나타냅니다.

Un Mirror U

True 면 U 방향 미러링 작업을 취소합니다.

Un Mirror V

True 면 V 방향 미러링 작업을 취소합니다.

사용 예: 메시의 둘째 UV 채널에 접근하려면, TextureCoordinate 노드를 만들고, 그 CoordinateIndex 를 1 (첫 채널을 0, 둘째 채널은 1 식으)로 설정한 다음 TextureSample 노드의 UVs 입력에 연결합니다.

TextureCoordinateExample.png

VertexNormalWS

VertexNormalWS 는 월드 스페이스 버텍스 노멀을 출력하는 표현식입니다. WorldPositionOffset 처럼 버텍스 셰이더에서 실행되는 머티리얼 입력에서만 사용 가능합니다. 메시를 키우거나 줄이거나 할 때 좋습니다. 노멀을 따라 위치를 오프셋시키면 UV 이음새를 따라 지오메트리가 떨어져 나가게 됨에 유의하시기 바랍니다.

VertexNormalWSExample.png

위 예제에서 미리보기 구체는 사인 곡선과 같은 상하 움직임으로 스케일이 적용되는 것처럼 보이는데, 버텍스 각각이 자신의 노멀 방향으로 움직이기 때문입니다.

ViewSize

현재 뷰의 픽셀 단위 크기를 나타내는 2D 벡터를 출력하는 표현식입니다. 화면의 현재 해상도에 따라 머티리얼에 다양한 변화를 유발시키는 데 좋습니다.

ViewSizeNetwork.png

ViewSize1.png

ViewSize2.png

Preview Window Size: 740x700

Preview Window Size: 740x280

이 예제에서 ViewSize 는 베이스 컬러 에 물려 있습니다. 결과를 2,400 으로 나누어 좀 더 의미있는 결과를 내고 있습니다.

WorldPosition

현재 픽셀의 월드 스페이스 위치를 출력하는 표현식입니다. 시각화시켜 보려면 단순히 출력을 Emissive 에 꽂으면 됩니다:

WorldPositionExample.png

흔히 사용되는 때는 (PixelDepth 에서의 직교(orthogonal) 거리가 아닌) 카메라에서 픽셀까지의 방사(radial) 거리를 구할 때입니다. WorldPosition 은 텍스처 좌표로 사용하기에도, 텍스처 좌표를 사용하는 무관한 메시가 서로 가까이 있을 때 일치시키는 데도 좋습니다. WorldPosition.xy 를 사용하여 텍스처를 평면 매핑시키는 기본 예제입니다:

WorldPosPlanarMap.png

태그
Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼