Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: 3D-roottori (QB)

Sivun loppuun

Wukkopi [15.02.2004 10:05:42]

#

Onkos kukaan jaksanut rakennella 3d-moottoria ja jos on niin voisikos sitä jaella tännepäin...
(Wolfenstein 3d tyylistä).

Vaikka kyllä itsekin osaisin jos vain jaksaisin... (ehkä)...

hunajavohveli [15.02.2004 16:22:36]

#

Minulla on jo pitkän aikaa ollut tekeillä The Linkku3d-moottori. Linkku-nimi johtuu siitä, että se toimii luullakseni muuten oikein, mutta vääristää, jos kääntää kameraa ylös tai alas.
3D:n ohjelmoimien on mutkikasta puuhaa. Tietysti joitain pyöriteltäviä 3d-kuutioita on helppo tehdä. Tuskin kukaan sinulle valmista moottoria lähettää. Kannattaa yrittää itse. Minäkin olen tehnyt kaiken itse alusta alkaen. Mutta voipi tulla aika äkkiä ongelmat vastaan.
Perusperiaatehan on kai laskea kulmat kameran ja kappaleen välillä. Kulman saa helposti arkustangentilla.

x = ABS(Kamerax - EsineX)
y = ABS(kameray - EsineY)

kulma = ATN(x / y)

Tai ainakin tuo on Linkkuni periaate. Sitä en viitsi lähettää, kun se kuitenkaan ei ole mitään huippuluokan 3d:tä ja siitä voi saada vääriä vaikutteita, kun en ole 3d:tä ihmeemmin opiskellut.
En tunne tuota Wolfensteinia, kun en pahemmin 3d-räiskintöjä pelaa (jos se nyt on sellainen), mutta mitään tekstuuri-moottoria on ilmeisesti turha ruveta vääntämään QB:llä. Rautalanka riittää minulle toistaiseksi.
Ei pidä tavoitella liikaa kerralla.
Kokeile ensin itse, mutta kysy toki neuvoa, jos et jotain osaa. Minä en kuitenkaan välttämättä ole paras apu, vaikka olenkin eräänlaisen 3d-moottorin rakentanut. Sillä kuten sanoin, se on nimensä väärti.

rndprogy [15.02.2004 16:37:16]

#

Nyt on pakko laitta offtopic:

lainaus:

En tunne tuota Wolfensteinia, kun en pahemmin 3d-räiskintöjä pelaa (jos se nyt on sellainen),

Senhän pitäisi tuntea kaikki ):\ Wolfenstein eli wolf3d oli alku aikojen 3d räiskintä (on siitä nyt jo uudempiakin).

hunajavohveli [15.02.2004 16:57:15]

#

Kuten sanoin, en pelaa 3d-räiskintöjä. Tuntisin kai jo pelaisin. 3d:ssä minua kiehtoo ainoastaan grafiikan hienous, eikä se että veri lentää. :)

Rupesin vähän kelaamaan, mistä oma moottorini lähti liikkeelle ja keräsin tässä vähän osoitteita:

Aloittamaani keskustelua aiheesta.
https://www.ohjelmointiputka.net/keskustelu/3175-kamera-3d-engine
https://www.ohjelmointiputka.net/keskustelu/3649-kulmat-kahden-3d-pisteen-välillä

Tuossa puhutaan tekstuurimoottorista, mutta en usko, että se oli QB:llä tehty.
https://www.ohjelmointiputka.net/keskustelu/2241-3d

Tuossa tekemäni koodivinkki, joka toimii esimerkkinä kappaleen pyörityksestä.
Tällaisia löytyy putkasta useampiakin.
https://www.ohjelmointiputka.net/koodivinkit/24076-qb-pyöritettävä-3d-pallo

bob [15.02.2004 17:44:41]

#

wolfenstein 3d:han käyttää RayCastingia
siitä löytyy kyllä miljoonia esimerkkejä
-> googlettamaan!

hunajavohveli [15.02.2004 17:47:16]

#

En usko, että Wolfenstein tai RayCasting on QB:llä tehty.

mamaze [15.02.2004 17:59:19]

#

3D moottori on suhteellisen helppo tehdä. ainut vaikeus siinä lienee se että mistä suhteesta se otetaan, eli kuvakulma jne. itse aloittelin sitä vain yhdestä kuvakulmasta ja onnistuikin, mutta kaikkista paras MORROWIND tyylinen grafiikka on vaikeaa!

päähenkilön voisi tehdä niin että jos on tämän esimerkki-yhdestä suunnasta, voisi tehdä littanan päähenkilön, joka aina painettaessa nappia vaihtaa kuvakulmaa.

naurettavan yksinkertaista, mutta totta ja...sillei kannattaa aloitella (kai)

hunajavohveli [15.02.2004 19:22:22]

#

Juuri tuo on Linkussanikin ollut ideana. Lähinnä ongelmani johtuvat kaiketi siitä, ettei yläasteen matematiikka ole vielä kovin korkealuokkaista. Pitänee odotella lukion trigonometria/vektori-kursseja. Josko sitten asiat selviäisivät.

pieslice [15.02.2004 20:10:50]

#

jeps. kannattaa tutustua MUXiin
QB-raycasteri.
http://www.hulla-balloo.com/vplanet
games -> arcade -> MUX

hunajavohveli [23.02.2004 14:09:42]

#

Linkkuni on muuten nyt valmis, jos joku ei ole vielä uusimmista koodivinkeistä nähnyt.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta