Мазмұны:
- 1 -қадам: Бағдарламаларды жүктеңіз
- 2 -қадам: Үлгіні XML -ге экспорттаңыз
- 3 -қадам: Нысанды Java -ға импорттаңыз
Бейне: Java3D үлгілерін жасау үшін блендерді қолдану: 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:28
Егер сіз 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 -ге экспорттаңыз
Сізде модель болғаннан кейін Blender -де өңдеу режимін ашқыңыз келеді және барлық нүктелерді таңдау үшін «а» пернесін басыңыз. Төменгі панельде мәтіндік редакторды таңдаңыз. Мәтіндік редакторда жаңа файлды ашыңыз. Сіз жүктеген blend2java.py файлын ашыңыз. Run. Ok сіздің объектіңіз сақталған жерде. XML -де болуы керек (егер сізде қате туралы хабар болса, сізде объект үшін тек 1 материал бар екеніне сенімді болыңыз). Объектінің атын өзгертіңіз (оның оғаш атауы болады).
3 -қадам: Нысанды 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!
Ұсынылған:
NCD сымсыз температурасы мен ылғалдылығы датчигінің қызыл-қызыл түйінін қолдану арқылы электрондық хабарландырулар жасау: 22 қадам
NCD сымсыз температурасы мен ылғалдылығы датчиктерінің электрондық поштасы бойынша ескерту жасау Node-Red: Біз мұнда NCD температурасы мен ылғалдылығы сенсорын қолданамыз, бірақ қадамдар кез келген ncd өніміне тең болады, сондықтан егер сізде басқа ncd сымсыз сенсорлары болса, тәжірибе жасаңыз. қатар байқаңыз. Бұл мәтінді тоқтату арқылы сізге
Pt.2 Bluetooth адаптерін жасау (үйлесімді динамик жасау): 16 қадам
Bluetooth адаптері Pt.2 (Үйлесімді динамик жасау): Бұл нұсқаулықта мен сізге ескі динамикті Bluetooth үйлесімді ету үшін Bluetooth адаптерін қалай пайдалану керектігін көрсететін боламын.*Егер сіз менің бірінші нұсқаулықты оқымаған болсаңыз Bluetooth адаптері " Жалғастырмас бұрын мұны істеуді ұсынамын
Аэрографиялық трафарет жасау үшін винил кескішті қолдану: 5 қадам
Аэрографиялық трафарет жасау үшін винил кескішті қолдану: Бұл нұсқаулықта мен винил кескішті трафареттер жасау процесіне қысқаша кіріспе беремін, оны аэрографпен немесе шын мәнінде кез келген түрмен бояу үшін қолдануға болады. бояудан. Бұл суреттерде мен аэрографты қолдандым
Қайта өңдеу материалдарын қолдану арқылы найзағай алқасын жасау: 5 қадам (суреттермен)
Қайта өңдеу материалдарын қолдану арқылы найзағай алқасын жасау: Бәріне сәлем, шамамен бір ай бұрын мен Bangood.com сайтынан қол жетімді жарықдиодты шамдарды сатып алдым. Сіз жарық диодты шамдар үйдің/бақтың интерьер/экстерьер дизайнында қолданылатынын көре аласыз
Сандық таңдау тақтасын жасау үшін мыс таспасын қолдану: 4 қадам
Сандық таңдау тақтасын жасау үшін мыс таспаны пайдалану: Бұл мен ішінара осы техниканы бөлісемін, ал ішінара нұсқаулықтарды қалай қолдануды үйренемін. Егер менің техниканы құжаттауда немесе нұсқауларды қолдануға қатысты мәселелер туындаса, түсініктемелерде маған хабарлаңыз - рахмет! Маған ұзақ жол қажет болды