Πώς να αποδώσετε 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) |
Σχετικοί πόροι
- Απόδοση 3D Σκηνών — οδηγός προγραμματιστή με πλήρεις λεπτομέρειες API
- Εργασία με Υλικά και Σκίαση — η διαμόρφωση του υλικού επηρεάζει το αποτέλεσμα της απόδοσης