新しいLive2D公式コミュニティ(日本向け)が公開されました!
ぜひご利用ください!
Live2D公式コミュニティ

■このコミュニティの今後について
このコミュニティ(forum.live2d.com)につきましては、しばらくの間新コミュニティと並行して運営しますが、2023年夏ごろを目処に方針を決定する予定です。
(2022/12/27追記 2022年内を目処に閉鎖 から変更しております)
内容については決定次第お知らせいたします。
海外向けコミュニティについては変更ございません。
Live2Dに関するユーザーのみなさま同士の交流・ご質問・不具合の報告・提案・要望などについて是非お寄せください。
※Live2D公式スタッフからの発言や回答については確約できないことを予めご了承ください。

Live2D ヘルプ

Cubism Editorダウンロード / 動作環境
Cubism SDKダウンロード / 対応表
Cubism 製品利用ライセンス(SDK含)

Cubism 製品のライセンスについてのお問い合わせはこちら
nizima 及び nizima 製品についてのお問い合わせはこちら
【各最新OSの対応状況について】
Cubism Editorは 4.1.02 正式版以降でWindows 11 及び macOS Monterey に対応しております。ぜひ最新版をご利用ください。
※macOSをお使いの方でOSアップデートする際は必ずCubism Editorのライセンスを解除してください。
Cubism EditorをインストールしているmacOSをアップグレードしたい
Cubism SDKについては各SDKのREADMEまたはNOTICEをご確認ください。

【Mac各機種への対応状況について】
現在、Cubism EditorはApple M1チップ搭載機種には対応しておりません。
詳細は 動作環境 をご参照ください。
関連するお問い合わせへの対応はこの文章をもって代えさせていただきます。
Cubism 製品のマニュアル・チュートリアルはこちら
 
Cubism Editorマニュアル    Cubism Editorチュートリアル    Cubism SDKマニュアル    Cubism SDKチュートリアル

UnityでLive2Dモデルを表示した際の拡縮率は?

チュートリアルに従って、Unity上にLive2Dモデルを表示できたのですが、実寸より小さく表示されます。
どの程度縮小されているのでしょうか?(どの程度拡大すれば実寸どおりのサイズになるのでしょうか?)

コメント

  • 返事が遅れてすみません。
    とりあえず確認しますが、従ったチュートリアルというのは、プロジェクト作成チュートリアルのことでしょうか?
  • 返信ありがとうございます。

    説明が足りなくてすみません。
    以下のページに記載されている手順を参考にしました。
    http://sites.cybernoids.jp/cubism/home/special/20140327/session2

    上記ページの中で

    1.6 再生ボタンを押してシーンを再生
     おそらく小さいく表示されるので、「Miku」のScale を(5, 5, 1)にする。

    と記載されており、その記載のとおり小さく表示されるのでScaleでサイズを調整しておりますが、そもそも、なぜ作成時より小さく表示されるのか?(Live2Dの仕様なのか? Unityの仕様なのか?)、Scaleの値をどの値に設定したら実寸どおりの表示サイズとなるのか?
    というのを教えて頂けないかという質問でした。

    Unity勉強中なので見当違いの質問かもしれませんが...
  • なんとなくわかってきた気がします。
    以下のコードで、Live2Dのモデルの座標系をUnityの表示領域の座標系に変換しており、この行列の設定次第で表示サイズが変わってくるようですね...

    //表示位置と大きさの指定
    Matrix4x4 m1 = Matrix4x4.Ortho( 0, 900, 900, 0, -0.5f, 0.5f );
    Matrix4x4 m2 = transform.localToWorldMatrix;
    Matrix4x4 m3 = m2 * m1;
    live2DModel.setMatrix( m3 );

    この記述から推測すると、
    Live2Dのモデルの座標系は左上が(0,0)で右下が(幅,高さ)となっていると思わますが、あってるんでしょうか?
  • やはり上記の箇所がよくわからないのですが、
    Matrix4x4 m1 = Matrix4x4.Ortho( 0, 900, 900, 0, -0.5f, 0.5f );
    に指定する left, right, top, bottom の値はそれぞれどのような値を設定したら良いのでしょうか?

    そもそもLive2D関係無くUnityに関するものかもしれませんが、Unityの関数リファレンス等を参照してもいまいちピンと来ませんでした。
    ここで設定する値が、Unity上でLive2Dモデルが表示されるサイズにどのように関わってくるのか、ご存知であればヒントでも教えて頂きたいです。

    よろしくお願い致します。
  • 編集済: 8月 2014
    私も気になったため、色々と試してみました。

    Live2Dの座標系は左上を(0,0)の原点とし、右下が(幅,高さ)で間違いないと思います。
    Matrix4x4.Ortho(...)のbotomとtopの値が逆になっているのは
    unityの座標系とLive2Dの座標系で上下が逆なため、ここで修正しているようです。

    サイズについてですが、Live2Dのキャンパスサイズがそのまま
    表示スプライトのサイズとなっているようです。
    (キャンパスが256*256なら、Unity単位で原点(0,0)から(256,256)のスプライトになります。)

    なので、Matrix4x4 m1 = Matrix4x4.Ortho( 0, 256, 256, 0, -0.5f, 0.5f );
    にすれば256*256のキャンパスサイズが丁度Unity単位での2*2のサイズになるはずです。
    *修正
     変換後のスプライトサイズが1*1になるとしていましたが
     -1~1にクリッピングされるため2*2の間違いでした。

    Matrix4x4.Orthoで得られる行列は平行投影変換行列で
    簡単に言うとOrthoで指定した短形領域を上下左右-1~1の正方形にする変換行列です。

    ちなみに、この辺りの行列変換をいい感じにしてくれるクラスとして
    L2DModelMatrixというクラスが用意されているようです。
    GitHubGist

    *私も行列は得意ではないので、間違えていたらごめんなさい。


    naotarosnaka72Tod (Staff)necogane
  • 詳細に調査していただきありがとうございます!!
    大変助かります。
  • 以下のページが参考になりそうだったので、メモ。

    "プロジェクト作成チュートリアル - Live2D Cubism Documents":http://sites.cybernoids.jp/cubism/sdk_tutorial/platform-setting/directx/createproject

    "モデルのローカル座標について - Live2D Cubism Documents":http://sites.cybernoids.jp/cubism/sdk_tutorial/live2d_library/load_to_display/display_model/local
コメントするにはサインインまたは登録して下さい。