
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48
Ha Java programozó vagy, akkor valószínűleg 3D -ben akartál programozni. De hogyan? Nos, használhatod a Java3D -t, és lassan beírhatod a 3D sokszög minden pontját (próbáld ki, bízz bennem, hogy rossz ötlet), vagy használhatod a Blendert (https://blender.org) egy ingyenes és nyílt forráskódú 3D -s modellező programmal együtt a Blend2Java nevű szkript (https://sourceforge.net/projects/blend2java/). A Blend2Java dokumentációja azonban szinte nem létezik, ezért ülök itt és írom ezt.
Lépés: Töltse le a programokat
Szüksége lesz a Blenderre (https://blender.org) és a Blend2Java -ra (https://sourceforge.net/projects/blend2java/). Ok, ha már mindketten megvannak, akkor kezdjen egy egyszerű modell elkészítésével (vagy csak a szabványos kocka használatával) a Blenderben.
2. lépés: Exportálja modelljét XML formátumba
Ha van egy modellje, amelyet a Blenderben szeretne használni, nyissa meg a Szerkesztés módot, és nyomja meg az "a" gombot az összes pont kiválasztásához. Az alsó panelen válassza ki a szövegszerkesztőt. Nyisson meg egy új fájlt a szövegszerkesztőben. Nyissa meg a letöltött blend2java.py fájlt. Futtassa. Ok. Az objektumnak most. XML formátumban kell lennie, bárhová is mentette (ha van, és a hibaüzenet a shure szerint csak 1 anyagot tartalmaz az objektumhoz). Nevezze át az objektumot (furcsa neve lesz).
3. lépés: Importálja az objektumot Java -ba
Alak3D fred = null; try {XMLDecoder e = new XMLDecoder (new BufferedInputStream (new FileInputStream ("c: /HandShape3D.xml"))); // fájlneved itt fred = (Shape3D) e.readObject (); e.zár (); } fogás (kivétel e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Megjelenés ap = új Megjelenés (); Color3f col = új Color3f (1,0f, 0,0f, 1,0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.setAppearance (ap); obj.addChild (fred); illessze be ezt bármelyik 3D kódba, vagy használja a teljes kódot itt: import 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.behaviors.mouse.*; import javax.media.j3d.*; import javax.vecmath.*; import java.awt.event.*; import java.util. Enumeration; public class MouseBehaviorApp kiterjeszti az Applet {public BranchGroup createSceneGraph () {BranchGroup objRoot = new BranchGroup (); TransformGroup objTransform = új TransformGroup (); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild (objTransform); Alak3D fred = null; try {XMLDecoder e = new XMLDecoder (new BufferedInputStream (new FileInputStream ("c: /HandShape3D.xml"))); fred = (Shape3D) e.readObject (); e.zár (); } fogás (kivétel e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Megjelenés ap = új Megjelenés (); Color3f col = új 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 = új MouseRotate (); myMouseRotate.setTransformGroup (objTransform); myMouseRotate.setSchedulingBounds (új BoundingSphere ()); objRoot.addChild (myMouseRotate); MouseTranslate myMouseTranslate = új MouseTranslate (); myMouseTranslate.setTransformGroup (objTransform); myMouseTranslate.setSchedulingBounds (új BoundingSphere ()); objRoot.addChild (myMouseTranslate); MouseZoom myMouseZoom = új MouseZoom (); myMouseZoom.setTransformGroup (objTransform); myMouseZoom.setSchedulingBounds (új BoundingSphere ()); objRoot.addChild (myMouseZoom); objRoot.compile (); return objRoot; } public MouseBehaviorApp () {setLayout (new BorderLayout ()); Canvas3D canvas3D = új Canvas3D (SimpleUniverse.getPreferredConfiguration ()); add ("Közép", canvas3D); BranchGroup scene = createSceneGraph (); SimpleUniverse simpleU = új SimpleUniverse (canvas3D); simpleU.getViewingPlatform (). setNominalViewingTransform (); simpleU.addBranchGraph (jelenet); } public static void main (String args) {Frame frame = new MainFrame (new MouseBehaviorApp (), 256, 256); }} használja ezt a teljes programozáshoz! végeztél! és akkor azt mondod "most mi"? Fogalmam sincs! Egy hónapja tanultam meg a Java -t lol!
Ajánlott:
A fotogrammetria használata modellek létrehozásához: 9 lépés

Fotogrammetria használata modellek készítéséhez: Ki vagyok én? Samuel Conklin vagyok, és másodéves vagyok az E.L. Meyers Gimnázium. Az elmúlt pár hónapban kísérleteztem a fotogrammetriával, és remélem, hogy segíthetek, ha úgy dönt, hogy újratelepíti ezt a terméket. Kíváncsi vagyok, hogy mások hogyan
RGB LED -ek használata színsorozat létrehozásához: 12 lépés

RGB LED -ek használata színsorozatok létrehozásához: Ez az utasítás bemutatja, hogyan kell RGB LED -eket használni a színsorozatok létrehozásához az Arduino Uno és a Code használatával. A 3 RGB LED idővel megváltoztatja a színeket, míg a másik két RGB LED ugyanolyan színű marad
3D modellek a Freestyle Drone felvételeiből: 4 lépés

3D modellek a Freestyle Drone felvételeiből: A drón videózás valóban robbanásszerűen felrobbant az elmúlt években, és rengeteg tehetséges pilóta van, akik quadcoptereik és first-view-headsetjeik segítségével készítik a legtöbb akrobatikus videót. Az öcsém, Johnny FPV egyike ezeknek a pilótáknak, ezért szeretném
A Google Earth modellek és épületek tervezése: 7 lépés

Hogyan tervezzünk modelleket és épületeket a Google Earth számára: Elmentél már a Google Earth -hez, és megnézted ezeket a klassz épületeket. valaha is akartam tervezni egyet. nos, itt a lehetőség
A rézszalag használata digitális választólap létrehozásához: 4 lépés

A rézszalag használata digitális választópad létrehozásához: Ez részben én osztom meg ezt a technikát, részben pedig megtanulom az Instructables használatát. Ha problémái vannak a technikával kapcsolatos dokumentációmmal vagy az Instructables használatával, kérjük, ossza meg velem a megjegyzésekben - köszönöm! Hosszú sorra volt szükségem