กรณีการใช้งาน

กรณีการใช้งาน

ภาพรวม

Aspose.3D เป็นไลบรารีรูปแบบไฟล์ 3D แบบโอเพ่นซอร์สสำหรับ Python ที่ช่วยให้นักพัฒนาสามารถสร้าง, จัดการ, และแปลงฉากและโมเดล 3D ได้โดยโปรแกรม มันรองรับกระบวนการทำงาน 3D สมัยใหม่โดยให้การทำ I/O ของไฟล์และการจัดการกราฟฉากที่แข็งแรง.

ไลบรารีนี้ให้การสนับสนุนเต็มรูปแบบสำหรับ glTF (GL Transmission Format) พร้อมการสนับสนุนวัสดุ PBR ทำให้เหมาะสำหรับการเรนเดอร์บนเว็บและแบบเรียลไทม์ โครงสร้างโหนดแบบลำดับชั้นของมันช่วยให้การจัดระเบียบฉาก 3 มิติอย่างเป็นธรรมชาติด้วยความสัมพันธ์พาเรนท์‑ชิลด์ระหว่างโหนด ทำให้การจัดการฉากที่สามารถขยายได้สำหรับโมเดลที่ซับซ้อน

วิธีการทำงาน

Aspose.3D for Python ให้การควบคุมเชิงโปรแกรมต่อฉากและโมเดล 3 มิติผ่านโมเดลวัตถุที่มีโครงสร้างโดยศูนย์กลางที่ Scene, Node, และ Entity. นักพัฒนาสามารถโหลดรูปแบบที่มีอยู่เช่น STL (ที่ใช้กันอย่างแพร่หลายสำหรับการพิมพ์ 3 มิติ) หรือสร้างฉากตั้งแต่ต้นโดยใช้ primitive หลักเช่น Mesh. ไลบรารีสนับสนุนการจัดการเมชและเอนทิตี, ทำให้สามารถตรวจสอบและแก้ไขข้อมูลเวอร์เท็กซ์, โทโพโลยีของโพลิกอน, และความสัมพันธ์เชิงพื้นที่ภายในลำดับชั้นของฉากได้.

from aspose.threed import Scene
from aspose.threed.entities import Mesh

# Create a Mesh instance
mesh = Mesh()

# Access mesh data (control_points and edges are properties, not method calls)
vertices = mesh.control_points
edges = mesh.edges

ตัวอย่างโค้ด

ตัวอย่างนี้แสดงการโหลดโมเดล 3 มิติจากไฟล์ OBJ พร้อมตัวเลือกการโหลด จากนั้นทำการเดินทางผ่านกราฟฉากเพื่อตรวจสอบเรขาคณิตของเมช Scene.from_file() รับเฉพาะเส้นทางไฟล์; ใช้ scene.open() เพื่อส่งตัวเลือกการโหลด.

from aspose.threed import Scene
from aspose.threed.entities import Mesh
from aspose.threed.formats import ObjLoadOptions

# Import an OBJ file with load options
# Note: Scene.from_file() takes only a file path argument.
# To pass options, use scene.open() instead.
options = ObjLoadOptions()
options.enable_materials = True
options.flip_coordinate_system = False

scene = Scene()
scene.open("model.obj", options)

# Access imported data
for node in scene.root_node.child_nodes:
    if node.entity and isinstance(node.entity, Mesh):
        mesh = node.entity
        print(f"Mesh: {node.name}")
        print(f"  Vertices: {len(mesh.control_points)}")
        print(f"  Polygons: {mesh.polygon_count}")

ดูเพิ่มเติม

Aspose.3D ช่วยให้การพัฒนา Python 3 มิติที่แข็งแกร่งสำหรับเครื่องมือการแสดงผลและแอปพลิเคชันแบบโต้ตอบ นักพัฒนาสามารถสร้างและจัดการฉาก 3 มิติ, นำเข้าไฟล์ OBJ พร้อมการโหลดวัสดุผ่าน ObjLoadOptions.enable_materials, ส่งออกไฟล์ OBJ โดยใช้ ObjExporter, และทำคณิตศาสตร์เวกเตอร์ระดับต่ำโดยใช้ประเภทที่มีในตัวเช่น Vector4 และ Matrix4.

 ภาษาไทย