Skip to content

Repository files navigation

Unity Plugin for LayaAir3.0

纹理透明度导入设置

纹理导出会将 Unity TextureImporter.alphaIsTransparency 写入图片 .meta 的 importer.alphaIsTransparency,保留源资源的开关值。没有 TextureImporter 的内置纹理写入 false。

图片仍通过 Unity 已导入的纹理像素生成,可能已包含 Unity 的扩边结果。 LayaPro 开启此选项时,在缩放、mipmap 和压缩之前重新计算完全透明像素的 RGB,扩边步骤不会修改 Alpha 或非完全透明像素的 RGB。相同输入重复执行 LayaPro 的扩边不会继续扩大范围;但 Unity 的缩放或压缩可能改变输入, 因此不保证两端透明区域的 RGB 逐像素一致。在 LayaPro 中关闭此选项只会 跳过其扩边步骤,无法还原已写入导出图片的 Unity 扩边结果。

当前 LayaPro 仅对普通 2D、可解码的 LDR 纹理且保留 Alpha 的输出执行此处理; Sprite 的导出 meta 同样保留源配置,但目前不参与该步骤。该属性属于图片 导入设置,不写入材质 propertyParams,也不替代预乘 Alpha 设置。

材质映射中的 Cubemap

在材质映射条目的 textures 中配置 Cubemap,与 Texture2D 使用相同格式:

"textures": [
  {
    "uName": "_Cube",
    "layaName": "u_CubeTexture"
  }
]

将示例属性名替换为实际的 Unity 纹理属性和 Laya Shader uniform 名称;Laya Shader 对应 uniform 的类型应为 TextureCube。无需添加 type 字段,也无需 启用自定义 Shader 自动导出。可按原有格式配置 define(项目映射)或 defind(内置映射)的宏定义。

导出时根据材质绑定的资源类型识别 Cubemap,生成六张 PNG 和一个 .cubemap, 并在 .lmat 中写入资源 UUID 引用。同一 Cubemap 被多个材质引用时只导出一份。 六面像素按 Unity 到 Laya 的 X 轴转换约定调整方向;.cubemap 和材质引用中的 mipmap 开关统一跟随源 Cubemap 是否包含多级纹理。资源需经过 LayaAir IDE 导入, 由 IDE 将六张图片转换为运行时使用的 KTX。 沿用现有 Cubemap 导出格式:8 位 RGBA PNG,不保留 HDR 范围;无资源路径的 临时纹理、Unity 内置 Cubemap 和立方体 RenderTexture 不在此支持范围内。

License

MIT

About

The tool is used to export Unity assets to Laya

Resources

Stars

39 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages