Parameter 표현식

자손 인스턴스에서 덮어쓸 수 있도록, 또는 실행시간에 수정할 수 있도록 머티리얼 인스턴스에 프로퍼티를 노출시키는 표현식입니다.

Windows
MacOS
Linux

Collection Parameters

Collection Parameter (컬렉션 파라미터)는 Parameter Collection (파라미터 컬렉션) 애셋을 참조하는 데 사용되는 표현식입니다. 이들은 머티리얼, 블루프린트 등 여러가지 다양한 애셋에서 쉽게 재사용할 수 있는 파라미터 그룹입니다. 파라미터 컬렉션 관련 상세 정보는 파라미터 컬렉션 문서. 를 참고해 주시기 바랍니다.

하나의 머티리얼은 최대 두 개의 머티리얼 파라미터 컬렉션 레퍼런스가 가능합니다. 하나는 보통 게임 측면의 값에, 다른 하나는 레벨 전용 파라미터에 사용할 수 있습니다. 하나의 컬렉션은 최대 각각 1024 개 씩의 스칼라 & 벡터 파라미터를 가질 수 있습니다.

DynamicParameter

Dynamic Parameter (다이내믹 파라미터)는 파티클 이미터가 머티리얼에 네 개의 값을 전해 어떤 식으로든 사용할 수 있도록 해 주는 통로입니다. 이 값의 설정은 캐스케이드에서 이미터에 놓인 ParameterDynamic 모듈로 합니다.

항목

설명

프로퍼티

Param Names

파라미터 이름 배열입니다. 이 값이 머티리얼 에디터의 표현식 출력에 표시되는 텍스트를 결정하며, 캐스케이드의 ParameterDynamic 모듈에서 파라미터를 레퍼런스할 때 사용되는 이름이 됩니다.

출력

Param1

Param Names 프로퍼티의 첫 파라미터 값을 출력합니다. 이 출력의 이름은 Param Names 프로퍼티의 값에 따라 바뀔 수 있습니다.

Param2

Param Names 프로퍼티의 둘째 파라미터 값을 출력합니다. 이 출력의 이름은 Param Names 프로퍼티의 값에 따라 바뀔 수 있습니다.

Param3

Param Names 프로퍼티의 셋째 파라미터 값을 출력합니다. 이 출력의 이름은 Param Names 프로퍼티의 값에 따라 바뀔 수 있습니다.

Param4

Param Names 프로퍼티의 넷째 파라미터 값을 출력합니다. 이 출력의 이름은 Param Names 프로퍼티의 값에 따라 바뀔 수 있습니다.

FontSampleParameter

FontSampleParameter 표현식은 폰트 기반 파라미터를 머티리얼 인스턴스 콘스턴트 형식으로 노출시켜, 여러 인스턴스에서 다양한 폰트를 쉽게 사용할 수 있도록 만들어 줍니다. 폰트의 알파 채널에는 폰트 외곽선 값이 들어갑니다. 유효한 폰트 페이지만 지정할 수 있습니다.

항목

설명

프로퍼티

Parameter Name

머티리얼의 인스턴스나 코드를 통해 파라미터를 식별하는 데 사용되는 이름을 나타냅니다.

Group

이 방법을 통해 파라미터 이름을 MaterialInstanceConstant 내 그룹이나 카테고리 별로 정리할 수 있습니다. 머티리얼 내 Group 프로퍼티 이름이 같은 모든 파라미터는 인스턴스에서 해당 카테고리 아래에 나열됩니다.

Font

표현식 안에 담길 (콘텐츠 브라우저에서의) 기본 폰트 애셋을 담습니다.

Font Texture Page

텍스처 일부로 사용할 현재 폰트 텍스처 페이지입니다.

FontSampleParameterExample.png

ScalarParameter

Scalar Parameter (스칼라 파라미터)는 머티리얼의 인스턴스나 코드에서 바로 접근하여 변경할 수 있는 단일 실수값 (Constant) 을 출력하는 표현식입니다.

항목

설명

프로퍼티

Parameter Name

머티리얼의 인스턴스나 코드를 통해 파라미터를 식별하는 데 사용되는 이름을 나타냅니다.

Group

이 방법을 통해 파라미터 이름을 MaterialInstanceConstant 내 그룹이나 카테고리 별로 정리할 수 있습니다. 머티리얼 내 Group 프로퍼티 이름이 같은 모든 파라미터는 인스턴스에서 해당 카테고리 아래에 나열됩니다.

Default Value

상수가 취할 초기값을 지정합니다.

ScalarParameterExample.png

StaticBoolParameter

StaticBoolParameter 는 StaticSwitchParameter 처럼 작동하나, 부울 파라미터를 만들기만 하고 스위치를 구현하지는 않는다는 점이 다릅니다.

이 파라미터는 실행시간에 바뀔 수 없어서 스태틱, 정적인 것이며, 머티리얼 인스턴스 에디터에서만 설정할 수 있습니다. 스태틱 스위치는 실행시간이 아니라 컴파일 시간에 적용됩니다. 즉 머티리얼의 분기에 뭐가 떨어졌건 절대 실행되지 않아, 스태틱 스위치는 사실상 실행시간에 자유로운 것입니다. 반면 머티리얼에 사용된 모든 스태틱 파라미터 조합에 대해 새로운 버전의 머티리얼을 컴파일해야 하기에, 남용하면 셰이더 폭발로 이어질 수 있습니다. 머티리얼의 스태틱 파라미터 수와 실제 사용되는 그 스태틱 파라미터의 순열(permutation) 수를 최소화시켜 보시기 바랍니다.

항목

설명

프로퍼티

Parameter Name

머티리얼의 인스턴스나 코드를 통해 파라미터를 식별하는 데 사용되는 이름을 나타냅니다.

Group

이 방법을 통해 파라미터 이름을 MaterialInstanceConstant 내 그룹이나 카테고리 별로 정리할 수 있습니다. 머티리얼 내 Group 프로퍼티 이름이 같은 모든 파라미터는 인스턴스에서 해당 카테고리 아래에 나열됩니다.

Default Value

파라미터의 부울 기본값으로, true (체크) 또는 false 입니다.

이 노드는 MaterialFunctions 와 함께 사용됩니다.

StaticSwitchParameter

StaticSwitchParameter 는 입력을 둘 받아서 파라미터 값이 true 면 첫째를 출력하고, false 면 둘째를 출력하는 표현식입니다.

이 파라미터는 실행시간에 바뀔 수 없어서 스태틱, 정적인 것이며, 머티리얼 인스턴스 에디터에서만 설정할 수 있습니다. 스태틱 스위치는 실행시간이 아니라 컴파일 시간에 적용됩니다. 즉 머티리얼의 분기에 뭐가 떨어졌건 절대 실행되지 않아, 스태틱 스위치는 사실상 실행시간에 자유로운 것입니다. 반면 머티리얼에 사용된 모든 스태틱 파라미터 조합에 대해 새로운 버전의 머티리얼을 컴파일해야 하기에, 남용하면 셰이더 폭발로 이어질 수 있습니다. 머티리얼의 스태틱 파라미터 수와 실제 사용되는 그 스태틱 파라미터의 순열(permutation) 수를 최소화시켜 보시기 바랍니다.

항목

설명

프로퍼티

Parameter Name

머티리얼의 인스턴스나 코드를 통해 파라미터를 식별하는 데 사용되는 이름을 나타냅니다.

Group

이 방법을 통해 파라미터 이름을 MaterialInstanceConstant 내 그룹이나 카테고리 별로 정리할 수 있습니다. 머티리얼 내 Group 프로퍼티 이름이 같은 모든 파라미터는 인스턴스에서 해당 카테고리 아래에 나열됩니다.

Default Value

true 면 첫째 입력이 출력됩니다. false 면 둘째 입력이 출력됩니다.

Extended Caption Display

true 면 표현식의 제목줄에 표현식 값이 표시됩니다.

입력

A

채널 수와 무관하게 값을 받아들입니다.

B

채널 수와 무관하게 값을 받아들입니다.

사용 예: 스태틱 스위치는 실행시간 비용을 들이지 않고 어느 한 머티리얼의 전체 분기를 제거하는 데 사용할 수 있습니다. 인스턴스는 각기 다른 값을 가질 수 있어, 퍼포먼스 손실 없이 템플릿이 적용된 셰이더 셋업을 만드는 것이 가능합니다.

StaticSwitchParameterExample_A.png

StaticSwitchParameterExample_B.png

StaticComponentMaskParameter

StaticComponentMaskParameter 표현식은 보통의 컴포넌트 마스크와 똑같은 방식으로 작동하나, 차이점은 인스턴스에서 마스크 값을 설정할 수 있다는 것입니다.

파라미터는 실행시간에는 변할 수 없으니 스태틱, 정적이고 머티리얼 인스턴스 에디터에서만 설정할 수 있습니다. 스태틱 컴포넌트 마스크는 실행시간이 아니라 컴파일 시간에 적용됩니다. 머티리얼에서 사용되는 모든 스태틱 파라미터 조합에 대해 머티리얼의 새 버전을 컴파일해야 하는데, 남용하면 셰이더 폭발로 이어질 수 있습니다. 머티리얼의 스태틱 파라미터 수와 실제로 사용되는 스태틱 파라미터의 순열(permutation) 수를 최소화해 보시기 바랍니다.

항목

설명

프로퍼티

Parameter Name

머티리얼의 인스턴스나 코드를 통해 파라미터를 식별하는 데 사용되는 이름을 나타냅니다.

Group

이 방법을 통해 파라미터 이름을 MaterialInstanceConstant 내 그룹이나 카테고리 별로 정리할 수 있습니다. 머티리얼 내 Group 프로퍼티 이름이 같은 모든 파라미터는 인스턴스에서 해당 카테고리 아래에 나열됩니다.

Default R

체크하면 입력값의 빨강 또는 첫째 채널이 출력으로 통과됩니다.

Default G

체크하면 입력값의 초록 또는 둘째 채널이 출력으로 통과됩니다.

Default B

체크하면 입력값의 파랑 또는 셋째 채널이 출력으로 통과됩니다.

Default A

체크하면 입력값의 알파 또는 넷째 채널이 출력으로 통과됩니다.

사용 예: 스태틱 컴포넌트 마스크로 인스턴스가 마스크 텍스처의 어느 채널을 사용할 것인지 선택하게 할 수 있습니다. 마스크가 스태틱이면(, 즉 실행시간에 바뀔 필요가 없다면) 항상 이러한 접근법을 사용해야 할텐데, 텍스처 룩업에 벡터 파라미터를 곱해서 채널을 걸러내는 방법은 텍스처 대역폭이나 셰이더 인스트럭션이 낭비되기 때문입니다.

StaticComponentMaskParameterExample.png

VectorParameter

VectorParameter 표현식은 Constant4Vector 와 같지만, 머티리얼의 인스턴스 안에서나 코드를 통해 변경할 수 있는 파라미터라는 점이 다릅니다. VectorParameter 의 장점 중 하나는 색 선택 툴을 사용해서 값을 설정할 수 있다는 점입니다.

항목

설명

프로퍼티

Parameter Name

머티리얼의 인스턴스나 코드를 통해 파라미터를 식별하는 데 사용되는 이름을 나타냅니다.

Group

이 방법을 통해 파라미터 이름을 MaterialInstanceConstant 내 그룹이나 카테고리 별로 정리할 수 있습니다. 머티리얼 내 Group 프로퍼티 이름이 같은 모든 파라미터는 인스턴스에서 해당 카테고리 아래에 나열됩니다.

Default Value

  • R

  • G

  • B

  • A

The vector to output by default unless overridden by a MaterialInstanceConstant.

  • 표현식이 출력하는 벡터의 빨강 또는 첫째 채널의 플로트 값을 나타냅니다.

  • 표현식이 출력하는 벡터의 초록 또는 둘째 채널의 플로트 값을 나타냅니다.

  • 표현식이 출력하는 벡터의 파랑 또는 셋째 채널의 플로트 값을 나타냅니다.

  • 표현식이 출력하는 벡터의 알파 또는 넷째 채널의 플로트 값을 나타냅니다.

VectorParameterExample.png

VertexColor 는 보간기(interpolator) 제한으로 인해 Transform 노드와는 같이 쓸 수 없습니다. Transform 노드와 VertexColor 를 같이 쓰면 VertexColor 는 모두 하얗게 나옵니다.

프로그래머: 스프라이트 파티클의 경우 색은 버텍스별 셰이더에 통신하는 반면, 메시 파티클은 셰이더 상수로 설정됩니다.

TextureObjectParameter

TextureObjectParameter 표현식은 텍스처 파라미터를 정의하고 텍스처 오브젝트를 출력하는데, 이 오브젝트는 텍스처 입력과 함께 함수를 호출하는 머티리얼에서 사용됩니다. 이 노드가 실제로 텍스처 샘플을 뽑는 것은 아니라, TextureSample 노드와 함께 사용해야 합니다.

항목

설명

프로퍼티

Parameter Name

머티리얼의 인스턴스나 코드를 통해 파라미터를 식별하는 데 사용되는 이름을 나타냅니다.

Group

이 방법을 통해 파라미터 이름을 MaterialInstanceConstant 내 그룹이나 카테고리 별로 정리할 수 있습니다. 머티리얼 내 Group 프로퍼티 이름이 같은 모든 파라미터는 인스턴스에서 해당 카테고리 아래에 나열됩니다.

Texture

표현식이 샘플로 뽑아낼 텍스처를 나타냅니다.

Sampler Type

노드에서 샘플로 뽑아내 출력시킬 데이터 유형입니다.

MipValueMode

기본 하드웨어 계산에서 샘플의 밉레벨 또는 파생형을 커스터마이징하는 방법을 선택합니다. 모양과 퍼포먼스에 영향을 끼칩니다.

이 노드는 MaterialFunctions 와 함께 사용됩니다.

TextureSampleParameter2D

TextureSampleParameter2D 표현식은 TextureSample 과 같지만 머티리얼의 인스턴스에서나 코드를 통해 변경할 수 있는 파라미터라는 점이 다릅니다.

항목

설명

프로퍼티

Parameter Name

머티리얼의 인스턴스나 코드를 통해 파라미터를 식별하는 데 사용되는 이름을 나타냅니다.

Group

이 방법을 통해 파라미터 이름을 MaterialInstanceConstant 내 그룹이나 카테고리 별로 정리할 수 있습니다. 머티리얼 내 Group 프로퍼티 이름이 같은 모든 파라미터는 인스턴스에서 해당 카테고리 아래에 나열됩니다.

Texture

표현식이 샘플로 뽑아낼 텍스처를 나타냅니다.

Sampler Type

노드에서 샘플로 뽑아내 출력시킬 데이터 유형입니다.

MipValueMode

기본 하드웨어 계산에서 샘플의 밉레벨 또는 파생형을 커스터마이징하는 방법을 선택합니다. 모양과 퍼포먼스에 영향을 끼칩니다.

입력

UVs

텍스처에 사용할 UV 텍스처 좌표를 받습니다. UV 에 입력되는 값이 없으면, 머티리얼이 적용된 메시의 텍스처 좌표가 사용됩니다.

출력

RGB

색의 3채널 RGB 벡터값을 출력합니다.

R

색의 빨강 채널을 출력합니다.

G

색의 초록 채널을 출력합니다.

B

색의 파랑 채널을 출력합니다.

A

색의 알파 채널을 출력합니다. 텍스처에 알파 채널이 없는 경우 '알파'를 무언가에 연결하면, 엄밀히 잘못된 것은 아니지만 결과는 항상 0 (검정)이 됩니다.

TextureSampleParameterSubUV

TextureSampleParameterSubUV (파티클 샘플 파라미터 Sub UV) 표현식은 ParticleSubUV 와 동일하지만, 머티리얼의 인스턴스나 코드를 통해 변경할 수 있는 파라미터라는 점이 다릅니다.

항목

설명

프로퍼티

Parameter Name

머티리얼의 인스턴스나 코드를 통해 파라미터를 식별하는 데 사용되는 이름을 나타냅니다.

Group

이 방법을 통해 파라미터 이름을 MaterialInstanceConstant 내 그룹이나 카테고리 별로 정리할 수 있습니다. 머티리얼 내 Group 프로퍼티 이름이 같은 모든 파라미터는 인스턴스에서 해당 카테고리 아래에 나열됩니다.

Blend

블렌드 - 매 프레임별 SubUV 스프라이트 레이아웃을 블렌딩하여 갑자기 나타났다 사라지지 않게 만듭니다.

Texture

표현식이 샘플링할 텍스처를 지정합니다.

Sampler Type

샘플러 유형 - 노드에서 샘플링하고 출력할 데이터 유형입니다.

MipValueMode

밉 값 모드 - 기본 하드웨어 계산에서 샘플의 밉레벨 또는 파생형을 커스터마이징하는 방법을 선택합니다. 모양과 퍼포먼스에 영향을 끼칩니다.

입력

UVs

무시되며 아무것도 하지 않습니다.

출력

RGB

색의 3채널 RGB 벡터값을 출력합니다.

R

색의 빨강 채널을 출력합니다.

G

색의 초록 채널을 출력합니다.

B

색의 파랑 채널을 출력합니다.

A

색의 알파 채널을 출력합니다. 텍스처에 알파 채널이 없는데 '알파' 채널을 무언가에 연결하면, 기술적으로 잘못된 것은 아니지만 결과는 항상 0 (검정)이 됩니다.

TextureSampleParameterCube

TextureSampleParameterCube 표현식은 TextureSample 과 같지만, 큐브맵만 받는다는 점과 머티리얼의 인스턴스 안이나 코드를 통해 변경할 수 있는 파라미터라는 점이 다릅니다.

항목

설명

프로퍼티

Parameter Name

머티리얼의 인스턴스나 코드를 통해 파라미터를 식별하는 데 사용되는 이름을 나타냅니다.

Group

이 방법을 통해 파라미터 이름을 MaterialInstanceConstant 내 그룹이나 카테고리 별로 정리할 수 있습니다. 머티리얼 내 Group 프로퍼티 이름이 같은 모든 파라미터는 인스턴스에서 해당 카테고리 아래에 나열됩니다.

Texture

표현식이 샘플로 뽑아낼 텍스처를 나타냅니다.

Sampler Type

노드에서 샘플로 뽑아내 출력시킬 데이터 유형입니다.

MipValueMode

기본 하드웨어 계산에서 샘플의 밉레벨 또는 파생형을 커스터마이징하는 방법을 선택합니다. 모양과 퍼포먼스에 영향을 끼칩니다.

입력

UVs

텍스처에 사용할 UV 텍스처 좌표를 받습니다. UVs 에 입력된 값이 없으면, 머티리얼이 적용된 메시의 텍스처 좌표가 사용됩니다. 3채널 벡터값이어야 합니다.

입력

RGB

색의 3채널 RGB 벡터값을 출력합니다.

R

색의 빨강 채널을 출력합니다.

G

색의 초록 채널을 출력합니다.

B

색의 파랑 채널을 출력합니다.

A

색의 알파 채널을 출력합니다. 텍스처에 알파 채널이 없는 경우 '알파'를 무언가에 연결하면, 엄밀히 잘못된 것은 아니지만 결과는 항상 0 (검정)이 됩니다.

TextureSampleParameterMovie

TextureSampleParameterMovie 표현식은 TextureSample 과 같지만, 무비 텍스처(Bink 무비)만 받는다는 점과, 머티리얼의 인스턴스 안이나 코드를 통해 변경할 수 있는 파라미터라는 점이 다릅니다.

항목

설명

프로퍼티

Parameter Name

머티리얼의 인스턴스나 코드를 통해 파라미터를 식별하는 데 사용되는 이름을 나타냅니다.

Group

이 방법을 통해 파라미터 이름을 MaterialInstanceConstant 내 그룹이나 카테고리 별로 정리할 수 있습니다. 머티리얼 내 Group 프로퍼티 이름이 같은 모든 파라미터는 인스턴스에서 해당 카테고리 아래에 나열됩니다.

Texture

표현식이 샘플로 뽑아낼 텍스처를 나타냅니다.

Sampler Type

노드에서 샘플로 뽑아내 출력시킬 데이터 유형입니다.

MipValueMode

기본 하드웨어 계산에서 샘플의 밉레벨 또는 파생형을 커스터마이징하는 방법을 선택합니다. 모양과 퍼포먼스에 영향을 끼칩니다.

입력

UVs

텍스처에 사용할 UV 텍스처 좌표를 받습니다. UVs 에 입력된 값이 없으면, 머티리얼이 적용된 메시의 텍스처 좌표가 사용됩니다.

출력

RGB

색의 3채널 RGB 벡터값을 출력합니다.

R

색의 빨강 채널을 출력합니다.

G

색의 초록 채널을 출력합니다.

B

색의 파랑 채널을 출력합니다.

A

색의 알파 채널을 출력합니다. 텍스처에 알파 채널이 없는 경우 '알파'를 무언가에 연결하면, 엄밀히 잘못된 것은 아니지만 결과는 항상 0 (검정)이 됩니다.

태그
Select Skin
Light
Dark

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

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

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

네이버 카페
공식 포럼