当纹理显示奇怪时

[最后更新时间:2021/11/24]

 

半透明部分变暗

NativeCompornent、SDK for Native

原因

在将正片叠底 Alpha 图片作为非正片叠底文件导入时发生。
原因是因为在合成时和创建图片时 alpha 值加倍,所以颜色变暗。

如果正常绘制脸颊等半透明部分,那将是另一个问题。

 

措施

使用 CubismRenderer :: IsPremultipliedAlpha 设定为 True 或将图片转换为不使用相乘 alpha 的形式。

 

半透明部分发光

NativeCompornent、SDK for Native

原因

原因与变暗的情况相同,但设定相反。
在将不是正片叠底 Alpha 图片的图片视为正片叠底 Alpha 文件时发生。
合成的图片好像它发光一样,合成的图片明亮,好像它很暗。

措施

使用 CubismRenderer :: IsPremultipliedAlpha 设定 False 或将图片转换为乘 alpha。

 

Jagi脱颖而出,边界崎岖不平

NativeCompornent、SDK for Native、Unity

原因

因为在不使用 mipmap 的情况下绘制时会发生剧烈切换
我的印象是抗锯齿不起作用,感觉凹凸不平,而且锯齿状。

 

对策(Unity)

选中纹理检查器上的Generate Mip Maps以生成 mipmap。

 

对策(Native)

在 OpenGL 中,选择 GL_LINEAR_MIPMAP_LINEAR 或 GL_LINEAR 作为纹理使用。
此外,使用 glGenerateMipmap 生成一个 mipmap。

 

有一个模糊的边界

Unity

原因及对策

当纹理检查器上的 Alpha Is Transparency 关闭时发生。
检查后,按右下角的应用。

 

分辨率低(部分)

NativeCompornent、SDK for Native、Unity

原因

当图片补全方法是仅补全最新点(Point(无过滤器)或 GL_NEAREST)的一个点的方法时,会发生这种情况。

对策(Unity)

在纹理检查器上将过滤器模式变更为双线性或三线性。

 

对策(Native)

与 Jagi 出现时一样,将 mipmap 使用设定设定为 Liner。

 

某些移动设备上的紫外线失真

Cubism SDK for Native、Cubism SDK for Web

原因

如果 OpenGL 的 FragmentShader 使用的值的浮点值不准确,则网格中的 UV 可能会有非预期的坐标,具体取决于您运行的设备。

措施

将 FragmentShader 中定义的 precision mediump float变更为precision highp float

 

© 2010 - 2022 Live2D Inc.