Skocz do zawartości

widok 3d


Mentoss

Rekomendowane odpowiedzi

oki... mam nawet ładne drawowanie, ale jak zrobić szybę ??? chodzi o to, że jak textura będzie miała alphe o wartości przynajmniej 1, to nie widać ścian po drugiej stronie, a jak wyłącze d3d_set_hidden, to widać wszystko, nawet przez ściany... co z tym można zrobić ??

Odnośnik do komentarza
Udostępnij na innych stronach

nie wiem o jakie błędy chodzi, ale ta funkcja d3d_draw_fix działa... dzieki

 

Chodzi o to byś pisał w składni C albo w składni Delphi a nie je mixował.

Oba poniższe przykłady robią to samo.

 

Składnia C

GML
aaa = 1;

if ( aaa == 1 )

{

show_message("To jest składnia C");

show_message("aaa wynosi jeden");

}

else

{

show_message("To jest składnia C");

show_message("aaa wynosi zero");

}

 

składnia Delphi

GML
aaa := 1;

if aaa = 1 then

begin

show_message("To jest składnia delphi");

show_message("aaa wynosi jeden");

end

else

begin

show_message("To jest składnia delphi");

show_message("aaa wynosi zero");

end;

 

EDIT:

 

Co do twojego pytania w edicie:

GML
draw_sprite(s_celownik,-1,view_xview[0]+view_wview[0]/2,view_yview[0]+view_hview[0]/2);
Odnośnik do komentarza
Udostępnij na innych stronach

Działa tylko musisz na czas wyświetlania zmienić perspektywę z 3d na 2d.

GML (HUD draw)
// d3d_set_lighting(false);

d3d_set_hidden(false);

d3d_set_projection_ortho(0,0,view_wport,view_hport,0);

draw_set_color($FFFFFF); // kolor biały

draw_sprite(s_celownik,-1,view_xview[0]+view_wview[0]/2,view_yview[0]+view_hview[0]/2);

d3d_set_hidden(true);

// d3d_set_lighting(true);</span>

Jeżeli w swojej grze używasz świateł to usuń kommenta z lighteningów.

 

Żeby poprawnie ci to wyświetlało to najlepiej stwórz object HUD i w nim w draw daj to wyżej. Object ten musi być ostatni więc najlepiej jak byś go tworzył w "room creation code"

GML (room creation code)
instance_create(0,0,HUD);
Odnośnik do komentarza
Udostępnij na innych stronach

Do takich wyczynów musisz posłużyć się techniką RenderToSurface ( RenderToTexture ).

Lustro/Telewizor:

1. Ustaw projekcję dla lustra/telewizora;

2. Ustaw targeta na surface ( surface_set_target );

3. rysuj wszystko w 3D ( screen_redraw );

4. Resetuj targeta ( surface_reset_target );

5. do pobierania tekstury z surface-a służy funkcja "surface_get_texture"

Odnośnik do komentarza
Udostępnij na innych stronach

Do takich wyczynów musisz posłużyć się techniką RenderToSurface ( RenderToTexture ).

Lustro/Telewizor:

1. Ustaw projekcję dla lustra/telewizora;

2. Ustaw targeta na surface ( surface_set_target );

3. rysuj wszystko w 3D ( screen_redraw );

4. Resetuj targeta ( surface_reset_target );

5. do pobierania tekstury z surface-a służy funkcja "surface_get_texture"

 

hehe... gdybym rozumiał choć słowo, to może by mi wyszło

Odnośnik do komentarza
Udostępnij na innych stronach

sciągnąłem blendera i nie mogłem zrobić nic, poza przesuwaniem pudełka :|...

Edit:

Ok, sa jakies tutki u wujka google, poradze sobie.

 

A tak wracając, o co chodzi z tymi surface'ami i targetami, bo mi dokumentacja zbyt wiele nie mówi... a w polskiej nie znalazłem o tym ani słowa

Odnośnik do komentarza
Udostępnij na innych stronach

Ja się nauczyłem jego obsługi w zaledwie tydzień, Blender nie jest trudny.

Seria tutoriali z których nauczyłem się najwięcej:

http://www.youtube.com/user/ward7299

 

Też potrafiłem tylko przesuwać boxa. Po zapoznaniu się z tymi seriami tutoriali potrafiłem już stworzyć postać z animacjami.

Tu masz part 1 http://www.youtube.com/user/ward7299#p/u/44/MvO0F2xbZa4

( kolejne party są lepszej jakości )

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