Turinys:
- 1 veiksmas: atsisiųskite programas
- 2 veiksmas: eksportuokite savo modelį į XML
- 3 veiksmas: importuokite objektą į „Java“
Video: „Blender“naudojimas kuriant „Java3D“modelius: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:51
Jei esate „Java“programuotojas, tikriausiai kada nors norėjote programuoti 3D formatu. Bet kaip? Na, galite naudoti „Java3D“ir lėtai įvesti kiekvieną 3D daugiakampio tašką (pabandykite, patikėkite, kad tai bloga idėja), arba galite naudoti nemokamą ir atviro kodo 3D modeliavimo programą „Blender“(https://blender.org). scenarijų „Blend2Java“(https://sourceforge.net/projects/blend2java/). Tačiau „Blend2Java“dokumentacijos beveik nėra, todėl aš čia ir rašau.
1 veiksmas: atsisiųskite programas
Jums reikės „Blender“(https://blender.org) ir „Blend2Java“(https://sourceforge.net/projects/blend2java/). Gerai, tada, kai juos abu pradėsite, sukurkite paprastą modelį (arba tiesiog naudodami standartinį kubą) „Blender“.
2 veiksmas: eksportuokite savo modelį į XML
Kai turėsite modelį, kurį norėtumėte naudoti „Blender“, atidarykite redagavimo režimą ir paspauskite klavišą „a“, kad pasirinktumėte visus taškus. Apatiniame skydelyje pasirinkite teksto rengyklę. Atidarykite naują failą teksto rengyklėje. Atidarykite failą blend2java.py, kurį atsisiuntėte. Vykdyti. Gerai, kad jūsų objektas dabar turėtų būti. XML formatu, kad ir kur jį išsaugotumėte (jei turite klaidos pranešimą ir nurodykite, kad turite tik 1 medžiagą objektui). Pervardykite objektą (jis turės keistą pavadinimą).
3 veiksmas: importuokite objektą į „Java“
Forma3D fred = null; pabandykite {XMLDecoder e = new XMLDecoder (new BufferedInputStream (new FileInputStream ("c: /HandShape3D.xml"))); // jūsų failo pavadinimas čia fred = (Shape3D) e.readObject (); e. uždaryti (); } sugauti (e išimtis) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Išvaizda ap = nauja Išvaizda (); Color3f col = naujas Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.setAppearance (ap); obj.addChild (fred); įterpkite jį į bet kurį 3D kodą arba naudokite visą kodą čia importuoti java.io.*; importuoti java.beans. XMLDecoder; importuoti java.applet. Applet; importuoti java.awt.*; importuoti java. awt.event.*; importuoti com.sun.j3d.utils.applet. MainFrame; importuoti com.sun.j3d.utils.universe.*; importuoti javax.media.j3d.*; importuoti javax.vecmath.*; importuoti java.applet. Applet; importuoti java.awt. BorderLayout; importuoti java.awt. Frame; import com.sun.j3d.utils.applet. MainFrame; import com.sun.j3d.utils.geometry. ColorCube; importuoti com.sun. j3d.utils.universe.*; import com.sun.j3d.utils.behaviors.mouse.*; importuoti javax.media.j3d.*; importuoti javax.vecmath.*; importuoti java.awt.event.*; importuoti java.util. Enumeration; viešosios klasės „MouseBehaviorApp“išplečia „Applet“{public BranchGroup createSceneGraph () {BranchGroup objRoot = new BranchGroup (); TransformGroup objTransform = new TransformGroup (); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild (objTransform); Forma3D fred = null; pabandykite {XMLDecoder e = new XMLDecoder (new BufferedInputStream (new FileInputStream ("c: /HandShape3D.xml"))); fred = (Shape3D) e.readObject (); e. uždaryti (); } sugauti (e išimtis) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Išvaizda ap = nauja Išvaizda (); Color3f col = naujas Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.setAppearance (ap); objTransform.addChild (fred); MouseRotate myMouseRotate = naujas MouseRotate (); myMouseRotate.setTransformGroup (objTransform); myMouseRotate.setSchedulingBounds (new BoundingSphere ()); objRoot.addChild (myMouseRotate); MouseTranslate myMouseTranslate = naujas MouseTranslate (); myMouseTranslate.setTransformGroup (objTransform); myMouseTranslate.setSchedulingBounds (new BoundingSphere ()); objRoot.addChild (myMouseTranslate); MouseZoom myMouseZoom = naujas MouseZoom (); myMouseZoom.setTransformGroup (objTransform); myMouseZoom.setSchedulingBounds (new BoundingSphere ()); objRoot.addChild (myMouseZoom); objRoot.compile (); return objRoot; } public MouseBehaviorApp () {setLayout (new BorderLayout ()); Canvas3D canvas3D = naujas Canvas3D (SimpleUniverse.getPreferredConfiguration ()); pridėti („Centras“, canvas3D); Šakos grupės scena = createSceneGraph (); SimpleUniverse simpleU = naujas SimpleUniverse (canvas3D); simpleU.getViewingPlatform (). setNominalViewingTransform (); simpleU.addBranchGraph (scena); } public static void main (String args) {Frame frame = new MainFrame (new MouseBehaviorApp (), 256, 256); }} naudokite tai visai programai! baigėte! ir tada sakote „ką dabar“? Aš neįsivaizduoju! Aš ką tik prieš mėnesį išmokau Java!
Rekomenduojamas:
Senų nešiojamųjų kompiuterių dalių pakartotinis naudojimas kuriant pigią nešiojamą sistemą: 3 žingsniai (su nuotraukomis)
Pakartotinis senų nešiojamųjų kompiuterių dalių panaudojimas kuriant pigią nešiojamą sistemą: Neseniai mano senasis nešiojamas kompiuteris mirė ir turėjau nusipirkti naują (RIP! 5520 būsite praleistas). Nešiojamojo kompiuterio motininė plokštė mirė, o žala buvo pataisyta. Visai neseniai aš atsinešiau aviečių pyragą ir pradėjau tvarkyti IOT sutff, bet man reikėjo specialios
Importuokite pasirinktinius 3D modelius į savo „Minecraft“pasaulį: 9 žingsniai (su nuotraukomis)
Importuokite pasirinktinius 3D modelius į savo „Minecraft“pasaulį: tai yra išsamus vadovas, paaiškinantis 3D modelių importavimo į „Minecraft“pasaulį procesą. Yra trys pagrindinės dalys, kurias aš suskirstysiu į šį procesą: „Minecraft“nustatymas, 3D modelio importavimas/eksportavimas ir modelio pristatymas
Kuriant „minkštą vokalą“; Instrumental Audacity: 9 žingsniai
Kuriant „minkštą vokalą“; Instrumental Audacity: Gerai, šiandien aš jums parodysiu, kaip sukurti „minkštą vokalą“instrumentinis (instrumentas su švelniu vokalu) „Audacity“, nemokamas kelių platformų garso redaktorius. (Instrumentas yra muzika be lyrikos arba tik instrumentai.) *** Tai pamokoma
KAIP SUKURTI „Google“žemės modelius ir pastatus: 7 žingsniai
KAIP SUKURTI „Google“žemės modelius ir pastatus: ar kada nors nuėjote į „Google Earth“ir pažvelgėte į tuos šaunius pastatus. kada nors norėjau jį sukurti. na, štai tavo šansas
Sukurkite tinkamus svetainės fono paveikslėlio modelius: 8 žingsniai
Sukurkite tinkamus svetainės fono paveikslėlio modelius: čia yra paprastas ir paprastas (manau) būdas kurti vaizdus, kuriuos galima iškloti plytelėmis, neatrodant pernelyg „tinkleliams“. Šioje pamokoje naudojamas „Inkscape“(www.inkscape.org), atvirojo kodo vektorinės grafikos redaktorius. Manau, kad šis metodas gali