تصيير المشاهد ثلاثية الأبعاد

تصيير المشاهد ثلاثية الأبعاد

تصيير المشاهد ثلاثية الأبعاد

Aspose.3D لـ .NET يمكنه تصيير مشهد إلى صورة نقطية. تتطلب خط أنابيب التصيير Camera (نقطة المشهد)، مصدرًا أو أكثر من Light، وImageRenderOptions (دقة وإخراج التنسيق). الفئة Renderer تدير مرحلة التصيير.


إعداد الكاميرا

أضف كيان Camera إلى عقدة المشهد. اضبط موضع الكاميرا عبر Transform الخاص بالعقدة، ووجّهها نحو هدف باستخدام LookAt:

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

var scene = new Scene();

// Create the camera entity
var camera = new Camera(ProjectionType.Perspective);
camera.NearPlane = 0.1;
camera.FarPlane = 1000.0;
camera.FieldOfViewY = 45.0;

// Attach to a node and position it
Node cameraNode = scene.RootNode.CreateChildNode("main_camera", camera);
cameraNode.Transform.Translation = new Vector3(0, 5, 10);
// Aim the camera toward the scene origin by rotating around the X axis
cameraNode.Transform.EulerAngles = new Vector3(-30, 0, 0);

للتصيير المتعامد، اضبط ProjectionType.Orthographic وحدد OrthoHeight.


إضافة الأضواء

المشاهد بدون إضاءة تُصَيِّر مظلمة تمامًا. أضف على الأقل Light واحدًا لإضاءة الهندسة:

using Aspose.ThreeD.Entities;

// Directional (sun-like) light
var sunLight = new Light("sun");
sunLight.LightType = LightType.Directional;
sunLight.Color = new Vector3(1.0, 1.0, 0.95); // slightly warm white
Node sunNode = scene.RootNode.CreateChildNode("sun", sunLight);
sunNode.Transform.EulerAngles = new Vector3(45, -30, 0); // direction in degrees

// Point light
var pointLight = new Light("fill");
pointLight.LightType = LightType.Point;
pointLight.Intensity = 150.0;
Node pointNode = scene.RootNode.CreateChildNode("fill_light", pointLight);
pointNode.Transform.Translation = new Vector3(-3, 4, 3);

التصيير إلى ملف صورة

استخدم Scene.Render مع ImageRenderOptions لإنشاء صورة PNG أو JPEG أو BMP:

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

// Render to a PNG file at 1280x720 — size is Vector2, format is a string
scene.Render(camera, "output.png", new Vector2(1280, 720), "png");

نصيحة: للاستخدام في الإنتاج، تأكد من وجود إضاءة اتجاهية أو إضاءة محيطة واحدة على الأقل. المشهد غير المضاء يُعرض كظل أو سطح أسود صلب حسب المادة.


API Quick Reference

Memberوصف
new Camera(projectionType)أنشئ كاميرا؛ استخدم ProjectionType.Perspective أو Orthographic
camera.FieldOfViewYمجال الرؤية العمودي بالدرجات (لمنظور فقط)
camera.NearPlaneمسافة مستوى القطع القريب
camera.FarPlaneمسافة مستوى القطع البعيد
new Light(name)إنشاء مصدر ضوء
light.LightTypeDirectional, Point, أو Spot
light.Intensityشدة الضوء (عدد عشري موجب)
light.Colorلون RGB كـ Vector3
new ImageRenderOptions()تكوين إخراج العرض (لون الخلفية، الظلال)
scene.Render(camera, path, size, format)عرض المشهد من منظور الكاميرا؛ size هو Vector2، format هو "png"، "jpg"، إلخ.

انظر أيضاً

 العربية