Cara Merender Adegan 3D Menjadi Gambar di .NET

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.FOSS

Langkah 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 origin

Langkah 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

SymptomPenyebab KemungkinanPerbaiki
Gambar output hitamTidak ada cahaya dalam adeganTambahkan setidaknya satu Light node
Objek tidak terlihatKamera mengarah ke arah yang salahPeriksa LookAt koordinat target
Adegan merender kosongGeometri tidak terpasang pada nodePanggil CreateChildNode(name, entity)

Sumber Daya Terkait

Lihat Juga

 Bahasa Indonesia