【Mac各機種への対応状況について】
現在、Cubism EditorはApple M1チップ搭載機種には対応しておりません。
詳細は 動作環境 をご参照ください。
関連するお問い合わせへの対応はこの文章をもって代えさせていただきます。
また、Cubism SDKは現在公開中の製品全てにおいてApple M1チップ搭載機種及びmacOS 11.0 Big Surには対応しておりません。
現在、Cubism EditorはApple M1チップ搭載機種には対応しておりません。
詳細は 動作環境 をご参照ください。
関連するお問い合わせへの対応はこの文章をもって代えさせていただきます。
また、Cubism SDKは現在公開中の製品全てにおいてApple M1チップ搭載機種及びmacOS 11.0 Big Surには対応しておりません。
Unity SDK 1.x から 2.0.08_1 に変更したらテクスチャの動的切り替えができなくなった
これまで Unity SDK 1.x (番号は失念..)で setTexture() による動的なテクスチャの差し替えを行っていましたが、先日 SDK を 2.0.08_1 に差し替えたところ、setTexture()によるテクスチャの差し替えが表示に反映されなくなりました。
一度 setTexture() でテクスチャの設定を行うと別のテクスチャへの動的な差し替えは行えないのは仕様でしょうか?
一度 setTexture() でテクスチャの設定を行うと別のテクスチャへの動的な差し替えは行えないのは仕様でしょうか?
コメント
どのようなコードを書いているのか教えてもらえますか?
再現コード少々おまちください。
(本来のコードはもっと複雑でこのスペースで説明するのが困難なため処理の要点を抜粋、および処理を簡略化して記述しています)
(あちこち省略しているのでこのままのコードではまともに動作はしないと思いますので、その点はご容赦ください) 上記の Initialize() から呼び出す LoadTexture() でデフォルトのテクスチャをモデルに適用されますが、以降、SetHairColor() を呼び出して テクスチャの差し替えを行っても、モデルの表示に反映されないという現象となっています。
上記動作を確認した Unityのバージョンは 4.6.6p4 です。
このモードならテクスチャが即座に切り替わるようです。
L2D_RENDER_DRAW_MESHモードの場合は、Live2DModelUnity.loadModelをテクスチャ差し替え時に指定すれば切替できました。
SDKのSimpleプロジェクトで髪テクスチャだけ差し替えてみましたが、以下のようなソースになります。
Unity5.0.2p1で確認しましたが4.6.6p4でも問題ないかと思います。
[SimpleModel.cs]
おっしゃるとおり、現在の読み込み済みのモデルを捨てて、再度 Live2DModelUnity.loadModel() でモデルを読み込み直せばテクスチャを設定し直すことできるのは確認できたんですが、やはり以前(SDK 1.x の頃)の挙動に戻してほしいですね...(これが仕様でないのなら)
というのも、SDK 1.x の時点では モーション再生中にモーションを途切れさせずに自然に着せ替えができてたんですが、SDK2.0.08_1 した途端、着せ替えのたびにモーションが初期化されてギクシャクするので、、、ちょっと挙動として微妙なのです。
Unity-iOSの64bitビルド(IL2CPP)に絡んで今更 1.x には戻せないし、RenderModeを変えるとオブジェクトの重ね合わせ等にも問題でるので変えられず...
まあ結論としては、将来この挙動が改善されることを期待しつつ、当面はテクスチャ切り替えるタイミングで、loadModel() でモデルを読み込み直す方法で回避します。
ありがとうございました。