★お知らせ(2023/12/27)
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて<b class="Bold"><u><a href="https://creatorsforum.live2d.com/" target="_blank">新Live2D公式クリエイターズフォーラム</a></u></b>に移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。

新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
<a href="https://creatorsforum.live2d.com/" target="_blank"><img src="https://global.discourse-cdn.com/business4/uploads/live2dtest/original/2X/1/1eb8f7d15371141dd0d79e2bbc57d5d8c92cf3a1.png" width="400" height="200" alt="Live2D公式クリエイターズフォーラム"></a>

なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。

unityのスクリプトでモデルの中心X,Yを変更したい

moc3ファイル書き出しする際に、
設定したモデル中心XとYをunityのスクリプトで取得や変更することは可能でしょうか?
もし可能でしたら、
やり方を教えていただけないでしょうか?
よろしくお願いいたします。

コメント

  • @みつる様

    現状のCubism-UnitySDKには記載はないものの、APIでcsmCanvasInfoというものがあり、
    こちらを利用することで、モデルのサイズ、中心の座標などが読み取り可能となります。
    変更はいまのところできません。

    APIの呼び出しを行うにはAssetsフォルダ内の、
    Assets/Live2D/Cubism/Core/Unmanaged/CubismCoreDll.csのスクリプトを開き、

    226行目以降に

    [DllImport(DllName, EntryPoint = "csmReadCanvasInfo")]
    public static extern void ReadCanvasInfo(IntPtr model, IntPtr outSizeInPixels, IntPtr outOriginInPixels, IntPtr outPixelsPerUnit);

    と追記することでAPIが利用可能となります。
    modelの部分には読み込んだ後のCubismUnmanageModel.Ptrをご使用ください。
    のちの引数にはfloatの配列を使用し、配列サイズはそれぞれ

    outSizeInPixels 2
    outOriginInPixels 2
    outPixelsPerUnit 1

    となります。

    よろしくお願いいたします。
コメントするにはサインインまたは登録して下さい。