วิธีเรนเดอร์ฉาก 3D เป็นภาพใน .NET
วิธีการเรนเดอร์ฉาก 3 มิติเป็นภาพใน .NET
บทความนี้อธิบายวิธีการสร้างภาพเรสเตอร์จากฉาก 3 มิติโดยใช้ Aspose.3D สำหรับ .NET. การตั้งค่าขั้นต่ำต้องการ Camera, อย่างน้อยหนึ่ง Light, และการเรียก Scene.Render.
ขั้นตอนที่ 1 — ติดตั้งแพคเกจ
dotnet add package Aspose.3D.FOSSขั้นตอนที่ 2 — โหลดหรือสร้างฉาก
using Aspose.ThreeD;
using Aspose.ThreeD.Entities;
// Load an existing model
var scene = Scene.FromFile("model.fbx");
// Or build a scene in code
var scene = new Scene();
scene.RootNode.CreateChildNode("box", new Box(1, 1, 1));ขั้นตอนที่ 3 — เพิ่มกล้อง
using Aspose.ThreeD.Entities;
using Aspose.ThreeD.Utilities;
var camera = new Camera(ProjectionType.Perspective);
camera.FieldOfViewY = 45.0;
camera.NearPlane = 0.1;
camera.FarPlane = 500.0;
Node camNode = scene.RootNode.CreateChildNode("camera", camera);
camNode.Transform.Translation = new Vector3(0, 5, 10);
camNode.Transform.EulerAngles = new Vector3(-30, 0, 0); // tilt down toward originขั้นตอนที่ 4 — เพิ่มแสง
var sun = new Light("sun") { LightType = LightType.Directional };
Node sunNode = scene.RootNode.CreateChildNode("sun", sun);
sunNode.Transform.EulerAngles = new Vector3(45, -30, 0);
var fill = new Light("fill") { LightType = LightType.Point, Intensity = 100 };
Node fillNode = scene.RootNode.CreateChildNode("fill", fill);
fillNode.Transform.Translation = new Vector3(-4, 6, 4);ขั้นตอนที่ 5 — เรนเดอร์เป็นไฟล์รูปภาพ
using Aspose.ThreeD.Utilities;
// size is Vector2; format is a string ("png", "jpg", "bmp")
scene.Render(camera, "output.png", new Vector2(1280, 720), "png");
Console.WriteLine("Rendered: output.png");เคล็ดลับ: JPEG ทำให้ไฟล์ขนาดเล็กลงสำหรับภาพถ่ายหน้าจอ ใช้
"jpg"แทนที่"png"เมื่อไม่ต้องการคุณภาพแบบไม่มีการสูญเสีย.
Troubleshooting
| Symptom | สาเหตุที่เป็นไปได้ | แก้ไข |
|---|---|---|
| ภาพผลลัพธ์สีดำ | ไม่มีแสงในฉาก | เพิ่มอย่างน้อยหนึ่งโหนด Light |
| วัตถุไม่มองเห็น | กล้องชี้ไปผิดทิศทาง | ตรวจสอบพิกัดเป้าหมายของ LookAt |
| ฉากเรนเดอร์เป็นค่าว่าง | Geometry ไม่ได้แนบกับโหนด | เรียก CreateChildNode(name, entity) |
แหล่งข้อมูลที่เกี่ยวข้อง
- กำลังเรนเดอร์ฉาก 3D — คู่มือสำหรับนักพัฒนาพร้อมรายละเอียด API ครบถ้วน
- การทำงานกับวัสดุและการเชดดิ้ง — การตั้งค่าวัสดุมีผลต่อผลลัพธ์การเรนเดอร์