まえがき
Unity の uGUI の描画順は、Hierarchy View の上下関係で決まります。
developer.aiming-inc.com
UIの順序を 3D の奥行きで毎フレーム並べ替えたい
それができないと、手前のキャラクターの吹き出しなどが、奥のキャラクターの吹き出しに隠れてしまいます。
解決できるコードはこちら
var chatBalloons = new List<Transform>(); foreach (var chatBalloon in this.panelTextChatBalloons.transform) { chatBalloons.Add(chatBalloon as Transform); } chatBalloons.Sort((a, b) => b.localPosition.z > a.localPosition.z ? 1 : -1); int sibIndex = 0; foreach (var chatBallon in chatBalloons) { chatBallon.SetSiblingIndex(sibIndex++); }