http://pastebin.com/QkZfNSVU
http://pastebin.com/9hzQZPv3
Tarkoitus on saada tuon 3d mallin pisteet, tekstuurien koordinaaitit ja indeksit javaan että sen voisi luoda ja muokata koodissa tuon neliön tapaan. Miten teen sen? Mitkä ovat olennaiset kohdat ja miten muunnan ne?
Tuntuu siltä, että koitat tehdä jotain todella hankalasti. Miksi haluat välttämättä muuttaa datatiedoston koodiksi?
Siis onko tarkoitus muokata itse obj -filua, vai tehdä rendattavia muutoksia (esim valaistuksia etc.)?
-tossu- kirjoitti:
Tuntuu siltä, että koitat tehdä jotain todella hankalasti. Miksi haluat välttämättä muuttaa datatiedoston koodiksi?
Koska tarvitsen useita 3d malleja joiden muotoa pitätäisi voida muuttaa interaktiivisesti pelin aikana.
Ja kuten pastebinistä näkyy, käytän jME3:a. En tarkoita tätä:
Spatial tadaa = assetManager.loadModel("Kansio/Tadaa.obj"); Material mat_default = new Material( assetManager, "Common/MatDefs/Misc/ShowNormals.j3md"); teapot.setMaterial(mat_default); rootNode.attachChild(tadaa);
jME3 on pelimoottori.
Rendattavia muutoksia.
Yritän tehdä peliin materiaalien pikkomista, eli kiveä josta voi hakata irti paloja, puun kaatamisen, ja puuesineiden tekemisen. Erityisesti puuesineiden teko olisi hienoa. 1) Puun kaataminen omavalinnaisesta kohdasta. 2) Puu hinataan muualle. 3) Puu käsitellään, jolloin puun runko korvataan muotoiltavalla objektilla, jota voi sahata. Siihen pitää kehittää erilaisia algoritmeja ja tästä tulee vaivalloista. Jos tähän on jokin helpompi tapa niin kertokaa ihmeessä.
Mikä siinä tiedoston lukemisessa nyt tarkalleen on ongelmana? Voit lukea sitä ihan tavallisella Scanner-oliolla ja tallentaa rivejä esimerkiksi ArrayList-olioihin. Tiedostomuoto on todella yksinkertainen ja Wikipediassa aika hyvin kuvailtu.
Täytyy kyllä sanoa, että jos tiedoston lukeminen on vaikeaa, 3D-mallin muokkaus tulee olemaan liki mahdotonta. Ehkä kannattaisi kokeilla suosiolla valmista moottoria; esimerkiksi Blenderissä on valmiiksi tuollaisia ominaisuuksia, ja voisi kuvitella, että niitä pystyy käyttäämään myös Blenderin pelimoottorin puolella.
Ei, kyllä minä osaan lukea tiedostoa, mutta en oikein tiedä miten saan tuosta indeksit ja koordinaatit.
Yksinkertaisimmillaan ohjeistus löytyy vaikkapa täältä. Todennäköisesti et halua splinejä tai muita tuolla kuitenkaan käyttää vaan polygoneja, kuten esimerkissäsikin (kylläkin yleensä taridetaan käyttää mieluummin kolmioita, ei nelikulmioita kuten esimerkissäsi, mutta ainahan ne voi vaikka koodissa purkaa, ellei exportissa sitä tee).
Formaatti tosiaan on äärimmäisen yksinkertainen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.