Autor Wątek: Przesunięcie obiektu do wskazanego miejsca  (Przeczytany 2027 razy)

Offline ly000

  • Użytkownik

# Listopad 29, 2011, 16:07:47
Witam, chciałbym się dowiedzieć jak można przesunąć obiekt od aktualnej pozycji kamery na zewnątrz w określoną stronę.
Czyli wpierw muszę pobrać pozycje na którą celuję, a potem żeby obiekt się przesuną w te miejsce.
Teoretycznie wiem jak to ma wyglądać, potrzebuję jedynie pomocy czysto technicznej(czyt. funkcje, kod itp.), ponieważ programuję w 3D od niedawna i się jeszcze nie połapuję w niektórych sprawach.

PS. Tak, to ma być tak jakby "strzał".

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Vxx

  • Użytkownik

  • +1
# Listopad 29, 2011, 17:22:19
Skoro kamera, to masz dwa wektory: punkt na który patrzy i jej pozycje - odejmujesz jedno od drugiego, normalizujesz i już masz kierunek patrzenia. Teraz ustawiasz pocisk w pozycji kamery i dodajesz do niego wcześniej otrzymany wektor * Długość (* Dt),

Np.
Vector3D camDir = camView - camPos;
camDir.Normalize();

bullet = camPos;
bullet += camDir * length * dt;

Lub bardziej ogólnie:
Vector3D dir = pos2 - pos1;
dir.Normalize();

pos3 += dir * length * dt;
« Ostatnia zmiana: Listopad 29, 2011, 17:28:15 wysłana przez Vxx »