title: “3D pro .NET s Aspose 3D FOSS” description: “Vyzkoušejte použití Aspose.3D FOSS pro .NET, včetně transformací, geometrie a dalších funkcí.”

prezentace

Aspose.3D FOSS je open-source .NET knihovna pro práci s 3D formáty souborů. Poskytuje kompletní sadu funkcí pro manipulaci, konverzi a generování 3D geometrie.

Tato publikace představuje hlavní možnosti knihovny: třídy i metody, které můžete použít podle potřeby, konstrukce matic, transformace a tvorbu geometrie.

Ať už pracujete s 3D aktivy v pipeline pro tvorbu, připravujete geometrické modely pro herní engine nebo převádíte mezi formáty, tyto nástroje řeší běžné úkoly, které vznikají v reálných 3D pracovních postupech.


Co je zahrnuto

Operace Ratholí

I A Mesh můžete vytvořit polygonální ukazatele vrcholů, velikost polygonů, tvary trojúhelníků a upravit data vrcholů. ControlPoints zajišťuje přístup k bodům, zatímco Polygons představuje ukazatel na tvary.

using Aspose.3D.Converter;

var scene = new Scene();
var mesh = new Mesh("CustomMesh");

// Add control points (vertices)
mesh.ControlPoints.Add(new Vector4(0, 0, 0));
mesh.ControlPoints.Add(new Vector4(10, 0, 0));
mesh.ControlPoints.Add(new Vector4(10, 10, 0));
mesh.ControlPoints.Add(new Vector4(0, 10, 0));

// Create a quad polygon from four vertices
mesh.CreatePolygon(0, 1, 2, 3);

// Triangulate all polygons in the mesh
mesh.Triangulate();

transformace konstrukce

I A TransformBuilder umožňuje na rozdíl od základní třídy rozhraní přidávat transformace, aby vznikla nová řada.

using Aspose.3D.Converter;

var builder = new TransformBuilder(ComposeOrder.Append);

// Build a combined transform: translate, then rotate, then scale
builder.Translate(5, 0, 3);
builder.RotateDegree(45, new Vector3(0, 1, 0));
builder.Scale(2, 2, 2);

// Retrieve the composed 4x4 matrix
Matrix4 result = builder.Matrix;

Polygona - Polygona

I A PolygonModifier v této třídě se používají metody pro úpravu polygonů. Triangulate metoda může převést libovolný polygon na trojúhelníky, což je požadováno většinou herních motorů a fyzikálních enginů.

using Aspose.3D.Converter;

var scene = new Scene();
var box = new Box(2, 2, 2);
Mesh boxMesh = box.ToMesh();

// Convert all polygons to triangles
Mesh triangulated = PolygonModifier.Triangulate(boxMesh);

Geografie původní

Knihovna obsahuje třídy geometrie Box, Sphere, Cylinder. Tyto třídy vytvářejí základní primitivy různých rozměrů a lze je převést na Mesh pomocí metody ToMesh() pro další zpracování nebo export.

using Aspose.3D.Converter;

// Create a parameterized sphere
var sphere = new Sphere(5.0, 32, 16);
Mesh sphereMesh = sphere.ToMesh();

// Create a cylinder (cone when one radius is zero)
var cone = new Cylinder(0, 3.0, 6.0);
Mesh coneMesh = cone.ToMesh();

Příběh na hranici

Každý Entity má podtřídu s metodou GetBoundingBox(), která vrací ohraničující krabici geometrie. BoundingBox poskytuje hodnoty Minimum i Maximum, užitečné pro kolizní výpočty i nastavení kamery.

using Aspose.3D.Converter;

var box = new Box(4, 2, 6);
BoundingBox bounds = box.GetBoundingBox();

FVector3 min = bounds.Minimum;
FVector3 max = bounds.Maximum;

Začíná rychlost

A pak:

dotnet add package Aspose.3D.FOSS

Stáhněte soubor, upravte scénu a uložte výsledek:

using Aspose.3D.Converter;

// Load a scene from an OBJ file
var scene = new Scene();
scene.Open("input.obj");

// Walk child nodes and triangulate each mesh entity
foreach (var node in scene.RootNode.ChildNodes)
{
    foreach (var entity in node.Entities)
    {
        if (entity is Mesh mesh)
        {
            mesh.Triangulate();
        }
    }
}

// Save the triangulated scene as glTF
scene.Save("output.glb");

Koordinátory podporují

FormátRozšířeníČteníZápis
Kolekce.ДИАAnoAno
FBX.ФЕКСAnoAno
GLTF / GLB.gltf / .glbAnoAno
3MF.3mfAnoNe
Přední strana La Vaga.vAnoAno
PLY.plyAnoNe
STL.stlAnoAno
TMF.tmfNeAno

Zkratky jsou otevřeny a licencovány

↑ „Můžete využít, upravit a distribuovat knihovnu v rámci dvou projektů s otevřeným vlastnictvím“. Více na stránce: Aspose-3D-FOSS-for-.NET.


Začíná