UnityEditor实现拖拽Prefab时在Scene窗口下显示Prefab样子的方法如下:

  1. 在Unity编辑器中打开一个场景,选择一个空的GameObject,右键菜单中选择“Create Empty”。

  2. 点击“Create Empty”后,在Hierarchy窗口中会出现一个新的GameObject,将其重命名为“PrefabHolder”。

  3. 在Project窗口中找到要拖拽的Prefab,并将其拖拽到“PrefabHolder”下面。

  4. 选中“PrefabHolder”,在Inspector窗口中点击“Add Component”,并选择“PrefabHolderEditor”。

  5. 实现“PrefabHolderEditor”脚本,在脚本中重写“OnSceneGUI”方法,在该方法中使用Handles.DrawPrefab函数绘制Prefab的样子。

  6. 在Unity编辑器中按下Play按钮,将场景切换到运行模式,即可在Scene窗口下看到拖拽的Prefab的样子。

示例代码:

using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(PrefabHolder))]
public class PrefabHolderEditor : Editor
{
    private void OnSceneGUI()
    {
        PrefabHolder prefabHolder = (PrefabHolder)target;

        if (prefabHolder.prefab != null)
        {
            Handles.DrawPrefab(prefabHolder.transform.position, prefabHolder.prefab);
        }
    }
}

注意事项:

  1. “PrefabHolder”必须为一个空GameObject,否则拖拽的Prefab将无法在Scene窗口下显示。

  2. “PrefabHolderEditor”脚本中必须重写“OnSceneGUI”方法,否则拖拽的Prefab也无法在Scene窗口下显示。

UnityEditor实现拖拽Prefab时在Scene窗口下显示Prefab样子

原文地址: https://www.cveoy.top/t/topic/zvB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录