Jak penetrace funguje
Nechte hrot tělesa fyzikálně vstoupit do jiného tělesa, zůstat v něm a znovu se vytáhnout.
Penetrace propojuje Dynamic penetrator s povoleným targetem. Při platném zásahu vytvoří řízený kanál: těleso se může zasouvat a vytahovat podél vstupní osy, zatímco boční posun a relativní rotaci drží fyzikální constraint. Síly, hmotnost a gravitace stále rozhodují o pohybu.
Tři pojmy, které potřebujete#
| Pojem | Co představuje |
|---|---|
| Target | Běžné Static nebo Dynamic těleso označené přes jolt_penetration_target(). Určuje materiálový odpor a limit hloubky. |
| Tip | Logický bod na předním povrchu penetratoru a jeho lokální osa. Není to další collider ani nové těleso. |
| Relationship | Dočasné spojení konkrétního Tipu a targetu. Obsahuje vstupní bod, hloubku a stav; vzniká automaticky. |
Průběh interakce#
Volný pohyb → kandidát u povrchu → Captured → skutečný entry / Start → zasouvání nebo Embedded → vytahování → úplné oddělení → rearm → další zásah. Některé stavy se mohou odehrát během jediného herního kroku.
K čemu se hodí#
Například pro šipku, hřeb, bodec nebo vidlici, které mají zůstat ve fyzikálním targetu. Target může být pohyblivý a dostává fyzikální reakci. Penetrace nevytváří díru do meshe, nedeformuje materiál a neodečítá health; vizuální stopu a gameplay reakci řeší projekt podle snapshotů a událostí.
Jak číst tuto dokumentaci#
- Začněte kapitolou První funkční scéna a ověřte jednoduchý Box proti Static Boxu.
- Potom upravte odpor targetu, umístění Tipu a max_angle v konfiguračních kapitolách.
- Reference Tipu, relationship a událostí slouží při integraci do vlastní hry. Při odmítnutí použijte diagnostickou tabulku.
Penetrace se aktualizuje uvnitř běžného jolt_update(). Nevolejte další penetration step ani jolt_update pro každý Tip.