Skocz do zawartości

3d + 2d


Rekomendowane odpowiedzi

Siema.

 

Chciałem zrobić domki takie jak Bedziu w CityLife, ale mam pewnien problem.

 

Zrobiłem je w 3d, czyli

draw_set_color(c_white)

d3d_draw_wall(x,y,0,x+128,y,200,background_get_texture(b1),1,1)

d3d_draw_wall(x,y,0,x,y+128,200,background_get_texture(b1),1,1)

d3d_draw_wall(x+128,y+128,0,x+128,y,200,background_get_texture(b1),1,1)

d3d_draw_wall(x+128,y+128,0,x,y+128,200,background_get_texture(b1),1,1)

d3d_draw_floor(x,y,0,x+128,y+128,0,background_get_texture(b2),1,1)

 

d3d_set_projection(tutaj nie wiem do konca co wstawic :P,111,tu tez,110,1,1,1)

 

I domki niby działają, ładnie wyglądają, ale jak dorobić do nich reszte w 2d?

Wiecie o co chodzi :P

 

I jeszcze jak wstawiam obiekt 2d ze spritem w prawo to widać go zwróconego w góra-lewo. Łaj?

Odnośnik do komentarza
Udostępnij na innych stronach

Czekaj :D

 

Mam te budynki od góry, ładne są i wgl. i mam zioma już w 2d (po prostu ustawiłem mu sprite_index i działa :P) i on też działa, ale odwraca rooma. Do którego obiektu do drawa to walnąć?

 

Sorry za moją niekumatość, ale w 3D jestem zielony.

Odnośnik do komentarza
Udostępnij na innych stronach

a pocóż mi on? xd co to ma do mojego problemu(odwrócenie roomu w pionie poprzez chyba d3d_set_projection(view_xview+320,view_yview+240,-200,view_xview+320,view_yview+240,0,0,0,1))?

 

Jakiś badziewny kod na poruszanie się załatwi ten problem?

Odnośnik do komentarza
Udostępnij na innych stronach

Więc trzeba było wstawić kod na poruszanie się? :/

 

A więc mam 3 obiekty: cam, dom i object5(koles)

 

w camie mam w draw

d3d_set_projection(view_xview+320,view_yview+240,-200,view_xview+320,view_yview+240,0,0,0,1)

a w create

d3d_start()

draw_set_color(c_white)

draw_set_alpha(1)

 

w domie mam w draw:

 

d3d_draw_wall(x,y,-200,x+128,y,0,background_get_texture(b1),1,1)

d3d_draw_wall(x,y,-200,x,y+128,0,background_get_texture(b1),1,1)

d3d_draw_wall(x+128,y+128,-200,x+128,y,0,background_get_texture(b1),1,1)

d3d_draw_wall(x+128,y+128,-200,x,y+128,0,background_get_texture(b1),1,1)

d3d_draw_floor(x,y,-200,x+128,y+128,-200,background_get_texture(b2),1,1)

 

w kolesiu mam w step

 

if keyboard_check(vk_up) and place_free(x,y+4) y+=4

if keyboard_check(vk_down) and place_free(x,y-4) y-=4

if keyboard_check(vk_left) and place_free(x-4,y) x-=4

if keyboard_check(vk_right) and place_free(x+4,y) x+=4

direction=-point_direction(x,y,mouse_x,mouse_y)

image_angle=direction

 

i view rusza się za kolesiem.

 

Tyle mam :)

Odnośnik do komentarza
Udostępnij na innych stronach

Może ja spróbuję to wytłumaczyć.

Więc tak. Jak chcesz robić w 3d, to wszystkie sprity co chcesz użyć odwracasz do góry nogami. Wszystkie znaki przy y w kodzie 2d odwracasz(czyli jak masz + dajesz -) to samo z vspeed. Dodatkowo do direction w kodzie 2d dodajesz 180. To wszystko. Inaczej się nie da. Taki urok 3d w GM'ie.

Odnośnik do komentarza
Udostępnij na innych stronach

karolo320 zrobiłeś tak jak powiedział ci kt1117? Zmieniałeś to wszystko w kodzie?

Wystarczało zobaczyć to co ja ci powiedziałem:

GML
d3d_set_projection(view_xview+320,view_yview+240+0.01,-200,view_xview+320,view_yview+240,0,0,0,1)

Jakiś miesiąc temu robiłem coś takiego jak ty i wystarczało ruszyć kamerą. Jak to działa? Kamera skierowana jest z 'yfrom' do 'yto' i z 'xfrom' do 'xto'. Skoro te punkty są w tym samym miejscu to w którą stronę obróci się kamera? Ogarnij to, a nie będziesz musiał ciągle pamiętać że masz odwróconą oś Y

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

Ja przed chwilą pobrałem, przeglądam ten kod i się zastanawiam czy oś 'z' nie zwiększa się przypadkiem w GM-ie 'w stronę naszych oczu'? Bo wszystko w kodzie jest rysowane odwrotnie. Np.: budynki są od 0 do -200. Ja zawsze używałem dodatnich i było wporządku :)

 

EDIT:

Thirdly, the vertical y-coordinate is reversed. While normally the (0,0) position is at the top-left of the view, in 3D mode the (0,0) position is at the bottom-left position, as is normal for 3-dimensional views.
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ę...