Aspose.3D FOSS for TypeScript
อ้างอิง API สำหรับ @aspose/3d เวอร์ชัน 24.12.0. ติดตั้งผ่าน:
npm install @aspose/3dรันไทม์: Node.js 18, 20, 22+ · ภาษา: TypeScript 5.0+ / JavaScript (CommonJS) · ไลเซนส์: MIT
กราฟฉากหลัก
Properties
คอนเทนเนอร์รากสำหรับฉาก 3 มิติ. เรียก scene.open() หรือ scene.openFromBuffer() เพื่อโหลดไฟล์, และ scene.save() เพื่อเขียนผลลัพธ์. เปิดเผย scene.rootNode เป็นจุดเริ่มต้นของลำดับชั้นโหนด.
Properties
โหนดที่มีชื่อในต้นไม้ฉาก. เก็บ Transform, ตัวเลือกเพิ่มเติม entity (เมช, กล้อง, แสง, หรืออื่น ๆ SceneObject), และศูนย์หรือหลายโหนดลูกที่เข้าถึงได้ผ่าน childNodes.
Properties
คลาสฐานสำหรับวัตถุทั้งหมดที่สามารถแนบกับ Node เป็นเอนทิตี้หลักของมัน. สืบทอดโดย Mesh, Camera, Light, และอื่น ๆ.
SceneObject
ฐานเชิงนามธรรมสำหรับวัตถุที่มีชื่อซึ่งเป็นส่วนหนึ่งของฉาก. ให้ name การติดตามคุณสมบัติและการเป็นสมาชิกของฉากที่ใช้ร่วมกันโดยโหนด, เอนทิตี้, และวัตถุระดับแอสเซ็ต.
A3DObject
คลาสฐานรากสำหรับวัตถุ Aspose.3D ทั้งหมด. ให้ระบบคุณสมบัติ (getProperty, setProperty) และ name ฟิลด์ที่สืบทอดโดยทุกคลาสสาธารณะ.
เรขาคณิตและเมช
Properties
แสดงถึง polygon mesh. มี controlPoints อาร์เรย์ของ Vector4 เวอร์เท็กซ์และการกำหนดโพลิกอนที่สร้างโดย createPolygon(). เรียก triangulate() เพื่อแปลงโพลิกอนทั้งหมดเป็นสามเหลี่ยมก่อนการส่งออก.
Properties
คลาสฐานสำหรับประเภทเรขาคณิตทั้งหมด. เก็บ controlPoints และคอลเลกชันขององค์ประกอบเวอร์เท็กซ์ (normals, UVs, colors) ที่แนบกับเรขาคณิต.
VertexElement
คลาสฐานสำหรับช่องแอตทริบิวต์ต่อเวอร์เท็กซ์ที่แนบกับ a Geometry.ซับคลาสบรรจุอาร์เรย์ข้อมูลที่มีประเภทและ mappingMode / referenceMode เมตาดาต้า.
VertexElementNormal
A VertexElement คลาสย่อยที่เก็บเวกเตอร์ปกติของพื้นผิว. ข้อมูลถูกจัดเก็บภายในเป็น FVector4[] (สืบทอดมาจาก VertexElementFVector). จำเป็นสำหรับเรนเดอร์ส่วนใหญ่เพื่อการแสงที่ถูกต้อง.
VertexElementUV
A VertexElement คลาสย่อยที่เก็บพิกัดเทกเจอร์ 2D. mesh เดียวอาจมีชุด UV หลายชุดสำหรับเลเยอร์เทกเจอร์ที่แตกต่างกัน.
VertexElementVertexColor
หนึ่ง VertexElement คลาสย่อยที่เก็บค่าความสี RGBA ต่อเวอร์เท็กซ์.
VertexElementType
การนับรายการของประเภทช่องแอตทริบิวต์ที่ VertexElement สามารถแสดงได้ (เช่น,., NORMAL, UV, VERTEX_COLOR, TANGENT, BINORMAL).
MappingMode
การนับประเภทที่ควบคุมวิธีที่ข้อมูลขององค์ประกอบแมปไปยังเรขาคณิต: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, หรือ ALL_SAME.
ReferenceMode
การนับประเภทที่ควบคุมวิธีที่ดัชนีขององค์ประกอบอ้างอิงข้อมูล: DIRECT (หนึ่งต่อหนึ่ง) หรือ INDEX_TO_DIRECT (ผ่านอาร์เรย์ดัชนี).
TextureMapping
การนับประเภทของความหมายช่องเทกเจอร์: DIFFUSE, SPECULAR, NORMAL, EMISSIVE, BUMP, และอื่น ๆ.
Transform และ Spatial
Properties
เก็บตำแหน่งท้องถิ่น (translation), การหมุน (rotation เป็น Quaternion), และสเกล (scaling) ของ Node. การเปลี่ยนแปลงที่นี่จะส่งผลต่อโหนดและลูกทั้งหมดของมัน.
GlobalTransform
มุมมองแบบอ่านอย่างเดียวของการแปลงในพื้นที่โลกของโหนดหนึ่ง, คำนวณโดยการสะสมทุกบรรพบุรุษ Transform ค่า. เข้าถึงผ่าน node.globalTransform.
BoundingBox
กล่องขอบเขตที่จัดแนวแกนกำหนดโดย a minimum และ maximum Vector3 มุม. ใช้เพื่ออธิบายขอบเขตเชิงพื้นที่ของเมชหรือฉาก.
Properties
Material, LambertMaterial, PhongMaterial, PbrMaterial
Material คือคลาสฐานเชิงนามธรรมสำหรับทุกประเภทของวัสดุ. มีการนำไปใช้จริงสามแบบที่พร้อมใช้งาน:
- LambertMaterial — diffuse-only พร้อม ambient, diffuse, และ emissive color channels. เหมาะสำหรับ non-specular surfaces.
- PhongMaterial — ขยาย
LambertMaterialด้วยคุณสมบัติสีสเปคูลาร์และความเงาสำหรับการเชดดิ้งแบบ Phong. - PbrMaterial — วัสดุการเรนเดอร์แบบอิงฟิสิกส์ที่มีช่อง metallic, roughness, base-color, และ normal-map. แมปโดยตรงกับโมเดลวัสดุ glTF 2.0 PBR.
Camera และ Lighting
Properties
เอนทิตีโหนดมุมมองที่มีประเภทการฉาย, มุมมอง, ระยะคลิปใกล้/ไกล, และคุณสมบัติอัตราส่วนภาพ.
Properties
เอนทิตีโหนดแหล่งกำเนิดแสง. ประเภทถูกควบคุมโดย the LightType enumeration.
LightType
Enumeration ของประเภทแสงที่รองรับ: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionType
Enumeration ของโหมดการฉายกล้อง: PERSPECTIVE และ ORTHOGRAPHIC.
ยูทิลิตี้คณิตศาสตร์
Properties
เวกเตอร์ floating-point สามส่วนที่มี x, y, z ฟิลด์และเมธอดคณิตศาสตร์ทั่วไป (dot, cross, normalize, minus, times). ส่งออกจาก @aspose/3d/utilities.
Properties
เวกเตอร์ floating-point สี่ส่วนที่มี x, y, z, w ฟิลด์. ใช้เป็นประเภทของรายการใน Mesh.controlPoints.
Properties
เวกเตอร์ double-precision สองส่วนที่มี x และ y ฟิลด์. ใช้สำหรับพิกัดเทกซ์เจอร์ UV.
FVector3
เวกเตอร์แบบ single-precision float ที่มีสามส่วนแบบกะทัดรัด ใช้ในอาเรย์ข้อมูลองค์ประกอบเวอร์เท็กซ์สำหรับนอร์มอลและแทนเจนท์.
Properties
เมทริกซ์การแปลง 4×4. รองรับการต่อกัน, การกลับ, การสลับ, และการแยกส่วนเป็นส่วนของการแปล, การหมุน, และการสเกล. ส่งออกจาก @aspose/3d/utilities.
Properties
ควอเทอร์เนียนหน่วยสำหรับแทนการหมุนโดยไม่มี gimbal lock. ให้ slerp() สำหรับการอินเทอร์โพเลชันที่ราบรื่นและการแปลงไป/กลับจากมุมออยเลอร์และ Matrix4. ส่งออกจาก @aspose/3d/utilities.
Properties
AnimationClip
คอลเลกชันที่ตั้งชื่อและมีขอบเขตเวลา ของ AnimationNode แทร็ก. ตัวคอนเทนเนอร์หลักสำหรับข้อมูลการเคลื่อนไหวแบบคีย์เฟรมที่โหลดจากไฟล์ FBX หรือ COLLADA.
AnimationNode
แทร็กการเคลื่อนไหวที่ตั้งชื่อซึ่งมุ่งเป้าไปยังเส้นทางคุณสมบัติเฉพาะบนวัตถุในฉาก. มีหนึ่งหรือมากกว่า AnimationChannel วัตถุ.
AnimationChannel
ช่องคุณสมบัติที่เคลื่อนไหวเดี่ยวภายใน AnimationNode. เก็บ KeyframeSequence ของคู่ค่าเวลา/ค่า.
KeyFrame
ตัวอย่างค่าเวลา/ค่าหนึ่งใน KeyframeSequence. มีตราประทับเวลา (เป็นวินาที), ค่า, และข้อมูลแทนเจนต์สำหรับการแทรกค่า.
KeyframeSequence
รายการที่เรียงลำดับของ KeyFrame ตัวอย่างสำหรับช่องคุณสมบัติหนึ่ง, พร้อมกับ Interpolation และ Extrapolation การตั้งค่าที่ควบคุมการเล่น.
Properties
การนับประเภทของโหมดการแทรกค่าคีย์เฟรม. สมาชิกที่รู้จักรวมถึง LINEAR และ CONSTANT. สมาชิกเพิ่มเติมเช่น BEZIER อาจพร้อมใช้งาน.
Properties
กำหนดพฤติกรรมนอกช่วงคีย์เฟรม (ก่อนคีย์แรกและหลังคีย์สุดท้าย) ควบคุมโดย ExtrapolationType.
StepMode
การนับจำนวนที่ควบคุมวิธีการใช้การแทรกค่าขั้นบันได (คงที่) ที่ขอบเขต.
WeightedMode
การนับค่า (Enumeration) สำหรับการจัดการน้ำหนักสัมผัสเบเซียร์: NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, หรือ BOTH.
ExtrapolationType
การนับรายการของพฤติกรรมที่อยู่นอกช่วง: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, และ OSCILLATE.
การ I/O ของฟอร์แมต
FileFormat
ตัวอธิบายพื้นฐานสำหรับรูปแบบไฟล์ 3D แต่ละรูปแบบที่รองรับจะให้ singleton ที่เป็นรูปธรรมผ่าน getInstance().
Properties
คลาสฐานสำหรับการนำเข้าที่เฉพาะรูปแบบ ไม่ได้สร้างอินสแตนซ์โดยตรง; ถูกเรียกใช้ภายในโดย scene.open().
Properties
คลาสฐานสำหรับการส่งออกที่เฉพาะรูปแบบ ไม่ได้สร้างอินสแตนซ์โดยตรง; ถูกเรียกใช้ภายในโดย scene.save().
LoadOptions
คลาสฐานสำหรับอ็อบเจ็กต์ตัวเลือกการโหลดที่เฉพาะรูปแบบ ส่งอ็อบเจ็กต์ของคลาย่อยไปยัง scene.open() หรือ scene.openFromBuffer().
SaveOptions
คลาสฐานสำหรับอ็อบเจ็กต์ตัวเลือกการบันทึกที่เฉพาะรูปแบบ ส่งอ็อบเจ็กต์ของคลาย่อยไปยัง scene.save().
IOService
อินเทอร์เฟซบริการภายในที่ทำให้การทำงาน I/O ของระบบไฟล์และบัฟเฟอร์สำหรับผู้นำเข้าและผู้ส่งออกเป็นนามธรรม.
ฟอร์แมต OBJ
OBJ รองรับการนำเข้าและส่งออกทั้งสองอย่าง เมื่อบันทึกเป็น OBJ, ไลบรารีวัสดุ (.mtl) จะถูกเขียนโดยอัตโนมัติพร้อมกับ .obj ไฟล์.
ObjImporter
ตัวนำเข้าภายในที่อ่านไฟล์ Wavefront OBJ, แก้ไข .mtl ไลบรารีวัสดุ, และเติมข้อมูลลงใน Scene. ถูกเรียกใช้โดยอัตโนมัติเมื่อ ObjLoadOptions ถูกส่งไปยัง scene.open().
ObjExporter
ตัวส่งออกภายในที่เขียนไฟล์ Wavefront OBJ. ตัวคู่หู .mtl ไลบรารีวัสดุจะถูกเขียนโดยอัตโนมัติ เรียกใช้เมื่อ scene.save() กำหนดเป้าหมายเป็น .obj เส้นทาง.
ObjLoadOptions
โหลดตัวเลือกสำหรับไฟล์ OBJ คุณสมบัติหลัก: enableMaterials (บูลีน, ค่าเริ่มต้น true), flipCoordinateSystem (บูลีน), normalizeNormal (บูลีน, ค่าเริ่มต้น true), scale (จำนวน). ดู ตัวเลือกการโหลดและบันทึกรูปแบบ สำหรับรายละเอียดเต็ม.
ObjSaveOptions
บันทึกตัวเลือกสำหรับการส่งออก OBJ. ส่งไปยัง scene.save() เพื่อควบคุมพฤติกรรมการส่งออก OBJ. ดู ตัวเลือกการโหลดและบันทึกรูปแบบ สำหรับรายละเอียดเต็ม.
ObjFormat
ตัวอธิบายรูปแบบแบบ singleton สำหรับ OBJ. ทั้ง canImport และ canExport เป็น true.
รูปแบบ glTF
GltfImporter
อ่านไฟล์ JSON ของ glTF 2.0 (.gltf) และไฟล์ GLB แบบไบนารี (.glb) ไฟล์. จัดการการอ้างอิงบัฟเฟอร์ที่ฝังอยู่และภายนอก, วัสดุ PBR, สกิน, และคลิปแอนิเมชัน.
GltfExporter
เขียนผลลัพธ์ glTF 2.0. เมื่อ GltfSaveOptions.binaryMode เป็น true, สร้าง GLB ที่เป็นอิสระ; มิฉะนั้นจะเขียนเป็น JSON .gltf พร้อมกับไฟล์คู่หู .bin บัฟเฟอร์.
GltfLoadOptions
ตัวเลือกการโหลดสำหรับไฟล์ glTF/GLB. ควบคุมการแก้ไขบัฟเฟอร์และพฤติกรรมการโหลดเทกเจอร์.
GltfSaveOptions
บันทึกตัวเลือกสำหรับการส่งออก glTF/GLB. คุณสมบัติที่สำคัญ: binaryMode (boolean, true → GLB, ค่าเริ่มต้น false), flipTexCoordV (boolean, พลิกแกนแนวตั้งของ UV, ค่าเริ่มต้น true). ดู ตัวเลือกการโหลดและบันทึกรูปแบบ สำหรับรายละเอียดเต็ม.
GltfFormat
อ็อบเจกต์เดี่ยวของตัวบรรยายรูปแบบ. รับได้ผ่าน GltfFormat.getInstance() และส่งต่อให้ scene.save() เป็นอาร์กิวเมนต์ที่สอง.
รูปแบบ STL
StlImporter
อ่านไฟล์ STL ทั้งแบบ ASCII และไบนารีเข้าไปใน Scene ที่มีเพียงหนึ่ง Mesh เอนทิตี้.
StlExporter
เขียนไฟล์ STL แบบไบนารี. ผลลัพธ์จะมีเมชที่ทำการไตรแองเกิลจากซีน; พอลิกอนที่ไม่ใช่สามเหลี่ยมจะถูกไตรแองเกิลโดยอัตโนมัติ.
StlLoadOptions
ตัวเลือกการโหลดสำหรับ STL. ควบคุมว่าตัวนำเข้าจะพลิกนอร์มอลหรือไม่ระหว่างการนำเข้า.
StlSaveOptions
ตัวเลือกการบันทึกสำหรับการส่งออก STL. คุณสมบัติหลัก: binaryMode (boolean, ค่าเริ่มต้น false). ควบคุมว่าผลลัพธ์เป็น STL แบบ ASCII หรือไบนารี. ดู ตัวเลือกการโหลดและบันทึกรูปแบบ สำหรับรายละเอียดเต็ม.
StlFormat
อ็อบเจกต์เดี่ยวของตัวบรรยายรูปแบบ. รับได้ผ่าน StlFormat.getInstance().
3MF Format
ThreeMfImporter
อ่านไฟล์อาร์ไคฟ์ Open Packaging Convention 3MF และเติมข้อมูลลงใน Scene ด้วย mesh objects, สี, และคุณสมบัติวัสดุ.
ThreeMfExporter
เขียนไฟล์อาร์ไคฟ์ 3MF ที่ถูกต้องจากซีนปัจจุบัน เหมาะสำหรับกระบวนการพิมพ์ 3 มิติ.
ThreeMfLoadOptions
ตัวเลือกการโหลดสำหรับไฟล์ 3MF.
ThreeMfSaveOptions
ตัวเลือกการบันทึกสำหรับการส่งออก 3MF.
ThreeMfFormat
ตัวอธิบายรูปแบบแบบ singleton. รับได้ผ่าน ThreeMfFormat.getInstance().
รูปแบบ FBX
FbxImporter
อ่านไฟล์ FBX แบบไบนารีและ ASCII รวมถึงเรขาคณิต, วัสดุ, โครงกระดูก, blend shapes, และคลิปแอนิเมชัน.
FbxExporter
เขียนไฟล์ FBX จากซีนปัจจุบัน รองรับการส่งออก FBX ทั้งแบบไบนารีและ ASCII ขึ้นอยู่กับตัวเลือก.
FbxLoadOptions
ตัวเลือกการโหลดสำหรับ FBX ควบคุมว่าจะนำเข้าแอนิเมชัน, skins, และ blend shapes หรือไม่.
FbxSaveOptions
ตัวเลือกการบันทึกสำหรับการส่งออก FBX. คุณสมบัติหลัก: embedTextures (บูลีน, ค่าเริ่มต้น false). ดู ตัวเลือกการโหลดและบันทึกรูปแบบ สำหรับรายละเอียดเต็ม.
FbxFormat
ตัวอธิบายรูปแบบแบบ singleton. รับได้ผ่าน FbxFormat.getInstance().
รูปแบบ COLLADA
การนำเข้าและส่งออก COLLADA ต้องการ xmldom peer dependency ซึ่งจะถูกติดตั้งโดยอัตโนมัติพร้อมกับ @aspose/3d.
ColladaImporter
อ่าน COLLADA (.dae) ไฟล์ XML ด้วย xmldom. จัดการ geometry, materials, cameras, lights, และ animation.
ColladaExporter
เขียนผลลัพธ์ XML ของ COLLADA จากฉากปัจจุบัน เหมาะสำหรับการแลกเปลี่ยนกับเครื่องมือ DCC (Blender, Maya ฯลฯ).
ColladaFormat
ตัวอธิบายรูปแบบแบบ singleton. รับได้ผ่าน ColladaFormat.getInstance().
ระบบคุณสมบัติ
Properties
คู่ชื่อ/ค่าแบบกำหนดประเภทที่สามารถแนบไปยังใดก็ได้ A3DObject. รองรับประเภทค่า scalar และ vector.
PropertyCollection
คอนเทนเนอร์ที่เรียงลำดับของ Property อ็อบเจ็กต์. สามารถเข้าถึงได้บนใดก็ A3DObject ผ่าน properties accessor.
CustomObject
กระเป๋าคุณสมบัติแบบอิสระที่ขยาย A3DObject. ใช้เพื่อเก็บเมตาดาต้าแบบ任意ที่ไม่สอดคล้องกับคลาสมาตรฐาน.
ข้อมูลทรัพย์สิน
AssetInfo
บรรจุเมตาดาต้าระดับฉากที่โหลดจากไฟล์ต้นทาง: ผู้เขียน, ชื่อแอปพลิเคชัน, วันที่สร้าง, สเกลหน่วย, และข้อมูลแกนพิกัด.
ImageRenderOptions
ตัวเลือกที่ควบคุมวิธีการแก้ไขและเข้ารหัสเทกซ์เจอร์และภาพเมื่อบันทึกเป็นรูปแบบที่ฝังข้อมูลภาพ (เช่น GLB กับ binaryMode: true).
ดูเพิ่มเติม
- ฐานความรู้: คู่มือวิธีทำ
- ภาพรวม API อย่างละเอียด
- คลาส Scene
- คลาส Node
- คลาส Mesh
- คลาส Transform
- คลาส GlobalTransform
- คลาส Camera
- คลาส Light
- คลาส Vector3
- คลาส Quaternion
- คลาส Matrix4
- คลาส BoundingBox
- Material, LambertMaterial, PhongMaterial, PbrMaterial
- ตัวเลือกการโหลดและบันทึกรูปแบบ
- อ้างอิง Vector2, Vector4
- อ้างอิง Property, PropertyCollection, AssetInfo
- อ้างอิง A3DObject, SceneObject, Entity
- อ้างอิง VertexElement, VertexElementNormal, VertexElementUV
- อ้างอิง Enumerations
- npm: @aspose/3d
- GitHub: aspose-3d-node