วิธีเริ่มต้นกับ 3D ใน Python

วิธีเริ่มต้นกับ 3D ใน Python

ข้อกำหนดเบื้องต้น

  • Python 3.8 หรือใหม่กว่า
  • ตัวจัดการแพ็กเกจ pip

ขั้นตอนที่ 1 — ติดตั้งแพคเกจ

ติดตั้ง Aspose.3D FOSS สำหรับ Python จาก PyPI:

pip install aspose-3d-foss

ตรวจสอบการติดตั้ง:

import aspose.threed as a3d
print(a3d.__version__)

ขั้นตอนที่ 2 — สร้างฉาก 3D แรกของคุณ

Scene คือคอนเทนเนอร์รากสำหรับวัตถุ 3D ทั้งหมด ตัวสร้างรับพารามิเตอร์ทางเลือก ได้แก่ เอนทิตี้, ฉากแม่, และชื่อ:

import aspose.threed as a3d

# Create an empty scene (CLM-3d-35d727)
scene = a3d.Scene()

# Access the root node of the scene (CLM-3d-859ac2)
root = scene.root_node()
print("Root node:", root)

ขั้นตอนที่ 3 — เพิ่ม Mesh ไปยังฉาก

Mesh แสดงถึงรูปทรงหลายเหลี่ยม.
Node แนบเอนทิตีเข้ากับกราฟฉาก:

import aspose.threed as a3d

scene = a3d.Scene()

# Create a named mesh (CLM-3d-529c11)
mesh = a3d.Mesh("my_mesh")

# Create a node and attach the mesh (CLM-3d-0edae8)
node = a3d.Node("my_node", mesh)

# Add the node as a child of the root (CLM-3d-a403f5)
scene.root_node().add_child_node(node)

ขั้นตอนที่ 4 — โหลดไฟล์ 3D ที่มีอยู่แล้ว

Scene.open() โหลดไฟล์ 3D จากดิสก์หรือสตรีม มันรับพาธและตัวเลือกการโหลดแบบเลือกได้
ตัวเลือกการโหลด:

import aspose.threed as a3d

# Load an OBJ file (CLM-3d-d84964)
scene = a3d.Scene()
scene.open("model.obj")

# Inspect the loaded scene
root = scene.root_node()
print("Child nodes:", len(root.child_nodes()))

เพื่อตรวจจับรูปแบบไฟล์ก่อนโหลด:

import aspose.threed as a3d

# Detect the format from a file name (CLM-3d-d2de62)
fmt = a3d.FileFormat.detect(None, "model.fbx")
if fmt:
    print("Detected format:", fmt.extension())

ขั้นตอนที่ 5 — บันทึกผลลัพธ์ลงไฟล์

Scene.save() ส่งออกฉากเป็นรูปแบบใดก็ได้ที่รองรับ วิธีที่แนะนำคือการตรวจจับอัตโนมัติตามส่วนขยาย: Aspose.3D สรุปรูปแบบจากส่วนขยายของไฟล์ (CLM-3d-8051bd, CLM-3d-b28d7a, CLM-3d-de8e1a):

import aspose.threed as a3d

scene = a3d.Scene()
# ... populate scene ...

# Save as Wavefront OBJ — extension auto-detects the format
scene.save("output.obj")

# Save as glTF 2.0 binary — .glb extension triggers binary GLB output
scene.save("output.glb")

คุณสามารถส่งรูปแบบที่ระบุโดยใช้เมธอด factory FileFormat.WAVEFRONT_OBJ()
หรือ FileFormat.GLTF2(), แต่การตรวจจับส่วนขยายอัตโนมัตินั้นง่ายกว่าและพกพาได้ดีกว่า.

ขั้นตอนต่อไป

 ภาษาไทย