Obsah:
- Krok 1: Stiahnite si programy
- Krok 2: Exportujte svoj model do formátu XML
- Krok 3: Importujte objekt do Javy
Video: Použitie programu Blender na vytváranie modelov Java3D: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:02
Ak ste programátorom Java, pravdepodobne ste niekedy chceli programovať v 3D. Ale ako? Môžete použiť Java3D a pomaly vpísať každý bod do 3D polygónu (vyskúšajte mi, verte mi, že je to zlý nápad), alebo môžete použiť Blender (https://blender.org) bezplatný a otvorený zdrojový program 3D modelovania spolu s skript s názvom Blend2Java (https://sourceforge.net/projects/blend2java/). Dokumentácia k Blend2Java je však takmer neexistujúca, a preto tu sedím a píšem.
Krok 1: Stiahnite si programy
Budete potrebovať Blender (https://blender.org) a Blend2Java (https://sourceforge.net/projects/blend2java/). Ok, potom keď ich budete mať obaja, začnite tým, že v Blenderi vytvoríte jednoduchý model (alebo len použijete štandardnú kocku).
Krok 2: Exportujte svoj model do formátu XML
Akonáhle budete mať model, ktorý by ste chceli použiť v Blenderi, otvorte režim úprav a stlačením klávesu „a“vyberte všetky body. V dolnom paneli vyberte textový editor. Otvorte nový súbor v textovom editore. Otvorte súbor blend2java.py, ktorý ste stiahli. Spustiť. Ok, váš objekt by teraz mal byť v. XML, kdekoľvek ste ho uložili (ak máte a chybové hlásenie uistite sa, že pre objekt máte iba 1 materiál). Premenujte objekt (bude mať divný názov).
Krok 3: Importujte objekt do Javy
Shape3D fred = null; skúste {XMLDecoder e = nový XMLDecoder (nový BufferedInputStream (nový FileInputStream ("c: /HandShape3D.xml"))); // názov vášho súboru tu fred = (Shape3D) e.readObject (); e.close (); } catch (Výnimka e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Vzhľad ap = nový Vzhľad (); 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 ho do akéhokoľvek 3d kódu alebo tu použite 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; verejná trieda MouseBehaviorApp rozširuje 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; skúste {XMLDecoder e = nový XMLDecoder (nový BufferedInputStream (nový FileInputStream ("c: /HandShape3D.xml")))); fred = (Shape3D) e.readObject (); e.close (); } catch (Výnimka e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Vzhľad ap = nový Vzhľad (); 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 (nový BoundingSphere ()); objRoot.addChild (myMouseTranslate); MouseZoom myMouseZoom = nový MouseZoom (); myMouseZoom.setTransformGroup (objTransform); myMouseZoom.setSchedulingBounds (nový BoundingSphere ()); objRoot.addChild (myMouseZoom); objRoot.compile (); vrátiť objRoot; } public MouseBehaviorApp () {setLayout (new BorderLayout ()); Canvas3D canvas3D = nové Canvas3D (SimpleUniverse.getPreferredConfiguration ()); add ("Center", canvas3D); BranchGroup scene = 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žite to na úplnú programovú mapu! ste hotoví! a potom poviete „teraz čo“? Nemám potuchy! Java som sa naučil pred mesiacom lol!
Odporúča:
Vytváranie rôznych zvukov z filmov iba pomocou Arduina: 3 kroky
Vytváranie rôznych zvukov z filmov iba pomocou Arduina: As-salamu alaykum! Chcel som generovať rôzne zvuky ako predátor, optimálna prime & čmeliak z filmu transformátora. Vlastne som sledoval " hackera " video o výrobe prilby predátora.
Použitie fotogrametrie na vytváranie modelov: 9 krokov
Použitie fotogrametrie na vytváranie modelov: Kto som? Som Samuel Conklin a som druhák v E.L. Meyersova stredná škola. Posledných pár mesiacov som experimentoval s fotogrametriou a dúfam, že vám pomôžem, ak sa rozhodnete znova vytvoriť tento produkt. Zaujíma ma, ako ostatní ľudia
Vytváranie máp Garmin pomocou Openstreetmap: 4 kroky
Vytváranie máp Garmin pomocou Openstreetmap: Milujem turistiku, ale nepoužívam čítanie máp. Preto som si kúpil garmin GPSMAP64 GPS. Vo výzve s mapami som videl návod, ako vytvoriť mapy pre garmin gps, toto je veľmi dobre napísaný návod a prinútilo ma premýšľať o napísaní svojho
Vytváranie zvukovo absorbujúcich akustických panelov s uzávermi na víno: 4 kroky
Vytváranie zvukovo absorbujúcich akustických panelov W/ Wine Corks: Po rokoch zbierania korkových zátok na víno som ich konečne našiel využitie: vytvoriť zvukové pohltivé zvukové panely pre môj domáci hlas cez stánok. Keďže fľaše vína so skrutkovacím uzáverom sú čoraz bežnejšie, odkladám si zátky pre rôzne domáce
Použitie programu RTA ako osciloskopu alebo analyzátora obvodu: 4 kroky
Použitie programu RTA ako osciloskopu alebo analyzátora obvodu: Účelom tohto triku je poskytnúť divákom a cenovo dostupnú možnosť prezerať elektrické signály ich obvodov a zariadení pomocou programov analyzátora v reálnom čase (RTA). Primárnou výhodou tohto prístupu cez osciloskop je, že programy RTA