質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%

Q&A

解決済

1回答

1477閲覧

Unity5でUIのチラつきが発生します

Rishi_N

総合スコア7

0グッド

0クリップ

投稿2017/03/25 23:56

編集2017/03/26 07:23

Unity5でスマートフォン向けの2Dゲームを作っています。

UIオブジェクトのスケールや色や回転のアニメーション処理や
ImageのfillAmountを毎フレーム更新(HPゲージの増減)しているのですが、
UIオブジェクトを増やしていくうちにUnityエディタで再生中にチラつきが見られるようになりました。

このチラつきが、
いわゆるUIの描画順等のせいで見えないはずのものが一瞬見える、という症状ではなく、
例えが古いですがファミコンがバグった時のような表示崩れが一瞬起こる感じで、
UIのグラフィックが違うものに置き換わったりするのですが、
発生タイミングもバラバラです。

また以前に同様の症状が出た時はUnityエディタのSceneウィンドウのみで発生していたのが、
今回はGameウィンドウのみで発生しています。

エディタのstatsで見ると
Graphicsは100fps以上は出ていて、
CPUはmain 9.2ms、render threadは1.1ms
と、処理速度には問題がないはずですが、毎回同じ症状が発生するので何か間違っているかとは思うのですが....

原因等お分かりの方、同症状が出ている方、教えていただけるとありがたいです。
よろしくお願いします。

以下、fillAmountをいじっている部分のコードです。
他のUIオブジェクトは主にアニメーターで数値を変更しています。

public float timing;
Image circleImg;

public IEnumerator CheckState(){
timing = 0f;
float waitSec = 4f; //Test用の数値
while (timing<1f) {
float diff = Time.fixedDeltaTime / waitSec;
timing += diff;
active = (timing > 1f - diff * 3f);// 7 フレーム アクティブ
circleImg.fillAmount = timing;
yield return new WaitForFixedUpdate ();
}
//その後の処理
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nagkei10

2017/03/26 06:57

コードを出してくれませんか?
Rishi_N

2017/03/26 07:24

コメントありがとうございます。スクリプト以外で管理しているものも多いですが、一番原因かなと思われるコードを追記しました。
guest

回答1

0

ベストアンサー

同様のケースか分かりませんが……
マルチディスプレイ使用時、SceneウインドウとGameウインドウ、GameウインドウとProfilerウインドウを別々のディスプレイに表示している際、瞬間的な画面のリサイズが発生する(Gameウインドウサイズは変わらず、uGUIのCanvasだけがリサイズされている感じ)というバグは存在します。(Unity5.4.4f1にて確認)

「UIのグラフィックが違うものに置き換わる」という状態ではないので別ケースの気もしますが、「画面サイズによってグラフィックを置き換えている」ような機能を入れているなら関連しているかもしれません。

また、SpritePackerを利用しているのであれば、何らかの理由でゲーム再生中に再パッキングが行われているのかもしれません。

提示のスクリプトを見る限りでは問題が無いように見えるので、Unityのバグかもしれないです。
実機にビルド後も発生するか確認後、「Unity Issue Tracker」で同様の報告が無いか調べてみるとよいかと思います。

投稿2017/03/30 02:32

sakura_hana

総合スコア11427

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Rishi_N

2017/03/30 03:24

ご回答ありがとうございます。 その後、ImageオブジェクトのlocalScaleをアニメーションでループさせていたのをなくしてみたら、ほぼ発生しなくなりました。実機ビルドで発生するか確認し、発生するようなら別な演出を考えるなどしようと思います。 おそらくまったく同様のバグではないと思いますが、症状再現の不安定さなどからuGUIの描画との相性などが関連しているのかなぁ、という印象です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問