การใช้เอฟเฟกต์เลนส์ Fisheye กับ Aspose.3D สำหรับ .NET
การแนะนำ
คุณกำลังมองหาวิธีเพิ่มความดึงดูดใจให้กับฉาก 3D ของคุณหรือไม่? ดำดิ่งสู่โลกอันน่าทึ่งของเอฟเฟกต์เลนส์ฟิชอายด้วย Aspose.3D สำหรับ .NET บทช่วยสอนนี้จะแนะนำคุณทีละขั้นตอนเกี่ยวกับวิธีการใช้เอฟเฟ็กต์เลนส์ฟิชอายกับฉาก 3 มิติของคุณ ทำให้ฉากมีมุมมองที่มีเอกลักษณ์และน่าดึงดูด
ข้อกำหนดเบื้องต้น
ก่อนที่เราจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นต่อไปนี้:
- Aspose.3D สำหรับ .NET: ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไลบรารี Aspose.3D สำหรับ .NET แล้ว ถ้าไม่คุณสามารถดาวน์โหลดได้ ที่นี่ .
- ตัวอย่างฉาก 3 มิติ: เราจะทำงานกับไฟล์ฉาก 3 มิติตัวอย่าง (VirtualCity.glb) คุณสามารถใช้ฉากของคุณเองหรือดาวน์โหลดตัวอย่างได้จาก เอกสาร Aspose.3D .
นำเข้าเนมสเปซ
ในโปรเจ็กต์ .NET ของคุณ ให้รวมเนมสเปซที่จำเป็นเพื่อเข้าถึงฟังก์ชัน 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;
ขั้นตอนที่ 1: โหลดฉาก 3 มิติ
โหลดไฟล์ฉาก 3 มิติในโครงการของคุณโดยใช้รหัสต่อไปนี้:
Scene scene = new Scene(RunExamples.GetDataFilePath("VirtualCity.glb"));
ขั้นตอนที่ 2: ตั้งค่ากล้องและไฟ
สร้างกล้องและไฟเพื่อเพิ่มทัศนวิสัยในฉากของคุณ ปรับพารามิเตอร์เช่น NearPlane, FarPlane และ RotationMode ตามต้องการ:
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);
ขั้นตอนที่ 3: สร้าง Renderer และ Render Target
ตั้งค่าตัวเรนเดอร์และสร้างเป้าหมายการเรนเดอร์สำหรับคิวบ์แมปและพื้นผิว 2 มิติ:
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, 1024);
rt.CreateViewport(cam, RelativeRectangle.FromScale(0, 0, 1, 1));
renderer.Render(rt);
ขั้นตอนที่ 4: ใช้เอฟเฟ็กต์เลนส์ Fisheye
ดำเนินการหลังการประมวลผลเอฟเฟกต์เลนส์ฟิชอายบนแผนที่คิวบ์ที่เรนเดอร์แล้ว:
PostProcessing fisheye = renderer.GetPostProcessing("fisheye");
fisheye.FindProperty("fov").Value = 360.0;
fisheye.Input = rt.Targets[0];
renderer.Execute(fisheye, final);
((ITexture2D)final.Targets[0]).Save("Your Output Directory" + "fisheye.png", ImageFormat.Png);
บทสรุป
ยินดีด้วย! คุณใช้เอฟเฟกต์เลนส์ฟิชอายกับฉาก 3 มิติของคุณได้สำเร็จโดยใช้ Aspose.3D สำหรับ .NET ทดลองใช้ฉากและพารามิเตอร์ต่างๆ เพื่อปลดปล่อยความคิดสร้างสรรค์ของคุณ
คำถามที่พบบ่อย
ฉันสามารถใช้เอฟเฟ็กต์ฟิชอายกับฉาก 3D ใดๆ ได้หรือไม่
ได้ คุณสามารถใช้เอฟเฟ็กต์ฟิชอายกับฉาก 3D ใดก็ได้ ตรวจสอบให้แน่ใจว่าฉากได้รับการโหลดอย่างเหมาะสมและมีแสงสว่างเพื่อผลลัพธ์ที่ดีที่สุด
การปรับขอบเขตการมองเห็น (fov) เป็น 360 องศามีความสำคัญอย่างไร?
มุมมอง 360 องศาช่วยให้สามารถฉายภาพเป็นทรงกลมได้อย่างสมบูรณ์ สร้างเอฟเฟกต์ฟิชอายอันน่าทึ่ง
ฉันจะปรับแต่งแสงในฉาก 3D ของฉันได้อย่างไร
คุณสามารถปรับคุณสมบัติของไฟ เช่น ตำแหน่ง ประเภท และสี เพื่อให้ได้เอฟเฟ็กต์แสงที่ต้องการ
มีการจำกัดขนาดของฉาก 3D ที่สามารถประมวลผลได้หรือไม่?
ขนาดของฉาก 3D ถูกจำกัดโดยทรัพยากรระบบเป็นหลัก ตรวจสอบให้แน่ใจว่าฮาร์ดแวร์ของคุณสามารถรองรับขนาดของฉากของคุณได้
ฉันสามารถใช้รูปแบบเอาต์พุตอื่นแทน PNG สำหรับผลลัพธ์เอฟเฟกต์ฟิชอายได้หรือไม่
ได้ คุณสามารถแก้ไขโค้ดเพื่อบันทึกเอาต์พุตในรูปแบบรูปภาพต่างๆ ได้ตามความต้องการของคุณ