Live2Dに関するユーザーのみなさま同士の交流・ご質問・不具合の報告・提案・要望などについて是非お寄せください。
※Live2D公式スタッフからの発言や回答については確約できないことを予めご了承ください。
Cubism 製品のマニュアル・チュートリアルはこちら
 
Cubism Editorマニュアル    Cubism Editorチュートリアル    Cubism SDKマニュアル    Cubism SDKチュートリアル

iOSの通知センターを表示しようとするとLive2Dキャラの顔が描画されなくなる

いつもお世話になっております。

Unityで作成したiOSアプリにおいて、Live2Dキャラクターを表示した状態で通知センターを表示しようと画面端を何度かスワイプすると、キャラクターの顔部分が描画されなくなる不具合が発生しましたので報告いたします。

すべてのLive2Dキャラクターで発生するわけではなく、顔に視線追従のコンポーネントを足してある特定のキャラクターでのみ発生しております。また、症状が出た瞬間のログを確認しても、とくにランタイムエラーが発生している様子もありませんでした。

お忙しい中大変恐縮ではありますが、対策について何かご教示いただけますと幸いです。

===

・【問題が発生したソフトウェア名とバージョン】Unity 20174.7f、Live2D Cubism Editor 3.2、Cubism SDK 3
・【ご利用のPC環境】MacOSX
・【機種名】:すべてのiOS端末
・【グラフィックボード】-
・【メモリ】-
・【原画(イラスト)を制作したソフトウェア】-
・【問い合わせ内容がわかるスクリーンショットまたは動画】こちらは @y_a_s_(Dev Staff) 様宛にDMをお送りいたします

コメント

  • @hyoshida さん
    データの提供ありがとうございました。
    これから確認させていただきます。
  • 9月 2018 編集されました
    @y_a_s_(Dev Staff)

    お世話になっております。

    DMではデータをご確認いただきありがとうございました。
    あれからいろいろと検証してみたところ、原因となる具体的な操作がわかったので、この場を借りてご報告いたします。

    ===

    ■ 症状

    `CubismLookTargetBehaviour` コンポーネントを持ったGameObjectのX座標またはY座標を float の最大値近い数値にすると、このGameObject を追視しているLive2Dキャラの顔が描画されなくなる。



    ■ 回避方法

    極端に大きな値を該当コンポーネントの座標値にセットしない。

    ■ 発症経緯

    下記のようなコードを書いて、タップまたはスワイプした部分を追視するようにした:
    public class Sample : MonoBehaviour {
        ...
        
        void Update() {
            if (Input.touchCount <= 0) {
                return;
            }
            var position = Input.mousePosition;
            _cubismLookTargetBehaviour.anchoredPosition = position;
        }
            
        ...
    }</code>
    これをiOS実機で動作させると、通知センターを表示しようと画面端を何度かスワイプする操作で、positionのX/Y座標が float の最大値になり発症した。

    ===

    以上となります。

    少しでも今後の開発のお役に立てば幸いです。
    信号機
コメントするにはサインインまたは登録して下さい。