📗
【Unity】Inspectorの表示を日本語にしたい
はじめに
初めての方も、そうでない方もこんにちは!
現役ゲームプログラマーのたむぼーです。
自己紹介を載せているので、気になる方は見ていただければ嬉しいです!
今回は
UnityのInspectorの表示を日本語にする方法
を紹介します
処理全体
任意のEditorフォルダに下記スクリプトを格納してください。
OverwriteLabelAttribute.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
public class OverwriteLabelAttribute : PropertyAttribute
{
public readonly GUIContent Label;
public OverwriteLabelAttribute(string label)
{
Label = new GUIContent(label);
}
}
#if UNITY_EDITOR
[CustomPropertyDrawer(typeof(OverwriteLabelAttribute))]
public class CustomLabelAttributeDrawer : PropertyDrawer
{
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
var newLabel = attribute as OverwriteLabelAttribute;
label = newLabel.Label;
EditorGUI.PropertyField(position, property, label, true);
}
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
{
return EditorGUI.GetPropertyHeight(property, true);
}
}
#endif
使い方
Inspectorで編集不可にしたい変数にOverwriteLabel属性を追加
ReadOnlyTest.cs
using UnityEngine;
public class OverwriteLabelTest : MonoBehaviour
{
[SerializeField, OverwriteLabel("パラメータ")]
private int _paramete;
}
Discussion