ソースコード
使用例
Canvas 内に「HexGridLayout」をアタッチしたオブジェクトを用意して、
整列させたいオブジェクトをその子供にすることで
このように六角形のタイル状に UI を整列できます
備考
Assets/Hexagon.cs(38,63): error CS0122: `UnityEngine.UI.SetPropertyUtility' is inaccessible due to its protection level
もし上記のようなコンパイルエラーが発生する場合は
using UnityEngine.Events; namespace UnityEngine.UI { internal static class SetPropertyUtility { public static bool SetColor(ref Color currentValue, Color newValue) { if (currentValue.r == newValue.r && currentValue.g == newValue.g && currentValue.b == newValue.b && currentValue.a == newValue.a) return false; currentValue = newValue; return true; } public static bool SetStruct<T>(ref T currentValue, T newValue) where T : struct { if (currentValue.Equals(newValue)) return false; currentValue = newValue; return true; } public static bool SetClass<T>(ref T currentValue, T newValue) where T : class { if ((currentValue == null && newValue == null) || (currentValue != null && currentValue.Equals(newValue))) return false; currentValue = newValue; return true; } } }
上記の SetPropertyUtility.cs も Unity プロジェクトに追加します