피벗 페인터 콘텐츠 예제

피벗 페인터 콘텐츠 예제에 제공되는 샘플 개요입니다.

Windows
MacOS
Linux

Pivot Painter (피벗 페인터) 툴은 모델의 버텍스 데이터 안에 모델 피벗과 로테이션 정보를 저장하는 MAXScript 입니다. 그 정보를 언리얼 엔진 4 의 셰이더 시스템에서 참조하여 상호작용형 이펙트를 만들 수 있습니다.

콘텐츠 예제 프로젝트 안의 PivotPainter 맵에는 피벗 페인터 머티리얼 함수 를 사용하여 이러한 효과를 이뤄내는 모델을 제작하고, 그 모델을 바람이나 플레이어 상호작용과 같은 여러가지 외부 요인을 통해 조작하는 방법을 선보이는 예제가 여럿 제공됩니다.

PivotPainter 맵

PivotPainter_Topic.png

PivotPainter 맵에 제공된 예제는 다음과 같습니다:

예제

데모 내용

1.1. Scale the elements

요소 스케일 조절 - 시간에 따라 오브젝트의 스케일을 조절합니다.

1.2. Scale using camera distance

카메라 거리를 사용한 스케일 조절 - 플레이어와의 거리에 따라 오브젝트의 스케일을 조절합니다.

1.3. Create unique animation phase

고유 애니메이션 페이즈 생성 - 다수의 오브젝트에 대해 고유 애니메이션 페이즈를 만드는 법입니다.

1.4. Animate with random stored value

저장된 임의의 값으로 애니메이트 - 저장된 임의의 값을 사용하여 다수의 오브젝트에 대한 고유 애니메이션 페이즈를 생성합니다.

1.5. Rotate the sub-objects

서브오브젝트 회전 - 시간에 따라 오브젝트를 회전시킵니다.

1.6. Update the meshes normals

메시의 노멀 업데이트 - 시간에 따라 오브젝트와 그 노멀도 회전시킵니다.

1.7. Update the normals in the vertex shader

버텍스 셰이더에서 노멀 업데이트 - 시간에 따른 오브젝트와 그 노멀 회전을 버텍스 셰이더에서 합니다. 비용면에서 효율적인 방법으로, 퍼포먼스가 향상됩니다.

1.8. Update a normal texture

노멀 텍스처 업데이트 - 시간에 따라 오브젝트와 그 노멀 회전은 물론 그 노멀 계산까지 버텍스 셰이더에서 합니다.

1.9. Translate the sub-objects

서브오브젝트 이동 - 임의의 번호 기반 애니메이션으로 오브젝트의 버텍스를 오프셋시키는 방법입니다.

1.10. Move objects away from the player

오브젝트를 플레이어 멀리 이동 - 피벗을 기준으로 플레이어에 반응하거나 그 반대 방향으로 이동하는 오브젝트를 만듭니다 (예: 플레이어가 걸어 지나가면 움직이지만 바람의 영향을 받지는 않는 풀밭).

1.11. Lock the objects pivot points

오브젝트의 피벗 포인트 고정 - 예제 10 과 비슷하지만, 3D 구체 이동 마스크도 만듭니다.

1.12. Rotate away from the wind direction

바람 방향 반대로 회전 - 바람 방향에 반응하고 회전하는 오브젝트를 만듭니다 (예: A 지점에서 B 지점까지 앞뒤로 왔다갔다하는 오브젝트).

1.13. Limit the rotation via object orientation

오브젝트 오리엔테이션을 통해 로테이션 제한 - 예제 12 와 비슷하지만, 오브젝트 오리엔테이션 프로퍼티를 통해 운동량을 제한시킵니다. 오브젝트의 로테이션 양을 바람 진원지쪽으로 그 오리엔테이션만큼 제한시키면 바람에 나부끼는 나뭇가지를 흉내낼 수 있습니다.

1.14. Change the animation phase using wind

바람을 사용하여 애니메이션 페이즈 변경 - 바람에 따라 독특한 운동을 보이는 오브젝트 시리즈입니다 (예: 플레이어 접촉 없이 바람에 영향을 받는 풀밭).

1.15. Improve the animation using distance to pivot falloff offsets

피벗 감쇠 오프셋까지의 거리를 사용하여 애니메이션 개선 - 예제 14 와 비슷하지만, Falloff Offsets 를 사용하여 움직임을 제어하여 좀 더 자연스러운 움직임이 적용됩니다.

1.16. Improve the animation using randomization

난수를 사용한 애니메이션 개선 - 예제 15 와 비슷하지만, 랜덤 Falloff Offsets 를 사용하여 좀 더 사실적인 움직임을 내고 있습니다.

1.17. Animate with a texture

텍스처 포함 애니메이션 - 텍스처를 사용한 바람에 따른 오브젝트 애니메이션입니다 (DirectX 10 이상 필수).

1.18. Use a texture and the previous animation offset techniques

텍스처 및 이전 애니메이션 오프셋 기법 사용 - 예제 10 에서 17 까지의 기법을 조합하여 바람에 반응하는 텍스처 애니메이션 오브젝트를 만듭니다.

1.19. Combine multiple rotations

다수의 로테이션 결합 - 버텍스 셰이더 안에서 동시에 다수의 로테이션을 올바르게 처리하는 법을 보여줍니다.

1.20. Ambient Creatures

배경 생물 - 플레이어와의 거리에 따라 반응하는 배경 생물입니다 (예: 플레이어가 가까이 오면 놀랍니다).

1.21. Advanced Grass

고급 풀밭 - 바람에 따라 움직이면서 플레이어 접촉에도 반응하는, 게임에서 바로 사용할 수도 있는 텍스처 입힌 풀밭 예제입니다.

1.22. Advanced Palm Tree

고급 야자나무 - 바람에 나부끼는 텍스처입힌 야자나무입니다.

1.23. Advanced Tree

고급 나무 - 바람에 반응하는 나뭇가지와 잎사귀가 있는 텍스처입힌 나무입니다 (하이어라키 페인터로 제작).

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

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

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

네이버 카페
공식 포럼