Orodha ya maudhui:

Kutumia Blender Kuunda Mifano ya Java3D: 3 Hatua
Kutumia Blender Kuunda Mifano ya Java3D: 3 Hatua

Video: Kutumia Blender Kuunda Mifano ya Java3D: 3 Hatua

Video: Kutumia Blender Kuunda Mifano ya Java3D: 3 Hatua
Video: Основные ошибки при шпатлевке стен и потолка. #35 2024, Desemba
Anonim
Kutumia Blender Kuunda Mifano ya Java3D
Kutumia Blender Kuunda Mifano ya Java3D

Ikiwa wewe ni programu ya Java labda umetaka kupanga katika 3D wakati fulani. Lakini vipi? Vizuri unaweza kutumia Java3D na uandike polepole katika kila nukta katika poligoni ya 3D (ulijaribu kuniamini ni wazo mbaya), au unaweza kutumia Blender (https://blender.org) programu ya uundaji wa bure na wazi ya 3D pamoja na hati inayoitwa Blend2Java (https://sourceforge.net/projects/blend2java/). Walakini nyaraka kwenye Blend2Java karibu hazipo kwa hiyo ndio sababu nimekaa hapa kuandika hii.

Hatua ya 1: Pakua Programu

Utahitaji Blender (https://blender.org) na Blend2Java (https://sourceforge.net/projects/blend2java/). Sawa basi ukiwa na wote wawili anza kwa kutengeneza mfano rahisi (au tu kutumia mchemraba wa kawaida) katika Blender.

Hatua ya 2: Hamisha Mfano wako kwa XML

Hamisha Mfano wako kwa XML
Hamisha Mfano wako kwa XML

Mara tu unapokuwa na mfano ambao ungependa kutumia katika Blender Open Edit Mode na ubonyeze kitufe cha "a" kuchagua alama zote. Katika jopo la chini chagua kihariri cha maandishi. Fungua faili mpya katika kihariri cha maandishi. Fungua faili ya blend2java.py ambayo umepakua. Run. Ok kitu chako kinapaswa sasa kuwa katika. XML popote ulipoihifadhi (ikiwa unayo na ujumbe wa makosa unafanya nyuma unayo nyenzo 1 tu ya kitu). Badilisha jina la kitu (kitakuwa na jina la kushangaza).

Hatua ya 3: Ingiza Kitu kwa Java

Ingiza kitu kwa Java
Ingiza kitu kwa Java

Shape3D fred = batili; jaribu {XMLDecoder e = XMLDecoder mpya (BufferedInputStream mpya (FileInputStream mpya ("c: /HandShape3D.xml"))); // jina lako la faili hapa fred = (Shape3D) e.readObject (); e. karibu (); } kukamata (Isipokuwa e) {e.printStackTrace (); } Kuchorea Sifa kwa = mpya ColoringAttribute (); Mwonekano ap = Mwonekano mpya (); Colour3f col = mpya Color3f (1.0f, 0.0f, 1.0f); ColoringAttribute ca = mpya ColoringAttribute (col, ColoringAttribute. NICEST); ap.setColoringAttribute (ca); sura Kuonekana (ap); ingiza hii kwenye nambari yoyote ya 3d au tumia nambari yote hapa ingiza java.io. *; ingiza java.beans. XMLDecoder; ingiza java.applet. Applet; kuagiza com.sun.j3d.utils.applet. MainFrame; kuagiza com.sun.j3d.utils.universe. *; kuagiza javax.media.j3d. *; kuagiza javax.vecmath. *; kuagiza javax. Ingiza java.awt. Mpangilio; kuagiza com.sun.j3d.utils.applet. MainFrame; j3d.utils.universe. *; kuagiza com.sun.j3d.utils.behachers.mouse. *; kuagiza javax.media.j3d. *; kuagiza javax.vecmath. *; Utangulizi; darasa la umma MouseBehaviorApp inaongeza Applet {public BranchGroup createSceneGraph () {BranchGroup objRoot = newGroupGroup (); TransformGroup objTransform = mpya TransformGroup (); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild (objTransform); Shape3D fred = batili; jaribu {XMLDecoder e = XMLDecoder mpya (BufferedInputStream mpya (FileInputStream mpya ("c: /HandShape3D.xml"))); fred = (Shape3D) e.readObject (); e. karibu (); } kukamata (Isipokuwa e) {e.printStackTrace (); } Kuchorea Sifa kwa = mpya ColoringAttribute (); Mwonekano ap = Mwonekano mpya (); Colour3f col = mpya Colour3f (1.0f, 0.0f, 1.0f); ColoringAttribute ca = mpya ColoringAttribute (col, ColoringAttribute. NICEST); ap.setColoringAttribute (ca); sura Kuonekana (ap); objTransform.addChild (fred); MouseRotate myMouseRotate = mpya MouseRotate (); myMouseRotate.setTransformGroup (objTransform); myMouseRotate.setSchedulingBound (mpya ya Kupiga Sphere ()); objRoot.addChild (myMouseRotate); MouseTranslate myMouseTranslate = mpya MouseTranslate (); myMouseTranslate.setTransformGroup (objTransform); myMouseTranslate.setSchedulingBound (mpya ya BoundingSphere ()); objRoot.addChild (myMouseTranslate); MouseZoom myMouseZoom = mpya MouseZoom (); myMouseZoom.setTransformGroup (objTransform); myMouseZoom.setSchedulingBound (mpya BoundingSphere ()); objRoot.addChild (myMouseZoom); objRoot.compile (); kurudi objRoot; } MouseBehaviorApp () {setLayout (new BorderLayout ()); Canvas3D canvas3D = Canvas3D mpya (SimpleUniverse.getPreferredConfiguration ()); ongeza ("Kituo", turubai3D); Eneo la Kikundi cha Tawi = kuundaSceneGraph (); RahisiUniverse rahisiU = RahisiUnivers mpya (canvas3D); rahisiU.getViewingPlatform (). setNominalViewingTransform (); rahisiU.addBranchGraph (eneo); } msingi wa utupu wa umma (Kamba args) {Fremu ya fremu = MainFrame mpya (MouseBehaviorApp mpya), 256, 256); }} tumia hii kwa programu kamili! umemaliza! halafu unasema "sasa ni nini"? Sina wazo! Nilijifunza tu Java mwezi mmoja uliopita lol!

Ilipendekeza: