Taula de continguts:
- Pas 1: descarregueu els programes
- Pas 2: exporteu el vostre model a XML
- Pas 3: importeu l'objecte a Java
Vídeo: Ús de Blender per crear models Java3D: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:18
Si sou un programador de Java, probablement hagueu volgut programar en 3D en algun moment. Però com? Bé, podríeu utilitzar Java3D i escriure lentament cada punt en un polígon 3D (heu provat que confieu en mi és una mala idea), o bé podeu utilitzar Blender (https://blender.org) un programa de modelatge 3D de codi obert i gratuït juntament amb un script anomenat Blend2Java (https://sourceforge.net/projects/blend2java/). Tanmateix, la documentació de Blend2Java és gairebé inexistent, per això he estat aquí a escriure això.
Pas 1: descarregueu els programes
Necessitareu Blender (https://blender.org) i Blend2Java (https://sourceforge.net/projects/blend2java/). D'acord, un cop els tingueu, comenceu fent un model senzill (o simplement utilitzant el cub estàndard) a Blender.
Pas 2: exporteu el vostre model a XML
Un cop tingueu un model, voldríeu utilitzar-lo al mode d'edició obert de Blender i premeu la tecla "a" per seleccionar tots els punts. Al tauler inferior, seleccioneu un editor de text. Obriu un fitxer nou a l'editor de text. Obriu el fitxer blend2java.py que heu descarregat. Run. Ok, ara l’objecte hauria d’estar a. XML allà on l’heu desat (si teniu un missatge d’error i assegureu-vos que només teniu 1 material per a l’objecte). Canvieu el nom de l'objecte (tindrà un nom estrany).
Pas 3: importeu l'objecte a Java
Shape3D fred = nul; proveu {XMLDecoder e = new XMLDecoder (new BufferedInputStream (new FileInputStream ("c: /HandShape3D.xml"))); // el vostre nom de fitxer aquí fred = (Shape3D) e.readObject (); e.close (); } catch (Excepció e) {e.printStackTrace (); } ColoringAttributes a = new ColoringAttributes (); Aparença ap = nova aparença (); Color3f col = new Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.setAppearance (ap); obj.addChild (fred); inseriu-lo a qualsevol codi 3d o utilitzeu tot el codi aquí importeu java.io. *; importeu java.beans. XMLDecoder; importeu java.applet. Applet; importeu java.awt. *; importeu 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.behavior.mouse. *; import javax.media.j3d. *; import javax.vecmath. *; import java.awt.event. *; import java.util. Enumeration; classe pública MouseBehaviorApp estén 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); Shape3D fred = nul; proveu {XMLDecoder e = new XMLDecoder (new BufferedInputStream (new FileInputStream ("c: /HandShape3D.xml"))); fred = (Shape3D) e.readObject (); e.close (); } catch (Excepció e) {e.printStackTrace (); } ColoringAttributes a = new ColoringAttributes (); Aparença ap = nova aparença (); Color3f col = new 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 = new MouseRotate (); myMouseRotate.setTransformGroup (objTransform); myMouseRotate.setSchedulingBounds (nova BoundingSphere ()); objRoot.addChild (myMouseRotate); MouseTranslate myMouseTranslate = nou MouseTranslate (); myMouseTranslate.setTransformGroup (objTransform); myMouseTranslate.setSchedulingBounds (nova BoundingSphere ()); objRoot.addChild (myMouseTranslate); MouseZoom myMouseZoom = new MouseZoom (); myMouseZoom.setTransformGroup (objTransform); myMouseZoom.setSchedulingBounds (nova BoundingSphere ()); objRoot.addChild (myMouseZoom); objRoot.compile (); tornar objRoot; } public MouseBehaviorApp () {setLayout (nou BorderLayout ()); Canvas3D canvas3D = new Canvas3D (SimpleUniverse.getPreferredConfiguration ()); add ("Centre", canvas3D); Escena BranchGroup = createSceneGraph (); SimpleUniverse simpleU = nou SimpleUniverse (canvas3D); simpleU.getViewingPlatform (). setNominalViewingTransform (); simpleU.addBranchGraph (escena); } public static void main (String args) {Frame frame = new MainFrame (new MouseBehaviorApp (), 256, 256); }} utilitzeu-ho per obtenir un programa complet. ja has acabat! i després dius "ara què"? No en tinc ni idea. Acabo d'aprendre Java fa un mes jeje!
Recomanat:
Disseny automàtic de trens de models (versió 1.0): 12 passos
Disseny automàtic de trens model (versió 1.0): els trens model sempre són divertits de tenir i de córrer. Però controlar-los manualment de vegades sembla ser una mica avorrit. Així, en aquest instructiu, us mostraré com podeu automatitzar el disseny del model de ferrocarril perquè pugueu seure i relaxar-vos mentre mireu el vostre
Disseny de ferrocarril de models automatitzats senzills - Arduino controlat: 11 passos (amb imatges)
Disseny de ferrocarril de models automatitzats senzills | Arduino controlat: els microcontroladors Arduino són una gran addició al model de ferrocarril, especialment quan es tracta d’automatització. Aquí teniu una manera senzilla i senzilla d’iniciar l’automatització del model de ferrocarril amb Arduino. Així doncs, sense més preàmbuls, comencem
Ús de fotogrametria per crear models: 9 passos
Ús de la fotogrametria per crear models: Qui sóc? Sóc Samuel Conklin i sóc estudiant de segon any a E.L. Escola secundària Meyers. He experimentat amb la fotogrametria durant els darrers dos mesos i espero ajudar-vos si decidiu recrear aquest producte. M'interessa veure com altres pe
Il·luminació LED en models de plàstic: 7 passos (amb imatges)
Il·luminació LED en models de plàstic: per tant, acabeu d’obtenir un nou model de plàstic amb un munt de peces clares i un interior fresc, i esteu pensant: "No seria bo si pogués il·luminar això d'alguna manera, però no sé com? " És això el que et preocupa, amic?
COM DISSENYAR models i edificis per a Google Earth: 7 passos
COM DISSENYAR models i edificis per a Google Earth: Alguna vegada heu anat a Google Earth i heu vist aquests edificis interessants. mai he volgut dissenyar-ne un. bé, aquí tens l'oportunitat