jak přidat detekci zásahu do odrážek


Odpověď 1:

Nejprve začnu tím, že OpenGL byl předmět, který jsem si vzal jen pro zajímavost a nemám mnoho znalostí o počítačové vědě jako celku. Snadný způsob, jak to vidím, je, že herní svět je v podstatě 2D obrazovka. Představte si, že cíl, který chcete střílet, je vyroben z letadel. Nyní je možné získat 3D bod z 2D (v OpenGL existují ustanovení). Vše, co potřebujeme, je rozsah zbraně mířící ve hře. Ze souřadnic x, y získáte X, Y, Z. Nyní s tím zkontrolujte, zda X, Y, Z spadají do cílové roviny (v tomto případě obdélník nebo trojúhelník).


Odpověď 2:

Nejlepší způsob, jak jít, je cast Collision Ray. Tímto způsobem získáte všechny informace, které potřebujete ke zpracování střely: kolizní bod, normální vektor v bodě zásahu (lze použít pro různé věci, jako je emitování částic ve správném směru), polygon, který zasáhnete, entita, kterou zasáhnete. Collision ray cast musí pracovat na vašem prostoru dělícím objektu, aby vyhledal rychlý seznam objektů, které testujete kolizi s vaším ray. Při vytváření metod detekce kolizí mezi koulí, boxem, válcem a dalšími primitivy zvažte také přidání paprskového vs. primitivního urychlovače. Vybudovat celý systém vyžaduje trochu práce, ale výsledky se vyplatí.


Odpověď 3:

Raycasting. Promítnete paprsek z hlavně zbraně a uvidíte, zda se paprsek srazí se sítí jiné postavy. Mnoho 3D knihoven podporuje raycasting.

Zde je jeden příklad.