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

新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
Live2D公式クリエイターズフォーラム

なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましては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

    となります。

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