식생 전체적 바람(Foliage Global Wind)

바람과 관련된 항목은 플레이어의 체험 요소의 결정적인 역할을 하는 요소로 장기간 작업이 이루어질 것이라 예상하고 있습니다. 프로젝트에서 메인 캐릭터가 가장 주요하게 마주하는 부분이어서 컨텐츠 체험의 핵심적인 요소 중 하나입니다. 이전에 대략적인 시놉시스를 소개 해드린 적이 있는데, 플레어어를 채집 가능한 식생으로 유도하여 자원을 채취하여 곤경에 빠진 동물들에게 자원을 전달하는 것을 대한 요소로 메인 컨텐츠가 구상되고 있습니다. 즉 플레이어는 게임을 체험하는 기간의 대부분은 항상 식생을 의식하게 될 수 밖에 없으며, 바람 또한 굉장히 중요한 요소가 되는 이유이기도 합니다.
MasterMaterial
언리얼 엔진을 사용해보신 분들의 입장에서는 MasterMaterial은 당연한 요소라 굳이?라는 의문점을 가질수도 있을 것 같지만, 현재 구상하는 프로젝트에 다양한 방면으로 영향을 미칠 것이라 생각하여 언급하고자 적었습니다 현재는 구체화된 프로젝트가 아니라 표현이 애매하게 될 수 밖에 없긴 한데, 모호하게 이야기 하자면 기초적인 면에서 통합된 매터리얼에 대한 작업을 구성하는데 사용 되고 있습니다. 사전적인 개념으로는 언리얼 엔진내에서 재질을 효율적으로 관리하고 렌더링 파이프라인을 통일화하여 작업속도를 개선하고자 사용됩니다. 또한 같은 부모 머티리얼을 통해서 전체적으로 일관된 비주얼을 구현하는데 역할을 하기도 합니다.
현재는 Tree나 Bush 혹은 Grass에 요소에 따라 대응되는 Material Instance를 만들어내는 역할을 하고 있습니다. 채집의 개념이 들어가게 된다면 마스터 머티리얼 내에서 채집되는 나무의 요소에 따라 영향을 받게되는 작업이 구분되어 질 수도 있습니다. 이때 같은 마스터 머티리얼을 사용하는 요소에 일관되게 작동하도록 만들어 주는 역할을 합니다.


또한 추가로 월드에서 바람으로 인지되는 개념을 구현하고자 WPO에 작용하는 매터리얼 함수가 적용되었습니다. 최종 목표로는 날씨 변화에 맞추어 실시간으로 변하는 생동감 있는 월드 연동을 목표로 진행하고자 계획하고 있습니다.


Shader Function
핵심개념으로 사용된 매터리얼 함수는 SimpleGrassWind와 RotateAboutAxis를 사용하여 구현되었고, 관련된 함수와 매터리얼 내에서 작용하는 역할은 다음과 같습니다.




Conclusion
최종적으로 작업된 바람은 ParmeterCollection 및 이전에 작업된 InteractiveGrass 개념을 같이 결합하여 WPO에 작동하도록 설정이된 상태입니다. 일단 만들어지는 컨텐츠의 개념이 명확하게 결정이 되지 않아서 두루뭉실한 설명이 주로 되어버렸는데 식생 바람과 상호작용을 통합된 단일 MasterMaterial 경로로 구성하여 관리 측면에서 효율성을 높이고자하는 것이 의도입니다. 다만 추후 건물의 안 밖을 구분해서 돌아다니는 오픈월드에서의 심리스 개념이 들어가거나, 채집된 나무가 바닥에 쓰러지거나하면 이상해지는 모습은 나올거라 예상하고는 있습니다. 그러면 해당 요소에 맞추어 변화하는 개념은 추가될 것이라 생각합니다.

식생 바람구현 관련 참고 영상
UE4 Foliage and Vegetation
https://www.youtube.com/playlist?list=PL78XDi0TS4lEbQu-02qku02hR2QUKfDPR
Simple Global Wind in UE4 (One weird trick! Everyone hates him!)
https://www.youtube.com/watch?v=27Gr2RRhtNM&t=25s
Create Realistic Wind Effects on Trees in Unreal Engine 5
https://www.youtube.com/watch?v=5AoBnZ_ft-I
'Unreal DevHistory > Personal Project' 카테고리의 다른 글
| 06 플레이어블 캐릭터(1) - PPJB (1) | 2025.09.27 |
|---|---|
| 04 식생 상호 작용 및 바람(2) - PPJB (0) | 2025.09.03 |
| 03 식생 상호 작용 및 바람(1) - PPJB (0) | 2025.08.30 |
| 02 프로젝트 생성 및 백업- Personal Project (0) | 2025.04.28 |
| 01 시작하기 전에 - Personal Project (0) | 2025.04.27 |