Kazalo:
Video: Uporaba mešalnika za ustvarjanje modelov Java3D: 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:09
Če ste programer Java, ste verjetno kdaj želeli programirati v 3D. Ampak kako? No, lahko uporabite Java3D in počasi vnesete vsako točko v 3D poligonu (poskusite, verjemite, to je slaba ideja) ali pa uporabite Blender (https://blender.org) brezplačen in odprtokodni program za 3D modeliranje skupaj z skript z imenom Blend2Java (https://sourceforge.net/projects/blend2java/). Vendar dokumentacija o Blend2Javi skoraj ne obstaja, zato sedim tukaj in pišem to.
1. korak: Prenesite programe
Potrebovali boste Blender (https://blender.org) in Blend2Java (https://sourceforge.net/projects/blend2java/). V redu, potem ko oba začnete z izdelavo preprostega modela (ali samo s standardno kocko) v Blenderju.
2. korak: izvozite svoj model v XML
Ko imate model, ki ga želite uporabiti v mešalniku, odprite način za urejanje in pritisnite tipko "a", da izberete vse točke. Na spodnji plošči izberite urejevalnik besedil. Odprite novo datoteko v urejevalniku besedil. Odprite datoteko blend2java.py, ki ste jo prenesli. Run. Ok, vaš objekt bi moral biti zdaj v. XML, kjer koli ste ga shranili (če imate in sporočilo o napaki, se prepričajte, da imate samo 1 material za predmet). Preimenujte predmet (ime bo čudno).
3. korak: Uvozite objekt v Javo
Shape3D fred = nič; poskusite {XMLDecoder e = nov XMLDecoder (nov BufferedInputStream (nov FileInputStream ("c: /HandShape3D.xml"))); // ime vaše datoteke tukaj fred = (Shape3D) e.readObject (); e. Zapri (); } catch (izjema e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Videz ap = nov videz (); Color3f col = nov Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (stolpec, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.setAppearance (ap); obj.addChild (fred); vstavite to v katero koli 3d kodo ali uporabite celotno kodo tukaj uvoz java.io.*; uvoz java.beans. XMLDecoder; uvoz java.applet. Applet; uvoz java.awt.*; uvoz java. awt.event.*; uvoz com.sun.j3d.utils.applet. MainFrame; uvoz com.sun.j3d.utils.universe.*; uvoz javax.media.j3d.*; uvoz javax.vecmath.*; uvoz java.applet. Applet; uvoz java.awt. BorderLayout; uvoz java.awt. Frame; uvoz com.sun.j3d.utils.applet. MainFrame; uvoz com.sun.j3d.utils.geometry. ColorCube; uvoz com.sun. j3d.utils.universe.*; uvoz com.sun.j3d.utils.behaviors.mouse.*; uvoz javax.media.j3d.*; uvoz javax.vecmath.*; uvoz java.awt.event.*; uvoz java.util. Enumeration; javni razred MouseBehaviorApp razširja Applet {public BranchGroup createSceneGraph () {BranchGroup objRoot = new BranchGroup (); TransformGroup objTransform = nov TransformGroup (); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild (objTransform); Shape3D fred = nič; poskusite {XMLDecoder e = nov XMLDecoder (nov BufferedInputStream (nov FileInputStream ("c: /HandShape3D.xml"))); fred = (Shape3D) e.readObject (); e. Zapri (); } catch (izjema e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Videz ap = nov videz (); Color3f col = nov Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (stolpec, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.setAppearance (ap); objTransform.addChild (fred); MouseRotate myMouseRotate = nov MouseRotate (); myMouseRotate.setTransformGroup (objTransform); myMouseRotate.setSchedulingBounds (nova BoundingSphere ()); objRoot.addChild (myMouseRotate); MouseTranslate myMouseTranslate = nov MouseTranslate (); myMouseTranslate.setTransformGroup (objTransform); myMouseTranslate.setSchedulingBounds (nova BoundingSphere ()); objRoot.addChild (myMouseTranslate); MouseZoom myMouseZoom = nov MouseZoom (); myMouseZoom.setTransformGroup (objTransform); myMouseZoom.setSchedulingBounds (nova BoundingSphere ()); objRoot.addChild (myMouseZoom); objRoot.compile (); return objRoot; } javni MouseBehaviorApp () {setLayout (nov BorderLayout ()); Canvas3D canvas3D = novo Canvas3D (SimpleUniverse.getPreferredConfiguration ()); add ("Center", canvas3D); BranchGroup scene = createSceneGraph (); SimpleUniverse simpleU = nov SimpleUniverse (platno3D); simpleU.getViewingPlatform (). setNominalViewingTransform (); simpleU.addBranchGraph (prizor); } javna statična void main (String args) {Frame frame = new MainFrame (new MouseBehaviorApp (), 256, 256); }} uporabite to za popolno programsko zbirko! ste končali! in potem rečete "zdaj kaj"? Nimam pojma! Pred enim mesecem sem se naučil Javo lol!
Priporočena:
Uporaba fotogrametrije za ustvarjanje modelov: 9 korakov
Uporaba fotogrametrije za ustvarjanje modelov: kdo sem? Sem Samuel Conklin in sem drugi letnik v E.L. Meyers High School. Zadnjih nekaj mesecev sem eksperimentiral s fotogrametrijo in upam, da vam bom pomagal, če se odločite za ponovno ustvarjanje tega izdelka. Zanima me, kako drugi pe
Izdelava magnetnega enosmernega generatorja iz mrtvega motorja mešalnika DIY: 3 koraki (s slikami)
Izdelava magnetnega enosmernega generatorja iz mrtvega mešalnega motorja DIY: Pozdravljeni! V tem navodilu se boste naučili, kako pretvoriti mrtvi motor mešalnika/vrtalnega stroja (univerzalni motor) v zelo zmogljiv enosmerni generator s stalnim magnetom. Opomba: Ta metoda se uporablja le, če se opečejo poljske tuljave univerzalnega motorja
Naredite zmogljiv 48V DC motor iz mrtvega mešalnika/vrtalnega motorja: 3 koraki
Naredite zmogljiv 48V DC motor iz mrtvega mešalnika/vrtalnega motorja: Pozdravljeni! V tem navodilu se boste naučili, kako pretvoriti mrtvi motor mešalnika/vrtalnega stroja (univerzalni motor) v zelo zmogljiv enosmerni motor s stalnim magnetom do 10.000 vrt/min in dobra vrednost navora. Opomba: Ta metoda se uporablja le, če
Vadnica prvega mešalnika-ambientalne okluzije: 4 koraki
1. Blender Tutorial-Ambient Occlusions: (HEJ! To je moj prvi pouk, zato mi prosim dajte dobre povratne informacije in nekaj stvari, ki jih lahko izboljšam.) V tej vadnici se boste naučili, kako spremeniti osvetlitev z običajne razsvetljave (s svetilko ) do okluzij okolice (brez la
Uporaba bakrenega traku za ustvarjanje digitalne izbirne ploščice: 4 koraki
Uporaba bakrenega traku za ustvarjanje digitalne izbirne ploščice: delno delim to tehniko, delno pa se učim, kako uporabljati Instructables. Če obstajajo težave z mojo dokumentacijo o tehniki ali mojo uporabo Instructables, mi to sporočite v komentarjih - hvala! Potreboval sem dolgo vrstico