Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Chciałbym zrobić coś takiego jak Ogame tylko że w 3D i niewiem jak zaznaczać jednostki jeśli są położone w przestrzeni myślałem o tym żeby zaznaczać elipsoidą ale gdzie jest z?

Jak przytrzymasz i ruszysz tak daleko myszką od zazaczonego punktu, promień elipsoidy się zwiększa

 

Duplikat tematu usunięty. Używaj opcji edytuj, nie zakładaj drugiego tematu z poprawionymi błędami poprzedniego - Twój Moderator

Opublikowano

z sobie definiujesz jako dodatkową zmienną. Możesz sobie jej użyć do skalowania obrazków, aby uzykskać efekt głębi. Wtedy odliczasz odległość między startowym punktem, a punktem przesuniętej myszki. Wynik ten, to twoja głębia. Sprawdzasz, czy jakiś obiekt w zasięgu okręgu ma z <= glębi i go zaznaczasz.

 

@EDIT:

 

Tym zaznaczeniem będzie cylinder, aby użyć elipsoidy, musisz wyznaczyć ze wzoru współrzędne, które nie należą do elipsoidy.

Opublikowano

masz dwie opcje: albo rzutujesz promień przez frustum, którym to potem sprawdzasz, czy przechodzi przez jakiś obiekt na scenie, albo rzutujesz pozycje 3d obiektow na ekran i sprawdzasz, w ktorego promieniu znajduje sie mysz.

Opublikowano

Podpisuję się pod powyższym. Na ogół do prostych problemów znajdziesz albo gotowe rozwiązania, albo już zaimplementowane skrypty, ale zapewne daleko nie pociągniesz i będziesz zmuszony zrezygnować z wielu rzeczy jeżeli chodzi o interakcję.

 

Rzutowanie to podstawa. Pojęcia iloczynu wektorowego i skalarnego powinny być dla Ciebie znane; spróbuj przeanalizować poniższy kod:

 

http://schabby.de/picking-opengl-ray-tracing/

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...