新增3D桥接容器、预览运行时的场景视图,LayaAir3.4.0-beta.2再添重磅实用功能

作为 3.4.0 的 第 2 个 Beta 版本,本次更新不仅修复了若干已知问题,还围绕开发流程与使用体验进行了系统性优化。而在所有改动中,最值得关注的,是两个具有"工作流级别提升"的核心能力:

  • 新增 3D 桥接容器(Bridge3DSprite)

  • 新增运行时可编辑的场景视图

下面将对本次更新进行详细说明。

新增3D桥接容器

在没有 Bridge3DSprite 的历史版本中,虽然可以通过 RenderTexture 的方式将 3D 内容嵌入到 2D 界面中------即先将 3D 渲染到 RenderTexture,再作为 2D 精灵的纹理进行绘制------从效果上看,也可以随 2D 节点进行位移、缩放与旋转。

但需要明确的是,这种方式本质上操作的是"渲染后的贴图结果",而不是 3D 内容本身。也就是说,它更接近于对一张图像的变换,而不是对真实 3D 节点的控制。

因此,这类方案依然停留在"渲染结果层面的融合",2D 与 3D 在层级结构、变换体系、裁剪规则以及交互逻辑上仍然是相对独立的系统。开发者需要手动维护两者之间的关系。

Bridge3DSprite 正是为了解决这一问题而设计的。它将"3D 展示区域"抽象为一个标准的 2D 节点,使 3D 内容可以直接参与 2D 显示列表体系。

从使用上看,Bridge3DSprite 表现为一个普通的 Sprite,可以参与父子层级、布局、位移、缩放、旋转、裁剪以及滤镜等完整的 2D 能力;而在内部,它维护了一棵专门用于承载 Sprite3D 的 3D 子树,并统一接入引擎桥接的 Scene3D 进行渲染。

开发者可以将其理解为一个"三层结构":外层是 2D Sprite,中间是内部的 3D 容器,底层是引擎的 3D 渲染流程。在实际使用时无需关注底层细节,只需记住:你操作的是 2D 节点,你添加的是 Sprite3D,所有 2D 变换都会自动同步到内部的 3D 内容。

它的本质,是把一棵 3D 子树嵌入到 2D 节点体系中,从而让 UI 与 3D 内容在结构上真正统一。

在使用时还需要注意几点:Bridge3DSprite 只允许添加 Sprite3D 类型的子节点,不能混入 2D 节点;桥接节点内部的 Sprite3D 不会参与 2D 事件系统,例如点击模型本身不会触发 2D 事件;同时,Bridge3DSprite 与 Sprite3D 一样,不能直接添加到 Stage 上,必须放置在 Scene 节点体系中使用。

在实践中,建议使用 2D API 控制整体布局、层级与位置等"宏观结构",使用 3D API 控制模型本身的旋转、动画与表现细节,这种分工方式会更加清晰,也更符合该组件的设计方式。

新增预览运行时的场景视图

在历史版本中,当项目进入预览运行状态后,场景视图是不可操作的。如果开发者希望借助场景面板上的各种快捷工具进行节点选择、变换、位置调整等,必须先停止运行,再进行修改。

从本次版本开始,在游戏运行期间,场景视图也可以使用了,并与预览运行视图保持同步,开发者可以直接在运行状态下对场景进行查看与操作。

例如,可以在运行过程中选中节点,拖拽对象位置,观察其在运行逻辑下的变化;也可以在不打断游戏执行的情况下快速定位布局异常与逻辑问题。这种方式大幅减少反复运行带来的时间消耗。

需要注意的是,当前版本中的运行时编辑主要用于调试目的。在运行过程中对节点所做的修改,并不会自动保存到场景文件中。如果需要保留调整结果,可以在属性面板中右键复制对应属性,在停止运行后再粘贴回场景中。

未来版本,计划支持保存运行时编辑的数据

因此,建议将该功能用于问题定位与参数验证,而不是在运行状态下进行大规模场景修改,否则在退出运行后需要重新调整。

优化内容

在参数名校验方面,本次版本将常用的 GLSL 内置函数名(如 min、max、clamp、sin、cos、dot、normalize 等)加入保留名检查列表。当命中这些名称时,系统会自动添加 u_ 前缀生成安全的 uniform 变量名,从而避免命名冲突问题。

在发布流程方面,IDE 已支持 Native DCC2 的 .ignore 文件配置,使开发者可以更灵活地控制发布资源范围,减少无关文件进入构建结果。

在资源处理方面,运行时对材质资源的修改,在停止运行后将自动保存,降低了调试过程中的重复操作成本。

在 Shader 预览方面,新增了 previewType 声明支持,例如指定 previewType = Plane 后,预览时会自动使用 Plane 模型展示材质效果,使预览结果更加直观。

其他版本内容,可以前往官网中查看

https://layaair.com/#/engineDownload

结束语

3.4.0-beta.2 并不是一次简单的功能叠加更新,而是围绕"开发效率"与"工作流体验"的一次重要演进。

Bridge3DSprite 解决了 2D 与 3D 融合的结构性问题,让 2D 与 3D 内容可以用更加统一的方式协同工作;而运行时场景视图的开放,则打破了编辑态与运行态之间的边界,让调试过程更加直观、高效。

这两项能力的引入,本质上是在减少"人为维护成本",让开发者可以把更多精力放在内容本身,而不是工具与流程的限制之上。

作为 Beta 版本,我们也期待在实际项目中获得更多反馈,以便在后续版本中进一步打磨与完善这些能力。

END

相关推荐
weixin_5051544610 小时前
打破传统界限:Bowell Studio引领3D作业指导新纪元
人工智能·3d·制造·数据安全·数字孪生·数据可视化
3D小将20 小时前
3DXML转GLTF技术文档(推荐免费在线转换网站)
3d·solidworks模型·ug模型·rhino模型·sketchup模型·igs模型·迪威模型网
孪生引擎观星台1 天前
WSBK专业赛车场3D数字孪生Demo快速开发与系统落地实战指南
人工智能·3d
Yao.Li1 天前
PVN3D ONNX 转换与测试记录
人工智能·3d·具身智能
Gkoob1 天前
Vue3+Three.js 打造实时设备状态 3D 可视化面板
开发语言·javascript·3d
syncon121 天前
手机液晶屏幕AOI异常检测及液晶线路激光修复原理方法
科技·3d·制造
CG_MAGIC2 天前
Blender场景搭建:寻找德尔蒙
3d·blender·贴图·建模教程·渲云渲染
葛兰岱尔2 天前
如何实现Revit、Bentley等模型转换为glTF/GLB、3DTiles等通用3D模型,同时实现模型结构属性数据的提取导出并保持与几何数据的一一对应?
3d
CG_MAGIC2 天前
SketchUp 大图渲染优化:清理废线 + 压缩模型,彻底解决卡顿
3d·blender·贴图·效果图·渲云渲染