- 光源
- 环境:光源来自HDR/EXR文件“envmap”(全景照片)或程序化天空(Preetham-Wilkie、Hosek-Wilkie、Perez Sky)
- 光源发射器:光源来自具有发光(能量发射)特性的物体
- 传感器(相机/仪器):带有捕获参数的视图的位置和方向
- 场景组织参数(设置)
- 定义用于仿真的传感器(定义仪器)
- 定义用于模拟的环境(定义环境)
- 定义用于仿真的 CAD 场景结构(定义图层集)
- Exported_file.ocxml
- 包含所有ocean™信息以及相机、环境、材质、图层、设置……
- Exported_file.ocbin
- 仅包含 CAD 数据(3D 几何图形、材料分配、UV)
- 通过合并导入文件
- 导入外部文件

介绍
对于超复杂光学场景,比如完整建筑场景、完整交通工具场景、城市场景等,会伴随有数以十亿级别的网格数据,在仿真过程中必不可少的会进行场景修改、结构调整、材质修改等。对于传统的仿真方法而言,任何修改都需要重新加载完整场景甚至于重新进行网格划分,每次变更后的前处理时间将会是难以忍受的。
为了解决这个问题,Ocean提出了一种文件配置方式以加速复杂场景仿真效率。
Ocean™ Light Simulator 是一款光线追踪软件,它使用几何光学定律计算 3D 场景中发出的光,为工程应用(包括复杂的建筑项目)生成物理上真实的预测性虚拟图像。
在本文中,我们将介绍 Ocean™ 工作流及其文件管理。了解创建场景和运行逼真模拟所需的主要结构。探索打开场景和导入场景之间的区别。最后,了解如何优化和操作它以创建具有多种配置的变体。
例如,我们将研究如何处理一个简单的物理真实建筑场景。
该方法与文件合并和外部链接方法形成鲜明对比,强调战略性文件处理以及有组织的库和项目细分对有效管理的重要性。
我们专注于一个实际的建筑示例,探索Ocean™项目的基本和可选元素。了解光源、传感器和场景组织参数等关键组件对于成功和真实的物理模拟至关重要。
从概念到模拟:使用 Ocean™ 创建物理真实场景:

图1:Ocean™场景结构。包括物理真实模拟的选择元素。
海洋™项目由基本和非必要(可选)元素组成。如果缺少一个必不可少的元素,则仿真计算将无法运行。
Ocean™ 中功能模拟的必备元素如下:
如果不填写,必要的元素将阻止模拟。对于其他元素,如果它们不存在,它们不会阻止模拟。
在大多数情况下,3D 场景的模拟需要 CAD(3D 几何图形)和材料。但是,在 Ocean™ 中也可以模拟不需要 CAD 的复杂计算(例如数据分析、测量……)
将 CAD 场景(从 3dsmax 、 Rhino、UG、catia······)导出到 Ocean™ 时,会创建两个文件:
在ocean™中打开与导入:有什么区别?
打开、编辑和保存ocean™场景:最佳实践
在Ocean™中加载CAD场景时,我们打开一个ocxml文件(场景数据和参数),与ocbin文件(场景几何图形)相关联。如果我们在 Ocean™ 中对这个场景(材质、环境等)进行了更改,并希望保留这些更改,那么我们就会从 Ocean™ 中保存项目。这意味着我们覆盖了原始的 ocxml 文件。假设我们想要更新 CAD 软件中的一些几何图形,因此我们将此 CAD 导出回我们最初导出的 ocxml 文件以更新它。然后,我们覆盖之前在 Ocean™ 中所做的所有修改。
保持ocean™场景井井有条
这就是为什么不要直接处理导出的文件,而是与它们并行工作很重要的原因。该方法包括从 Ocean™ 创建一个空场景,我们将 CAD 文件导入其中。
这个想法是从空白的海洋™场景(可以称为“LOADER”)开始,然后从CAD中导入文件的外部链接。这样,在 Ocean™ 中所做的所有后续修改都将保存在所谓的“LOADER”文件中,而不再保存在 CAD 几何文件中。我们可以自由地进行 CAD 更新,而不会有删除ocean™场景属性的风险。

图2:打开ocean™场景的方法
引入元素:如何将文件/对象导入 Ocean™

图3:ocean™导入文件按钮
在 Ocean™ 中,我们可以导入现有的 Ocean™ 文件 (ocxml/ocbin)。这与导入其他标准文件格式不同。将一个文件导入另一个文件的方法允许我们将元素从一个海洋场景组合到另一个ocean™场景。
例如,在一个场景中,您可以从另一个项目导入新的摄像机/仪器。这样就可以重用现有元素,而不必从头开始创建它们。
有 2 种类型的导入:
第一种方法允许您将一个元素明确地集成到另一个元素中。这称为合并导入的元素。
第二种方法在导入的元素和场景之间创建链接,但不合并它们。因此,当元素被修改时,Ocean™ 会将其与场景同步。结果是两个元素之间的动态关系。

图4:Ocean™导入文件参数
构建虚拟结构:ocean™中标准的物理真实建筑场景

图 4 :在 Ocean™ 中渲染的标准物理逼真的建筑场景
假设我们在 Ocean™ 中有一个标准的物理真实建筑场景。主要部分如下:
建筑及其所有元素(墙壁、窗户、玻璃、阳台、窗帘)。一大片土地作为填满舞台的土地。一些植被树。几个人。一个充满地平线的背景。一个环境(晴朗的天空,多云的天空……)来照亮场景并营造气氛。

图 5:用于构建建筑场景沉浸式预览的图像组件
方法 #1 – 何时在 Ocean™ 中使用单文件加载
一种方法是一次性从 CAD 导出整个项目。单个 Ocean™ 加载程序导入几何图形 (CAD) 并管理 Ocean™ 场景的所有属性。我们可以在不更改 CAD 的情况下编辑ocean™场景的属性。
然而,由于植被和人(许多三角形)的复杂性,这种方法(这是可能的)管理起来可能相当麻烦。

图 6 :单个 CAD 导出的装载机 – Ocean™场景结构方法 1
了解单文件加载的优缺点
这种方法的一大优点是可以从单个 CAD 文件访问整个项目,从而在项目进展和迭代时更容易维护。
但是,主要缺点是这些迭代意味着需要定期更新 CAD 几何图形。导出CAD 时,导出场景需要一定的处理时间,尤其是在场景繁重的情况下。如果我们需要修改场景中的一个小元素,我们将不得不再次导出整个场景,以考虑这个小的更改。此外,Ocean™ 会为每个模拟加载整个场景。因此,为了逐步推进项目,将场景分成几个不同的部分可能是个好主意。加载必要的元素,然后可以搁置其他元素,直到每个阶段完成。
方法 #2 – 优化性能:ocean™场景的多文件方法
现在,项目被划分为几个文件,每个文件都被导出。我们可以为项目的每个配置创建一个加载器。每个加载器导入所需配置所需的所有元素。 出于速度和优化的目的,我们可以避免导入特定文件(例如大型植被、人物),从而减少项目的加载时间。
对于这个特殊的项目,我们希望重用地面、背景地平线和几个环境等元素。主楼是从Rhino出口的。人和树(每个都源自单个实例)通过 3DSmax 进行复制和分发,以填充和创建林。背景地平线是很久以前从另一个项目创建的,然后在这个项目中再次使用,没有进一步的修改。地面由一个用 Rhino 绘制的大扁平圆圈组成,同样来自另一个项目,我们正在按原样重复使用它,如果有必要,稍后会在 Ocean™ 中更改其材料。
将场景拆分为几个元素,我们稍后可以添加更多元素,例如内部家具、内部照明、外部的一些车辆,以创建更身临其境的预览……

图 7:CAD 场景组件拆分
通过结构提高效率:在 Ocean™ 中管理文件和文件夹
在我们的项目文件夹中,我们有一个预制的 Ocean™ 文件,其中包含多个环境作为库。一些标准材料也是如此。

图 8:具有拆分的 CAD 导出和公共库的加载器
几何元素将导出到一个子目录中,对于每个子目录,将导出到以它们命名的目录中,如果需要,还可以导出它们的所有依赖文件(纹理)。这样可以很容易地独立于其他元素更新每个元素。
现在,您可以为每个场景配置创建任意数量的加载器。通过仅导入 CAD 建筑几何图形,您可以专注于其材料。

图 9:各种 CAD 导入的示例

图 10:具有拆分的 CAD 导出和公共库的装载机

图 11:各种光照条件和视角(相机/仪器)的示例
结论:
Ocean™ 在管理简单和复杂的物理逼真场景方面用途广泛。考虑移植CAD 元素而不是打开它们,以便在管理ocean™场景时获得更大的灵活性,并在不干扰场景设置的情况下更轻松地更新这些元素。并且,Ocean只是使用CAD文件的结构数据,因此Ocean不受结构软件限制,用户可以使用任意结构软件进行结构设计。
对于复杂或大规模的场景,最好将最重要的元素分开,以便随着时间的推移更好地分配工作负载。
导入工作流为多个行业的建筑师和项目开发人员提供了一个动态画布,以快速测试和完善他们的设计。通过导入 CAD 元素,用户可以在 Ocean™ 中进行原型设计和迭代,并深入了解虚拟空间中的照明、材质和整体场景动态。这通过提供复杂项目的逼真和身临其境的预览来改善决策并加速设计迭代过程。
本文中显示的所有模拟都是使用 Ocean™ 生成的。
0 Comments