Talaan ng mga Nilalaman:

Paggamit ng Blender upang Lumikha ng Mga Modelong Java3D: 3 Mga Hakbang
Paggamit ng Blender upang Lumikha ng Mga Modelong Java3D: 3 Mga Hakbang

Video: Paggamit ng Blender upang Lumikha ng Mga Modelong Java3D: 3 Mga Hakbang

Video: Paggamit ng Blender upang Lumikha ng Mga Modelong Java3D: 3 Mga Hakbang
Video: Despite Of Their Busy Schedule They Still Make Time To Watch Each Others Game Happy 33rd #KKDwight ♡ 2024, Hunyo
Anonim
Paggamit ng Blender upang Lumikha ng Mga Modelong Java3D
Paggamit ng Blender upang Lumikha ng Mga Modelong Java3D

Kung ikaw ay isang programmer ng Java malamang na nais mong mag-program sa 3D sa ilang mga punto. Pero paano? Maaari mong gamitin ang Java3D at dahan-dahang nai-type sa bawat punto sa isang 3D polygon (sinubukan itong tiwalaan sa akin ito ng isang masamang ideya), o maaari mong gamitin ang Blender (https://blender.org) isang libre at bukas na mapagkukunang programa ng pagmomodelo ng 3D kasama ang isang script na tinatawag na Blend2Java (https://sourceforge.net/projects/blend2java/). Gayunpaman ang dokumentasyon sa Blend2Java ay halos wala sa gayon kung bakit nakaupo ako dito na sinusulat ito.

Hakbang 1: I-download ang Mga Program

Kakailanganin mo ang Blender (https://blender.org) at Blend2Java (https://sourceforge.net/projects/blend2java/). Ok pagkatapos ay sa sandaling mayroon ka silang pareho magsimula sa pamamagitan ng paggawa ng isang simpleng modelo (o gamit lamang ang karaniwang cube) sa Blender.

Hakbang 2: I-export ang Iyong Model sa XML

I-export ang iyong Modelo sa XML
I-export ang iyong Modelo sa XML

Kapag mayroon kang isang modelo na nais mong gamitin sa Blender buksan ang I-edit ang Mode at pindutin ang "a" key upang piliin ang lahat ng mga puntos. Sa ilalim na panel piliin ang text editor. Magbukas ng bagong file sa text editor. Buksan ang blend2java.py file na iyong na-download. Patakbuhin. Ok ang iyong object ay dapat na nasa. XML saan mo man ito nai-save (kung mayroon ka at mensahe ng error gumawa ng shure mayroon kang 1 materyal lamang para sa bagay). Palitan ang pangalan ng bagay (magkakaroon ito ng kakaibang pangalan).

Hakbang 3: I-import ang Bagay sa Java

I-import ang Bagay sa Java
I-import ang Bagay sa Java

Shape3D fred = null; subukan ang {XMLDecoder e = bagong XMLDecoder (bagong BufferedInputStream (bagong FileInputStream ("c: /HandShape3D.xml"))); // your file name here fred = (Shape3D) e.readObject (); e.close (); } catch (Exception e) {e.printStackTrace (); } PangkulayAttributo sa = bagong PangkulayAttribut (); Hitsura ap = bagong Hitsura (); Color3f col = bagong Color3f (1.0f, 0.0f, 1.0f); ColourAttributo ca = bagong ColourAttribut (col, ColourAttribut. NICEST); ap.setColoringAttribut (ca); fred.setAppearance (ap); obj.addChild (fred); ipasok ito sa anumang 3d code o gamitin ang buong code dito i-import ang java.io. *; import java.beans. XMLDecoder; import java.applet. Applet; import java.awt. *; import java. awt.event. *; import com.sun.j3d.utils.applet. MainFrame; import com.sun.j3d.utils.universe. *; import javax.media.j3d. *; import javax.vecmath. *; import java.applet. Applet; import java.awt. BorderLayout; import java.awt. Frame; import com.sun.j3d.utils.applet. MainFrame; import com.sun.j3d.utils.geometry. ColorCube; import com.sun. j3d.utils.universe. *; import com.sun.j3d.utils.beh behavior.mouse. *; import javax.media.j3d. *; import javax.vecmath. *; import java.awt.event. *; import java.util. Enumeration; pampublikong klase MouseBeh behaviorApp nagpapalawak ng Applet {public BranchGroup createSceneGraph () {BranchGroup objRoot = bagong BranchGroup (); TransformGroup objTransform = bagong TransformGroup (); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild (objTransform); Shape3D fred = null; subukan ang {XMLDecoder e = bagong XMLDecoder (bagong BufferedInputStream (bagong FileInputStream ("c: /HandShape3D.xml"))); fred = (Shape3D) e.readObject (); e.close (); } catch (Exception e) {e.printStackTrace (); } PangkulayAttributo sa = bagong PangkulayAttribut (); Hitsura ap = bagong Hitsura (); Color3f col = bagong Color3f (1.0f, 0.0f, 1.0f); ColourAttributo ca = bagong ColourAttribut (col, ColourAttribut. NICEST); ap.setColoringAttribut (ca); fred.setAppearance (ap); objTransform.addChild (fred); MouseRotate myMouseRotate = bagong MouseRotate (); myMouseRotate.setTransformGroup (objTransform); myMouseRotate.setSchedulingBounds (bagong BoundingSphere ()); objRoot.addChild (myMouseRotate); MouseTranslate myMouseTranslate = bagong MouseTranslate (); myMouseTranslate.setTransformGroup (objTransform); myMouseTranslate.setSchedulingBounds (bagong BoundingSphere ()); objRoot.addChild (myMouseTranslate); MouseZoom myMouseZoom = bagong MouseZoom (); myMouseZoom.setTransformGroup (objTransform); myMouseZoom.setSchedulingBounds (bagong BoundingSphere ()); objRoot.addChild (myMouseZoom); objRoot.compile (); ibalik ang objRoot; } pampublikong MouseBeh behaviorApp () {setLayout (bagong BorderLayout ()); Canvas3D canvas3D = bagong Canvas3D (SimpleUniverse.getPreferredConfiguration ()); idagdag ("Center", canvas3D); Ang eksena ng BranchGroup = createSceneGraph (); SimpleUniverse simpleU = bagong SimpleUniverse (canvas3D); simpleU.getViewingPlatform (). setNominalViewingTransform (); simpleU.addBranchGraph (eksena); } pampublikong static void main (String args) {Frame frame = bagong MainFrame (bagong MouseBeh behaviorApp (), 256, 256); }} gamitin ito para sa isang kumpletong programtada! tapos ka na! at pagkatapos ay sasabihin mong "ngayon ano"? Wala akong ideya! Ngayon ko lang natutunan ang Java a month ago lol!

Inirerekumendang: