![Blender gebruiken om Java3D-modellen te maken: 3 stappen Blender gebruiken om Java3D-modellen te maken: 3 stappen](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11124016-using-blender-to-create-java3d-models-3-steps-j.webp)
Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:02
Als je een Java-programmeur bent, heb je waarschijnlijk ooit in 3D willen programmeren. Maar hoe? Nou, je zou Java3D kunnen gebruiken en langzaam elk punt in een 3D-polygoon kunnen typen (geprobeerd dat het een slecht idee is), of je zou Blender (https://blender.org) kunnen gebruiken, een gratis en open source 3D-modelleringsprogramma samen met een script genaamd Blend2Java (https://sourceforge.net/projects/blend2java/). De documentatie over Blend2Java is echter bijna onbestaande, dus daarom zit ik hier dit te schrijven.
Stap 1: Download de programma's
Je hebt Blender (https://blender.org) en Blend2Java (https://sourceforge.net/projects/blend2java/) nodig. Oké, als je ze allebei hebt, begin dan met het maken van een eenvoudig model (of gebruik gewoon de standaard kubus) in Blender.
Stap 2: Exporteer uw model naar XML
Zodra je een model hebt dat je in Blender wilt gebruiken, open je de bewerkingsmodus en druk je op de "a"-toets om alle punten te selecteren. Selecteer in het onderste paneel teksteditor. Open een nieuw bestand in de teksteditor. Open het blend2java.py-bestand dat u hebt gedownload. Run. Ok, je object zou nu in. XML moeten staan waar je het ook hebt opgeslagen (als je een foutmelding hebt, zorg er dan voor dat je maar 1 materiaal voor het object hebt). Hernoem het object (het zal een rare naam hebben).
Stap 3: Importeer het object naar Java
Shape3D fred = null; probeer { XMLDecoder e = nieuwe XMLDecoder (nieuwe BufferedInputStream (nieuwe FileInputStream ("c:/HandShape3D.xml"))); //uw bestandsnaam hier fred = (Shape3D) e.readObject(); e.sluiten(); } catch(Uitzondering e) { e.printStackTrace(); } ColoringAttributes at=new ColoringAttributes(); Uiterlijk ap = nieuw Uiterlijk(); Color3f col = nieuwe Color3f(1.0f, 0.0f, 1.0f); ColoringAttributes ca = nieuwe ColoringAttributes(col, ColoringAttributes. NICEST); ap.setColoringAttributes(ca); fred.setAppearance(ap); obj.addChild(fred);voeg dit in een 3D-code in of gebruik de hele code hier 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;java.awt. BorderLayout importeren;java.awt. Frame importeren;com.sun.j3d.utils.applet. MainFrame importeren;com.sun.j3d.utils.geometry. ColorCube importeren;com.sun importeren. 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 breidt Applet uit {public BranchGroup createSceneGraph() { BranchGroup objRoot = new BranchGroup(); TransformGroup objTransform = nieuwe TransformGroup(); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild(objTransform); Shape3D fred = null; probeer { XMLDecoder e = nieuwe XMLDecoder (nieuwe BufferedInputStream (nieuwe FileInputStream ("c:/HandShape3D.xml"))); fred = (Shape3D) e.readObject(); e.sluiten(); } catch(Uitzondering e) { e.printStackTrace(); } ColoringAttributes at=new ColoringAttributes(); Uiterlijk ap = nieuw Uiterlijk(); Color3f col = nieuwe Color3f(1.0f, 0.0f, 1.0f); ColoringAttributes ca = nieuwe ColoringAttributes(col, ColoringAttributes. NICEST); ap.setColoringAttributes(ca); fred.setAppearance(ap); objTransform.addChild(fred); MouseRotate myMouseRotate = nieuwe MouseRotate(); myMouseRotate.setTransformGroup(objTransform); myMouseRotate.setSchedulingBounds (nieuwe BoundingSphere()); objRoot.addChild(myMouseRotate); MouseTranslate myMouseTranslate = nieuwe MouseTranslate(); myMouseTranslate.setTransformGroup(objTransform); myMouseTranslate.setSchedulingBounds (nieuwe BoundingSphere()); objRoot.addChild(myMouseTranslate); MouseZoom myMouseZoom = nieuwe MouseZoom(); myMouseZoom.setTransformGroup(objTransform); myMouseZoom.setSchedulingBounds (nieuwe BoundingSphere()); objRoot.addChild(myMouseZoom); objRoot.compile(); retourneert objRoot; } public MouseBehaviorApp() { setLayout(new BorderLayout()); Canvas3D canvas3D = nieuw Canvas3D(SimpleUniverse.getPreferredConfiguration()); add("Midden", canvas3D); BranchGroup scene = createSceneGraph(); SimpleUniverse simpleU = nieuw SimpleUniverse(canvas3D); simpleU.getViewingPlatform().setNominalViewingTransform(); simpleU.addBranchGraph(scène); } public static void main (String args) { Frame frame = new MainFrame (new MouseBehaviorApp (), 256, 256); }}gebruik dit voor een compleet programma! je bent klaar! en dan zeg je "wat nu"? Ik heb geen idee! Ik heb net een maand Java geleerd lol!
Aanbevolen:
Hoe de GPIO-pinnen en Avrdude van een Raspberry Pi te gebruiken om DIMP 2 of DA PIMP te Bit-bang-programma te gebruiken 2: 9 stappen
![Hoe de GPIO-pinnen en Avrdude van een Raspberry Pi te gebruiken om DIMP 2 of DA PIMP te Bit-bang-programma te gebruiken 2: 9 stappen Hoe de GPIO-pinnen en Avrdude van een Raspberry Pi te gebruiken om DIMP 2 of DA PIMP te Bit-bang-programma te gebruiken 2: 9 stappen](https://i.howwhatproduce.com/images/001/image-2898-6-j.webp)
Hoe de GPIO-pinnen van een Raspberry Pi en Avrdude te gebruiken voor Bit-bang-programma DIMP 2 of DA PIMP 2: Dit zijn stapsgewijze instructies voor het gebruik van een Raspberry Pi en het gratis open-source commando avrdude to bit-bang -programmeer een DIMP 2 of DA PIMP 2. Ik neem aan dat je bekend bent met je Raspberry Pi en de LINUX-opdrachtregel. Je hoeft niet
Een Linux-opstartschijf maken (en hoe deze te gebruiken): 10 stappen
![Een Linux-opstartschijf maken (en hoe deze te gebruiken): 10 stappen Een Linux-opstartschijf maken (en hoe deze te gebruiken): 10 stappen](https://i.howwhatproduce.com/images/005/image-14551-j.webp)
Een Linux-opstartschijf maken (en hoe deze te gebruiken): Dit is een eenvoudige inleiding over hoe u aan de slag kunt met Linux, met name Ubuntu
Toetsenbord en LCD gebruiken met Arduino om Arduino-rekenmachine te maken: 5 stappen
![Toetsenbord en LCD gebruiken met Arduino om Arduino-rekenmachine te maken: 5 stappen Toetsenbord en LCD gebruiken met Arduino om Arduino-rekenmachine te maken: 5 stappen](https://i.howwhatproduce.com/images/005/image-13111-19-j.webp)
Toetsenbord en LCD gebruiken met Arduino om Arduino-calculator te maken. In deze tutorial zal ik delen hoe je 4x4 matrix-toetsenbord en 16x2 LCD kunt gebruiken met Arduino en het kunt gebruiken om een eenvoudige Arduino-calculator te maken. Dus laten we beginnen
Mac Terminal gebruiken en toetsfuncties gebruiken: 4 stappen
![Mac Terminal gebruiken en toetsfuncties gebruiken: 4 stappen Mac Terminal gebruiken en toetsfuncties gebruiken: 4 stappen](https://i.howwhatproduce.com/images/005/image-14039-7-j.webp)
Mac Terminal gebruiken en toetsfuncties gebruiken: We laten u zien hoe u de MAC Terminal opent. We zullen u ook enkele functies binnen de Terminal laten zien, zoals ifconfig, mappen wijzigen, toegang tot bestanden en arp. Met Ifconfig kunt u uw IP-adres en uw MAC-advertentie controleren
RGB-LED's gebruiken om kleursequenties te maken: 12 stappen
![RGB-LED's gebruiken om kleursequenties te maken: 12 stappen RGB-LED's gebruiken om kleursequenties te maken: 12 stappen](https://i.howwhatproduce.com/images/006/image-15375-12-j.webp)
RGB-LED's gebruiken om kleursequenties te maken: deze Instructables laat zien hoe RGB-LED's kunnen worden gebruikt om kleursequenties te maken met behulp van Arduino Uno en een code. De 3 RGB-LED's zullen in de loop van de tijd van kleur veranderen, terwijl de 2 andere RGB-LED's dezelfde kleur behouden