Мазмұны:

Java3D үлгілерін жасау үшін блендерді қолдану: 3 қадам
Java3D үлгілерін жасау үшін блендерді қолдану: 3 қадам

Бейне: Java3D үлгілерін жасау үшін блендерді қолдану: 3 қадам

Бейне: Java3D үлгілерін жасау үшін блендерді қолдану: 3 қадам
Бейне: Instalar Java 3D en Windows 10 2024, Маусым
Anonim
Java3D үлгілерін жасау үшін блендерді қолдану
Java3D үлгілерін жасау үшін блендерді қолдану

Егер сіз Java бағдарламашысы болсаңыз, сіз бір кездері 3D форматында бағдарламалауды қалаған шығарсыз. Бірақ қалай? Сіз Java3D -ді қолдана аласыз және 3D көпбұрышының әр нүктесін баяу тере аласыз (бұл маған жаман идея деп сенуге тырыстым) немесе сіз Blender -ды (https://blender.org) ақысыз және ашық бастапқы 3D модельдеу бағдарламасын қолдана аласыз. Blend2Java деп аталатын сценарий (https://sourceforge.net/projects/blend2java/). Алайда Blend2Java құжаттамасы жоқтың қасы, сондықтан мен осында осында жазып отырмын.

1 -қадам: Бағдарламаларды жүктеңіз

Сізге Blender (https://blender.org) және Blend2Java (https://sourceforge.net/projects/blend2java/) қажет болады. Жақсы, содан кейін сіз екеуін де Blender -де қарапайым модель жасау арқылы (немесе стандартты текшені қолдана отырып) бастаңыз.

2 -қадам: Үлгіні XML -ге экспорттаңыз

Үлгіні XML форматына экспорттаңыз
Үлгіні XML форматына экспорттаңыз

Сізде модель болғаннан кейін Blender -де өңдеу режимін ашқыңыз келеді және барлық нүктелерді таңдау үшін «а» пернесін басыңыз. Төменгі панельде мәтіндік редакторды таңдаңыз. Мәтіндік редакторда жаңа файлды ашыңыз. Сіз жүктеген blend2java.py файлын ашыңыз. Run. Ok сіздің объектіңіз сақталған жерде. XML -де болуы керек (егер сізде қате туралы хабар болса, сізде объект үшін тек 1 материал бар екеніне сенімді болыңыз). Объектінің атын өзгертіңіз (оның оғаш атауы болады).

3 -қадам: Нысанды Java -ға импорттаңыз

Java объектісін импорттаңыз
Java объектісін импорттаңыз

Shape3D fred = null; көріңіз {XMLDecoder e = жаңа XMLDecoder (жаңа BufferedInputStream (жаңа FileInputStream («c: /HandShape3D.xml»))))); // мұнда сіздің файл атыңыз fred = (Shape3D) e.readObject (); e.close (); } catch (Ерекше д) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Сыртқы көрініс ap = жаңа келбет (); Color3f col = жаңа Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.setAppearance (ap); obj.addChild (fred); мұны кез келген 3d кодына енгізіңіз немесе бүкіл кодты қолданыңыз, java.io импорттаңыз.*; java.beans. XMLDecoder импорттаңыз; java.applet. Applet импорттаңыз; java.awt импорттаңыз.*; импорт java. awt.event.*; com.sun.j3d.utils.applet. MainFrame; com.sun.j3d.utils.universe импорттау.*; импорт javax.media.j3d.*; импорт javax.vecmath.*; импорт java.applet. Applet; java.awt. BorderLayout импорттау; java.awt. Frame импорттау; com.sun.j3d.utils.applet. MainFrame импорттау; com.sun.j3d.utils.geometry. ColorCube импорттау; com.sun импорттау. j3d.utils.universe.*; com.sun.j3d.utils.behaviors.mouse.*; импорт javax.media.j3d.*; импорт javax.vecmath.*; java.awt.event.*; импорт java.util. Enumeration; public class MouseBehaviorApp Applet кеңейтеді {public BranchGroup createSceneGraph () {BranchGroup objRoot = new BranchGroup (); TransformGroup objTransform = жаңа TransformGroup (); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild (objTransform); Shape3D fred = null; көріңіз {XMLDecoder e = жаңа XMLDecoder (жаңа BufferedInputStream (жаңа FileInputStream («c: /HandShape3D.xml»))))); fred = (Shape3D) e.readObject (); e.close (); } аулау (Ерекше д) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); Сыртқы көрініс ap = жаңа келбет (); Color3f col = жаңа 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 = жаңа MouseRotate (); myMouseRotate.setTransformGroup (objTransform); myMouseRotate.setSchedulingBounds (жаңа BoundingSphere ()); objRoot.addChild (myMouseRotate); MouseTranslate myMouseTranslate = жаңа MouseTranslate (); myMouseTranslate.setTransformGroup (objTransform); myMouseTranslate.setSchedulingBounds (жаңа BoundingSphere ()); objRoot.addChild (myMouseTranslate); MouseZoom myMouseZoom = жаңа MouseZoom (); myMouseZoom.setTransformGroup (objTransform); myMouseZoom.setSchedulingBounds (жаңа BoundingSphere ()); objRoot.addChild (myMouseZoom); objRoot.compile (); objRoot қайтару; } жалпыға ортақ MouseBehaviorApp () {setLayout (жаңа BorderLayout ()); Canvas3D canvas3D = жаңа Canvas3D (SimpleUniverse.getPreferredConfiguration ()); қосу («Орталық», canvas3D); BranchGroup сахнасы = createSceneGraph (); SimpleUniverse simpleU = жаңа SimpleUniverse (canvas3D); simpleU.getViewingPlatform (). setNominalViewingTransform (); simpleU.addBranchGraph (көрініс); } public static void main (String args) {Frame frame = new MainFrame (new MouseBehaviorApp (), 256, 256); }} мұны толық бағдарлама үшін пайдаланыңыз! сіз біттіңіз! сосын сіз «енді не» дейсіз бе? Менде түсінік жоқ! Мен Java -ды бір ай бұрын үйрендім, lol!

Ұсынылған: