【Unity4】スマホで動かしたらよきせぬバグが・・・SetActive系

先日動画で紹介したバトルシーンだが、今日はスマホで動かしてみた。

一通り正常に動作したので安心したのもつかの間、タイトルにある予期しないバグが発生し、その後の作業がつぶれることになった。

スマホでバトルシーケンスを起動し、そのまま連続で二回目のバトルを実行したときに起きた。

無効化してあったゲームオブジェクトを有効化させるためにSetActive(true)しても、反映されるまでタイムラグがあるような、そんな動作をしているのであった。

もちろん、PCではそんな現象起きていない。まいった。

ちなみにドローコールを抑えるために、表示しないゲームオブジェクトはSetActive(false)で無効化している。

オブジェクトの参照のみ保持しておいて、また必要になったらSetActive(true)をしてやるってことをやっていたわけだ。

SetActive(true)をかなり早いタイミングであらかじめ呼び出しておくと、実際にそのオブジェクトに対する処理が実行されるようになった。

ただし、原因は結局わからなかった。

現象は消えたとはいえ、原因がわからないのは気持ち悪い。

まだ、おれ自身のコードに問題がある可能性もゼロじゃないので、引き続き調査を続ける。

誰か、同じような現象を経験したかた、原因や正しい回避策など教えていただけると助かります。

5年前

コメントを残す

メールアドレスが公開されることはありません。