Skocz do zawartości

Zaznaczanie w 3D


Rekomendowane odpowiedzi

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

Odnośnik do komentarza
Udostępnij na innych stronach

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.

Odnośnik do komentarza
Udostępnij na innych stronach

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.

Odnośnik do komentarza
Udostępnij na innych stronach

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/

Odnośnik do komentarza
Udostępnij na innych stronach

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ę...