Render Panorama 3D dengan Mudah dengan Aspose.3D untuk .NET

Perkenalan

Membuat pemandangan 3D yang menawan dan mengubahnya menjadi pemandangan panorama telah menjadi aspek penting dalam aplikasi modern. Aspose.3D untuk .NET memberikan solusi tangguh bagi pengembang yang ingin mengintegrasikan kemampuan rendering 3D ke dalam proyek mereka dengan lancar. Dalam tutorial ini, kita akan menjelajahi proses rendering tampilan panorama adegan 3D menggunakan Aspose.3D untuk .NET.

Prasyarat

Sebelum masuk ke tutorial, pastikan Anda memiliki prasyarat berikut:

  • Aspose.3D untuk .NET: Unduh dan instal perpustakaan Aspose.3D. Anda dapat menemukan perpustakaan dan dokumentasi Di Sini .
  • Lingkungan Pengembangan .NET: Pastikan Anda memiliki lingkungan pengembangan .NET yang berfungsi di mesin Anda.
  • Contoh Adegan 3D: Unduh contoh file adegan 3D, misalnya, “VirtualCity.glb,” yang akan kita gunakan untuk merender tampilan panorama.

Impor Namespace

Di proyek .NET Anda, impor namespace yang diperlukan untuk bekerja dengan Aspose.3D:

using Aspose.ThreeD;
using Aspose.ThreeD.Entities;
using Aspose.ThreeD.Render;
using Aspose.ThreeD.Utilities;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;

Langkah 1: Muat Adegan 3D

Scene scene = new Scene(RunExamples.GetDataFilePath("VirtualCity.glb"));

Muat adegan 3D menggunakan Aspose.3D. Ganti “VirtualCity.glb” dengan jalur ke file adegan 3D yang Anda inginkan.

Langkah 2: Siapkan Kamera dan Lampu

Camera cam = new Camera(ProjectionType.Perspective)
{
    NearPlane = 0.1,
    FarPlane = 200,
    RotationMode = RotationMode.FixedDirection
};
scene.RootNode.CreateChildNode(cam).Transform.Translation = new Vector3(5, 6, 0);
scene.RootNode.CreateChildNode(new Light() { LightType = LightType.Point }).Transform.Translation = new Vector3(-10, 7, -10);
scene.RootNode.CreateChildNode(new Light()
{
    Color = new Vector3(Color.CadetBlue)
}).Transform.Translation = new Vector3(49, 0, 49);

Siapkan kamera dan lampu untuk menangkap pemandangan 3D dengan tepat.

Langkah 3: Buat Renderer dan Target Render

using (var renderer = Renderer.CreateRenderer())
{
    IRenderTexture rt = renderer.RenderFactory.CreateCubeRenderTexture(new RenderParameters(false), 512, 512);
    IRenderTexture final = renderer.RenderFactory.CreateRenderTexture(new RenderParameters(false, 32, 0, 0), 1024 * 3, 1024);

Buat penyaji dan tentukan target render untuk peta kubus dan gambar panorama akhir.

Langkah 4: Konfigurasikan Viewport dan Render

rt.CreateViewport(cam, RelativeRectangle.FromScale(0, 0, 1, 1));
renderer.Render(rt);

Konfigurasikan area pandang menggunakan kamera dan render peta kubus.

Langkah 5: Terapkan Pasca Pemrosesan untuk Tampilan Panorama

PostProcessing equirectangular = renderer.GetPostProcessing("equirectangular");
equirectangular.Input = rt.Targets[0];
renderer.Execute(equirectangular, final);

Terapkan pasca-pemrosesan proyeksi persegi panjang untuk menghasilkan tampilan panorama.

Langkah 6: Simpan Panorama yang Dirender

((ITexture2D)final.Targets[0]).Save("Your Output Directory" + "panorama.png", ImageFormat.Png);

Simpan gambar panorama yang dirender ke direktori keluaran tertentu.

Kesimpulan

Dengan Aspose.3D untuk .NET, merender tampilan panorama pemandangan 3D menjadi proses yang mudah. Sempurnakan aplikasi Anda dengan menggabungkan visualisasi 3D yang imersif secara mulus.

Pertanyaan yang Sering Diajukan

T: Dapatkah saya menggunakan adegan 3D khusus untuk merender panorama?

Ya, cukup ganti jalur file adegan sampel dengan jalur ke adegan 3D khusus Anda.

T: Apakah ada efek pasca-pemrosesan tambahan yang tersedia?

Aspose.3D untuk .NET menyediakan berbagai efek pasca-pemrosesan untuk menyempurnakan gambar yang dirender.

T: Bagaimana cara mengoptimalkan kinerja rendering?

Sesuaikan parameter render dan dimensi target berdasarkan kebutuhan aplikasi Anda.

Q: Dapatkah saya mengintegrasikan tutorial ini ke dalam aplikasi web?

Ya, dengan memasukkan Aspose.3D untuk .NET ke dalam proyek web .NET Anda.

T: Apakah ada forum komunitas untuk dukungan Aspose.3D?

Ya, kunjungi Forum Aspose.3D untuk dukungan masyarakat.