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#

ÚlohaPouž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římcejolt_raycast_all()
Pohyb boxu, sphere, capsule nebo cylinder skrz prostorShape Cast
Zjištění těles již překrývajících určitý objemShape Overlap
Nalezení nejbližšího povrchu kolem bodujolt_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.