포그 시트 및 라이트 빔

포그 시트 블루프린트에 대한 개요입니다.

Windows
MacOS
Linux

FogSheetLightBeams.png

포그 시트 & 라이트 레이 블루프린트는 레벨 디자인에서 사용할 수 있는 대기 효과를 만드는 데 블루프린트를 사용해 보는 예제로 만들어진 것입니다. 레벨을 장식할 때 포그 평면이나 빛줄기같은 반투명 메시를 배치하는 작업은 시간을 잡아먹는 경향이 있기에, 이 블루프린트의 목적은 그와 같은 프로세스를 편리하게 함은 물론 사용자가 메시의 외양을 더욱 세밀히 제어할 수 있도록 하기 위함입니다.

셋업 측면에서는 비교적 간단하나, 색, 밝기, 크기를 포함해서 여전히 폭넓은 확장성을 제공해 주는 애셋입니다. 또한 포그 텍스처의 패닝 속도는 물론, 포그 페이드 아웃이 시작되는 범위를 설정하여 플레이어가 시트 이펙트를 알아채지 못하도록 하는 것도 가능합니다.

포그 시트

FogSheet.png FogSheetDetails.png

위에 보이는 포그 시트 블루프린트는 스태틱 메시 평면과 그에 적용된 안개낀 포그 머티리얼로 이루어집니다. 블루프린트 에디터에서 그 망을 열어보면 대부분 컨스트럭션 스크립트에서 구성이 이뤄져 있는 것을 확인할 수 있습니다.

블루프린트의 세 가지 면 (즉 컴포넌트 리스트, 컨스트럭션 스크립트, 이벤트 그래프) 는 전체적인 효과에서 각기 다른 부분을 담당합니다. 다음 표는 각 부분에서 하는 일과 그것이 어떻게 조합되어 최종적인 결과를 내고 있는가에 대한 분석입니다.

블루프린트 셋업

블루프린트 측면

목적

컴포넌트 리스트

컴포넌트 리스트 안에 생성된 유일한 컴포넌트라곤 빌보드 컴포넌트 하나 뿐으로, 선택가능 아이콘을 제공해 줄 뿐입니다. 레벨의 배치에 사용됩니다.

컨스트럭션 스크립트

컨스트럭션 스크립트가 하는 일은 다음과 같습니다:

  • 스태틱 메시를 사용하여 시트 지오메트리를 생성합니다.

  • Size 변수의 배치를 읽은 다음 스태틱 메시의 스케일을 알맞게 조절합니다.

  • 시트 지오메트리에 대한 머티리얼 인스턴스 다이내믹(MID)을 만든 다음 적용합니다.

  • 노출된 디테일 패널 프로퍼티에서 머티리얼에 대한 세팅 데이터를 수집, 머티리얼에 적용합니다.

이벤트 그래프

이 블루프린트에는 이벤트 그래프 가 없습니다. 즉 프로퍼티가 설정되면 게임플레이 내내 그대로 남아있다는 뜻입니다.

이 이펙트에서 특히나 중요한 부분은 컨스트럭션 스크립트에서의 머티리얼 인스턴스 다이내믹 (줄여서 MID) 생성 부분입니다. MID 는 파라미터화된 머티리얼로, 게임플레이 도중 편집할 수 있도록 구성되어 있습니다.

MIDNodeNetwork.png

편집가능 변수

노출된 (편집가능) 변수를 통해 디자이너는 다음 머티리얼 프로퍼티를 제어할 수 있습니다:

BPVariables_FogSheet.png MaterialProperties_FogSheet.png

프로퍼티

목적

머티리얼

Color

색 - 포그 이펙트의 색입니다.

Brightness

밝기 - 포그 색에 적용된 밝기입니다.

Opacity

불투명도 - 포그를 통해 얼마나 잘 보이는가 입니다.

Depth Fade Distance

뎁스 페이드 거리 - 교차 지오메트리에서 얼마만큼 떨어져야 이펙트 페이드를 시작시킬지 조절합니다. 벽이나 기타 표면에서 엄하게 잘리지 않도록 합니다.

Noise Projection Distance

노이즈 투영 거리 - 포그 노이즈에 대한 깊이 오프셋을 제공합니다.

Noise Size

노이즈 크기 - 타일링과 비슷합니다. 값이 클 수록 노이즈 텍스처 타일링 수가 줄어듭니다.

Panning Speed

패닝 속도 - 노이즈 텍스처가 포그 표면을 흘러가는 속도를 조정합니다.

Fade Distance

페이드 거리 - 플레이어가 이펙트에서 이 이상 가까워지면 포그 페이드가 시작됩니다. 플레이어가 시트 지오메트리를 눈치채지 못하도록 하는데 쓰입니다.

BP 포그 시트

Size

크기 - 포그 시트 표시에 사용되는 시트 메시 크기를 조절합니다.

Size (크기) 변수는 3D 위젯이 활성화되어 있다는 점에서 특히나 흥미롭습니다. 3D 위젯은 벡터 변수에만 가능한 옵션으로, 뷰포트에 3D 벡터 값을 조절하는데 사용할 수 있는 오브젝트를 만듭니다.

3DWidget.png

3D 위젯은 블루프린트 변수 조절을 위한 단순 메커니즘이기에, 연관된 블루프린트가 선택된 상태에서만 그 위젯이 보입니다. 그런 다음 위젯을 선택한 후 표준 이동 툴을 사용하여 움직일 수 있습니다. 이런 식으로 디자이너가 벡터 값을 빠르게 바꿀 수 있습니다.

이 경우 포그 시트 지오메트리 평면 크기를 빠르게 조절할 수 있도록 하고자 3D 위젯을 도입했습니다. 메시의 우상단 구석 위치가 3D 위젯 위치와 만나며, 시트는 블루프린트의 빌보드 아이콘이 위치한 중심에서부터 전체적으로 스케일이 적용됩니다.

라이트 빔

LightRayBp.png

라이트 빔 블루프린트는 포그 시트와 그 속성상 매우 비슷하나, 주어진 광원의 방향을 따라갈 수 있도록 구성할 수 있다는 점과, 약간의 머티리얼 세팅이 다릅니다. 이벤트 그래프도 없으며, 그 모든 계산이 컨스트럭션 스크립트 안에서 일어납니다.

블루프린트 셋업

이 블루프린트의 컴포넌트 리스트, 컨스트럭션 스크립트, 이벤트 그래프는 다음과 같은 작업을 합니다:

블루프린트 측면

목적

컴포넌트 리스트

컴포넌트 리스트 안에 생성된 유일한 컴포넌트는 빌보드 컴포넌트 하나로, 선택가능 아이콘을 제공해 주기만 할 뿐입니다. 이것이 레벨의 배치에 사용됩니다.

컨스트럭션 스크립트

컨스트럭션 스크립트가 하는 일은 다음과 같습니다:

  • 스태틱 메시를 사용하여 시트 지오메트리를 생성합니다.

  • LengthWidth 변수를 읽은 다음 스태틱 메시의 스케일을 알맞게 조절합니다.

  • 시트 지오메트리에 대한 머티리얼 인스턴스 다이내믹(MID)을 만든 다음 적용합니다.

  • 광원의 회전을 따를지를 결정한 다음, 그렇다면 그에 맞게 지오메트리를 회전시킵니다.

  • 프로파일에 사용할 (디렉셔널 라이트에는 평행, 스포트 라이트에는 원뿔) 모양을 결정한 다음, 머티리얼 마스크 텍스처를 알맞게 바꿔줍니다.

  • 노출된 디테일 패널 프로퍼티에서 머티리얼에 대한 세팅 데이터를 수집, 머티리얼에 적용합니다.

이벤트 그래프

이 블루프린트에는 이벤트 그래프 가 없습니다. 즉 프로퍼티가 설정되고 나면 게임플레이 내도록 유지된다는 뜻입니다.

편집가능 변수

이 블루프린트는 일차적으로 레벨 디자인 툴이기 때문에, 그 기능성 대부분은 컨스트럭션 스크립트 안에서 일어납니다. 아래는 컨스트럭션 스크립트 안에서 행위를 구동하는 노출 변수입니다:

LightRay_Variables.png LightRay_Properties.png

프로퍼티

목적

라이트 빔

Light

라이트 - 라이트 빔이 따랐으면 하는 광원으로 채워집니다.

Width

폭 - 라이트 빔 시트의 폭을 조절합니다.

Length

길이 - 라이트 빔 시트의 길이를 조절합니다.

Color

색 - 라이트 빔의 색을 조절합니다.

Brightness

밝기 - 라이트 빔 색에 적용되는 밝기입니다.

Fade Distance

페이드 거리 - 플레이어와 이펙트의 거리가 이보다 가까워지면 라이트 빔이 희미해지기 시작합니다. 플레이어가 시트 지오메트리를 눈치채지 못하게 하는 데 쓰입니다.

Animated

애니메이션 - 라이트 빔 머티리얼 애니메이션을 적용할지 입니다. 빔 안에서의 어른거리는 효과를 방지합니다.

Spot Light

스포트라이트 - 체크 해제하(False)면 시트는 디렉셔널 라이트에 평행 모양, 체크하(True)면 원뿔 모양 스포트 라이트를 사용합니다.

Use Light For Rotation

회전에 라이트 사용 - Light 프로퍼티에 지정된 라이트 액터의 회전을 따라하게 할지, 개별적으로 회전시킬지 입니다.

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

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

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

네이버 카페
공식 포럼