कैसे .NET में 3D दृश्यों को छवियों में रेंडर करें

कैसे .NET में 3D दृश्यों को छवियों में रेंडर करें

.NET में 3D दृश्यों को छवियों में रेंडर करने की विधि

यह लेख बताता है कि .NET के लिए Aspose.3D का उपयोग करके 3D दृश्य से रास्टर छवि कैसे बनाई जाए। न्यूनतम सेटअप के लिए एक 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) को कॉल करें

संबंधित संसाधन

यह भी देखें

 हिन्दी