API Overview — @aspose/3d for TypeScript

पैकेज: @aspose/3d (v24.12.0) भाषा: TypeScript / Node.js 18+ लाइसेंस: MIT

@aspose/3d एक MIT-लाइसेंस वाली लाइब्रेरी है जो Node.js में 3D दृश्यों को पढ़ने, निर्माण करने और निर्यात करने के लिए उपयोग की जाती है। यह पूर्ण TypeScript टाइप परिभाषाओं के साथ आती है, एकल रनटाइम निर्भरता ( «<SEG_7»> ), और सात प्रमुख 3D फ़ाइल फ़ॉर्मेट्स का समर्थन करती है। सभी I/O सिंक्रोनस है। कोई नेटिव ऐडऑन आवश्यक नहीं है।xmldom),.


Enumerations

npm install @aspose/3d

Enumerations tsconfig.json सही सब-पाथ समाधान के लिए सेटिंग्स:

{
  "compilerOptions": {
    "target": "ES2020",
    "module": "commonjs",
    "moduleResolution": "node",
    "esModuleInterop": true,
    "strict": true
  }
}

सीन में एक परिप्रेक्ष्य कैमरा जोड़ें और उसके फ्रस्टम को कॉन्फ़िगर करें।

Enumerations

3D दृश्य के लिए रूट कंटेनर। सभी सामग्री; नोड्स, ज्योमेट्री, मैटेरियल्स, और एनीमेशन; एक ट्री में संग्रहीत होते हैं जिसका मूल है scene.rootNode.उपयोग करें open() / openFromBuffer() फ़ाइल लोड करने के लिए और save() / saveToBuffer() निर्यात करने के लिए।.

EnumerationsEnumerationsEnumerations
rootNodeNodeसीन ग्राफ़ का रूट
assetInfoAssetInfoफ़ाइल मेटाडेटा (निर्माता, इकाइयाँ, निर्देशांक प्रणाली)
animationClipsAnimationClip[]दृश्य में सभी एनीमेशन क्लिप्स
open(path, opts?)(string, LoadOptions?) → voidडिस्क से फ़ाइल लोड करें
openFromBuffer(buf, opts?)(Buffer, LoadOptions?) → voidइन‑मेमोरी बफ़र से लोड करें
save(path, opts?)(string, SaveOptions?) → voidडिस्क पर सहेजें (फ़ॉर्मेट एक्सटेंशन से अनुमानित)
saveToBuffer(ext, opts?)(string, SaveOptions?) → Bufferइन‑मेमोरी बफ़र में सहेजें
createAnimationClip(name)(string) → AnimationClipएक नया animation clip बनाएं और पंजीकृत करें

Enumerations

सीन ग्राफ में एक नामित ट्री नोड। नोड्स वैकल्पिक Entity (mesh, camera, light) और एक Transform जो नोड को उसके पैरेंट के सापेक्ष स्थित करता है।.

EnumerationsEnumerationsEnumerations
namestringनोड नाम
childNodesNode[]सीधे चाइल्ड नोड्स
entity`Entitynull`
transformTransformस्थानीय translation, rotation, scale
materialsMaterial[]इस नोड को असाइन किए गए Materials
createChildNode(name)(string) → Nodeएक चाइल्ड नोड जोड़ें
getChildNode(name)`(string) → Nodenull`

Enumerations

Polygon mesh; मुख्य geometry प्रकार। Extends Geometry.

EnumerationsEnumerationsEnumerations
controlPointsVector4[]Vertex positions (w=1 positions के लिए)
polygonCountnumberपॉलीगॉन की संख्या
createPolygon(indices)(number[]) → voidएक polygon जोड़ें (त्रिभुज या चतुर्भुज)
getElement(type)`(VertexElementType) → VertexElementnull`
createElement(type)(VertexElementType) → VertexElementएक vertex element बनाएं

Enumerations

एक नोड पर लागू स्थानीय रूपांतरण।.

EnumerationsEnumerationsEnumerations
translationVector3स्थानीय स्थिति
eulerAnglesVector3डिग्री में Euler घूर्णन (XYZ क्रम)
rotationQuaternionक्वाटरनियन के रूप में घूर्णन
scalingVector3स्थानीय स्केल

मैटेरियल क्लासेस

EnumerationsEnumerationsमुख्य गुण
LambertMaterialडिफ्यूज़ + एंबिएंट शेडिंगdiffuseColor, ambientColor, transparency
PhongMaterialलैम्बर्ट में स्पेक्यूलर + एमिसिव जोड़ता हैspecularColor, shininess, emissiveColor
PbrMaterialglTF 2.0 के लिए भौतिक-आधारितalbedo, metallicFactor, roughnessFactor, emissiveColor

गणित क्लासेस

EnumerationsEnumerations
Vector33-component double-precision vector (x, y, z)
Vector44-component vector for homogeneous math (x, y, z, w)
FVector3वर्टेक्स डेटा में उपयोग किया गया सिंगल-प्रिसीजन वेरिएंट
Matrix44×4 transformation matrix; multiply, invert, decompose
Quaternionघूर्णन क्वाटरनियन; fromEulerAngle, toEulerAngles, slerp
BoundingBoxएक्सिस-एलाइन्ड बाउंडिंग बॉक्स; minimum, maximum, center, size, merge

एनिमेशन क्लासेस

EnumerationsEnumerations
AnimationClipनामित क्लिप; शामिल है AnimationNode सूची; के माध्यम से एक्सेस किया गया scene.animationClips
AnimationNodeएक क्लिप को नामित सीन नोड से बाइंड करता है; शामिल है AnimationChannel सूची
AnimationChannelएकल प्रॉपर्टी को टार्गेट करता है (जैसे ट्रांसलेशन X); रखता है एक KeyframeSequence
KeyframeSequenceक्रमबद्ध सूची KeyFrame ऑब्जेक्ट्स के साथ interpolation और extrapolation
KeyFrameएकल समय/मान जोड़ी

Enumerations

EnumerationsEnumerationsEnumerations
VertexElementTypeNORMAL, UV, VERTEX_COLOR, BINORMAL, TANGENTवर्टेक्स तत्व सेमान्टिक
MappingModeCONTROL_POINT, POLYGON_VERTEX, POLYGON, ALL_SAMEडेटा ज्यामिति से कैसे मैप होता है
ReferenceModeDIRECT, INDEX, INDEX_TO_DIRECTवर्टेक्स एलिमेंट डेटा के लिए इंडेक्सिंग रणनीति
InterpolationCONSTANT, LINEAR, BEZIERकीफ़्रेम इंटरपोलेशन
ExtrapolationCONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, OSCILLATEकीफ़्रेम रेंज के बाहर का व्यवहार

फ़ॉर्मेट मॉड्यूल्स

फ़ॉर्मेट-विशिष्ट विकल्प क्लासेस सब-पाथ मॉड्यूल्स से एक्सपोर्ट किए जाते हैं। उन्हें अलग से इम्पोर्ट करें:

import { ObjLoadOptions } from '@aspose/3d/formats/obj';
import { GltfSaveOptions, GltfFormat } from '@aspose/3d/formats/gltf';
import { StlLoadOptions, StlSaveOptions } from '@aspose/3d/formats/stl';
import { FbxLoadOptions, FbxSaveOptions } from '@aspose/3d/formats/fbx';
import { ColladaLoadOptions } from '@aspose/3d/formats/collada';
import { ThreeMfSaveOptions } from '@aspose/3d/formats/3mf';

OBJ मॉड्यूल (@aspose/3d/formats/obj)

Enumerationsमुख्य विकल्प
ObjLoadOptionsenableMaterials, flipCoordinateSystem, scale, normalizeNormal

glTF/GLB मॉड्यूल (@aspose/3d/formats/gltf)

Enumerationsमुख्य विकल्प
GltfSaveOptionsbinaryMode (true → .glb), flipTexCoordV
GltfFormatGltfFormat.getInstance(): फ़ॉर्मेट इंस्टेंस के लिए scene.save()

STL मॉड्यूल (@aspose/3d/formats/stl)

Enumerationsमुख्य विकल्प
StlLoadOptionsN/A
StlSaveOptionsbinaryMode (false → ASCII, true → binary)

FBX मॉड्यूल (@aspose/3d/formats/fbx)

Enumerationsमुख्य विकल्प
FbxLoadOptionsN/A
FbxSaveOptionsembedTextures

समर्थित फ़ॉर्मेट्स

EnumerationsEnumerationsEnumerationsEnumerations
Enumerations.objEnumerationsEnumerations
glTF 2.0.gltfEnumerationsEnumerations
Enumerations.glbEnumerationsEnumerations
STL.stlEnumerationsEnumerations
FBX.fbxनहीं*नहीं*
COLLADA.daeEnumerationsEnumerations
3MF.3mfEnumerationsEnumerations

त्वरित संदर्भ उदाहरण

import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
import { GltfSaveOptions } from '@aspose/3d/formats/gltf';

// Load OBJ with materials
const scene = new Scene();
const loadOpts = new ObjLoadOptions();
loadOpts.enableMaterials = true;
scene.open('input.obj', loadOpts);

// Inspect root nodes
for (const node of scene.rootNode.childNodes) {
    console.log(`Node: ${node.name}, entity: ${node.entity?.constructor.name}`);
}

// Export as GLB (binary glTF)
const saveOpts = new GltfSaveOptions();
saveOpts.binaryMode = true;
scene.save('output.glb', saveOpts);

संबंधित देखें

 हिन्दी