विषयसूची:

Java3D मॉडल बनाने के लिए ब्लेंडर का उपयोग करना: 3 चरण
Java3D मॉडल बनाने के लिए ब्लेंडर का उपयोग करना: 3 चरण

वीडियो: Java3D मॉडल बनाने के लिए ब्लेंडर का उपयोग करना: 3 चरण

वीडियो: Java3D मॉडल बनाने के लिए ब्लेंडर का उपयोग करना: 3 चरण
वीडियो: Arduino Lidar Scanning & Java 3D Rendering Project 2024, जून
Anonim
Java3D मॉडल बनाने के लिए ब्लेंडर का उपयोग करना
Java3D मॉडल बनाने के लिए ब्लेंडर का उपयोग करना

यदि आप एक जावा प्रोग्रामर हैं, तो आप शायद किसी बिंदु पर 3D में प्रोग्राम करना चाहते हैं। पर कैसे? वैसे आप Java3D का उपयोग कर सकते हैं और धीरे-धीरे प्रत्येक बिंदु में 3D बहुभुज में टाइप कर सकते हैं (कोशिश की कि यह मुझ पर एक बुरा विचार है), या आप ब्लेंडर (https://blender.org) के साथ एक स्वतंत्र और खुला स्रोत 3D मॉडलिंग प्रोग्राम का उपयोग कर सकते हैं। Blend2Java (https://sourceforge.net/projects/blend2java/) नामक एक स्क्रिप्ट। हालाँकि Blend2Java पर प्रलेखन लगभग न के बराबर है, इसलिए मैं इसे यहाँ लिख रहा हूँ।

चरण 1: प्रोग्राम डाउनलोड करें

आपको ब्लेंडर (https://blender.org) और Blend2Java (https://sourceforge.net/projects/blend2java/) की आवश्यकता होगी। ठीक है, तो एक बार जब आप उन दोनों को ब्लेंडर में एक साधारण मॉडल (या सिर्फ मानक क्यूब का उपयोग करके) बनाकर शुरू कर देते हैं।

चरण 2: अपने मॉडल को XML में निर्यात करें

अपने मॉडल को XML में निर्यात करें
अपने मॉडल को XML में निर्यात करें

एक बार आपके पास एक मॉडल होने के बाद आप ब्लेंडर ओपन एडिट मोड में उपयोग करना चाहेंगे और सभी बिंदुओं का चयन करने के लिए "ए" कुंजी दबाएं। निचले पैनल में टेक्स्ट एडिटर चुनें। टेक्स्ट एडिटर में एक नई फाइल खोलें। आपके द्वारा डाउनलोड की गई Blend2java.py फ़ाइल खोलें। Run. Ok आपका ऑब्जेक्ट अब. XML में होना चाहिए जहाँ भी आपने इसे सहेजा है (यदि आपके पास है और त्रुटि संदेश है तो श्योर करें कि आपके पास ऑब्जेक्ट के लिए केवल 1 सामग्री है)। वस्तु का नाम बदलें (इसका एक अजीब नाम होगा)।

चरण 3: ऑब्जेक्ट को जावा में आयात करें

ऑब्जेक्ट को जावा में आयात करें
ऑब्जेक्ट को जावा में आयात करें

शेप3डी फ्रेड = नल; कोशिश करें {XMLDecoder e = new XMLDecoder(new BufferedInputStream(new FileInputStream("c:/HandShape3D.xml"))); // आपकी फ़ाइल का नाम यहाँ fred = (Shape3D) e.readObject (); ई. बंद करें (); } पकड़ (अपवाद ई) {ई.प्रिंटस्टैकट्रेस (); } ColoringAttributes at=new ColoringAttributes(); सूरत एपी = नया रूप (); Color3f col = नया Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes(col, ColoringAttributes. NICEST); ap.setColoringAttributes(ca); fred.setAppearance (एपी); obj.addChild(fred);इसे किसी भी 3डी कोड में डालें या यहां पूरे कोड का उपयोग करें। awt.event.*;import com.sun.j3d.utils.applet. MainFrame;import com.sun.j3d.utils.universe.*;import javax.media.j3d.*;import javax.vecmath.*;import javax. आयात करें 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;पब्लिक क्लास माउसबिहेवियरएप एप्लेट का विस्तार करता है {सार्वजनिक शाखा समूह createSceneGraph() {शाखा समूह objRoot = नया शाखा समूह (); ट्रांसफॉर्मग्रुप ओब्जट्रांसफॉर्म = नया ट्रांसफॉर्मग्रुप (); objTransform.setCapability(TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability(TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild (objTransform); शेप3डी फ्रेड = नल; कोशिश करें {XMLDecoder e = new XMLDecoder(new BufferedInputStream(new FileInputStream("c:/HandShape3D.xml"))); फ्रेड = (शेप3डी) ई.रीडऑब्जेक्ट (); ई. बंद करें (); } पकड़ (अपवाद ई) {ई.प्रिंटस्टैकट्रेस (); } ColoringAttributes at=new ColoringAttributes(); सूरत एपी = नया रूप (); Color3f col = नया Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes(col, ColoringAttributes. NICEST); ap.setColoringAttributes(ca); fred.setAppearance (एपी); objTransform.addChild (फ्रेड); माउसरोटेट मायमाउसरोटेट = नया माउसरोटेट (); myMouseRotate.setTransformGroup(objTransform); myMouseRotate.setSchedulingBounds (नया बाउंडिंगस्फीयर ()); objRoot.addChild (myMouseRotate); माउसट्रांसलेट myMouseTranslate = नया माउसट्रांसलेट (); myMouseTranslate.setTransformGroup(objTransform); myMouseTranslate.setSchedulingBounds (नया बाउंडिंगस्फीयर ()); objRoot.addChild (myMouseTranslate); माउसज़ूम मायमाउसज़ूम = नया माउसज़ूम (); myMouseZoom.setTransformGroup(objTransform); myMouseZoom.setSchedulingBounds (नया बाउंडिंगस्फीयर ()); objRoot.addChild (myMouseZoom); objRoot.compile (); वापसी ओब्जरूट; } सार्वजनिक माउसबिहेवियरऐप () {सेटलाउट (नया बॉर्डरलाउट ()); कैनवास3डी कैनवास3डी = नया कैनवास3डी(SimpleUniverse.getPreferredConfiguration()); जोड़ें ("केंद्र", कैनवास 3 डी); ब्रांचग्रुप सीन = क्रिएटसीनग्राफ (); सरल ब्रह्मांड सरल यू = नया सरल ब्रह्मांड (कैनवास 3 डी); simpleU.getViewingPlatform().setNominalViewingTransform(); simpleU.addBranchGraph (दृश्य); } सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args) {फ़्रेम फ़्रेम = नया मेनफ़्रेम (नया माउसबिहेवियरएप (), 256, 256); }}इसका उपयोग संपूर्ण प्रोग्रामटाडा के लिए करें! तुम्हारा काम हो गया!और फिर तुम कहते हो "अब क्या"?मुझे नहीं पता! मैंने अभी एक महीने पहले जावा सीखा है!

सिफारिश की: