Vytvořte 3D scénu v C#

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:

  1. C# 3D API pro vytvoření 3D scény – bezplatné stažení
  2. Vytvořte jednoduchou 3D scénu v C#
  3. 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:

  1. Vytvořte instanci třídy Scene.
  2. Voláním metody CreateChildNode() přidáte nějakou geometrii, tvar, který se zobrazí na obrazovce, např. Válec.
  3. Nastavte vlastnosti podřízeného uzlu, jako je Materiál.
  4. Inicializujte objekt třídy Light.
  5. Voláním metody CreateChildNode() přidejte entitu Light.
  6. 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ů:

  1. Vytvořte instanci třídy Scene.
  2. Načtěte existující 3D dokument pomocí metody Open().
  3. Procházejte vlastnosti ChildNodes
  4. 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.

Viz také