विशेषताएं और कार्यक्षमताएँ
विशेषताएं और कार्यक्षमताएँ
इस पृष्ठ में सभी मुख्य कार्य क्षेत्रों को कवर किया गया है। एस्पेस 3 डी-फॉस 26.1.0 Java के उदाहरणों का प्रयोग करें।.
शूटिंग और सेंटर बचाने के लिए
scene.open() एक फ़ाइल लोड करें; scene.save() इसे निर्यात करें:
import com.aspose.threed.Scene;
Scene scene = new Scene();
scene.open("input.obj");
scene.save("output.glb");स्टैटिक कारखाने विकल्प:
Scene scene = Scene.fromFile("input.fbx");
scene.save("output.stl");विशिष्ट विकल्पों के लिए
पासपोर्ट LoadOptions या SaveOptions फिन-ग्रेनेड नियंत्रण के लिए उपक्लास:
import com.aspose.threed.*;
Scene scene = new Scene();
ObjLoadOptions opts = new ObjLoadOptions();
opts.setFlipCoordinateSystem(true);
scene.open("model.obj", opts);
GltfSaveOptions saveOpts = new GltfSaveOptions();
saveOpts.setFlipCoordinateSystem(true);
scene.save("model.glb", saveOpts);नोट : FBX केवल आयात के लिए समर्थित है; FBx निर्यात FOSS संस्करण में लागू नहीं किया जाता है। बाइनरी FBX फ़ाइलों को आयात करने के लिए समर्थित किया जाता है — ASCII FBX फेंकता है
ImportException.
एक दृश्य ग्राफ बनाना
नोड्स बनाएं और एंटी-एक्सटेंशन करें:
Scene scene = new Scene();
Node root = scene.getRootNode();
Mesh mesh = new Mesh("myMesh");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.createPolygon(0, 1, 2);
Node meshNode = root.createChildNode("triangle", mesh);मेश ऑपरेशन
बनाए A Mesh नियंत्रण बिंदुओं और पॉलिगोन के साथ प्रोग्राम:
Mesh mesh = new Mesh("custom");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.getControlPoints().add(new Vector4(0, 10, 0));
mesh.createPolygon(0, 1, 2, 3);परिवर्तन
हर Node ले जाने के लिए A Transform:
Node node = scene.getRootNode().createChildNode("moved", new Mesh());
node.getTransform().setTranslation(10, 0, 5);
node.getTransform().setScale(2, 2, 2);दुनिया के अंतरिक्ष को पढ़ने के लिए node.getGlobalTransform().getMatrix().
सामग्री
नोड्स के लिए सामग्री निर्धारित करें:
import com.aspose.threed.*;
PbrMaterial mat = new PbrMaterial("shiny");
mat.setAlbedo(new Vector4(0.8, 0.2, 0.2, 1.0));
mat.setMetallicFactor(0.5);
mat.setRoughnessFactor(0.3);
scene.getRootNode().createChildNode("red_mesh", mesh, mat);सामग्री के प्रकार: Material आधार के लिए, PbrMaterial (PBR धातु कठोरता).
टिप्स और सर्वश्रेष्ठ अभ्यास
- उपयोग करें
Scene.fromFile()एक-लाइन लोड के लिए जब अनुकूलित विकल्पों की आवश्यकता नहीं है - प्रोग्राम के साथ मशीन बनाएं
createPolygon()कस्टम भूमी के लिए - उपयोग करें
.glbकंपैक्ट बाइनरी glTF उत्पादन के लिए विस्तार - जांच करें
node.getEntity() != nullकैस्टिंग से पहले - STL निर्यात के लिए नहीं त्रिकोण पॉलीगोन स्वचालित रूप से चेहरे. बाइनरी STL निर्यात केवल प्रत्येक पॉलिगन चेहरा के पहले 3 रस्सियों को लिखता है - क्वाड या एन-गोन के चेहर चुपचाप ट्रिंक किए जाते हैं. ASCII STl निरयात सभी रॉकेट सूचियों, जो गैर-ट्रिंगल चेहों के लिए खराब फ़ैक्ट ब्लॉक का उत्पादन करता है. हमेशा डेटा हानि या अभावित आउटपुट से बचने के लिये पूर्व-तीनगुण मेश (सभी-तू-आउट्स) को एसटीएल निरंतर करने के।.
सामान्य मुद्दे
| मुद्दे | कारणों से | फिक्स करें |
|---|---|---|
| लोड पर अपवाद | असहाय या भ्रष्ट फ़ाइलों का उपयोग करें | फ़ाइल को 3D दृश्य में खोलने की जांच करें |
| OBJ लोड के बाद खोया हुआ सामग्री | .mtl फ़ाइल नहीं मिला | स्थान .mtl इसके बगल में .obj;• सामग्री को सक्षम बनाना |
| आयात के बाद स्केल असंगतता | अलग-अलग इकाइयों की व्यवस्था | A का उपयोग करें Transform लोड करने के बाद स्केल |
FAQ
मैं एक फ़ाइल प्रारूप कैसे पहचानता हूं?
FileFormat format = FileFormat.detect("unknown.bin");
System.out.println(format.getExtension());क्या मैं एक स्ट्रीम से लोड कर सकता हूं?
हाँ।. scene.open() स्वीकार करते हैं एक InputStream.
आयात और निर्यात दोनों का समर्थन किस प्रारूप में किया जाता है?
OBJ, STL और glTF/GLB दोनों दिशाओं का समर्थन करते हैं. FBX केवल आयात-आयात किया जाता है; निर्यात FOSS संस्करण में लागू नहीं होता है.
API संदर्भ सारांश
| वर्ग / विधि | विवरण |
|---|---|
Scene | शीर्ष स्तर 3 डी दृश्य कंटेनर |
scene.open() | 3D फ़ाइल को ट्रैक या स्ट्रीम के अनुसार लोड करें |
scene.save() | फ़ाइल या स्ट्रीम में निर्यात दृश्य |
Scene.fromFile() | स्टैटिक कारखाने लोड करने और वापस करने के लिए एक Scene |
Node | नोड्स की हिरासत |
node.createChildNode() | एक बच्चे के नोड को बनाएं और जोड़ें |
Mesh | नियंत्रण बिंदुओं और चेहरे की सूची के साथ पॉलीगोन मस्जिद |
mesh.createPolygon() | एक पॉलीगोन चेहरा परिभाषित करें |
Mesh.toMesh() | रूपांतरण या क्लोन मशीन की भूमध्यसागरीय |
Transform | स्थानीय अनुवाद, घूर्णन और स्केल |
FileFormat | प्रारूपों के लिए रजिस्टर और डिटेक्टर |