Použití efektu rybího oka pomocí Aspose.3D pro .NET
Úvod
Chcete zlepšit vizuální přitažlivost svých 3D scén? Ponořte se do fascinujícího světa efektů rybího oka s Aspose.3D pro .NET. Tento tutoriál vás krok za krokem provede tím, jak aplikovat efekt rybího oka na vaše 3D scény, což jim poskytne jedinečnou a podmanivou perspektivu.
Předpoklady
Než začneme, ujistěte se, že máte splněny následující předpoklady:
- Aspose.3D for .NET: Ujistěte se, že máte nainstalovanou knihovnu Aspose.3D pro .NET. Pokud ne, můžete si jej stáhnout tady .
- Ukázka 3D scény: Budeme pracovat s ukázkovým souborem 3D scény (VirtualCity.glb). Můžete použít vlastní scénu nebo si stáhnout ukázku z Aspose.3D dokumentace .
Importovat jmenné prostory
Ve svém projektu .NET zahrňte potřebné jmenné prostory pro přístup k funkcím Aspose.3D. Na začátek kódu přidejte následující jmenné prostory:
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 3D scénu
Načtěte soubor 3D scény do svého projektu pomocí následujícího kódu:
Scene scene = new Scene(RunExamples.GetDataFilePath("VirtualCity.glb"));
Krok 2: Nastavte kameru a světla
Vytvořte kameru a světla pro vylepšení vizuálních aspektů vaší scény. Podle potřeby upravte parametry jako NearPlane, FarPlane a 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);
Krok 3: Vytvořte Renderer a Render Targets
Nastavte vykreslovací modul a vytvořte cíle vykreslení pro mapu krychle a 2D texturu:
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);
Krok 4: Aplikujte efekt rybího oka
Proveďte následné zpracování efektu rybího oka na vykreslené mapě krychle:
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);
Závěr
Gratulujeme! Úspěšně jste na svou 3D scénu použili efekt rybího oka pomocí Aspose.3D for .NET. Experimentujte s různými scénami a parametry, abyste popustili uzdu své kreativitě.
Často kladené otázky
Mohu použít efekt rybího oka na jakoukoli 3D scénu?
Ano, efekt rybího oka můžete použít na jakoukoli 3D scénu. Pro optimální výsledky se ujistěte, že je scéna správně načtena a osvětlena.
Jaký význam má nastavení zorného pole (fov) na 360 stupňů?
Zorné pole 360 stupňů zajišťuje kompletní sférickou projekci a vytváří úžasný efekt rybího oka.
Jak mohu přizpůsobit osvětlení ve své 3D scéně?
Můžete upravit vlastnosti světel, jako je poloha, typ a barva, abyste dosáhli požadovaných světelných efektů.
Existuje omezení velikosti 3D scény, kterou lze zpracovat?
Velikost 3D scény je primárně omezena systémovými prostředky. Ujistěte se, že váš hardware zvládne velikost vaší scény.
Mohu pro výsledek efektu rybího oka použít jiný výstupní formát místo PNG?
Ano, kód můžete upravit a uložit výstup v různých formátech obrázků na základě vašich požadavků.