Appearance
易现小程序 Unity 导出工具和素材规范
杭州易现先进科技有限公司
参考文档:支持能力.xlsx
一、导出工具安装和使用
稳定版本--更新时间: 2023.5.18
对应 unity 版本: 2019.4.8 平台:ios 或 android
小程序开发工具:微信官网下载(https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)
导出工具 v1.4.2:https://ar-scene-source.nosdn.127.net/73872576f4d863f6ecd6aa4538317113.unitypackage
--更新时间: 2023.9.12
转换工具:https://ar-scene-source.nosdn.127.net/22944265499b5760eb790f998cfea1fd.zip
--更新时间: 2023.5.18
版本更新日志
导出工具
- InsightARExporter V 1.4 更新日期: 2023.5.11 下载地址:https://ar-scene-source.nosdn.127.net/a86c40d4d98020c2c55b8f51ecf9bef2.unitypackage
当前版本新增导出工具增加对外公开版
- InsightARExporter V 1.4.1 更新日期: 2023.6.25 下载地址: https://ar-scene-source.nosdn.127.net/1ce79376971ada446f7e7c030df2253f.unitypackage
bug 修复: 修复导出模型在 iOS 上不显示,android 端正常显示
- InsightARExporter V 1.4.2 更新日期: 2023.9.12 下载地址: https://ar-scene-source.nosdn.127.net/73872576f4d863f6ecd6aa4538317113.unitypackage
bug 修复: 修复 Mac 电脑 M1 芯片下, 发生纹理导出错误问题
安装说明
导出工具(InsightARExporter)下载后导入到 Unity 开发工程 Assets 目录下;
转换工具(Tools)下载后解压到 Unity 工程 Assets 同级目录
导出 Unity 场景资源
设置导出路径, 并取消勾选金属和法线贴图优化(会引起部分贴图问题)
点击 Export Scene, 导出当前打开的 scene 场景资源
Export Scene
第一次导出时会有如下图所示提示,请选择 Yes。
导出成功提示(导出成功 unity 控制台会有如下提示,并自动打开导出文件所在文件夹):
小程序内容开发&易现 AR 插件集成
易现 AR 插件集成请查看易现小程序 AR SDK 技术文档 ,选择适合应用场景的 AR 插件集成接入到小程序内。
接下需要集成易现 InsightWeb 渲染引擎,集成方法见易现小程序 AR SDK 技术文档中 AR 插件列表对应的示例 demo。
二、素材制作规范
命名规范
使用 Unity 制作美术资源命名规范,仅支持英文、数字和下划线,不要使用中文、连接符(-)、空格或特殊符号。
项 | 要求 | 备注 | |
---|---|---|---|
工程及资源路径 | 路径中不含空格 | 资源路径指:导出场景中使用到的一切资源路径 | |
模型命名 | 模型中的各个对象确保命名不重复 | 会导致美术资源异常 | |
贴图命名 | 1. 不使用空格、特殊字符、连接符等;可使用下划线;2. 命名中间不使用点(这里不指.png 中的点),如 xx.xx3. 贴图变量命名不要和参数名一样,如 Normal 的贴图变量命名为 Normal; | ||
动画命名 | 动画名称、骨骼命名不重复 |
推荐命名:
不推荐命名:
图片规范
图片指 3D 模型使用的纹理贴图,不含 UI 切图
项 | 要求 | 备注 |
---|---|---|
格式 | 仅支持 png | 易现 InsightWeb 渲染引擎:不支持 jpg、tga |
命名 | 1. 仅支持英文、数字和下划线;2. 贴图变量命名不要和参数名一样 | |
尺寸 | 建议在 512 * 512 及以下。必要的清晰贴图在 1024 * 1024,需要控制数量,建议小于 3 张 | 影响加载和渲染压力 |
音视频规范
普通音视频
项 | 要求 | 备注 |
---|---|---|
格式 | 音频建议采用 mp3(相对有效压缩率高,体积小)视频建议采用 mp4 | 微信支持解码即可 |
体积 | 无 | 根据体验适当优化 |
3D 视频纹理(透明视频)
实现方式:将视频纹理实时解析并将画面实时更新到 3D 模型的纹理
项 | 要求 | 备注 |
---|---|---|
格式 | 采用建议 mp4 | |
体积 | 分辨率建议小于 1080p,总体积小于 10MB,比特率码率控制在 1000 以内 | 根据体验和性能适当优化 |
形式 | 普通视频,视频需透明处理部分为黑底背景即可(不带透明通道) |
相机规范
java
相机请使用 Unity 中创建相机,如使用其他编辑软件导入相机会引发不可预知问题。
光照与环境规范
项 | 要求 | 备注 |
---|---|---|
光照类型 | 仅支持平行光 | 渲染引擎内置的环境光强度默认为 3 |
环境 | 1. 环境光仅支持 Skybox,其他两种不支持 ![]() | |
烘焙 | 不支持 | 烘焙后场景会变亮,烘焙效果有, 但没有导出烘焙的静态贴图 |
Reflection Probe(反射探针) | 不支持 |
模型规范
项 | 要求 | 备注 |
---|---|---|
格式 | 支持 FBX/OBJ | |
面数 | 单模型面数建议小于 3w 场景模型面数总数建议小于 10w | 影响加载和渲染压力 |
命名 | 模型中的各个对象确保命名不重复仅支持英文、数字和下划线 | |
Renderer | 支持 Mesh(网格)和 Skinned Mesh(蒙皮网格) | |
纹理贴图 | 参见图片规范 | |
透明设置 | 1. 将 Render Type 和 Render Queue 的均调整为 Transparent;2. 调整 Render Queue 的层级,同一层级会有遮挡错乱问题 | 透明物体后的模型会被遮挡 |
其他 | 1. 使用 Unity 自带 3D Object 的面片时,推荐使用 3D Object->Quad 或者自己制作一个片的模型。Plane 面数较多,不建议使用。 |
GUI 规范
项 | 要求 | 备注 |
---|---|---|
组件 | 均不支持 | |
其他 | 1. 不支持 Unity 中常用的 3D UI 方式 2. 贴屏的 UI 建议在小程序中制作 3. 如需实现 3D UI,推荐使用 Quad 一类的面片 |
材质及 shader 规范
项 | 要求 | 备注 |
---|---|---|
数量 | 建议单个模型材质数 ≤5,整个场景 ≤10 | |
命名 | 模型中的各个对象确保命名不重复仅支持英文、数字和下划线 | |
贴图 | 参考图片规范 | |
遮罩 | 不支持 | 如有需要,建议在小程序中设置 Material 属性 colorWrite 为 False |
透明设置 | 1. 将 Render Type 和 Render Queue 属性均调整为 Transparent;2. 注意调整 Render Queue 的层级,同一层级会有遮挡混乱问题 | 否则,尽管物体的 opacity 为 0,其后的模型仍会被遮挡 |
** Shader 支持类型** | 1. 支持 Standard、Standard (Specular setup)类型; 2. 支持 Unlit 列表中的 Color、Texture、Transparent;3. 支持有限的自定义,请在 i3dEngine 列表中提供通用度高的自定义 Shader 模板的基础上自行修改 Shader;4. 暂不支持 ASE 编写的自定义 Shader; | 目前自定义 Shader 的兼容性有限 |
其他 | 1. Shader Model 只支持到 3.02. 不支持着色器属性中的枚举特性 3. 环境中必须有一盏灯光生效,否则可能导致部分着色器失效 |
Shader 测试能力支持请参考:shader 测试记录
动画规范
项 | 要求 | 备注 |
---|---|---|
格式 | 支持 unity animator 组件 | 不建议使用 animation 组件 |
数量 | 建议单个模型动画数 ≤ 5 整个场景 ≤ 10 | |
命名 | 动画名称命名不重复;关联的动画片段命名不能重复,尽量根据动画用途进行区别命名;不建议使用默认片段命名,如 Take 001; | |
动画类型 | 支持基础的骨骼动画,不支持重绑定等 | 不支持形变 |
动画片段格式 | 支持 unity 中动画片段格式,避免使用其他格式,例 he 的动画片段支持,heAct 的动画片段不支持![]() ![]() | |
其他 | 1. 当前挂载 animator 组件的物体本身的激活状态处于激活时(即当父物体未激活,子物体激活,子物体本身状态是激活的),其动画会在后台自动播放。故在控制动画时,需要动画播放时需要重置动画播放。否则会出现单次动画在需要播放时已经播放完毕而没有表现的现象。2. 动画首尾帧都需要有数据帧![]() ![]() ![]() |
动画素材示例:
素材 | 资源包 |
---|---|
普通动画 |
粒子系统规范
涉及的粒子系统各模块具体参数手册参考 Unity 手册-2019.4
项 | 要求 | 备注 |
---|---|---|
数量 | 单个发射器的粒子数量最大为 1000;建议场景内粒子系统数量 ≤ 5;粒子发射器数量 ≤ 100; | 影响渲染压力 |
数值变换的模式 | ![]() | |
颜色变换的模式 | ![]() | |
MainModule 模块 | 1. 不支持 Prewarm, StartDelay,EmitterVelocity2. Simulation Space 支持 Local 和 World3. DeltaTime 请选择 Scaled4. ScallingMode 请选择 Hierarchy | 粒子系统模块参数手册参考 Unity 手册-2019.4 |
Emission 模块 | 仅支持 Rate over Time | |
Shape 模块 | 1. 仅支持 Box2. 不支持 Texture, Position, Rotation, Scale3. 不支持 Align To Direction,Randomize Direction,Randomize Position | |
VelocityOverLifetime 模块 | 1. 仅支持 Linear | |
LimitVelocityOverLifetime 模块 | 1. 不支持 Dampen、Drag2. 不支持 Multiply by Size, Multiply by Velocity | |
ForceOverLifetime 模块 | Space 请选择 Local | |
ColorOverLifetime 模块 | 完整支持 | |
SizeOverLifetime 模块 | 完整支持 | |
RotationOverLifetime 模块 | 完整支持 | |
TextureSheetAnimation 模块 | 1. Mode 请选择 Grid2. 不支持 FlipU,FlipV,Enabled UV Channels3. Time Mode 仅支持 Lifetime | Start Frame 若使用了 Random Between Two Constants 会导致序列帧速度异常 |
Renderer 模块 | 仅支持 Billboard,Render Alignment 仅支持 View 不支持 Allow Roll | |
其他 | 1. 场景中的粒子都需要有激活的子模块,否则可能导致小程序异常 |
粒子素材示例:
素材 | 资源包 |
---|---|
樱花雨 | |
烟雾 |
场景规范
项 | 要求 | 备注 |
---|---|---|
物体材质 | 场景中不能包含丢失材质的物体 | |
组件 | 不生效(无用)组件要移除掉 | |
父物体 | 父物体 jinliang |
Unity 各功能模块支持能力
请参考:Unity 支持能力.xlsx
ARScript API 参考文档
详见 ARScript API 参考文档(JavaScript) 《ARScript API 参考文档(JavaScript)》