Q.RenderTargetTextureを拡大すると解像度が荒くなります。
A.Live2Dの描画方法とUnityの仕様上そうなってしまいます。下記回避方法をご確認ください。 1.RenderTargetTextureのサイズを大きくする。 2.もし表示しなくてもいいモデルの範囲があるときは、モデルが最も大きく映るように位置を設定する。設定方法は下記FAQの回答をご確認ください。 3.表示範囲にあわせてmocファイルを用意する。
Q.RenderTargetTextureに表示されるモデルの範囲は設定できますか?
A.可能です。 Live2DModelUnityのsetMatrix()で行列を指定することで任意の表示範囲にできます。 サンプルの標準ではsetMatrixWithRatio()を使用することでテクスチャの範囲にモデルが収まるように自動設定されています。 このメソッドを参考にしてsetMatrixWithRatio()ではなくsetMatrix()を直接使ってください。
Q.モデルのフェードイン・フェードアウトは可能ですか?
A.可能です。
Unity上でのLive2D描画は、 1.Unity上のテクスチャAにLive2Dのモデルを描画し、2.テクスチャAをポリゴンに貼り付けて画面に表示 という方式になります。そこで、フェードイン・フェードアウトはテクスチャAのアルファ値を変更する必要があります。アルファ値を変更できるはシェーダは標準では存在しないため、以下のようなシェーダをCreateして使う必要があります。
Q.利用可能なプラットフォームは?Web Player上では動作しますか?
A.現在、iOS , Android , Windows(OpenGL) , MacOSX に対応しております。WebPlayerには対応しておりません。その他の機種は今後の対応を予定しておりますので詳しくはお問い合わせ下さい。 ※Web Player対応について 現バージョンのLive2D for Unityの動作に必要なUnityプラグイン機構がWebPlayerに対応していないため対応できません。
プラグインを使わない方式も現在検討しております。WebPlayer対応版にご興味がありましたらご連絡下さい。
Q. 半透明の部分に色が乗ってしまう。黒フチ、白フチなどができてしまう
A1. 透明部分の色もれにより、意図しない色が出る場合の対策 (OpenGLによりポリゴンを描くとき複数の画素の値が合成されて色が決定します。テクスチャの完全透明部分に設定されている色が境界上の計算で意図せず計算に加えられるために、おかしな色が出ることになります。)
完全に透明な部分を編集するには以下のアプリケーションをご利用下さい。
<OPTPiX> テクスチャ加工用アプリケーション。「透明境界の色もれ予防」などの機能にて行います。
<フリーウェア> 以下のフリーウェアでも同様の加工が可能です。自己責任にてご利用頂きますようお願いいたします。 http://d.hatena.ne.jp/Ko-Ta/20090621/p1
※この問題は、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(フレームバッファオブジェクト)に問題が発生してFBO再初期化が走ります。 コメントをダンプしないようにすることで回避可能です。
Q.レンダリングされたキャラクターがフルカラーでていない
A.フルカラーのテクスチャ(24bit,32bit)を登録しても、UnityがCompressed(圧縮)または16bitカラー(65536色)となっていると、色がキレイに出ず、圧縮された汚い印象になる場合があります。その場合は、テクスチャを選び Format [True color] を選択することでフルカラー表示になります。
|