【Live2D】PSDが差し替わらない問題の原因と解決方法

live2d-psd-replace

PSDが差し替わらない問題の原因は、雰囲気でしか理解していなったので、検証してみました。

レイヤー名とかレイヤー順とかではなく、初期に配置したPSDの座標との差異に影響して、差し替えができなくなる問題が起こります。

ただそれでも関連付けを修正機能があるので、それを使えば差し替えは問題なくなります。

サンプルシーン

シェイプで図形を4つ配置して、Live2Dにインポートします。

レイヤー名を変更してPSDの差し替えテスト

2系の時はレイヤー名を変更すると差し替えがおかしくなった気がしますが、3系は問題なし

レイヤー位置の変更してPSDの差し替えテスト

図形を位置を差し替えてみました。

位置を変えるとおかしくなりました。

ハートと三角は新規パーツとして認識されたので、もともとのハートと三角はそのまま残りました。また、四角と丸はブランクになってしまいました。

[TIPS]位置を差し替えた配置に適応する方法

実は「選択オブジェクトの入力画像として設定」という機能で関連付けを手動で直すことができます!

  1. 位置を差し替えたPSDをLive2Dへインポート。

  2. 差し替えをせず、「アートメッシュを追加せずに、PSDファイルを登録」

3.ウインドウからプロジェクトを開き

  • 丸のアートメッシュを選択、三角の画像を選択して「選択オブジェクトの入力画像として設定」
  • 四角のアートメッシュを選択、ハートの画像を選択して「選択オブジェクトの入力画像として設定」
  • ハートのアートメッシュを選択、四角の画像を選択して「選択オブジェクトの入力画像として設定」
  • 三角のアートメッシュを選択、丸の画像を選択して「選択オブジェクトの入力画像として設定」

アートメッシュの形が違うのでいびつですが、画像とアートメッシュの関連付けが完了しました。

これで再度、位置を差し替えたPSDをインポートして差し替えても問題なく差し替わります!

どのくらい画像の位置が変化したら、差し替えがうまくいかないようになるのか?

元画像の範囲に収まるように位置を移動

ちゃんとPSDの差し替えができました。

元画像の隣接するように位置を移動

新規パーツとして認識されてしまいました。

元画像にちょっとだけかぶるように位置を移動

丸とハートは差し替えができて、四角と三角は差し替えできず!

もうすこし、もとの位置とかぶる面積にしてみます

成功!

面積的なもので判断している可能性が高いです。

まとめ

PSDが差し替わらない問題はレイヤー名ではなく、画像の位置の変化で起こります。

元の画像の位置と大きく変化する場合、(面積的に重なる部分が少ない場合)は新規の画像として読み込まれてしまいます。

ただ、「選択オブジェクトの入力画像として設定」で関連付けし直せるので、なんとか修正することは可能です。

[追記]Live2Dの社長様からコメントいただきました!

2系と違った理由は、クリスタPSDはレイヤーIDが変わる仕様も配慮しての変更だったのですね。

ご回答いただけて、仕組みがわかってこれでPSDの差し替え問題が起きても冷静に対処できそうです!