Unity plug-in 版




    A. 这是由 Live2D 的绘制方法和 Unity 本身造成的。可使用以下方法避免。
  1. 增大 RenderTargetTexture 尺寸。
  2. 如果对模型的显示范围没有要求的话,可以把模型设置在最大的位置。设置方法请参考以下 FAQ 的回答。
  3. 请准备与表示范围对应的 moc 文件。




    A. 可以。

通过 Live2DModelUnity 的 setMatrix() 函数可以指定矩阵,设置任意的表示范围。

sample 的标准是使用 setMatrixWithRatio() 自动将贴图限制在模型范围内。

可以参考这个函数的用法,直接使用 setMatrix()。




    A. 可以。

Unity 中 Live2D 的绘制过程是,
1.在贴图 A 上绘制 Live2D 模型 2.把贴图 A 贴在多边形网格上,显示画面
要实现淡入淡出,必须更改贴图 A 的 alpha 值。

由于标准 shader 无法更改 alpha 值,所以需要新建一个 shader 





    
Q. 兼容什么平台?适用于 Web Player 吗?
    A. 现在兼容 iOS , Android , Windows(OpenGL) , MacOSX 。

不兼容 WebPlayer。预计以后会兼容其他机种,详情可以询问我们。

关于 Web Player 的兼容 
            当前版本 Live2D for Unity 所必需的 Unity plug-in 结构无法兼容 WebPlayer。
            不使用 plug-in 的方法目前还在研究中。
            对 WebPlayer 兼容版有兴趣的用户请联系我们。





    A1. 透明部分漏色的解决办法

OpenGL 绘制多边形时,复合了多个像素的值来决定颜色。
计算边界颜色值时,无意将其累加到了贴图完全透明部分的颜色值中,造成了颜色异常。

编辑透明部分可以使用以下软件。

【 OPTPiX 】
用于加工贴图的软件。
可以使用「防止透明边界漏色」功能。
这个免费软件也可进行相同的处理。
使用后果请用户自行承担。

※ 此现象受到 Unity 中 Non-premultiplied 函数的影响。
   如果以后 Unity 更改了函数,可能将不必进行以上预处理。


    A2. 与背景之间的边界发生漏色的解决办法

根据 Unity 的 Non-premulitiplied 函数,FBO(帧缓存对象)的清除颜色可能会出现在模型与背景的边界上。

在 LAppModelWrapper 的以下函数中,将清除色设置为与背景色接近的值,以避免太过明显。


背景色不固定的情况下,推荐设置为 0.5f 灰色。

setClearColor( 0.5f , 0.5f , 0.5f , 0.0f ) ;// RGBA





    Q. Windows 中 UnityEditor 绘制模型发生闪烁
    A. 使用 Unity 的 print( ) 命令,会使绘制中使用的 FBO (帧缓存对象)发生问题,进行重新初始化。

可以停止输出注释来避免该问题。




    A.即使使用了全彩色的贴图 (24bit,32bit),当 Unity 设置为 Compressed(压缩)或 16bit 颜色(65536色)的情况下,
       也会造成显示颜色显示异常。

请把 Format 设为 [True color] ,显示为全彩色。




コメント