![Použití Blenderu k vytváření modelů Java3D: 3 kroky Použití Blenderu k vytváření modelů Java3D: 3 kroky](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11124016-using-blender-to-create-java3d-models-3-steps-j.webp)
Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38
Pokud jste programátorem Java, pravděpodobně jste někdy chtěli programovat ve 3D. Ale jak? Můžete použít Java3D a pomalu psát každý bod do 3D polygonu (zkuste to, věřte mi, že je to špatný nápad), nebo můžete použít Blender (https://blender.org) bezplatný a otevřený zdrojový 3D modelovací program spolu s skript s názvem Blend2Java (https://sourceforge.net/projects/blend2java/). Dokumentace k Blend2Java je však téměř neexistující, a proto tu sedím a píšu to.
Krok 1: Stáhněte si programy
Budete potřebovat Blender (https://blender.org) a Blend2Java (https://sourceforge.net/projects/blend2java/). Dobře, jakmile je budete mít oba, začněte vytvořením jednoduchého modelu (nebo jen pomocí standardní kostky) v Blenderu.
Krok 2: Exportujte svůj model do XML
Jakmile máte model, který byste chtěli použít v Blenderu, otevřete režim úprav a stisknutím tlačítka „a“vyberte všechny body. V dolním panelu vyberte textový editor. Otevřete nový soubor v textovém editoru. Otevřete stažený soubor blend2java.py. Run. Ok váš objekt by nyní měl být v. XML, kamkoli jste jej uložili (pokud máte a chybové hlášení make shure, máte k objektu pouze 1 materiál). Přejmenujte objekt (bude mít divný název).
Krok 3: Importujte objekt do Javy
Shape3D fred = null; zkusit {XMLDecoder e = new XMLDecoder (new BufferedInputStream (new FileInputStream ("c: /HandShape3D.xml"))); // název vašeho souboru zde fred = (Shape3D) e.readObject (); e.close (); } catch (Výjimka e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Vzhled ap = nový Vzhled (); Color3f col = nový Color3f (1,0f, 0,0f, 1,0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.setAppearance (ap); obj.addChild (fred); vložte to do libovolného 3D kódu nebo zde použijte celý kód 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; veřejná třída MouseBehaviorApp rozšiřuje 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 = null; zkusit {XMLDecoder e = new XMLDecoder (new BufferedInputStream (new FileInputStream ("c: /HandShape3D.xml"))); fred = (Shape3D) e.readObject (); e.close (); } catch (Výjimka e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Vzhled ap = nový Vzhled (); Color3f col = nový 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 (nový BoundingSphere ()); objRoot.addChild (myMouseRotate); MouseTranslate myMouseTranslate = nový MouseTranslate (); myMouseTranslate.setTransformGroup (objTransform); myMouseTranslate.setSchedulingBounds (new BoundingSphere ()); objRoot.addChild (myMouseTranslate); MouseZoom myMouseZoom = nový MouseZoom (); myMouseZoom.setTransformGroup (objTransform); myMouseZoom.setSchedulingBounds (nový BoundingSphere ()); objRoot.addChild (myMouseZoom); objRoot.compile (); vrátit objRoot; } public MouseBehaviorApp () {setLayout (new BorderLayout ()); Canvas3D canvas3D = nový Canvas3D (SimpleUniverse.getPreferredConfiguration ()); přidat ("Střed", canvas3D); Scéna BranchGroup = createSceneGraph (); SimpleUniverse simpleU = nové SimpleUniverse (canvas3D); simpleU.getViewingPlatform (). setNominalViewingTransform (); simpleU.addBranchGraph (scéna); } public static void main (String args) {Frame frame = new MainFrame (new MouseBehaviorApp (), 256, 256); }} použijte to pro úplnou programovou tadu! jste hotovi! a pak řeknete „co teď?“Nemám tušení! Právě jsem se naučil Javu před měsícem lol!
Doporučuje:
Vytváření různých zvuků z filmů pomocí pouze Arduina: 3 kroky
![Vytváření různých zvuků z filmů pomocí pouze Arduina: 3 kroky Vytváření různých zvuků z filmů pomocí pouze Arduina: 3 kroky](https://i.howwhatproduce.com/images/002/image-3421-15-j.webp)
Vytváření různých zvuků z filmů pouze pomocí Arduino: As-salamu alaykum! Chtěl jsem generovat různé zvuky jako predátor, optimální prime & čmelák z filmu transformátoru. Vlastně jsem sledoval " hackera " video o výrobě helmy predátora
Použití fotogrammetrie k vytváření modelů: 9 kroků
![Použití fotogrammetrie k vytváření modelů: 9 kroků Použití fotogrammetrie k vytváření modelů: 9 kroků](https://i.howwhatproduce.com/images/006/image-17740-j.webp)
Použití fotogrammetrie k vytváření modelů: Kdo jsem? Jsem Samuel Conklin a jsem druhák v E.L. Meyersova střední škola. Posledních pár měsíců jsem experimentoval s fotogrametrií a doufám, že vám pomůže, pokud se rozhodnete tento produkt znovu vytvořit. Zajímá mě, jak ostatní lidé
Vytváření map Garmin pomocí Openstreetmap: 4 kroky
![Vytváření map Garmin pomocí Openstreetmap: 4 kroky Vytváření map Garmin pomocí Openstreetmap: 4 kroky](https://i.howwhatproduce.com/images/011/image-31746-j.webp)
Vytváření map Garmin pomocí Openstreetmap: Miluji turistiku, ale nepoužívám čtení map. Proto jsem si koupil garmin GPSMAP64 GPS. Ve výzvě k mapám jsem viděl instruktáž, jak vytvořit mapy pro garmin gps, toto je velmi dobře napsaný instruktáž a přimělo mě to přemýšlet napsat svůj
Vytváření zvukově pohltivých akustických panelů se zátkami na víno: 4 kroky
![Vytváření zvukově pohltivých akustických panelů se zátkami na víno: 4 kroky Vytváření zvukově pohltivých akustických panelů se zátkami na víno: 4 kroky](https://i.howwhatproduce.com/images/001/image-99-60-j.webp)
Vytváření zvukově pohltivých akustických panelů se zátkami na víno: Po letech sbírání zátek na víno jsem pro ně nakonec našel využití: vytvořit zvukové pohltivé akustické zvukové panely pro můj domácí hlas přes budku. Vzhledem k tomu, že stále více převládají šroubové lahve na víno, šetřím zátky pro různé domácí profesionály
Použití RGB LED k vytváření barevných sekvencí: 12 kroků
![Použití RGB LED k vytváření barevných sekvencí: 12 kroků Použití RGB LED k vytváření barevných sekvencí: 12 kroků](https://i.howwhatproduce.com/images/006/image-15375-12-j.webp)
Použití RGB LED k vytváření barevných sekvencí: Tento Instructables ukáže, jak pomocí RGB LED vytvářet barevné sekvence pomocí Arduino Uno a Code. 3 RGB LED diody změní barvy v průběhu času, zatímco 2 ostatní RGB LED diody zůstanou stejné barvy