Vykreslování scény do mapy krychle se šesti tvářemi

Úvod

Vítejte v tomto podrobném průvodci vykreslováním scény do mapy krychle se šesti plochami pomocí Aspose.3D pro .NET. V tomto tutoriálu vás provedeme procesem vytváření úžasné mapy krychle vykreslením 3D scény. Aspose.3D je výkonné rozhraní .NET API, které zjednodušuje manipulaci s 3D grafikou, as tímto průvodcem využijete jeho schopnosti k vytvoření úchvatných map cubemap.

Předpoklady

Než se pustíme do výukového programu, ujistěte se, že máte splněny následující předpoklady:

  • Pracovní znalost vývoje C# a .NET.
  • Aspose.3D pro .NET nainstalován. Můžete si jej stáhnout tady .
  • Soubor 3D scény ve formátu GLB (např. „VirtualCity.glb“) pro vykreslení.

Importovat jmenné prostory

Začněte importováním potřebných jmenných prostorů pro Aspose.3D do vašeho kódu 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;

Krok 1: Načtěte scénu

Načtěte soubor 3D scény pomocí následujícího kódu:

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

Krok 2: Vytvořte fotoaparát a světla

Vytvořte kameru a dvě světla pro osvětlení scény:

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);

Krok 3: Vytvořte Renderer a Render Target

Vytvořte renderer a cíl vykreslení mapy krychle s texturou hloubky:

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;

Krok 4: Uložte Cubemap Faces

Uložte každou plochu mapy krychle na disk se zadanými názvy souborů:

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);

Závěr

Gratulujeme! Úspěšně jste vyrenderovali 3D scénu do cubemap pomocí Aspose.3D for .NET. Prozkoumejte další možnosti přizpůsobení a vylepšete své 3D grafické projekty pomocí tohoto výkonného API.

Často kladené otázky

Otázka: Mohu použít Aspose.3D pro .NET s jinými formáty 3D souborů?

Ano, Aspose.3D podporuje různé formáty 3D souborů a poskytuje flexibilitu ve vašich projektech.

Otázka: Jak mohu získat podporu pro Aspose.3D?

Navštivte Aspose.3D fórum za podporu komunity a diskuze.

Otázka: Je k dispozici bezplatná zkušební verze?

Ano, máte přístup k bezplatné zkušební verzi tady .

Otázka: Mohu renderovat scény s animacemi pomocí Aspose.3D?

Absolutně! Aspose.3D podporuje vykreslování animovaných 3D scén.

Otázka: Kde najdu podrobnou dokumentaci?

Odkazovat na Aspose.3D dokumentace pro podrobné informace.