Raycasting
Přehled raycastingu
Představuje paprskové dotazy nad rigid bodies a pomáhá zvolit správný druh dotazu.
Physics raycast otestuje jednu úsečku s nulovou tloušťkou ve world space proti tělesům v Jolt worldu. Jde o synchronní dotaz pouze pro čtení: popisuje geometrii existující v okamžiku volání, ale neposouvá simulaci, nevytváří kontakty, neprobouzí tělesa ani neaplikuje síly.
Na co raycast odpovídá#
- Protnula úsečka některé spravované rigid body?
- Které těleso bylo nejbližší nebo která tělesa paprsek protnul?
- Kde k průsečíku došlo a jaká je world-space normála povrchu?
- Jak daleko podél úsečky zásah leží?
Volba správného dotazu#
| Úloha | Použijte |
|---|---|
| Zbraň, line of sight, interakční paprsek nebo tenká kontrola země | jolt_raycast() |
| Průstřel nebo nalezení více těles na jedné přímce | jolt_raycast_all() |
| Pohyb boxu, sphere, capsule nebo cylinder skrz prostor | Shape Cast |
| Zjištění těles již překrývajících určitý objem | Shape Overlap |
| Nalezení nejbližšího povrchu kolem bodu | jolt_closest_point() |
Co lze zasáhnout#
- Dynamic, Static a Kinematic rigid bodies včetně spících těles.
- Sensor bodies, pokud je nevyloučí vrstva.
- Primitive, convex, compound, mesh, HeightField a Plane rigid-body shapes.
Co zasáhnout nelze#
- CharacterVirtual resources, protože v tomto API nevlastní rigid Body.
- Cloth resources, které se spravují jako SoftBody v oddělené tabulce handles.
- Trojúhelníky BBMOD, které nebyly převedeny na physics body.
Doporučený postup studia#
Začněte stránkou Rychlý start a pokračujte přes Základní raycast a Výsledky raycastu. Po zprovoznění prvního příkladu přejděte na Více zásahů a Filtrování vrstev. Geometrie a omezení spolu s Debugováním a výkonem pokrývají produkční okrajové případy; Low-Level Raycasting je potřeba pouze pro explicitní worldy.