איך לרנדר סצנות 3D לתמונות ב-.NET

איך לרנדר סצנות 3D לתמונות ב-.NET

כיצד לרנדר סצנות תלת-ממד לתמונות ב-.NET

מאמר זה מסביר כיצד לייצר תמונת רסטר מסצנת תלת-ממד באמצעות 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)

משאבים קשורים

ראה גם

 עברית