Inhoud
Wat vooraf ging
- U bent vertrouwd met de werkomgeving van Unreal Engine.
- U bent vertrouwd met object georiënteerd programmeren.
- U bent vertrouwd met het Gameplay Framework van Ureal Engine.
- U bent vertrouwd met Vectoren.
- U kunt een Line Trace maken.
- U kunt eenvoudige Physics gebruiken.
Inleiding
In deze handleiding wordt kennis gemaakt met Physical Material.
Situering van deze handleiding binnen Unreal Engine
Physical Material
- Start een nieuw First Person Desktop/Console project van Maximum Quality met Starter Content.
- Maak een nieuw Level via File – New Level.
- Kopieer de Floor (versleep met de Alt-toets ingedrukt) en geef iedere Floor een verschillend materiaal (bv. M_Ground_Grass en M_Ground_Gravel van de Starter Content). Uiteraard mag u ook Material Instances gebruiken.
Hoe weten we nu op welk materiaal we ons bevinden (bv. om een andere geluid voor de voetstappen weer te geven)?
Physical Surface toevoegen
Eerst gaan we een Physical Surface toevoegen.
- Ga naar Edit – Project Settings… – Physics – Physical Surface en voeg twee Surfaces toe Gras en Grond (of betere namen).
- Bewaar alles en start eventueel opnieuw op (dit blijkt nodig te zijn na het toevoegen van Surfaces).
Physical Material toevoegen
- In de gewenste map, klik met de rechtermuisknop in de Content Browser en kies voor Physics – Physical Material.
- Selecteer Physical Material en kies Select.
- Doe dit voor beide materialen (Gras en Grond).
- Dubbelklik op een Physical Material om het te openen.
- U kunt tal van typische eigenschappen ingeven.
- Ken de correcte Surface Type aan het Physical Material toe.
- Doe dit opnieuw voor beide Pysical Materials.
Nu we Physicals Materials aangemaakt hebben moeten we deze nog koppelen aan de gewone materialen.
- Open het M_Ground_Grass Material.
- Selecteer de Material-node (de basisnode).
- Onder Physical Material, ken het gewenste Physical Material toe.
- Herhaal dit voor het M_Ground_Gravel Material.
- Save de materialen.
Line Tracing
We willen nagaan op welk materiaal ons Character zich bevindt.
We gaan hiervoor een Line Trace naar omlaag trekken.
Om het simpel te houden ga ik deze Line Trace toevoegen aan het Tick-Event van ons Character (dit is uiteraard geen geoptimaliseerde oplossing en kan enkel als een test gebruikt worden).
- Open ThirdPersonCharacter en voeg onderstaande code toe onder de Event Graph.
Merk op dat u de gewenste Surface kunt opvragen via Get Surface Type en vervolgens, via een EPhysicalSurface Switch hebt u toegang tot de verschillende Surfaces.
- Compile, Save en Play.
Praktische videovoorbeelden
In onderstaande video wordt een Physical Material gebruikt om de ondergrond te controleren en de gewenste voetstapeffecten weer te geven. Voor de karakteranimatie die in deze video gebruikt wordt verwijs ik u door naar deze handleiding.