Тратишь часы на расстановку однотипных объектов? Напиши свой инструмент за 10 минут.
Задача: Есть скрипт
SpawnPoint. Хочешь кнопку в инспекторе, которая ставит объект на землю (Raycast).1. Создай скрипт редактора в папке `Editor/`:
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(SpawnPoint))]
public class SpawnPointEditor : Editor {
public override void OnInspectorGUI() {
DrawDefaultInspector(); // Рисует стандартные поля
SpawnPoint spawnPoint = (SpawnPoint)target;
if (GUILayout.Button("Поставить на землю")) {
Undo.RecordObject(spawnPoint.transform, "Move to ground");
if (Physics.Raycast(spawnPoint.transform.position, Vector3.down, out RaycastHit hit)) {
spawnPoint.transform.position = hit.point;
}
EditorUtility.SetDirty(spawnPoint); // Сохраняем изменение
}
}
}
2. Теперь в инспекторе компонента `SpawnPoint` появится твоя кнопка. Нажал — объект «упал» на коллайдер ниже.
С этим подходом можно: массово редактировать объекты, создавать свои слайдеры, визуализировать данные. Экономит кучу времени на дизайне уровней.
🚀 Автоматизируй рутину!
👉Akrus Games | Unity