Turinys:

„Blender“naudojimas kuriant „Java3D“modelius: 3 žingsniai
„Blender“naudojimas kuriant „Java3D“modelius: 3 žingsniai

Video: „Blender“naudojimas kuriant „Java3D“modelius: 3 žingsniai

Video: „Blender“naudojimas kuriant „Java3D“modelius: 3 žingsniai
Video: Philips AVENT Combined Steamer & Blender konyhai kisgép 2024, Lapkritis
Anonim
„Blender“naudojimas kuriant „Java3D“modelius
„Blender“naudojimas kuriant „Java3D“modelius

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

Eksportuokite savo modelį į XML
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“

Importuokite objektą į „Java“
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: