unity - triggery
Ahoj, na internetu jsem našel jeden návod kde mám každý kousek trávy trigger (ve 2d scéně) kde se spouští animace pokud se na tom místě nachází hráč. Je to dobrý nápad když tý trávy bude hodně nebo bych měl dát kolider hráčovy kde by se zjištovalo čeho všeho se dotknul a podle toho by se spouštěli animace? https://youtu.be/C2wwxd8SnKY?t=307
Je to jedno, jen bych se při velké hustotě vyhl použití mesh colliders. Když děláš tu trávu, tak ji pak můžeš duplikovat čímž nemusíš pro každou nastavovat colider zvlášť (nebo spíš OnTrigger, který se volá, když colider vstoupí do spouštěče) díky dědičnosti .
(Nebo si vytvoříš jednu neviditelnou zónu OnTriggerEnter se používá s kinematickými nebo ne-kinematickými trigger tělesy k detekci toho, kdy jeden objekt vstoupil do jiného spouštěče).
Hráč musí mít RigidBody i tak, jinak srážka (aktivace spuštěče /OnCollision*) nebude možná .
(Pokud je kolider toho objektu nastaven jako spouštěc, nemusi vylozene potřebovat trigger).
Tu trávu udělám jednou jako asset to mi je jasný, ale i tak když dám do scény 100x trávu tak tam bude 100 trigerů.
nechápu jako že vytvořím box colider, dám ho přes celou obrazovku..., ale ten trigger se spouští jenom když něco vejde do kolideru a jakmile tam je tak už znovu při přesunování v něm nespustí.... nebo se pletu?
Nemusíš ho dávat přes celou obrazovku. Stačí obdelnik přes tu trávu (nebo jen par bodů v akceptovatelném rozestupu) . To co se bude dít při vstupu, nebo během toho když je objekt (hrač) v tom poli, záleží jen jak to upřesníš v kódu.
(jestli je té trávy hodně a nechceš aby se hýbala celá louka, můžeš to rozdělit třeba na 4 zóny ať to vypadá realističtěji)
Příklad, když hráč vstoupí do té zony a bude se v té zone nacházet , spustití animace přehrání nejakého waw (treba šustot travy) a tráva (sprite) se bude pohybovat do doby než tu zonu opustí . Teda jestli to správně chápu.
(můžeš si zapnout debug info o vytížení HW/memory, tak si to porovnej, ale ty kolizni body jsou v podstatě o proti mesh colider nenáročné ).
PS : Jestli ti nevadí angličtina, mohu ti dát odkaz na výbornou knihu na stahnuti o programování a tvorby 2D her na Unity3D. Angličtina stačí základ, stejně je to hodně obrázkové. Tak jako Blender který převážně používám pro tvorbu 2D/3D objektů a animací pro Unity. Škoda že Blender již oficiálně nepodporuje BG (Blender Game) který mi vyhovoval víc jak Unity3D pro programování her s API na Python.
hm, tak mi pošli odkaz.
Format knih PDF :
• Unity 5.x 2D Game Development Blueprints
• Unity 2D Game Development Cookbook
• Learning Unity 2D Game Development by Example
• Mastering Unity 2D Game Development
• Unity for Absolute Beginners
• Building a Game with Unity and Blender
• Learning C# Programming with Unity 3D
• Learning C# by Developing Games with Unity 3D (2013)