4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Live2DとUnityの連携でつまづいたこと

Last updated at Posted at 2019-03-26

Live2DとUnityの連携でつまづいた

初投稿してみます。

Live2DSDKをUnityで使用したプログラムをgitで共有したら、おかしなことになりました。
Prefabの参照が外れて動かない。。。
自分の環境では大丈夫。なんでじゃ。。

とりあえず回避したので、自分用のメモとして。
もし他に同じような現象の方がいたらその助けになればと思います。
また、突貫工事なので、正しいやり方知っている人いたら、教えてください。。

使用バージョン

Live2D CubismSDK3 R10 ダウンロードページ
Unity2018.3.3f1

何が起きたか

Live2Dで作ったモデルを、Unityにインポートして、タップすると、タップするところをみるだとか、よくあるようなプログラムを作りました。

で、共有のためにgitにあげたんですが、なんと、Prefabの参照が外れている。。。
PrefabもApplyしたし、Sceneも保存した。。metaファイルもちゃんとあげてる。
どないなっとんねん。
Unity2018.3のPrefabの仕様更新で、動きが変わった。。??とか、いろいろ調査してみましたが、どうもワークフローは変わらないっぽい。。

回避策

CubismAssetProcessorのOnPostprocessAllAssets内の処理をコメントアウトする

ということで、いろいろ調べた結果、
Live2DのCubismAssetProcessorが原因でした。
このクラスで、UnityのAssetインポートが行われるときに、Live2Dのインポートも行われるのですが、ここでPrefabを作り直すらしく、GUIDが変わってしまうようです。

そのため、gitで共有したとしても、プロジェクトの初回起動のアセットインポート時に、Live2Dの処理が走って、

PrefabのIDが更新される -> シーンから参照が外れる

といったことになってしまうようです。

CuvismAssetProcessorのOnPostprocessAllAssetsというメソッドで、インポート処理を行なっているので、そこをコメントアウトして、回避しました。

ただ、Live2Dのインポート処理自体行われないので、Live2D側で更新が入った場合は、一旦コメントアウトを外して、インポートして、もう一度コメントアウト。。。
という面倒なことに。。。。

確実にいい回避策ではない。。。。
でも、回避はできる。。。
そして記事を書くってむずかしいな。。
もっとうまく書きたい。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?