★お知らせ(2023/12/27)
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。
新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。
新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。
Live2Dモデルの実キャンバスサイズを取得したい
お世話になります。
掲題の件ですが、CubismModel::GetCanvasWidth()、CubismModel::GetCanvasHeight()を使うと、モデルの縦横比は取得できますが、
実際のサイズが取得できません。
pixelsPerUnitが取得できれば求めることができるのですが、取得する関数などが見当たりませんでした。
もしかすると、moc3ファイルを書き出す際に、キャンバス幅、高さに実サイズ、pixelsPerUnitに1を入れて出力するのが正解なのかなと思ったのですが、どのようにして取得すればいいでしょうか?
よろしくお願いします。
■開発環境
Windows 10 pro 1909
Visual Studio Professional 2017
Cubism 4 SDK for Native R1
掲題の件ですが、CubismModel::GetCanvasWidth()、CubismModel::GetCanvasHeight()を使うと、モデルの縦横比は取得できますが、
実際のサイズが取得できません。
pixelsPerUnitが取得できれば求めることができるのですが、取得する関数などが見当たりませんでした。
もしかすると、moc3ファイルを書き出す際に、キャンバス幅、高さに実サイズ、pixelsPerUnitに1を入れて出力するのが正解なのかなと思ったのですが、どのようにして取得すればいいでしょうか?
よろしくお願いします。
■開発環境
Windows 10 pro 1909
Visual Studio Professional 2017
Cubism 4 SDK for Native R1
タグ付けされた:
0
コメント
失礼しました。
■参考
https://docs.live2d.com/cubism-sdk-manual/cubism-core-api-reference/?locale=ja
お問い合わせいただき誠にありがとうございます。
Live2Dスタッフの Takと申します。
この度は製品のご利用にご不便をおかけし大変申し訳ありません。
モデルの実キャンバスサイズを取得するAPIにつきまして、
調査したところ、大変申し訳ありませんが gama55 様 にご提示いただいた CubismModel::GetCanvasWidth()、CubismModel::GetCanvasHeight() がモデルの実キャンバスサイズを取得するAPIとなりますが、
現在リリースしているCubism SDK for Native R1では pixelsPerUnit で割った結果が出力されておりました。
これにつきましては、想定しているAPIの仕様と外れた結果となりますので、今後のSDKパッケージの更新にて修正予定となります。
なお、回避策につきましては、
CubismModel::GetCanvasWidth() などで使用されている、Cubism Core APIの
Core::csmReadCanvasInfo();
の第二引数~第四引数にて取得される結果を返却するようなAPIを新しく実装することで、モデルの実キャンバスサイズや pixelsPerUnit が取得できるようになります。
簡単に、以下のような実装になります。
ただし、以降更新されるSDK製品版で必ずしも同じ実装にならないことをご了承ください。 上記実装を流用すると、実キャンバスサイズ、キャンバス中心座標、pixelsPerUnit が取得できるAPIが実装できますので、お試しください。
お手数をおかけいたしますが、ご確認を何卒宜しくお願いいたします。
回答&調査して頂きありがとうございます。
今後のSDK更新で修正の件了解しました。
また、回避策も提示して頂きありがとうございます。
助かります。