Skocz do zawartości

Powrót do 3D


Qbi Wan

Rekomendowane odpowiedzi

Witajcie:) Jak w opisie: mam 2 obiekty:

 

obj_camera

Create Event:

GML
d3d_start();

Draw Event:

GML
d3d_set_projection_ext(0, 0, 50, 0, 0, 0, 0, 0, 1, 60, view_wview[0] / view_hview[0], 1, 16000);

d3d_draw_ellipsoid(10,10,10,10,10,10,-1,1,1,16);

 

i obj_sphere

Step Event:

GML
if keyboard_check(vk_up) yy+=5;

if keyboard_check(vk_down) yy-=5;

if keyboard_check(vk_right) xx+=5;

if keyboard_check(vk_left) xx-=5;

Draw Event:

GML
d3d_draw_ellipsoid(0,0,0,20,20,20,-1,1,1,16)

 

Niby nic skomplikowanego, a jednak niczego nie widzę (mimo że wcześniej, jakieś 30 min temu, jakąś kulę widziałem)

Co jest nie tak?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

nie uzależniłeś wymiarów obiektu od x i y i chociaż zmieniasz koordynaty instancji, to sam model rysuje się zwyczajnie w (0,0).

GML
d3d_draw_ellipsoid(xx,yy,0,xx+20,yy+20,20,-1,1,1,16)

tyle chyba powinno naprawić problem.

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

wkleiłem i nic :(

Zignorujmy na razie tą klawiaturę i zróbmy tak żeby od razu po włączeniu było widać tą elipsoidę. Bo mam wrażenie że coś tu jest zepsute, tym bardziej że zanim wszystko zaczęło znikać nie robiłem żadnych znaczących zmian.

No bo robię d3d_start() i d3d_set_projection_ext(0, 0, 50, 0, 0, 0, 0, 0, 1, 60, view_wview[0] / view_hview[0], 1, 16000) czyli patrzę na środek wszechświata z góry z odległości 50) czyli jak robię d3d_draw_ellipsoid(-10,-10,-10,10,10,10,-1,1,1,8) czyli w środku wszystkiego tworzę kulę 20x20 to powinno być ją widać jak na dłoni, a tu nic.

Odnośnik do komentarza
Udostępnij na innych stronach

Projekcję trzeba wywołać po rysowaniu wszelkich modeli.

GML
d3d_set_projection_ext(0, 0, 50, 0, 0, 0, 0, 0, 1, 60, view_wview[0] / view_hview[0], 1, 16000);

d3d_draw_ellipsoid(10,10,10,10,10,10,-1,1,1,16);

ta kolejność nie jest poprawna.

 

Najlepiej zrób sobie kamerę w obiekcie z dużym depth np 10000 i nie rysuj w tym obiekcie żadnych modeli, tylko samą projekcję.

I przed projekcją wstaw draw_set_color(c_white); inaczej modele będą czarne.

 

Ponadto jeżeli masz włączone ośwetlenie to też nic nie zobaczysz bez źródła światła

Odnośnik do komentarza
Udostępnij na innych stronach

I przed projekcją wstaw draw_set_color(c_white); inaczej modele będą czarne.

a z tym?

czyli:

 

GML
d3d_draw_ellipsoid(-10,-10,-10,10,10,10,-1,1,1,8);

draw_set_color(c_white);

d3d_set_projection_ext(0, 0, 50, 0, 0, 0, 0, 0, 0, 60, view_wview[0] / view_hview[0], 1, 16000);

Odnośnik do komentarza
Udostępnij na innych stronach

Nic. Dalej szary ekran. Aktualnie "kod" wygląda tak:

 

obj_camera

Create Event:

d3d_start();

 

Draw Event:

d3d_start();

d3d_set_lighting(false);

draw_set_color(c_white);

d3d_draw_ellipsoid(-10,-10,-10,10,10,10,-1,1,1,8);

draw_set_color(c_white);

d3d_set_projection_ext(0, 0, 50, 0, 0, 0, 0, 0, 0, 60, view_wview[0] / view_hview[0], 1, 16000);

 

d3d_set_lighting wstawiłem tak na wszelki wypadek. nie działa zarówno z tym jak i bez tego.

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Dalej nic :(

 

Create Event:

d3d_start();

d3d_set_lighting(false);

 

Draw Event:

draw_set_color(c_white);

d3d_draw_ellipsoid(-10,-10,-10,10,10,10,-1,1,1,8);

draw_set_color(c_white);

d3d_set_projection_ext(0, 0, 50, 0, 0, 0, 0, 0, 0, 60, view_wview[0] / view_hview[0], 1, 16000);

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Masz 2 błędy.

 

Po pierwsze w obiektach które mają odznaczone visible nie wykonuje się event Draw. A więc ani twoja kula nie mogła być narysowana ani twoja kamera. Bo w obu tych obiektach odznaczyłeś.

I drugi, nie zdefiniowałeś tak zwanego Up wektora. To takie odniesienie pionu dla perspektywy. Są to argumenty x up, y up i z up w d3d_set_projection();

 

GML
d3d_set_projection_ext(0, 0, 50, 0, 0, 0, 0, 1, 0, 60, view_wview[0] / view_hview[0], 1, 16000);

teraz będzie ok

Odnośnik do komentarza
Udostępnij na innych stronach

COŚ widać :P

Nie myślałem że "Visible" wpływa też na 3D, teraz będę pamiętał :) Wreszcie mam kulę na środku ekranu.

Jednak ciekawi mnie ten element:

Screen_Shot_06_15_16_at_11_21_PM.png

Na szarej planszy w lewym-dolnym rogu ekranu pokazuje się ćwierć koła i nie wiem dlaczego.

Odnośnik do komentarza
Udostępnij na innych stronach

to jest ta kula którą rysujesz w draw camery, wywal to. Modele nie powinny być rysowane w tym samym obiekcie co projekcja bo się takie kwiatki dzieją.

I obiektowi camery zwiększ depth np do 10000 bo musi być większy od depth obiektów, które rysują modele

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