Unity 导出插件 · 能力一览
本表基于插件源码逐模块核查整理,列出 Unity 各功能能否导出到 LayaAir 3.0 及其支持程度。关键且复杂的导出流程可点击各节的「查看导出流程 →」进入对应详情页。
- 插件版本:1.1.7
- 入口:Unity 菜单
LayaAir3D 3.0 / Export Tool - 导出根模式:整场景 Scene / 预制体 Sprite3D
一、场景 / 节点 / 组件
Section titled “一、场景 / 节点 / 组件”GameObject 层级 → Sprite3D 节点树,含左手→右手坐标转换。 查看导出流程 →
| Unity 功能 | LayaAir 目标 | 支持度 | 说明 |
|---|---|---|---|
| GameObject + Transform 层级 | Sprite3D 节点 + transform | 完整 | name / active / layer / tag / isStatic;自动 X 轴翻转、相机/灯光 Y180 补偿 |
| Camera | Camera 节点 | 部分 | clearFlags / 正交 / 近远裁剪 / HDR / 视口 / 背景色可导。FOV 按 Laya 设计分辨率 1334/750 重算;cullingMask、targetTexture、物理相机参数不导 |
| Light(方向 / 点 / 聚光) | DirectionLightCom / PointLightCom / SpotLightCom | 完整 | 强度、颜色、阴影模式(硬/软)、烘焙类型、range、spotAngle。Area/Disc/Rectangle 灯不导 |
| MeshFilter + MeshRenderer | MeshFilter + MeshRenderer | 完整 | 材质、enabled、receiveShadow、castShadow。lightmap 索引、探针用法、运动矢量不导 |
| SkinnedMeshRenderer | MeshFilter + SkinnedMeshRenderer | 完整 | 含骨骼引用、rootBone、bindpose、localBounds |
| ReflectionProbe | ReflectionProbe | 部分 | bounds / importance / boxProjection 等可导;cullingMask、ambientColor、IBL 采样数为硬编码常量,烘焙立方图不导 |
| LODGroup | LODGroup | 完整 | 各 LOD 层级 + 切换比例 + renderer 引用 |
| 场景渲染设置 | Scene 根节点 | 完整 | 天空盒、环境光 / 模式、球谐 SH、雾效(start/range/color) |
| Prefab 预制体实例 | _$prefab 引用 + override 差异 | 部分 | 仅在「预制体 / Sprite3D」导出路径生效;整场景导出时会内联展开,不保留预制体引用 |
二、网格 Mesh
Section titled “二、网格 Mesh”二进制 .lm 格式(LAYAMODEL:0501)。 查看导出流程 →
| Unity 功能 | LayaAir 目标 | 支持度 | 说明 |
|---|---|---|---|
| 顶点 Position / Normal / Tangent / Color | 交错顶点缓冲 | 看配置 | 可逐项剥离(IgnoreVertices*);X 轴翻转 |
| UV0 / UV1(mesh.uv / uv2) | UV / UV1 | 部分 | V 翻转为左上原点;静态与蒙皮网格对忽略标志处理不一致 |
| 蒙皮(骨骼权重 + 索引) | BLENDWEIGHT / BLENDINDICES | 完整 | 每绘制调用 ≤24 骨骼,超出拆分绘制组(会复制顶点) |
| 子网格(多材质) | SUBMESH 索引区间 | 完整 | 每子网格独立索引范围 |
| 网格简化 / LOD 减面 | 减面后的 Mesh | 看配置 | 独立减面工具(主要给粒子网格用),非 Unity LODGroup 导入器;高质量 QEM 需可选包 + 编译宏 |
| BlendShape 形变 / UV2-7 / 几何压缩 | — | 不支持 | 不读取、不导出;顶点全为裸 float32,无压缩量化 |
三、材质 & 内置 Shader
Section titled “三、材质 & 内置 Shader”按 Shader 精确名查表映射 → .lmat(LAYAMATERIAL:04)。 查看导出流程 →
| Unity Shader | LayaAir 材质 | 支持度 | 说明 |
|---|---|---|---|
| Standard(Metallic) | PBR | 完整 | 反照率 / 法线 / 金属光泽 / 细节 / 自发光 / AO / 视差 全套 |
| Standard(Specular setup) | — | 不支持 | 无映射条目,会警告或转去自定义 Shader 导出 |
| URP / Lit · Simple Lit · Unlit | PBR / BlinnPhong / Unlit | 完整 | 各自映射对应贴图槽与属性 |
| HDRP / Lit | PBR | 部分 | MaskMap 通道语义与 Laya 不完全一致;无 AO/细节/视差槽 |
| Skybox(6 Sided / Procedural / Panoramic) | SkyBox / SkyProcedural / SkyPanoramic | 完整 | 6 Sided 会生成 .cubemap 资源 |
| Legacy / Mobile(Diffuse · Bumped · Specular · VertexLit) | BlinnPhong | 完整 | 主纹理 / 法线 / 高光等按变体映射 |
| 渲染状态(Cull / Blend / AlphaTest / RenderQueue) | s_Cull / s_Blend / ... | 部分 | 可推算;ZWrite/ZTest 仅对粒子材质写入,普通材质走 Laya 默认 |
四、自定义 Shader 导出
Section titled “四、自定义 Shader 导出”任意 ShaderLab/CG/HLSL → LayaAir GLSL(默认关闭)。 查看导出流程 →
| 能力 | LayaAir 目标 | 支持度 | 说明 |
|---|---|---|---|
| Properties / HLSL 类型 / 数学函数 / 纹理采样 转换 | Laya .shader + GLSL | 部分 | 正则启发式改写,约 150 条属性名映射、JSON 映射表、手写预转换模板(推荐) |
| 多 Pass / #include 内容 / URP-HDRP 宏 / multi_compile 变体 | — | 不支持 | 仅解析首个 Pass;include 不内联;不处理 CBUFFER/TEXTURE2D 宏;只认 vert/frag 入口 |
| 整体转换质量 | — | 实验性 | 工具自打印「预估转换率」,<80% 时提示需手动调整 |
五、粒子系统
Section titled “五、粒子系统”LayaAir 拥有 GPU / CPU / VFX 三套粒子系统(GPU 粒子为引擎内置;CPU 粒子需配合企业会员的 CPU 粒子插件;VFX 粒子需配合免费的 VFX 粒子插件)。Unity 的 Shuriken 粒子(ParticleSystem)按 GPU / CPU 两条互斥路径逐对象自动选择导出;VFX Graph(VisualEffect)新版插件已支持导出到 LayaAir 的 VFX 粒子系统。 查看导出流程 →
下表为 Shuriken 粒子各模块在两条路径下的支持度:
| Unity 模块 | GPU 模式 | CPU 模式 | 说明 |
|---|---|---|---|
| Main / Emission / Shape | 部分 | 完整 | GPU 下曲线降级为常量、Shape 部分类型回退球形 |
| Velocity / Color / Size / Rotation over Lifetime | 完整 | 完整 | 四种曲线模式均支持 |
| Texture Sheet Animation | 部分 | 部分 | 仅 Grid 模式,不支持 Sprites 模式 |
| Renderer(Billboard / Stretch / Mesh) | 完整 | 完整 | 5 种渲染模式 |
| Trails 拖尾 / Noise / Collision / Limit·Inherit Velocity / Force / by Speed / External Forces / Sub Emitters | 不支持 | 完整 | 启用 Trails / Noise / LimitVelocity 时自动强制切到 CPU 模式,因此正常不会真的丢失 |
| Lights / Trigger / Custom Data | 不支持 | 不支持 | 两种模式都不导出 |
3D 属性动画 .lani · 2D 动画 .mc/.mcc。 查看导出流程 →
| Unity 功能 | LayaAir 目标 | 支持度 | 说明 |
|---|---|---|---|
| Transform / 位置 / 旋转 / 缩放 / Euler 曲线 | .lani 节点 | 完整 | 含坐标转换、事件、帧率、循环 |
| 材质属性曲线 / 材质切换 | sharedMaterials 节点 / MaterialSwap | 看配置 | 属性须在该 Shader 的映射配置表中 |
| Camera / 自定义脚本 / 其他组件 属性曲线 | 对应节点(反射推断类型) | 部分 | int/bool 被并入 Float 关键帧 |
| 2D SpriteRenderer 颜色动画 + Animator 状态机 | .mc + .mcc | 部分 | 仅 m_Color;2D 状态机仅顶层状态/转换/参数 |
| 3D Animator + AnimatorController | Animator + AnimationController JSON | 部分 | 仅 motion 为 AnimationClip 的状态 |
| BlendTree / IK / 根运动 / 人形重定向 / BlendShape 曲线 / 加权切线 | — | 不支持 | 混合树、Mecanim 重定向等均不处理 |
七、2D / Sprite
Section titled “七、2D / Sprite”SpriteRenderer → UI3D + Mesh2DRender + 图集。 查看导出流程 →
| Unity 功能 | LayaAir 目标 | 支持度 | 说明 |
|---|---|---|---|
| SpriteRenderer(整图) | UI3D + 2D 预制体 .lh | 完整 | Mesh2DRender 引用纹理 |
| SpriteRenderer(子区域 / 图集) | .atlas + fileconfig.json | 完整 | 会把整张纹理上所有子精灵都打进图集(含未使用的) |
| SpriteRenderer m_Color 颜色动画 | Animator2D + .mcc | 部分 | 精灵帧切换 m_Sprite 动画不支持 |
八、纹理资源
Section titled “八、纹理资源”Texture2D → png / jpg / hdr + .meta importer 配置。
| Unity 功能 | LayaAir 目标 | 支持度 | 说明 |
|---|---|---|---|
| Texture2D(普通 / 法线 / Sprite / HDR) | .png(带 alpha)/ .jpg / .hdr | 完整 | 采样状态(wrap/filter/mipmap/各向异性/sRGB)完整映射;jpg 固定质量 75 |
| 压缩格式(DXT/ETC/ASTC) | 强制未压缩 R8G8B8(A8) | 部分 | 刻意丢弃压缩,避免 Laya 压缩纹理兼容问题 |
| 分平台覆盖(iOS/Android/WebGL) | 单一 platformDefault | 不支持 | HDR 路径依赖 Windows msvcrt.dll(仅 Windows) |
九、自定义脚本 & 导出配置
Section titled “九、自定义脚本 & 导出配置”MonoBehaviour → LayaAir TS 脚本(UUID 映射)。
| 能力 | LayaAir 目标 | 支持度 | 说明 |
|---|---|---|---|
| 自定义脚本 UUID 映射 | 映射后的 _$comp + 序列化属性 | 完整 | 菜单「组件脚本导出配置」;支持属性名重映射。未映射的脚本会被静默丢弃,UUID 需手动填 |
| 序列化属性类型 | — | 完整 | Float / Int / Bool / String / Enum / Color / Vector2-4 / Quaternion / Rect |
| 内置运行时 TS 脚本注入 | _src_/ 目录 | 完整 | 目前仅 Animator2DSync.ts |
| 导出配置项 | Configuration.xml | 完整 | 根模式、忽略非激活对象、批量导出、顶点流剥离、自动 UV1、输出目录、启用自定义 Shader、粒子默认模式、中/英语言 |
十、明确不支持的组件
Section titled “十、明确不支持的组件”导出时检测并在控制台/对话框警告,但不阻断导出,相关功能静默丢弃:
Rigidbody 刚体 · Box/Sphere/Capsule/Mesh Collider 碰撞器 · CharacterController 角色控制器 · Joint 所有关节 · AudioSource 音频源 · AudioListener 音频监听 · TrailRenderer 拖尾渲染器 · LineRenderer 线条渲染器 · Cloth 布料 · WindZone 风区 · Canvas uGUI 画布 · VideoPlayer 视频 · Terrain 地形
本能力表基于插件源码逐模块核查整理(插件版本 1.1.7)。复杂导出流程详情见各分组的「查看导出流程 →」链接。