3D Sahneleri Görsellere .NET içinde Nasıl Render Edilir
3D Sahneleri Görsellere .NET içinde Nasıl Render’lanır
Bu makale, .NET için Aspose.3D kullanarak bir 3D sahneden raster görüntü oluşturmayı açıklar. Minimum kurulum bir Camera, en az bir Light ve bir Scene.Render çağrısı gerektirir.
Adım 1 — Paketi Kurun
dotnet add package Aspose.3D.FOSSAdım 2 — Bir Sahne Yükleyin veya Oluşturun
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));Adım 3 — Bir Kamera Ekleyin
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 originAdım 4 — Işıklar Ekleyin
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);Adım 5 — Görüntü Dosyasına Renderla
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");İpucu: JPEG, ekran görüntüleri için daha küçük dosyalar üretir. Kullan
"jpg"şunun yerine"png"kayıpsız kalite gerekmediğinde.
Troubleshooting
| Symptom | Olası Neden | Düzeltme |
|---|---|---|
| Siyah çıktı görüntüsü | Sahnede ışık yok | En az bir Light düğümü ekleyin |
| Nesne görünür değil | Kamera yanlış yöne bakıyor | LookAt hedef koordinatlarını kontrol edin |
| Sahne boş render ediyor | Geometri bir düğüme eklenmemiş | CreateChildNode(name, entity) çağırın |
İlgili Kaynaklar
- 3D sahneler render ediliyor — tam API detaylarıyla geliştirici rehberi
- Malzemeler ve Gölgelendirme ile Çalışma — malzeme ayarı render çıktısını etkiler