跳转到内容

Unity资源导出插件

采用Unity插件方案的主要原因,主要是为了支持开发者在Unity资源商城中购买的资源可以无感的迁移到LayaAir IDE中进行相关的开发工作,Unity资源商城拥有一定数量的精美且高质量的美术资源,采用Unity资源导出插件能将这些精美的美术资源迁移到LayaAir引擎的IDE中进行开发,对一些小而美的项目来说无疑是一种无形的帮助,更可以让有Unity经验的优质开发者可以更低学习成本进入HTML5和小游戏产业中来。

插件的下载地址:https://github.com/layabox/LayaAir3.0UnityPlugin

开发者下载最新版的插件即可。安装与导入步骤见安装与导出窗口介绍

本篇是插件系列文档的介绍页,完整内容按以下顺序阅读:

文档内容
安装与导出窗口环境要求、两种安装方式、安装注意事项(颜色空间等)、菜单与导出窗口各控件说明、典型导出流程
导出能力一览逐模块核查的能力对照总表:场景 / 节点 / 组件、网格、材质、粒子、动画、2D 精灵、纹理、自定义脚本,以及明确不支持的组件
整体导出流程从点击导出到文件落盘的主链路全景:组件分发、坐标系转换、产物文件类型
网格导出顶点结构、坐标翻转、子网格、蒙皮骨骼分组等 .lm 导出细节
材质与Shader导出按 Shader 名查表映射到 .lmat、HDR 分解、天空盒特例,以及手动注册自定义 Shader 映射的方法
自定义Shader导出未注册 Shader 的 HLSL→GLSL 自动转换流水线与能力边界
粒子系统导出LayaAir 三套粒子系统(GPU / CPU / VFX)总览,Shuriken 粒子的 GPU / CPU 双路径导出,VFX Graph 导出支持
动画导出属性曲线 .lani、Animator 状态机、2D 色彩动画分流
2D精灵导出SpriteRenderer → UI3D + 图集的导出结构
疑似问题清单基于源码核查与实测发现的疑似问题记录与绕过方法
  1. 安装插件:下载后按安装步骤导入 Unity 项目。
  2. 确认支持范围:对照导出能力一览确认场景中用到的功能是否可导出,未在清单中的功能均不支持。
  3. 配置并导出:在导出窗口选择场景 / 预设模式,设置保存路径后导出,流程详见整体导出流程
  4. 导入 LayaAir-IDE:将产物放入 LayaAir 工程的 assets 目录后加载显示,见下文第三、四小节。

LayaAir引擎插件也会不断更新,升级新的引擎版本后,可以关注版本更新日志以及该系列文档的变化。

文件的后缀导出文件类型的说明
.ls场景文件,选择导出场景Scene3D类别时生成的文件类型。会导出完整的场景信息,其中包含了场景需要的各种数据、光照贴图、模型、位置等。所以,需要导出场景相关的设置时,必须要使用Scene3D类别导出,就可以看到.ls后缀的文件。
.lh预设文件,选择导出预设Sprite3D类别时生成的文件类型。相对于.ls后缀的场景文件,会缺少环境光、环境反射、场景雾效等等与场景渲染相关的信息。
.lm模型数据文件,通常是FBX格式的转换而成。
.lmat材质数据文件,是在unity中为模型设置的材质信息。加载.ls.lh文件时会自动加载.lmat文件来产生材质。可以使用 Material 类来加载。
.lani动画数据文件,如果模型上有动画,导出后将生成的动画配置文件,其中包含了动画帧数据。加载可以使用 AnimationClip 类来加载。
.jpgJPEG格式的纹理图片文件。
.pngPNG格式的纹理图片文件。
.hdr全景天空盒需要的HDR格式图片文件

完整的产物类型(含 2D 图集、.cubemap、运行时脚本等)见整体导出流程

导出的Unity资源,在不考虑其它逻辑的情况下,要通过LayaAir引擎显示出来,就需要先加载资源。

当我们想导出整个场景时,可以选择场景,设置导出路径。如图4-1所示,导出路径建议设置为在LayaAir IDE项目工程目录下的assets文件夹,至于是assets目录下的什么目录,由开发者自行决定。

5-1

(图4-1)

导出之后只需在IDE中打开其中的.ls文件,即可加载场景。

打开场景后,导出的场景并不具有环境光sh信息,需要找到在Scene3D层级下的烘焙开关。如图4-2所示,点击烘焙,对当前场景的环境光sh数据进行预计算, 这样烘焙完成后的效果就是我们想要的效果了。

5-2

(图4-2)

如图4-3所示,预设的导出,主要是用于当不需要完整导出使用整个场景,只需要某些节点资源。又或者某些节点资源需要独立导出复用或代码动态使用等需求。

4-3

(图4-3)