彩票走势图

3D控件Aspose.3D入门教程(7):在Aspose.3D中使用 C# 创建 3D 场景

翻译|使用教程|编辑:胡涛|2022-09-14 09:38:28.780|阅读 309 次

概述:本文主要介绍如何在Aspose.3D中使用 C# 创建 3D 场景,欢迎体验~

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Aspose.3D是一个功能丰富的游戏软件和计算机辅助设计(CAD)的API,可以在不依赖任何3D建模和渲染软件的情况下操作文档。API支持Discreet3DS, WavefrontOBJ, FBX (ASCII, Binary), STL (ASCII, Binary), Universal3D, Collada, glTF, GLB, PLY, DirectX, Google Draco文件格式等等。开发人员可以轻松地创建,读取,转换,修改和控制3D文件格式的实质。

Aspose.3D 最新下载

简单的 3D 场景是几何数据的三维图形表示。在本文中,我们将学习如何使用 C# 从头开始创建 3D 场景,而无需安装任何 3D 建模或渲染软件。我们将以FBX文件格式保存 3D 场景,这是一种用于交换 3D 格式的流行 3D 文件格式。FBX 可以作为二进制或 ASCII 数据文件保存在磁盘上。

(一) 下载用于创建 3D 场景的 C# API

为了创建和读取 3D 场景,我们将使用Aspose.3D for .NET API。它允许以支持的格式创建和保存 3D 场景。它还可以处理几何和场景层次结构、场景中的对象动画以及 3D 文件格式的转换。

API 提供Scene类,它是一个顶级对象,包含节点、几何图形、材质、纹理、动画、姿势、子场景等。CreateChildNode(Entity)方法创建一个新的子节点,并附加给定的实体. API 为LambertMaterial、PhongMaterial和ShaderMaterial提供着色模型。灯光照亮场景,API 的Light类可以为场景添加一些灯光。

请下载 API 的 DLL或使用NuGet安装它。

PM> Install-Package Aspose.3D
(二) 在 C# 中创建一个简单的 3D 场景

我们可以按照以下步骤创建一个简单的 3D 场景:

  1. 创建Scene类的实例。
  2. 调用CreateChildNode()方法来添加一些几何图形,一个在屏幕上显示的形状,例如圆柱体。
  3. 设置子节点属性,例如Material。
  4. 初始化一个Light类对象。
  5. 调用CreateChildNode()方法添加Light实体。
  6. 最后,使用Save()方法将场景保存为 FBX 。它将输出文件路径和FileFormat.FBX7500ASCII作为参数。

以下代码示例展示了如何使用 C# 创建简单的 3D 场景

// This code example demonstrates how to create a simple 3D scene in FBX file.
// Initialize 3D scene
var scene = new Scene();

// Initialize Cylinder object
var cylinder = new Cylinder();
cylinder.Name = "Cylinder";

// Create a child node and add Cylinder object
var node = scene.RootNode.CreateChildNode(cylinder);

// Set child node properites
var material = new LambertMaterial() { DiffuseColor = new Vector3(Color.LightBlue) };
material.Name = "Lambert";
node.Material = material;

// Add Light entity
var light = new Light() { LightType = LightType.Point };
light.Name = "Light";
scene.RootNode.CreateChildNode(light).Transform.Translation = new Vector3(10, 0, 10);

// Output file path
var output = @"C:\Files\3D\document.fbx";

// Save 3D scene document
scene.Save(output, FileFormat.FBX7500ASCII);
(三) 使用 C# 读取 3D 场景

我们可以按照以下步骤从 FBX 文档中读取 3D 场景:

  1. 创建Scene类的实例。
  2. 使用Open()方法加载现有的 3D 文档。
  3. 循环遍历ChildNodes属性
  4. 最后,显示属性值。

以下代码示例展示了如何使用 C# 加载和读取 3D 场景

// This code example demonstrates how to read a 3D scene from FBX file
// Initialize a Scene class object
Scene scene = new Scene();

// Load an existing 3D document
scene.Open(@"C:\Files\3D\document.fbx");

foreach(var node in scene.RootNode.ChildNodes)
{
var entity = node.Entity;
Console.WriteLine("{0}", entity.Name);

if (node.Material != null)
{
Material material = node.Material;
Console.WriteLine("{0}", material.Name);

PropertyCollection props = material.Properties;
//List all properties using foreach
foreach (var prop in props)
{
Console.WriteLine("{0} = {1}", prop.Name, prop.Value);
}
//or using ordinal for loop
for (int i = 0; i < props.Count; i++)
{
var prop = props[i];
Console.WriteLine("{0} = {1}", prop.Name, prop.Value);
}
}
}

;
(四)结论

在本文中,我们学习了如何:

  • 以编程方式创建 3D 场景;
  • 将对象/实体添加到 3D 场景中,例如圆柱体、材质、灯光等;
  • 阅读 C# 中的 3D 场景子注释和属性。

以上便是如何在Aspose.3D中使用 C# 创建 3D 场景。如有任何疑问,请随时与我们联系。


欢迎下载|体验更多Aspose产品 

获取更多信息请咨询 或 加入Aspose技术交流群(761297826

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP