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).


ดูเพิ่มเติม

 ภาษาไทย