场景 | Scenes
此类拼图用于操作场景和渲染。
内容
拼图参考
load scene + percentage(加载场景 + 百分比)
当此拼图被触发时,当前场景将被卸载,并从指定的 .gltf 文件中加载一个新的场景。
有关使用示例,请查看 Load Unload 演示(也可在资源商店中找到)。
在加载完成后,触发 "when loaded do" 插槽中的拼图。此外,还有一个可选的 "on progress do(在过程中执行...)" 插槽。放在这个插槽里的拼图会在加载过程中被持续触发,并且可以利用 "percentage(百分比)" 拼图。场景被加载时会被分配一个名称,可用于通过各种与对象相关的拼图来访问和操作场景。默认情况下,指定的场名称等于指定的场景URL(例如:"path/to/scene.gltf" )。如果启用 "alias(别名)" 选项,就可以手动设置名称。
另一个可选的 "on error do" 插槽在加载错误(比如丢失glTF文件)的情况下会触发。
append scene + percentage(附加场景 + 百分比)
当此拼图被触发时,一个新的场景会从指定的 .gltf 文件中加载并附加到当前场景中。
有关使用示例,请查看 Load Unload 演示(也可在资源商店中找到)。
在加载完成后,触发 "when loaded do" 插槽中的拼图。此外,还可以启用 "on progress do" 插槽。放在这个插槽里的拼图会在加载过程中被持续触发,并且可以利用 "percentage(百分比)" 拼图。默认情况下,"append scene(附加场景)" 拼图不会从新场景中加载摄影机和灯光。这一行为可以在拼图的选项中改变。
场景被加附加时会被分配一个名称,可用于通过各种与对象相关的拼图来访问和操作场景。默认情况下,指定的场名称等于指定的场景URL(例如:"path/to/scene.gltf" )。如果启用 "alias(别名)" 选项,就可以手动设置名称。
另一个可选的 "on error do" 插槽在加载错误(比如丢失glTF文件)的情况下会触发。
unload scene(卸载场景)
从应用中卸载指定的场景或其部分。 使用空的文本值来卸载所有场景。
已加载场景
检查指定场景是否已被加载。当文本值为空时,用于检查主场景是否已加载。
enable rendering(启用渲染)
恢复之前禁用的渲染。
disable rendering(禁用渲染)
禁用渲染。停止更新图形渲染,但继续捕获用户事件以及推进动画时间线。
可以使用禁用渲染来降低性能消耗,以在移动设备 或笔记本电脑上节省电量消耗,或降低台式机上风 扇噪音。您也可以启用 anti-alias 选项,以 显著提高渲染质量并补偿性能的损失。这个选项针 对的是渲染停止后的下一帧。
create environment(创建环境)
创建一个新的基于图像的照明,并为场景指定背景。此拼图还创建了一个新的材质,其名称是作为第一个参数指定的,并将其添加到场景中。您可以用这个材质来替换环境的纹理或颜色。
第二个参数可以是:
- color - 环境照明将基于默认的256×128的HDR图像,背景将基于默认的灰色值。
- texture - 环境照明和背景都将基于默认的256×128 HDR图像。
batch geometry(合并几何)
合并指定的一组网格的几何图形,以提高渲染性能。在执行时,拼图会收集具有类似属性的网格,比如使用中的材质、阴影设置、渲染顺序等,然后创建一个新的合并对象并追加到场景中。不能合并在一起的对象则保持原样。
要观察批处理是否运行成功,请打开 浏览器控制台:
在每行 "Adding batch object(添加批处理对象)..." 中,都可以看到所创建的批处理对象的名称。这个名称由构成批处理的材质名称、代表被合并网格数量的 'x' 因子和 "_batch" 后缀合并组成。
例如:
Adding batch object: big_table_wood_x6_batch
这一行表示:6个带有 "big_table_wood" 材质的网格被合并到一个新的批处理对象 "big_table_wood_x6_batch" 。
由于批处理的部分会被 "固定" 在一起,请确保不要批处理打算移动、做动画的对象,获奖将它们单独批处理。
export to gltf(导出到gltf)
将您的场景、模型或一组模型导出为glTF 2.0格式。指定 only visible 选项,只导出可见对象,而 binary 选项则用于导出为GLB(glTF二进制)格式。
为了获得最佳效果,以及创建标准的可以被第三方glTF查看器(例如微软Windows 10的默认glTF查看器)打开的glTF文件(没有Soft8Soft/Verge3D的扩展名),我们建议您使用glTF兼容的材质。请分别查看如何在 Blender, 3ds Max, 或 Maya中创建glTF兼容性材质。
export to usdz(导出至usdz)
将场景或模型导出为通用场景描述(USDZ)格式。
通过此拼图,您可在Apple设备以AR模式预览场景。为此,请在应用页面上创建 <a> HTML 元素,并将导出的 USDZ 资产的链接指定为其 href 参数。
有关使用示例,请查看 Augmented Reality 演示(也可在资源商店中找到)。
为取得最佳效果,应为模型使用与 glTF 兼容的材质。了解如何在 Blender, 3ds Max 及 Maya 中创建此类材质。
raycast(射线)
从源点(或对象)向给定的方向投射一条射线,并返回所有交点(如果有的话)的列表。拼图的第三个参数用于减少相交的对象。在此处使用 none 或指定场景名称,以相交位于加载场景中的所有对象。
返回的列表包含一串具有下列信息的字典:
- object - 被相交对象的名称
- distance - 到相交点的距离
- point - 相交点的XYZ坐标(矢量)。
- normal - 交点的法线的XYZ坐标(矢量)。
- uv - 交点的UV坐标。
交点的列表按距离排序,最近的在前。
add fog(添加雾)
在场景中添加距离雾效。此效果通常在大型室外环境中用于增强远距离对象的视觉效果,或隐藏(LOD)对象,或用于遮掩场景中视觉瑕疵(例如地形网格的边界等)。
Exponential(指数型) 雾使用 density(密度) 控制。将 density(密度) 设置为0,即可禁用已添加的雾效。
Linear(线性) 雾通过 near 和 far 属性控制。将 near 设置为零,或将 far 设置为负数即可禁用已添加的雾效。
在使用拼图时遇到困难?
欢迎您随时在 论坛上提问!您还可以加入中文用户社区QQ群(171678760),在线寻求帮助。