Πώς να αποδώσετε 3D Σκηνές σε Εικόνες στο .NET

Πώς να αποδώσετε 3D Σκηνές σε Εικόνες στο .NET

Πώς να αποδώσετε 3Δ σκηνές σε εικόνες στο .NET

Αυτό το άρθρο εξηγεί πώς να παράγετε μια raster εικόνα από μια 3Δ σκηνή χρησιμοποιώντας το Aspose.3D για το .NET. Η ελάχιστη διαμόρφωση απαιτεί ένα Camera, τουλάχιστον ένα Light και μια κλήση στο Scene.Render.


Βήμα 1 — Εγκατάσταση του πακέτου

dotnet add package Aspose.3D.FOSS

Βήμα 2 — Φόρτωση ή δημιουργία μιας σκηνής

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));

Βήμα 3 — Προσθήκη κάμερας

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

Βήμα 4 — Προσθήκη φωτισμού

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);

Βήμα 5 — Απόδοση σε αρχείο εικόνας

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");

Συμβουλή: Το JPEG παράγει μικρότερα αρχεία για στιγμιότυπα οθόνης. Χρησιμοποιήστε "jpg" αντί για "png" όταν δεν απαιτείται απώλεια ποιότητας.


Troubleshooting

SymptomΠιθανή ΑιτίαΔιόρθωση
Μαύρη εικόνα εξόδουΔεν υπάρχουν φώτα στη σκηνήΠροσθέστε τουλάχιστον έναν κόμβο Light
Το αντικείμενο δεν είναι ορατόΗ κάμερα δείχνει προς τη λάθος κατεύθυνσηΕλέγξτε τις συντεταγμένες στόχου του LookAt
Η σκηνή αποδίδει κενήΗ γεωμετρία δεν είναι προσαρτημένη σε κόμβοΚλήση CreateChildNode(name, entity)

Σχετικοί πόροι

Δείτε επίσης

 Ελληνικά