コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】【Odin - Inspector and Serializer】パラメータを水平方向のグループに分ける「HorizontalGroup」属性

目次

「HorizontalGroup」属性

「HorizontalGroup」属性を使用すると
変数を水平方向のグループに分けることができます

f:id:baba_s:20170719133021p:plain

using Sirenix.OdinInspector;
using UnityEngine;

public class Example : MonoBehaviour
{
    [HorizontalGroup( "グループ A" )] public int a1;
    [HorizontalGroup( "グループ A" )] public int a2;
    [HorizontalGroup( "グループ A" )] public int a3;
    
    [HorizontalGroup( "グループ B" )][HideLabel] public int b1;
    [HorizontalGroup( "グループ B", width:0.75f )][HideLabel] public int b2;
    
    [HorizontalGroup( "グループ C", width:200 )][HideLabel] public int c1;
    [HorizontalGroup( "グループ C", marginLeft:20 )][HideLabel] public int c2;
    
    [HorizontalGroup( "グループ D" )] public int[] d1;
    [HorizontalGroup( "グループ D" )] public int[] d2;
    
    [HorizontalGroup( "グループ E" )] public int e1;
    [HorizontalGroup( "グループ E" )][Button] public void Button() { }
}

使い方

下記の様に記述するだけで使用できます

[HorizontalGroup( "グループ A" )] public int a1;
[HorizontalGroup( "グループ A" )] public int a2;
[HorizontalGroup( "グループ A" )] public int a3;

width に float 値を渡すと、パーセントで横幅を変更できます
width に int 値を渡すと、ピクセル単位で横幅を変更できます
marginLeft などを設定すると、マージンを変更できます

[HorizontalGroup( "グループ B" )][HideLabel] public int b1;
[HorizontalGroup( "グループ B", width:0.75f )][HideLabel] public int b2;

[HorizontalGroup( "グループ C", width:200 )][HideLabel] public int c1;
[HorizontalGroup( "グループ C", marginLeft:20 )][HideLabel] public int c2;

配列をグループ化することもできます

[HorizontalGroup( "グループ D" )] public int[] d1;
[HorizontalGroup( "グループ D" )] public int[] d2;

Button 属性などを併用してグループ化することもできます

[HorizontalGroup( "グループ E" )] public int e1;
[HorizontalGroup( "グループ E" )][Button] public void Button() { }

参考サイト様

Odin Inspector and Serializer | Improve your workflow in Unity