Skocz do zawartości

3dcurvedspace


3r3se7ven

Rekomendowane odpowiedzi

Tytuł: lot nad terenem zawiniętym na sferze (z tej albo tamtej strony)

 

Gatunek: 3d symulator

 

Opis: ruch w przestrzeni nad wygenerowanym terenem udającym mały księżyc z atmosferą

 

Download: http://www.filedropper.com/3dfcurvedspace

<a href=http://www.filedropper.com/3dfcurvedspace><img src=http://www.filedropper.com/download_button.png width=127 height=145 border=0/></a><br /><div style=font-size:9px;font-family:Arial, Helvetica, sans-serif;width:127px;font-color:#44a854;> <a href=http://www.filedropper.com >online backup</a></div>

Rozmiar pliku: 1.97mb

 

Autorzy:

Programowanie:
ja

Screeny:

 

fcs1.jpg

fcs2.jpg

 

//============================================

 

Wszystko w jednym obiekcie, tekstur nie ma, modeli nie ma, wszystko co widać jest generowane na bieżąco jako ds_list.

Sterowanie normalne WASD QZ

Zmiana krzywizny terenu UI

Patrzenie od osi ruchu FV

Jak coś możńa zmieniać to jest to klikalne.

Rozłączenie myszy od ruchu hold ctrl

 

 

Nie mam pomysłu co z tym dalej zrobi.

 

FPSami na screenach się nie przejmować, normalnie chodzi to na zabytku 22-30fps. Jak się wyłączy to co teraz tam udaje gwiazdy i niebo to 30+
Odnośnik do komentarza
Udostępnij na innych stronach

Jakoś tak, dziwnie uciekają wierzchołki spode mnie. Nie wiem, wygląda podejrzanie ;d

 

Jak masz włączone te bzdurne parametry po prawej, to jeden z nich "U-I world is curved" można zmieniać (niebo za tym podąża z nieco inną krzywizną, żeby kryło się za horyzontem).

Jak ustawisz krzywiznę świata na 1 to będzie normalne, euklidesowe 3d widać i wrażenie lotu orbitalnego zniknie :)

 

Jak ustawisz krzywiznę > 1 to będziesz w misce (wewnątrz sfery).

 

Jeśli włączysz wyświetlanie "draw map ds structure" to wyświetli się euklidesowe zaznaczenie sektorów nad przestrzenią zakrzywioną, zobaczysz gdzie jest koniec mapy i magia zniknie, bo to po prostu mapa płaska 2d tylko tak oszukańczo zawinięta :)

 

Chodzi mi po głowie zrobienie maze na pozawijanej przestrzeni z większą liczbą wymiarów, tak żeby graczy trollowało łażenie po tym :)

Odnośnik do komentarza
Udostępnij na innych stronach

Mam 6 fps :P

Pobrałem z nadzieją że nie zobaczę problemu gimbal locka ale jednak z tym sobie nie poradziłeś. A szkoda bo to trudne zagadnienie tak bym się czegoś nauczył od ciebie :P

 

6fps? Na telefonie?

 

W prawym dolnym rogu wyświetla Ci się camera_mode kliknij na tym żeby było zero :)

Dostaniesz wtedy swobodną kamerę. Wartość 1 jest przypisana do łażenia po ziemi, wartość 2 do latania.

 

G-locka dodałem bo się gubiłem ze sterowaniem odnośnie tego co widzę i jak steruję. Jak zrobisz przewrót w tył to obraca sterowanie o wartość wektora Z zależnie od widoku.

Na wartościach skrajnych abs(1^^1^^1) są przeciągnięcia (im bliżej abs(1) tym wolniej się obraca).

 

Chcesz się w grze męczyć z przełączaniem bazy z xy_z na xz_y zy_x?

 

Mogę przepisać sterowanie na start 0,0,0, a nie z 0,0,1 co jest dużo prostsze, ale będziesz się męczył w kwaternionach z kontrolą ruchu z 4d na 2d.

W GMs trzeba by dodać całą bibliotekę liczenia sprzężonych ijk do tego, tych funkcji tam nie ma, są ciężkie.

 

Jak Ci to do czegoś potrzebne to rozpiszę sterowanie bez gimbal locka. Ale sterowanie z klejeniem do levelu to już rozpiszesz sobie sam :)

 

 

 

 

//===================

 

Tutaj jest plik w sterowaniu 3, używa pada, osie xyz dla ustawiania gdzie się gapi z wektora xyz, z przyciskiem 6 (prawa jedynka) te same osie ustawiają wektor kamery.

 

http://www.filedropper.com/3dpadatempt-default-1000

 

Łażenia nie dodałem, ale byłoby takie same jak w sterowaniu 2 czyli na punkt patrzenia w xyz.

Level wczytuje się z normalnego sterowania, więc za kątem widzenia nie jest załadowany (moja implementacja, kamera tam normalnie wszystko wyświetla, tylko przypilnowałem żeby teren za plecami nie był ładowany do bufora).

 

No więc nie ma locka...

Tylko opisz mi w jakim sterowaniu chciałbyś dla człowieka mającego układ odniesienia w tym co widzi, skoro dla ludzkiego rozumowania trzeba to przyciąć do płaszczyzny odniesienia.

 

 

Wyłączenie gimbala to wywalenie ryzy kodu, brak gimbala w 3d jest prosty, tylko sterowanie trzeba przekładać na jakiś ludzki język :)

Masz tam sześć parametrów.

W normalnej grze 3d korzystasz z 4 i jak dochodzi piąty to zaczynają się zgrzyty, a przy szóstym po wyłączeniu piątego jest to tylko utrudnienie do robienia wrażenia (najczęściej przy upadkach, wyglądaniu zza rogu).

Odnośnik do komentarza
Udostępnij na innych stronach

6 fps na moim laptopie :P

yOSm64w.png

 

A kiedyś chciałem zrobić grę w której się chodzi po małej planecie 3D i mnie zaciekawiło po prostu :P

 

Mam silne podejrzenie że GMs robi jakie jaja w obsłudze vertexów dobieranych z ds na bieżąco.

Karty graficznej toto nie używa wcale, bo nie korzystam z bufora. To softwarowe 3d.

Na podobnej mocy PC na intelu mam 30fps, ale dzieją się inne cuda (na przykład outline false dla draw_rectangle działa, a dla triangle przestaje, choć normalnie działa :) )

 

 

A bez gimbal locka jak sobie radzisz z obracaniem widoku?

Odnośnik do komentarza
Udostępnij na innych stronach

Zrobiłem tak:

 

http://www.filedropper.com/3djoystickrunner

 

Chodzi to pod pada wykrytego jako joystick. Teren jest z cubów, bo macierze obrotu ze skryptów robią wielką kupę w tle i dziesięciokrotny spadek wydajności, jak tego nie ma w bibliotekach to jest masakra, o kolizji siatek w ogóle można zapomnieć. Oczywiście w pro zastosowaniach ktoś by to wkleił i szło by z gotowców szybko :)

 

Fizyka jest inkrementalna (mariowa) zamiast kwadratowej (rzeczywista).

 

Ruch postaci, czas reakcji, prędkość, wysokość, zależą od jej masy i zebranych sił (tension na ekranie).

 

Na razie można się obracać, chodzić, szybko obracać, strejfować w prawy i lewy tył, skakać z marszu i biegu.

 

Postać zmienia kierunek tylko jeśli ma kontakt z podłożem (podstawka postaci) na końcu kroku (w połowie nie zmieni, noga musi być na glebie).

Rozpędza się, zwalnia, jak zebrał siły to rozpoczyna ruch żwawo, im szybciej biegnie tym dłuższe i wolniejsze kroki robi. Jak spadnie z planszy to nie wróci, trzeba ESC- Reset.

 

Do wysokości dopasowuje się automatycznie, ale będę mu dłubał wspinanie, wbieganie etc.

 

Oczywiście te cone ludzika można podmienić na modele, tylko trzeba mieć czas zająć się wszystkim.

 

Całość przetwarzania bazodanowa.

 

 

 

3d_runner.jpg

 

 

 

 

 

 

 

 

 

3d_runner2.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

Matko bosko, to jest kosmos.

 

A dziękuję, tydzień to dłubałem, bo to wyżej na trójkątach/mesh było za ciężkie.

 

Teraz dodaję wąsy (dodatkowe punkty detekcji przestrzeni wokół postaci, żeby wiedziała kiedy kucać, kiedy czołgać, kiedy się wspinać).

Będzie ze dwa tygodnie przerwy bo muszę wyjechać.

Odnośnik do komentarza
Udostępnij na innych stronach

//dubel

 

Nowsiejsza wersja:

 

http://www.filedropper.com/3drunner2

 

Zablokowałem to szybkie obracanie w lewy i prawy tył bo mnie vq... denerwowało mnie.

 

Zmieniłem strejfy w lewy i prawy tył na przyjemniejsze.

 

Obsługa pada wykrytego jako joystick jest, nie tego xboksowego, tylko takiego normalnego.

 

Dodałem funkcjonalność nagłej zmiany kierunków strzałkami na padzie (oś c), na razie w prawo i lewo (90, 270), żeby zobaczyć jak to wychodzi.

Postać gwałtownie hamuje, zbiera połowę prędkości w wybrany bok i startuje pod kątem 90deg do poprzedniego ruchu, coś jak w tronie.

Tylko trzeba się trochę rozpędzić, z marszu nie podpiąłem.

 

W trakcie biegu wychylenie osi Y ku sobie powoduje gwałtowne hamowanie (prawą lub lewą nogą zależnie z której biegł).

 

 

 

//========

 

Te zielone boxy przed postacią (można wejść w menu -ESC i wybrać dhp1 tam jest zmiana trybu kamery, polecam 1 do oglądania postaci z miejsca) to są wąsy zajętości terenu, jak teren jest zajęty to zmieniają kolor na czerwony, a tak, nie widać? No bo trzeba wyłączyć rysowanie terenu, jest gdzieś nad zmianą trybu kamery - draw_terrain. No nie widać, bo zmieniają kolor jak wlezą w teren :)

 

//========

 

Pod SELECT na padzie jest przełączanie w tryb edycji (osie xyz, wybór elementu R1 / R2) to tak przygotowuję kolejne pozy, zapisuję do zeszytu i wrzucam do ds_list ustawienia kątów.

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