Përmbajtje:

Përdorimi i blenderit për të krijuar modele Java3D: 3 hapa
Përdorimi i blenderit për të krijuar modele Java3D: 3 hapa

Video: Përdorimi i blenderit për të krijuar modele Java3D: 3 hapa

Video: Përdorimi i blenderit për të krijuar modele Java3D: 3 hapa
Video: Generate Text Arts & Fantastic Logos By Using ControlNet Stable Diffusion Web UI For Free Tutorial 2024, Nëntor
Anonim
Përdorimi i blenderit për të krijuar modele Java3D
Përdorimi i blenderit për të krijuar modele Java3D

Nëse jeni një programues Java, ndoshta keni dashur të programoni në 3D në një moment. Por si? Epo ju mund të përdorni Java3D dhe të shtypni ngadalë në secilën pikë në një poligon 3D (e provuat më besoni është ide e keqe), ose mund të përdorni Blender (https://blender.org) një program modelimi 3D falas dhe me burim të hapur së bashku me një skenar të quajtur Blend2Java (https://sourceforge.net/projects/blend2java/). Sidoqoftë, dokumentacioni në Blend2Java është pothuajse joekzistent, prandaj unë ulem këtu duke shkruar këtë.

Hapi 1: Shkarkoni programet

Ju do të keni nevojë për Blender (https://blender.org) dhe Blend2Java (https://sourceforge.net/projects/blend2java/). Ok atëherë pasi t'i keni të dy filloni duke bërë një model të thjeshtë (ose thjesht duke përdorur kubin standard) në Blender.

Hapi 2: Eksportoni modelin tuaj në XML

Eksportoni modelin tuaj në XML
Eksportoni modelin tuaj në XML

Pasi të keni një model që dëshironi të përdorni në Blender, hapni Modalitetin e Ndryshimit dhe shtypni butonin "a" për të zgjedhur të gjitha pikat. Në panelin e poshtëm zgjidhni redaktuesin e tekstit. Hapni një skedar të ri në redaktuesin e tekstit. Hapni skedarin blend2java.py që keni shkarkuar. Run. Ok objekti juaj tani duhet të jetë në. XML kudo që e keni ruajtur (nëse keni dhe mesazhi i gabimit bëni shure ju keni vetëm 1 material për objektin). Riemërtoni objektin (do të ketë një emër të çuditshëm).

Hapi 3: Importoni objektin në Java

Importoni objektin në Java
Importoni objektin në Java

Shape3D fred = null; provo {XMLDecoder e = XMLDecoder i ri (BufferedInputStream i ri (FileInputStream i ri ("c: /HandShape3D.xml"))); // emri i skedarit tuaj këtu fred = (Shape3D) e.readObject (); e.mbylle (); } kap (Përjashtim e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Pamja ap = pamja e re (); Color3f col = e re Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAtributet (ca); fred.setApearance (ap); obj.addChild (fred); futeni këtë në çdo kod 3d ose përdorni të gjithë kodin këtu importoni java.io.*; importoni java.beans. XMLDecoder; importoni java.applet. Applet; importoni java.awt.*; importoni 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.behaviors.mouse.*; import javax.media.j3d.*; import javax.vecmath.*; import java.awt.event.*; import java.util. Enumeration; klasa publike MouseBehaviorApp zgjeron Applet {public BranchGroup createSceneGraph () {BranchGroup objRoot = new BranchGroup (); TransformGroup objTransform = i ri TransformGroup (); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild (objTransform); Shape3D fred = null; provo {XMLDecoder e = XMLDecoder i ri (BufferedInputStream i ri (FileInputStream i ri ("c: /HandShape3D.xml"))); fred = (Shape3D) e.readObject (); e.mbylle (); } kap (Përjashtim e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Pamja ap = pamja e re (); Color3f col = e re Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAtributet (ca); fred.setApearance (ap); objTransform.addChild (fred); MouseRotate myMouseRotate = ri MouseRotate (); myMouseRotate.setTransformGroup (objTransform); myMouseRotate.setSchedulingBounds (i ri BoundingSphere ()); objRoot.addChild (myMouseRotate); MouseTranslate myMouseTranslate = ri MouseTranslate (); myMouseTranslate.setTransformGroup (objTransform); myMouseTranslate.setSchedulingBounds (i ri BoundingSphere ()); objRoot.addChild (myMouseTranslate); MouseZoom myMouseZoom = MouseZoom i ri (); myMouseZoom.setTransformGroup (objTransform); myMouseZoom.setSchedulingBounds (i ri BoundingSphere ()); objRoot.addChild (myMouseZoom); objRoot.compile (); kthehu objRoot; } MouseBehaviorApp publik () {setLayout (BorderLayout i ri ()); Canvas3D canvas3D = Canvas3D i ri (SimpleUniverse.getPreferredConfiguration ()); shtoni ("Qendra", kanavacë 3D); Skena e Grupit të Degës = createSceneGraph (); SimpleUniverse simpleU = i ri SimpleUniverse (canvas3D); simpleU.getViewingPlatform (). setNominalViewingTransform (); simpleU.addBranchGraph (skena); } public static void main (String args) {Frame frame = new MainFrame (new MouseBehaviorApp (), 256, 256); }} përdorni këtë për një program programi të plotë! keni mbaruar! dhe pastaj thoni "tani cfare"? Nuk e kam idene! Sapo mësova Java një muaj më parë lol!

Recommended: