Cara Merender Adegan 3D Menjadi Gambar di .NET
Cara Merender Adegan 3D menjadi Gambar di .NET
Artikel ini menjelaskan cara menghasilkan gambar raster dari adegan 3D menggunakan Aspose.3D untuk .NET. Setup minimum memerlukan Camera, setidaknya satu Light, dan pemanggilan Scene.Render.
Langkah 1 — Instal Paket
dotnet add package Aspose.3D.FOSSLangkah 2 — Muat atau Bangun Adegan
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));Langkah 3 — Tambahkan Kamera
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 originLangkah 4 — Tambahkan Lampu
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);Langkah 5 — Render ke Berkas Gambar
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");Tip: JPEG menghasilkan file yang lebih kecil untuk tangkapan layar. Gunakan
"jpg"daripada"png"ketika kualitas lossless tidak diperlukan.
Troubleshooting
| Symptom | Penyebab Kemungkinan | Perbaiki |
|---|---|---|
| Gambar output hitam | Tidak ada cahaya dalam adegan | Tambahkan setidaknya satu Light node |
| Objek tidak terlihat | Kamera mengarah ke arah yang salah | Periksa LookAt koordinat target |
| Adegan merender kosong | Geometri tidak terpasang pada node | Panggil CreateChildNode(name, entity) |
Sumber Daya Terkait
- Merender Adegan 3D — panduan pengembang dengan detail lengkap API
- Bekerja dengan Material dan Shading — pengaturan material memengaruhi output render