Hoe 3D-scènes renderen naar afbeeldingen in .NET

Hoe 3D-scènes renderen naar afbeeldingen in .NET

Hoe 3D-scènes naar afbeeldingen renderen in .NET

Dit artikel legt uit hoe je een rasterafbeelding produceert vanuit een 3D-scène met behulp van Aspose.3D voor .NET. De minimale setup vereist een Camera, ten minste één Light, en een aanroep van Scene.Render.


Stap 1 — Installeer het pakket

dotnet add package Aspose.3D.FOSS

Stap 2 — Laad of bouw een scène

using Aspose.ThreeD;
using Aspose.ThreeD.Entities;

// Load an existing model
var scene = Scene.FromFile("model.fbx");

// Or build a scene in code
var scene = new Scene();
scene.RootNode.CreateChildNode("box", new Box(1, 1, 1));

Stap 3 — Voeg een camera toe

using Aspose.ThreeD.Entities;
using Aspose.ThreeD.Utilities;

var camera = new Camera(ProjectionType.Perspective);
camera.FieldOfViewY = 45.0;
camera.NearPlane = 0.1;
camera.FarPlane = 500.0;

Node camNode = scene.RootNode.CreateChildNode("camera", camera);
camNode.Transform.Translation = new Vector3(0, 5, 10);
camNode.Transform.EulerAngles = new Vector3(-30, 0, 0); // tilt down toward origin

Stap 4 — Voeg verlichting toe

var sun = new Light("sun") { LightType = LightType.Directional };
Node sunNode = scene.RootNode.CreateChildNode("sun", sun);
sunNode.Transform.EulerAngles = new Vector3(45, -30, 0);

var fill = new Light("fill") { LightType = LightType.Point, Intensity = 100 };
Node fillNode = scene.RootNode.CreateChildNode("fill", fill);
fillNode.Transform.Translation = new Vector3(-4, 6, 4);

Stap 5 — Renderen naar een afbeeldingsbestand

using Aspose.ThreeD.Utilities;

// size is Vector2; format is a string ("png", "jpg", "bmp")
scene.Render(camera, "output.png", new Vector2(1280, 720), "png");

Console.WriteLine("Rendered: output.png");

Tip: JPEG produceert kleinere bestanden voor screenshots. Gebruik "jpg" in plaats van "png" wanneer lossless kwaliteit niet vereist is.


Troubleshooting

SymptomWaarschijnlijke oorzaakOplossing
Zwarte uitvoerafbeeldingGeen lichten in de scèneVoeg minstens één Light node toe
Object niet zichtbaarCamera wijst in de verkeerde richtingControleer de doelcoördinaten van LookAt
Scene rendert leegGeometrie niet gekoppeld aan een nodeRoep CreateChildNode(name, entity) aan

Gerelateerde bronnen

Zie ook

 Nederlands