UnityEditor: 如何在场景窗口中显示拖拽的预制体
Unity 编辑器:在场景窗口中显示拖拽的预制体
想要在场景窗口下显示拖拽的预制体外观,你需要使用 Unity 编辑器的自定义编辑器功能。以下步骤将引导你完成这一操作:
-
创建新的 C# 脚本:命名为 'CustomPrefabEditor'。
-
使用 Editor 类的 OnSceneGUI 方法:该方法会在场景窗口绘制时自动被调用。
-
在 OnSceneGUI 方法中,使用 Handles 类的 DrawPrefab 方法绘制预制体的外观:DrawPrefab 方法需要传入一个 Transform 对象和一个 Prefab 类型的参数,分别表示预制体的位置和类型。
-
在 CustomPrefabEditor 脚本上添加一个 ExecuteInEditMode 属性:该属性会使脚本在编辑器模式下运行。
-
将 CustomPrefabEditor 脚本挂载在对应的预制体上:这样在场景窗口下拖拽预制体时就会显示预制体的外观。
示例代码:
using UnityEngine;
using UnityEditor;
[ExecuteInEditMode]
public class CustomPrefabEditor : MonoBehaviour
{
private void OnSceneGUI()
{
Handles.DrawPrefab(transform.position, gameObject);
}
}
注意: 使用自定义编辑器功能需要注意一些性能问题和编辑器与运行时的区别,需要谨慎使用。
原文地址: https://www.cveoy.top/t/topic/lNAv 著作权归作者所有。请勿转载和采集!