[#你好Unity3D#限制SceneView视图中不可选择游戏对象]|香烟网上商城官网
SceneView 和 Hierarchy视图中鼠标点击都可以选择游戏对象,假如我不想让SceneView视图接收鼠标点击选择事件,只希望在Hierarchy视图选择怎么办呢?我记得是前几天有朋友问过我这个问题,今天你刚好有空我就研究了一下,代码是这样的。
[C#] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using UnityEngine;
using UnityEditor;
using System.Collections;
public class MyEditor
{
[InitializeOnLoadMethod]
static void Start ()
{
SceneView.onSceneGUIDelegate = OnSceneGUI;
}
public static bool IsLimitSceneSelectGameObject = true;
static void OnSceneGUI( SceneView sceneview )
{
Event e = Event.current;
int controlID = GUIUtility.GetControlID( FocusType.Passive);
if(IsLimitSceneSelectGameObject && e.type == EventType.Layout)
{
HandleUtility.AddDefaultControl(controlID);
}
}
}
IsLimitSceneSelectGameObject = true的话就限制在SceneView里选择游戏对象
IsLimitSceneSelectGameObject = false的话就可以在SceneView里选择游戏对象
还有一个办法也可以锁定SceneView游戏对象不可选择,如下图所示,你可以在Layers里面添加一个新的层,然后点击一下旁边的小锁头。这样凡是在这个层中的所有游戏对象都不能在SceneView视图中选择到了。
Unity版本5.3.1