การเรนเดอร์ฉากลงใน Cubemap ด้วย Six Faces

การแนะนำ

ยินดีต้อนรับสู่คำแนะนำทีละขั้นตอนในการเรนเดอร์ฉากลงในคิวบ์แมปที่มีหกใบหน้าโดยใช้ Aspose.3D สำหรับ .NET ในบทช่วยสอนนี้ เราจะแนะนำคุณตลอดขั้นตอนการสร้างคิวบ์แมปที่น่าทึ่งด้วยการแสดงฉาก 3 มิติ Aspose.3D เป็น .NET API อันทรงพลังที่ทำให้การจัดการกราฟิก 3 มิติง่ายขึ้น และด้วยคำแนะนำนี้ คุณจะควบคุมความสามารถของมันในการสร้างคิวบ์แมปที่น่าดึงดูด

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะเจาะลึกบทช่วยสอน ตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นต่อไปนี้:

  • ความรู้ด้านการทำงานของการพัฒนา C# และ .NET
  • ติดตั้ง Aspose.3D สำหรับ .NET แล้ว คุณสามารถดาวน์โหลดได้ ที่นี่ .
  • ไฟล์ฉาก 3 มิติในรูปแบบ GLB (เช่น “VirtualCity.glb”) สำหรับการเรนเดอร์

นำเข้าเนมสเปซ

เริ่มต้นด้วยการนำเข้าเนมสเปซที่จำเป็นสำหรับ Aspose.3D ในโค้ด C# ของคุณ:

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 มิติโดยใช้รหัสต่อไปนี้:

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

ขั้นตอนที่ 2: สร้างกล้องและไฟ

สร้างกล้องและไฟสองดวงเพื่อให้แสงสว่างแก่ฉาก:

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

สร้างตัวเรนเดอร์และเป้าหมายการเรนเดอร์แมปคิวบ์ด้วยพื้นผิวเชิงลึก:

using (var renderer = Renderer.CreateRenderer())
{
    IRenderTexture rt = renderer.RenderFactory.CreateCubeRenderTexture(new RenderParameters(false), 512, 512);
    rt.CreateViewport(cam, RelativeRectangle.FromScale(0, 0, 1, 1));
    renderer.Render(rt);
    ITextureCubemap cubemap = rt.Targets[0] as ITextureCubemap;

ขั้นตอนที่ 4: บันทึกใบหน้า Cubemap

บันทึกแต่ละหน้าของ cubemap ลงในดิสก์ด้วยชื่อไฟล์ที่ระบุ:

CubeFaceData<string> fileNames = new CubeFaceData<string>()
{
    Right = "Your Output Directory" + "right.png",
    Left = "Your Output Directory" + "left.png",
    Back = "Your Output Directory" + "back.png",
    Front = "Your Output Directory" + "front.png",
    Bottom = "Your Output Directory" + "bottom.png",
    Top = "Your Output Directory" + "top.png"
};
cubemap.Save(fileNames, ImageFormat.Png);

บทสรุป

ยินดีด้วย! คุณเรนเดอร์ฉาก 3 มิติลงใน cubemap ได้สำเร็จโดยใช้ Aspose.3D สำหรับ .NET สำรวจตัวเลือกการปรับแต่งเพิ่มเติมและปรับปรุงโปรเจ็กต์กราฟิก 3 มิติของคุณด้วย API อันทรงพลังนี้

คำถามที่พบบ่อย

ถาม: ฉันสามารถใช้ Aspose.3D สำหรับ .NET กับไฟล์ 3D รูปแบบอื่นได้หรือไม่

ใช่ Aspose.3D รองรับรูปแบบไฟล์ 3D ที่หลากหลาย ซึ่งให้ความยืดหยุ่นในโครงการของคุณ

ถาม: ฉันจะรับการสนับสนุนสำหรับ Aspose.3D ได้อย่างไร

เยี่ยมชม ฟอรั่ม Aspose.3D สำหรับการสนับสนุนและการอภิปรายของชุมชน

ถาม: มีการทดลองใช้ฟรีหรือไม่?

ใช่ คุณสามารถเข้าถึงการทดลองใช้ฟรีได้ ที่นี่ .

ถาม: ฉันสามารถเรนเดอร์ฉากต่างๆ ด้วยแอนิเมชั่นโดยใช้ Aspose.3D ได้หรือไม่

อย่างแน่นอน! Aspose.3D รองรับการเรนเดอร์ฉาก 3D แบบเคลื่อนไหว

ถาม: ฉันจะหาเอกสารโดยละเอียดได้จากที่ไหน?

อ้างถึง เอกสาร Aspose.3D เพื่อข้อมูลเชิงลึก