.NET에서 3D 장면을 이미지로 렌더링하는 방법

.NET에서 3D 장면을 이미지로 렌더링하는 방법

.NET에서 3D 장면을 이미지로 렌더링하는 방법

이 문서에서는 .NET에 대해 Aspose.3D을 사용하여 3D 장면에서 래스터 이미지를 생성하는 방법을 설명합니다. 최소 설정에는 Camera, 최소 하나의 Light, 그리고 Scene.Render 호출이 필요합니다.


Step 1 — 패키지 설치

dotnet add package Aspose.3D.FOSS

Step 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));

Step 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

Step 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)를 호출하십시오

관련 리소스

참조

 한국어