
Jednoduchá 3D scéna je trojrozměrné grafické znázornění geometrických dat. V tomto článku se naučíme, jak vytvořit 3D scénu pomocí C# od začátku, aniž byste museli instalovat jakýkoli 3D modelovací nebo renderovací software. 3D scénu uložíme ve formátu souboru FBX, což je populární formát 3D souborů používaný k výměně 3D formátů. FBX lze uložit na disk buď jako binární nebo ASCII datový soubor.
Tento článek bude obsahovat následující témata:
- C# 3D API pro vytvoření 3D scény – bezplatné stažení
- Vytvořte jednoduchou 3D scénu v C#
- Přečtěte si 3D scénu pomocí C#
C# 3D API pro vytvoření 3D scény – ke stažení zdarma
K vytvoření a čtení 3D scény budeme používat Aspose.3D for .NET API. Umožňuje vytvořit a uložit 3D scénu v podporovaných formátech. Umožňuje také práci s geometrií a hierarchií scén, animaci objektů ve scéně a konverzi 3D formátů souborů.
API poskytuje třídu Scene, což je objekt nejvyšší úrovně, který obsahuje uzly, geometrie, materiály, textury, animace, pozice, dílčí scény atd. Metoda CreateChildNode(Entity) vytvoří nový podřízený uzel s připojenou danou entitou. API poskytuje model stínování pro LambertMaterial, PhongMaterial a ShaderMaterial. Světlo osvětluje scénu, třída Light API umožňuje přidat do scény nějaké světlo.
Prosím buď stáhněte si DLL API, nebo jej nainstalujte pomocí NuGet.
PM> Install-Package Aspose.3D
Vytvořte jednoduchou 3D scénu pomocí C#
Pomocí následujících kroků můžeme vytvořit jednoduchou 3D scénu:
- Vytvořte instanci třídy Scene.
- Voláním metody CreateChildNode() přidáte nějakou geometrii, tvar, který se zobrazí na obrazovce, např. Válec.
- Nastavte vlastnosti podřízeného uzlu, jako je Materiál.
- Inicializujte objekt třídy Light.
- Voláním metody CreateChildNode() přidejte entitu Light.
- Nakonec uložte scénu jako FBX pomocí metody Save(). Jako argumenty bere cestu k výstupnímu souboru a FileFormat.FBX7500ASCII.
Následující ukázka kódu ukazuje, jak vytvořit jednoduchou 3D scénu pomocí C#.
// Tento příklad kódu ukazuje, jak vytvořit jednoduchou 3D scénu v souboru FBX.
// Inicializujte 3D scénu
var scene = new Scene();
// Inicializujte objekt Cylinder
var cylinder = new Cylinder();
cylinder.Name = "Cylinder";
// Vytvořte podřízený uzel a přidejte objekt Cylinder
var node = scene.RootNode.CreateChildNode(cylinder);
// Nastavte vlastnosti podřízeného uzlu
var material = new LambertMaterial() { DiffuseColor = new Vector3(Color.LightBlue) };
material.Name = "Lambert";
node.Material = material;
// Přidat světelnou entitu
var light = new Light() { LightType = LightType.Point };
light.Name = "Light";
scene.RootNode.CreateChildNode(light).Transform.Translation = new Vector3(10, 0, 10);
// Cesta k výstupnímu souboru
var output = @"C:\Files\3D\document.fbx";
// Uložit dokument 3D scény
scene.Save(output, FileFormat.FBX7500ASCII);
Číst 3D scénu pomocí C#
3D scénu můžeme přečíst z dokumentu FBX podle následujících kroků:
- Vytvořte instanci třídy Scene.
- Načtěte existující 3D dokument pomocí metody Open().
- Procházejte vlastnosti ChildNodes
- Nakonec zobrazte hodnoty vlastností.
Následující ukázka kódu ukazuje, jak načíst a přečíst 3D scénu pomocí C#.
// Tento příklad kódu ukazuje, jak číst 3D scénu ze souboru FBX
// Inicializujte objekt třídy Scene
Scene scene = new Scene();
// Načtěte existující 3D dokument
scene.Open(@"C:\Files\3D\document.fbx");
foreach(var node in scene.RootNode.ChildNodes)
{
var entity = node.Entity;
Console.WriteLine("{0}", entity.Name);
if (node.Material != null)
{
Material material = node.Material;
Console.WriteLine("{0}", material.Name);
PropertyCollection props = material.Properties;
//Vypište všechny vlastnosti pomocí foreach
foreach (var prop in props)
{
Console.WriteLine("{0} = {1}", prop.Name, prop.Value);
}
//nebo pomocí řadové smyčky for
for (int i = 0; i < props.Count; i++)
{
var prop = props[i];
Console.WriteLine("{0} = {1}", prop.Name, prop.Value);
}
}
}
Získejte bezplatnou dočasnou licenci
Můžete získat bezplatnou dočasnou licenci a vyzkoušet Aspose.3D pro .NET bez omezení hodnocení.
Závěr
V tomto článku jsme se naučili, jak:
- vytvořit 3D scénu programově;
- přidat objekty/entity do 3D scény, jako je válec, materiál, světlo atd.;
- číst podřízené poznámky a vlastnosti 3D scény v C#.
Kromě vytváření a čtení 3D scény v C# se můžete dozvědět více o Aspose.3D for .NET API pomocí dokumentace. V případě jakýchkoliv nejasností nás prosím neváhejte kontaktovat na našem bezplatném fóru podpory.