先日動画で紹介したバトルシーンだが、今日はスマホで動かしてみた。
一通り正常に動作したので安心したのもつかの間、タイトルにある予期しないバグが発生し、その後の作業がつぶれることになった。
スマホでバトルシーケンスを起動し、そのまま連続で二回目のバトルを実行したときに起きた。
無効化してあったゲームオブジェクトを有効化させるためにSetActive(true)しても、反映されるまでタイムラグがあるような、そんな動作をしているのであった。
もちろん、PCではそんな現象起きていない。まいった。
ちなみにドローコールを抑えるために、表示しないゲームオブジェクトはSetActive(false)で無効化している。
オブジェクトの参照のみ保持しておいて、また必要になったらSetActive(true)をしてやるってことをやっていたわけだ。
SetActive(true)をかなり早いタイミングであらかじめ呼び出しておくと、実際にそのオブジェクトに対する処理が実行されるようになった。
ただし、原因は結局わからなかった。
現象は消えたとはいえ、原因がわからないのは気持ち悪い。
まだ、おれ自身のコードに問題がある可能性もゼロじゃないので、引き続き調査を続ける。
誰か、同じような現象を経験したかた、原因や正しい回避策など教えていただけると助かります。
Related Posts
カテゴリー: Unity4