רינדור סצנות תלת-ממד
רינדור סצנות תלת-ממד
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.LightType | Directional, Point, או Spot |
light.Intensity | עוצמת אור (מספר צף חיובי) |
light.Color | צבע RGB כ-Vector3 |
new ImageRenderOptions() | תצורת פלט רינדור (צבע רקע, צללים) |
scene.Render(camera, path, size, format) | רינדור הסצנה מנקודת המבט של המצלמה; size הוא Vector2, format הוא "png", "jpg", וכו'. |
ראה גם
- Aspose.3D for .NET — Enterprise Documentation
- עבודה עם חומרים והצללה — חומרים PBR ו-Phong משפיעים על פלט הרינדור