[#你好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

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


相关内容

  • Unity3D可用性评估报告
  • Unity3D可用性评估报告 概要 1.u3d是一个3D游戏引擎由于和编辑器集成在一起 所以也可以理解为一个制作/开发平台 2. u3d使用javascript C#作为核心脚本语言 来驱动整个游戏引擎 3. 平台可以发布为Exe执行文件或者打包为供网页调用的一个独立的包文件 4. u3d制作的工程 ...

  • Unity3D粒子系统碰撞器,让粒子碰撞到物体之后消失
  • 标签:unity3d粒子系统   unity3d粒子系统碰撞检测   粒子碰撞   unity3d 经过测试学习,总结了关于怎么让粒子和物体发生碰撞和怎么让粒子在碰撞后消失的几点看法: 首先给大家看一下我的粒子系统的配置图: 关于碰撞检测的主要配置我们看图中的Collision: 第一项:因为是一个 ...

  • 游戏开发实验报告
  • 实 验 报 告 课程名称: 多媒体技术 实验题目: 系 别: 专 业: 班 级: 学 号: 姓 名: 指导教师: 实验日期: 一.实验目的: 通过本次实验使学生掌握用Unity 开发射击打靶游戏的基本方法,学会在虚拟世界添加灯光.材质.刚体等物体对象,学会用Javascript 编写游戏程序,学会添 ...

  • 北京iOS培训课程
  • 北京iOS培训课程 对于想学习北京iOS培训的同学而言,其实在哪个iOS培训机构学习都是看你自己了,老师的专业水平是一方面,机构平台是一方面,只有自己好好学习的话,学的好能拿的出产品,去哪里都不愁应聘的.和大家分享关于北京iOS培训的内容. iOS开发课 对于iOS培训机构的选择是仁者见仁智者见智, ...

  • 用专利法.版权.商标法保护 App,具体能保护什么呢?
  • [蘑菇的回答(26票)]: 三种均属不同的知识产权类型,不存在何谓优势何谓不足,差别在于各自保护范围和对象存在不同.某些情况下,商标权和版权的保护范围可能会重合,需要根据具体情况选择以何种权利作为诉讼权利进行主张.不过,对于一款APP产品来说,三者结合是最好的保护策略. 商标:(1)文字:可保护AP ...

  • 小学信息技术校本培训教案
  • 现代信息技术及素养 培训教程 一.多媒体课件制作和使用 §1 多媒体课件制作基础 多媒体课件是信息技术发展的产物,是对传统纸质教材和传统课堂教学的必要补充和有效拓展.它利用多媒体制作软件或多媒体创作工具将各种多媒体素材有机地融合在一起,超越时间空间的限制,生成的具有人机交互功能的教学软件. 制作多媒 ...

  • unity3D键盘鼠标的操作说明
  • unity3D[键盘鼠标的操作] 键盘: GetKey 当通过名称指定的按键被用户按住时返回true GetKeyDown 当用户按下指定名称的按键时的那一帧返回true. GetKeyUp 在用户释放给定名字的按键的那一帧返回true. GetAxis("Horizontal" ...

  • Unity3D接入移动MM支付SDK(强联网)的问题
  • 因为移动MM支付的SDK只提供Android版本的,要自己写过一个android项目再打包重新生成一个jar来供Unity3D引擎使用,这一部分我就不写了,网上也提供很多的教程,主要是已经成功调用之后,会发生以下的错误: 1.failed to find resource file(mmiap.xm ...

  • "蜗居"游戏需求分析
  • 蜗居网需求分析 作者: 组长: 摘要 面对着知识大爆炸的时代,社会发展日新月异,网络.计算机.互联网已占据着我们生活得每一个领域网络.因为有了网络,我们可以和外界更畅通的联络,可以更方便的搜集自己需要的信息,也可以和远隔千里家人.朋友通过视屏见面.聊天.....提到这些,当然还有必不可少的娱乐,包括 ...