Billiard/Object Outline2017. 10. 28. 16:18

오브젝트 외곽선을 밝게 하는 효과(Outline Highlight)




Post Process Volumn 안에서 사용될 머티리얼을 설정한 후에 볼륨 안에 오브젝트를 넣고  Mesh의 속성 중에서 Rendering / Render CustomDepth Pass 항목에 체크하면 오브젝트가 Post Process Volumn 안으로 들어가는 경우에는 지정된 Post Process Material 이 적용되어 다른 효과를 낼 수 있다.

Rendering / Render CustomDepth Pass 항목을 선택해제한 후에 블루프린트에서 Set Render Custom Depth 노드를 사용하여 동적으로 Post Process Material 을 적용할 수 있다. 아래에 소개한 내용은 Post Process Volumn 안에서만 작동하므로 하이라이트 효과를 내려는 오브젝트는 Post Process Volumn을 적용해야 한다. 



Post Process Material 생성

  1. 컨텐트 브라우저에서 Material을 생성하고 M_OutlingHighlight 등의 이름을 설정한다
  2. 생성된 머티리얼을 더블클릭하여 머티리얼 에디터를 연다
  3. 머티리얼 에디터의 그래프에 디폴트로 생성된 머티리얼 기본노드를 선택한다
  4. 왼쪽 [디테일] 뷰 / Material / Material Domain 항목에 Post Process 를 선택한다
  5. 왼쪽 [디테일] 뷰 / Post Process Material 항목에 Before Translucency를 선택한다
  6. 머티리얼 그래프를 작성한다 (아래의 그림 참조)



Post Process Volumn에 Post Process Material 설정하기

  1. Post Process Volumn을 레벨 위로 드래그하고 크기를 적당히 설정한다
  2. 레벨에 놓인 Post Process Volumn을 선택하고 Rendering Features / Post Process Materials 항목에서 + 아이콘을 누르고 입력란을 생성한다
  3. [선택] 콤보박스를 누르고 [에셋레퍼런스]를 선택하고 CB에 생성되어 있는 하이라이트용 머티리얼을 입력한다



Post Process Material 효과내기

  1. 머티리얼을 적용할 메시를 선택하고 Rendering 패널의 Render CustomDepth Pass 항목에 체크하면 에디터 상에서도 효과가 나타난다. 이때 플레이어 폰이 Post Process Volumn 안에 들어와 있어야 한다
  2. 블루프린트를 이용하여 게임실행시에 효과를 내려면 Render CustomDepth Pass 항목의 체크를 해제한다
  3. 블루프린트에서는 해당 오브젝트의 메시를 타겟으로 Set Render Custom Depth 노드를 사용하여 Value 에 체크하면 실행시에 효과를 낼 수 있다



아래의 블루프린트는 머티리얼 에디터의 그래프 내용이다. 오브젝트의 외곽선에 특정색의 하이라이트 효과를 내기 위한 것이며 이 페이지 위쪽에 명시된 페이지를 참조하여 언리얼 4.16.3 버전에서 작성하여 테스트한 것이다




게임 실행시에 마우스로 액터를 클릭하면 Post Process 머티리얼이 적용되도록 한 경우의 블루프린트


Posted by cwisky
Camera/Lerp2017. 10. 27. 16:51

카메라의 이동, 회전시 선형보간(Lerp) 사용 예


블루프린트에서 Lerp노드를 이용하여 카메라의 이동과 회전시에 선형보간(Linear Interpolation)을 사용하는 예이다


프로젝트 준비(공백 프로젝트)

커스텀 GameMode 생성

커스텀 DefaultPawn 생성

커스텀 GameMode에서 [디테일] 뷰/ Classes 패널의 Default Pawn Class 항목에 위에서 생성한 폰 클래스를 설정해준다

커스텀 폰 클래스 블루프린트에 카메라 컴포넌트를 추가한다

커스텀 폰 클래스에서 우측 [디테일] 뷰 / Pawn 패널에서 다음과 같은 부분을 체크해준다

 - Use Controller Rotation Pitch

 - Use Controller Rotation Yaw

언리얼 에디터의 [월드세팅] / Game Mode 패널에서 Game Mode Override 항목에 위에서 작성한 GameMode 클래스를 등록한다


위와 같이 설정하면 언리얼에서 지원하는 키보드, 마우스를 이용한 카메라 네비게이션을 그대로 사용할 수 있고 블루프린트에서도 Pawn의 위치와 회전을 조작할 수 있다.


커스텀 폰 클래스를 더블클릭하여 에디터를 열고 [이벤트 그래프]에 다음과 같이 작성하여 테스트해본다


게임을 실행하고 마우스와 키보드를 조작하여 플레이어 폰(카메라)을 임의의 위치에 놓고 F 키를 누르면 지정된 위치로 선형보간하여 이동함과 동시에 카메라가 플로어의 중심을 향하여 위치하게 된다





Posted by cwisky
Camera/Camera Actor2017. 10. 24. 20:35

마우스를 사용하여 폰(카메라)가 월드의 원점을 중심으로 선회하게 하는 예


GameModeBase를 기반으로 커스텀 GameMode 블루프린트를 생성하고 DefaultPawn 을 기반으로 커스텀 Pawn 블루프린트를 생성한다. 커스텀 GameMode를 더블클릭하여 [디테일] 뷰의 Default Pawn Class 항목에 위에서 생성한 커스텀 Pawn을 설정한다.

생성된 커스텀 Pawn 에디터에서 [디테일]뷰 / Pawn 패널에서 Use Controller Rotation Pitch, Use Controller Rotation Yaw 항목에 체크하면 언리얼에서 지원하는 마우스와 키보드 네비게이션이 모두 지원된다.


월드의 중심에 큐브를 놓고 그 큐브를 컴포넌트로 포함하는 블루프린트 클래스를 작성하고 [이벤트 그래프]에서 아래와 같은 내용을 작성한다




마우스로 큐브를 클릭한 후 마우스를 좌우로 움직이면 마우스의 이동량에 따라서 폰이 큐브의 주위를 회전하면서 시점은 큐브의 중심에 둔다. 다시한번 큐브를 클릭하면 이동을 멈춘다

Posted by cwisky