การสร้างแบบจำลอง 3 มิติและการสร้างภาพกลายเป็นส่วนสำคัญของอุตสาหกรรมต่างๆ เช่น เกม สถาปัตยกรรม และความจริงเสมือน ในบทความนี้ เราจะสำรวจวิธีการทำงานกับโมเดล 3 มิติใน Python โดยเน้นไปที่การสร้างและอ่านฉากโมเดล 3 มิติ เราจะสำรวจไลบรารี Aspose.3D ใน Python ซึ่งเป็นเครื่องมือที่มีประสิทธิภาพและใช้งานง่ายสำหรับการสร้าง จัดการ และอ่านโมเดล 3 มิติ มาดำดิ่งสู่การสร้างแบบจำลอง 3 มิติด้วย Python กันเถอะ!
บทความนี้ครอบคลุมหัวข้อต่อไปนี้:
- ไลบรารี Python 3D – 3D ใน Python
- สร้างฉาก 3 มิติอย่างง่ายใน Python
- สร้างวัสดุในฉาก 3 มิติ
- เพิ่มแสงให้กับฉาก 3 มิติ
- สร้าง Primitive 3D Model ใน Python
- อ่าน 3D Scene ใน Python
Python 3D Library – 3D ใน Python
Aspose.3D for Python เป็นโซลูชันการสร้างแบบจำลอง 3 มิติที่หลากหลาย เต็มไปด้วยฟีเจอร์ และมีประสิทธิภาพสูงสำหรับนักพัฒนา Python มีชุดคุณสมบัติที่ครอบคลุมที่ช่วยให้ผู้ใช้สร้าง อ่าน และแก้ไขโมเดล 3 มิติได้อย่างง่ายดาย คุณสมบัติหลักบางประการของไลบรารี Python 3D ได้แก่:
- รองรับรูปแบบไฟล์ 3 มิติยอดนิยม เช่น FBX, OBJ, STL และอื่นๆ
- ความสามารถในการเรนเดอร์และการสร้างภาพ 3 มิติประสิทธิภาพสูง
- เครื่องมือจัดการและจัดการฉากขั้นสูง
- เอกสารประกอบและตัวอย่างโค้ดมากมายเพื่อช่วยให้นักพัฒนาเริ่มต้นได้อย่างรวดเร็ว
โปรด ดาวน์โหลดแพ็คเกจ หรือ ติดตั้ง API จาก PyPI โดยใช้คำสั่ง pip ต่อไปนี้ในคอนโซล:
pip install aspose-3d
สร้างฉาก 3 มิติพื้นฐานใน Python
เราสามารถสร้างฉาก 3 มิติอย่างง่ายได้โดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Scene
- หลังจากนั้น เรียกใช้เมธอด createchildnode() เพื่อเพิ่มรูปทรงเรขาคณิต รูปทรงที่จะแสดงบนหน้าจอ เช่น ทรงกลม
- สุดท้าย บันทึกฉากเป็น FBX โดยใช้วิธี save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างฉาก 3 มิติอย่างง่ายใน Python
# ตัวอย่างโค้ดนี้สาธิตวิธีสร้างฉาก 3D พื้นฐาน
from aspose.threed import Scene
from aspose.threed.entities import Sphere
# สร้างวัตถุของคลาส Scene
scene = Scene()
# สร้างแบบจำลอง Sphere
scene.root_node.create_child_node("Sphere", Sphere())
# บันทึกเอกสารฉาก 3 มิติ
scene.save("C:\\Files\\my_scene.fbx")
สร้างวัสดุในฉาก 3 มิติโดยใช้ Python
เราสามารถสร้างวัสดุด้วยสีกระจายในฉาก 3 มิติโดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Scene
- เรียกใช้เมธอด createchildnode() เพื่อเพิ่มทรงกลม
- เริ่มต้นวัตถุคลาส LambertMaterial
- ระบุคุณสมบัติของสีกระจายและชื่อ
- หลังจากนั้น ให้กำหนดวัตถุที่เป็นวัสดุให้กับโมเดล Sphere
- สุดท้าย บันทึกฉากเป็น FBX โดยใช้วิธี save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างวัสดุที่มีสีกระจายในฉาก 3 มิติโดยใช้ Python
# ตัวอย่างโค้ดนี้สาธิตวิธีสร้างเนื้อหาในฉาก 3 มิติ
from aspose.threed import Scene
from aspose.threed.entities import Sphere
from aspose.threed.utilities import MathUtils, Vector3
from aspose.threed.shading import LambertMaterial
from aspose.pydrawing import Color
# สร้างวัตถุของคลาส Scene
scene = Scene()
# สร้างแบบจำลอง Sphere
node = scene.root_node.create_child_node("Sphere", Sphere())
# ชุดวัสดุแลมเบิร์ต
material = LambertMaterial()
material.diffuse_color = Vector3(Color.red)
material.name = "Lambert"
# กำหนดให้กับ Sphere Model
node.material = material
# บันทึกเอกสารฉาก 3 มิติ
scene.save("C:\\Files\\material_scene.fbx")
เพิ่มแสงให้กับฉาก 3 มิติโดยใช้ Python
เรายังสามารถเพิ่มแสงให้กับฉาก 3 มิติได้โดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Scene
- เรียกใช้เมธอด createchildnode() เพื่อเพิ่มทรงกลม
- เริ่มต้นวัตถุคลาส Light
- ระบุคุณสมบัติ lighttype และชื่อ
- หลังจากนั้น ให้เรียกเมธอด createchildnode() เพื่อเพิ่มเอนทิตีแบบเบา
- สุดท้าย บันทึกฉากเป็น FBX โดยใช้วิธี save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างแสงในฉาก 3 มิติโดยใช้ Python
# ตัวอย่างโค้ดนี้สาธิตวิธีสร้างแสงในฉาก 3 มิติ
from aspose.threed import Scene
from aspose.threed.entities import Sphere, Light, LightType
from aspose.threed.utilities import MathUtils, Vector3
from aspose.threed.shading import LambertMaterial
from aspose.pydrawing import Color
# สร้างวัตถุของคลาส Scene
scene = Scene()
# สร้างแบบจำลอง Sphere
scene.root_node.create_child_node("Sphere", Sphere())
# เพิ่มเอนทิตี Light
light = Light()
# ไฟจุด
light.light_type = 0
# ชื่อ
light.name = "Light";
# เพิ่มเข้าไปในฉาก
scene.root_node.create_child_node(light).transform.translation = Vector3(10, 0, 10);
# บันทึกเอกสารฉาก 3 มิติ
scene.save("C:\\Files\\light_scene.fbx")
Python โมเดล 3 มิติดั้งเดิม
ดั้งเดิมคือรูปทรงเรขาคณิตสามมิติที่เป็นพื้นฐานในการสร้างรูปทรงเรขาคณิตที่ซับซ้อน เราสามารถสร้างแบบจำลอง 3 มิติดั้งเดิมได้โดยทำตามขั้นตอนที่กล่าวถึงก่อนหน้านี้ อย่างไรก็ตาม เราจำเป็นต้องเพิ่มรูปทรงเรขาคณิตหรือวัตถุหลายๆ ชิ้น ดังตัวอย่างโค้ดด้านล่าง:
# ตัวอย่างโค้ดนี้สาธิตวิธีสร้างโมเดล 3 มิติดั้งเดิม
from aspose.threed import Scene
from aspose.threed.entities import Box, Cylinder
from aspose.threed.utilities import MathUtils, Vector3
# เริ่มต้นวัตถุฉาก
scene = Scene()
# สร้างโมเดลกล่อง
box = Box();
box.name = "Box";
scene.root_node.create_child_node(box)
# สร้างแบบจำลองกระบอกสูบ
cylinder = Cylinder();
cylinder.name = "Cylinder";
scene.root_node.create_child_node(cylinder)
# บันทึกเอกสารฉาก 3 มิติ
scene.save("C:\\Files\\primitive_scene.fbx")
อ่าน 3D Scene ใน Python
เราสามารถอ่านฉาก 3 มิติจากเอกสาร FBX โดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Scene
- โหลดเอกสาร 3 มิติที่มีอยู่โดยใช้เมธอด open()
- วนซ้ำโหนดย่อย
- สุดท้าย แสดงค่าคุณสมบัติ
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีโหลดและอ่านฉาก 3 มิติใน Python
# ตัวอย่างโค้ดนี้สาธิตวิธีการอ่านฉาก 3 มิติ
from aspose.threed import Scene
# เริ่มต้นวัตถุคลาสฉาก
scene = Scene()
# โหลดเอกสาร 3D ที่มีอยู่
scene.open("C:\\Files\\primitive_scene.fbx")
for node in scene.root_node.child_nodes:
entity = node.entity;
print("{0}", entity.name);
{0} Box
{0} Cylinder
รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวฟรี เพื่อลองใช้ Aspose.3D for Python โดยไม่มีข้อจำกัดในการประเมิน
3D ใน Python – แหล่งข้อมูลการเรียนรู้ Python 3D Library
คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับการสร้างและจัดการโมเดลและฉาก 3 มิติใน Python และสำรวจคุณสมบัติอื่นๆ ของไลบรารีโดยใช้แหล่งข้อมูลด้านล่าง:
บทสรุป
ในบทความนี้ เราจะแนะนำไลบรารี Aspose.3D และแสดงความสามารถในการสร้าง อ่าน และจัดการโมเดล 3 มิติใน Python ด้วยการรองรับ รูปแบบไฟล์ 3D การจัดการฉากขั้นสูงและการเรนเดอร์ที่มีประสิทธิภาพสูง ไลบรารี Aspose.3D จึงเป็นเครื่องมือล้ำค่าสำหรับนักพัฒนา Python ที่ทำงานกับเนื้อหา 3 มิติ ด้วยการใช้ไลบรารี Aspose.3D คุณสามารถปรับปรุงโครงการสร้างแบบจำลอง 3 มิติและสร้างฉาก 3 มิติที่น่าทึ่งได้อย่างง่ายดาย ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรัมสนับสนุนฟรี