你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
点云渲染
注意
ARR 点云渲染功能目前处于公共预览阶段。
此功能正在积极开发中,但可能不完整。 将在“预览版”中提供。 你可以在你的场景中测试和使用此功能,并提供反馈。
有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款。
ARR 支持将点云渲染为三角网格的替代方案。 如果将点云转换为三角形网格作为预处理步骤要么不切实际(周转时间、复杂性),或者转换过程丢失了重要细节,在新用例中可以使用点云渲染。
与三角网格转换类似,点云转换不会对输入数据进行解码。
点云转换
点云资产的转换完全类似于转换三角网格:先将单一点云输入文件转换为 .arrAsset
文件,随后由运行时 API 使用该文件进行加载。
可以在模型转换部分找到支持的点云文件格式列表。
转换设置段落中解释了专门针对点云文件的转换设置。
大小限制
点云资产转换的每个转换资产的硬性限制为 125 亿点。 如果需要呈现较大的数据集,则需要将源文件拆分为多个资产,每个资产遵循 125 亿个点约束。 呈现器不会限制加载的唯一资产数, 流式处理数据技术 可确保优先级在所有加载的实例之间无缝工作。
对于 ARR 加载和渲染的最大允许点总数,standard
和 premium
渲染会话之间的区别是相同的,如关于服务器大小限制的段落中所述。
全局渲染属性
可以通过单个 API 来访问点云的全局渲染设置。 添加了 _Experimental
后缀以表明 API 当前处于公共预览阶段,并且可能会发生变化。
void ChangeGlobalPointCloudSettings(RenderingSession session)
{
PointCloudSettings settings = session.Connection.PointCloudSettings_Experimental;
// Make all points bigger (default = 1.0)
settings.PointSizeScale = 1.25f;
}
void ChangeGlobalPointCloudSettings(ApiHandle<RenderingSession> session)
{
ApiHandle<PointCloudSettings> settings = session->Connection()->PointCloudSettings_Experimental();
// Make all points bigger (default = 1.0)
settings->SetPointSizeScale(1.25f);
}
点云数据流式处理
在转换期间自动为动态数据流配置点云资产文件。 这意味着,与三角网格资产不同,大小较大的点云资产不会完全下载到渲染 VM,而是根据需要部分从存储加载。
无论点云文件大小如何,数据流式处理方法的很大好处是呈现器可以尽早开始呈现数据。 呈现器确定要确定哪些数据优先顺序,基于所有加载点云模型的相机视图和邻近度。 无需通过 API 进行自定义交互。 此外,数据流根据当前视图的相关特定数据自动管理预算和优先级。 如果场景中实例化了多个点云资产,流式处理系统可确保跨所有点云无缝地确定数据优先级,就像它是单个资产一样。 因此,拆分源文件是解决每个文件的大小限制的简便方法。
API 文档
- C# RenderingConnection.PointCloudSettings_Experimental 属性
- C++ RenderingConnection::PointCloudSettings()