unity3dunity hierarchyy面板怎么批量选择

【智商捉急】Hierarchy视图中新加入的这个锁头是干嘛的?_unity3d吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:76,568贴子:
【智商捉急】Hierarchy视图中新加入的这个锁头是干嘛的?收藏
如图, 这个锁头到底是干嘛用的?完全无法理解。。。
来伊份网上商城 史上超优惠 !!
我的版本是5.3.1, 之前的版本好像没有这个锁头。
让窗口里的内容不发生变化
一直有啊,锁住了之后你点击其他物体这个hierarchy面板还是显示锁定之前的,锁住后可以选择多个游戏物体拖到引用的数组上不用一个一个拖,也可以锁住这个在添加另一个正常的hierarchy面板
楼主能问你个问题吗,unity报错,他说我需要分配变量生成脚本的检查员是什么意思?
我也不知道,估计是为了多功能展示unity界面很好看。
点亮12星座印记,
当你的hierarchy界面的某一个gameobject有很多层子物体的时候,如果你没有把锁头锁上,那么当你在Scene视图选中一个物体时,hierarchy界面就会自动展开到你选中物体对应的节点。而如果你把锁头锁上了就不会出现这种展开
登录百度帐号推荐应用程序写累了,就来玩玩酷跑小游戏吧,嘿嘿。
雨松MOMO送你一首歌曲,嘿嘿。
Unity3D研究院编辑器之重写Hierarchy的右键菜单(二十二)
Unity3D研究院编辑器之重写Hierarchy的右键菜单(二十二)
围观15544次
编辑日期: 字体:
Hierarchy视图中选择一个游戏对象以后通过右键可以打开一个unity默认菜单,一般情况下都可以满足我们,但是我想真对某些特殊的游戏对象而展开特殊的菜单。如下图所示,比如这样:
123456789101112131415161718192021222324252627282930313233343536373839404142434445
using UnityEngine;using UnityEditor;using System.Collections;&public class MyHierarchyMenu{ [MenuItem("Window/Test/yusong")] static void Test() { }& [MenuItem("Window/Test/momo")] static void Test1() { } [MenuItem("Window/Test/雨松/MOMO")] static void Test2() { }&& [InitializeOnLoadMethod]
static void StartInitializeOnLoadMethod()
{ &&&& EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyGUI;
static void OnHierarchyGUI(int instanceID, Rect selectionRect)
{ &&&& if (Event.current != null && selectionRect.Contains(Event.current.mousePosition) &&&&&&&& && Event.current.button == 1 && Event.current.type &= EventType.mouseUp) &&&& { &&&&&&&& GameObject selectedGameObject = EditorUtility.InstanceIDToObject(instanceID) as GameObject;
//这里可以判断selectedGameObject的条件 &&&&&&&& if (selectedGameObject) &&&&&&&& {
Vector2 mousePosition = Event.current.mousePosition;&
EditorUtility.DisplayPopupMenu(new Rect(mousePosition.x, mousePosition.y, 0, 0), "Window/Test",null); &&&&&&&&&&&&Event.current.Use(); &&&&&&&& }
OK 欢迎大家在下面给我留言讨论。 如果你想改Project视图的右键菜单,原理也是一样的。
Unity版本5.3.0
本文固定链接:
转载请注明:
雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。
您可能还会对这些文章感兴趣!扫一扫,访问微社区
后使用快捷导航没有帐号?
签到成功!您今天第{todayrank}个签到,签到排名竞争激烈,记得每天都来签到哦!已连续签到:{constant}天,累计签到:{days}天
在unity编辑器中给Hierarchy列表中的GameObject加icon
&由于本人开发编辑器。然后就模仿了很多插件的风格和模式正好遇到一个小现在分享出来。下面上效果图&大家看到箭头所指的位置就是效果 重点在 最后& 重点在 最后& 重点在 最后& 重点在 最后& 废话不多说 下面上代码 &&&using Susing UnityEusing UnityE[InitializeOnLoad]public class EasytouchHierachyCallBack{&&& // 层级窗口项回调&&& &private static readonly EditorApplication.HierarchyWindowItemCallback hiearchyItemC&& &private static Texture2D hierarchyI&&& &private static Texture2D HierarchyIcon &{get&&{&& &&&if (EasytouchHierachyCallBack.hierarchyIcon==null)&&&{&&&&EasytouchHierachyCallBack.hierarchyIcon = (Texture2D)Resources.Load( "EasyTouch_Icon"); &&&}&&& &&&return EasytouchHierachyCallBack.hierarchyI}&} &private static Texture2D hierarchyEventI& &private static Texture2D HierarchyEventIcon && {get &&{ &&&if (EasytouchHierachyCallBack.hierarchyEventIcon==null)&&&{&&&&EasytouchHierachyCallBack.hierarchyEventIcon = (Texture2D)Resources.Load( "EasyTouch_Icon");&& &&&}&& &&&return EasytouchHierachyCallBack.hierarchyEventI&&} &}&&& &/// &summary&&&& &/// 静态构造&&& &/// &/summary&&& & static EasytouchHierachyCallBack()&& & {&&EasytouchHierachyCallBack.hiearchyItemCallback = new EditorApplication.HierarchyWindowItemCallback(EasytouchHierachyCallBack.DrawHierarchyIcon);&&EditorApplication.hierarchyWindowItemOnGUI = (EditorApplication.bine(&&& EditorApplication.hierarchyWindowItemOnGUI,&&&& EasytouchHierachyCallBack.hiearchyItemCallback);&&//EditorApplication.update += U&&& &}&&& // 绘制icon方法&& &private static void DrawHierarchyIcon(int instanceID, Rect selectionRect)&{GameObject gameObject = EditorUtility.InstanceIDToObject(instanceID) as GameO&&&// 设置icon的位置与尺寸(Hierarchy窗口的左上角是起点)&&&Rect rect = new Rect (selectionRect.x + selectionRect.width - 16f, selectionRect.y, 16f, 16f);// 画icon&&&GUI.DrawTexture (rect, EasytouchHierachyCallBack.HierarchyEventIcon); &&}&private static void Update()&& &{Debug.Log("1");&&& }}&这段代码是从 easyTouch5 插件上面学到的,我们也看出来了,主要利用了 EditorApplication 类当中的&EditorApplication.hierarchyWindowItemOnGUI 对象来实现的。&描述是:&Delegate for OnGUI events for every visible list item in the HierarchyWindow.其实看名也知道了,就是指的hierarchy窗口item的 OnGUI 方法的回调,正好是在绘制的时候。&然后这个委托的结构则就是 EditorApplication.HierarchyWindowItemCallback。所以我们也就清楚要干什么了,就是要构建一个 EditorApplication.HierarchyWindowItemCallback 的委托,然后传递给 EditorApplication.hierarchyWindowItemOnGUI 去执行就好了。比较需要注意的3点是:如果使用[InitializeOnLoad]标记的话, 构造函数一定要用静态的,它可确保在编辑器启动之时调用此函数easyTouch 中调用的这个 bine 方法(合并委托列表),其实就等效于我们平时用的 +=画icon的时候,一定要自己设置好icon的位置,hierarchy窗口的左上角是(0,0)。如果我们把Rect构建成这样的话:[code]Rect rect = new Rect(0, 0, 16, 16);那icon绘制的位置就会是这样:&&&我们发现了,icon就画在左上角了。。。。。。这不是我们想要的结果正确的应该是:[code]Rect rect = new Rect(selectionRect.x + selectionRect.width - 16f, selectionRect.y, 16f, 16f);&&这下是不是瞬间变得高大上了!!!大家在平时使用的时候,可以用识别 GameObject 上所挂载的组件,脚本,参数的方法,来更换绘制icon的图标,达到区分和识别 GameObject 功能的目的。&想象一下主要功能的 GameObject 上面都有一个icon来标识其作用,是不是瞬间程序结构就清楚明了了!可能有人注意到了代码里还有一句:[code]EditorApplication.update += U这句的作用是,如果你想在这个类中不断的循环调用一个方法的话,就可以这么写了。&描述:&Add your functions to this delegate to get an update callback at approximately 100 times per second.&所以速度是大约每秒100次&重点在 最后& 重点来了 如果我们只是这样吧代码放上去& 那么整个面板都是右边有图片的如下图如何做出限制呢
我们只要在绘制ICON的同时 判断当前的GameObject 上面是否挂在我们对应的脚本就可以了&if (gameObject.GetComponent&你的脚本& ()) {&&&// 设置icon的位置与尺寸(Hierarchy窗口的左上角是起点)&&&Rect rect = new Rect (selectionRect.x + selectionRect.width - 16f, selectionRect.y, 16f, 16f);// 画icon&&&GUI.DrawTexture (rect, EasytouchHierachyCallBack.HierarchyEventIcon);&&&}& 上面红色 的部分就是限制部分 这样我们就可以设置自己的风格了 最终效果 &&&&&
作者的其他最新博客
评论 ( 个评论)8053人阅读
Unity 3d(6)
感谢点评与关注,欢迎转载与分享。
勤奋努力,持之以恒!
出自Unity3d官网学习文档:
在这写出自己也就当边学习边记录了,也希望能帮到大家。
层级视图 (Hierarchy)
层级视图 (Hierarchy)
包含当前场景中的每个游戏对象 (GameObject)。有些是三维模型等资源文件的直接实例,其余是 实例,自定义对象构成游戏的绝大部分。可在层级视图 (Hierarchy)
中选择对象并将一个对象拖到另一个对象内,以应用父子化 (Parenting)(见下图)。在场景中添加和删除对象后,还将在层级视图 (Hierarchy)
中显示或消失。
父子化 (Parenting)
Unity 采用父子化 (Parenting)
这一概念。使任何游戏对象 (GameObject) 成为另一对象的子对象,将欲移动的子对象拖到层级视图 (Hierarchy)
的父对象中。子对象会继承父对象的移动和旋转路径。可根据需要点击父对象的折叠箭头,显示或隐藏子对象。
两个非父子化对象
一个对象是另一个的父对象
如需了解父子化 (Parenting)
的更多内容,请浏览。
预设 (Prefabs)
预设 (Prefab)
是一种资源 - 存储在工程视图 (Project View)
中可重复使用的游戏对象 (GameObject)。预设 (Prefabs)
可放入到多个场景中,且每个场景可使用多次。向场景添加一个预设 (Prefab)
时,就会创建它的一个实例。所有预设 (Prefab)
实例都链接到原始预设 (Prefab),实质上是原始预设的克隆。不管您的工程中有多少个实例,您对预设 (Prefab)
作薄出任何更改时,您会看到这些更改应用于所有实例。
创建预设 (Prefabs)
要创建一个预设 (Prefab),只需将您在场景中创建的一个游戏对象 (GameObject)
拖入工程视图 (Project View)。游戏对象 (GameObject)
的名称变成蓝色,显示这是一个预设 (Prefab)。您可以重命名该新预设 (Prefab)。
完成这些步骤之后,游戏对象 (GameObject) 及其所有子对象均已复制到预设 (Prefab)
数据中。该预设 (Prefab) 现在可在多个实例中重复使用。层级视图 (Hierarchy)
中的原始游戏对象 (GameObject) 现在已变成该预设 (Prefab)
的一个实例。
预设 (Prefab)
要在当前场景创建一个预设 (Prefab)
实例,从工程视图 (Project View) 将预设 (Prefab)
拖入场景 (Scene)
或层级视图 (Hierarchy View)。该实例已链接到预设 (Prefab),在层级视图 (Hierarchy)
中其名称以蓝色文字显示。
其中三个游戏对象 (GameObjects)
链接到了预设 (Prefabs),另一个则没有。
如果您选择了一个预设 (Prefab)
实例,并希望做些更改以影响到所有实例,您可以在检视器 (Inspector)
中点击&选择 (Select)&
按钮来选择源预设 (Prefab)。有关从脚本实例化预设的信息,请参阅
继承是指无论何时源预设 (Prefab) 更改,这些更改都会应用到所有已链接的游戏对象 (GameObjects)。例如,如果向预设 (Prefab)
添加新脚本,所有已链接的游戏对象 (GameObjects) 也将立即包含该脚本。但是,它有可能更改单个实例的属性,同时保持链接完整。更改任何一个预设实例的属性,就可看到变量名称变成粗体。变量现已被重写。所有重写属性都不会受到源预设 (Prefab)
更改的影响。
这使您能够修改预设 (Prefab) 实例,让它们不同于源预设 (Prefabs),且不会破坏预设 (Prefab)
没有可重写变量的一个已链接游戏对象 (GameObject)。
有几个可重写变量(名称加粗的)的一个已链接游戏对象 (GameObject)。
如果想用新重写值更新源预设 (Prefab)
和所有实例,
您可以点击检视器 (Inspector) 中的应用 (Apply)
请注意,将不会应用根的位置和旋转,因为这会影响实例的绝对位置并要将所有实例放在同一个位置。然而,会应用根的任何子元素或祖先元素的位置和旋转,因为它们是相对于根的变换计算的。
如果想放弃对特定实例的所有重写,可点击&还原 (Revert)&
导入预设 (Prefabs)
将网格资源放入资源 (Assets) 文件夹时,Unity
会自动导入文件,并生成一些类似于网格之外预设 (Prefab) 的东西。这实际上不是一个预设 (Prefab),它只是资源文件本身。实例化和处理资源时遇到了一些处理正常预设 (Prefabs)
时不会出现的限制。
请注意,资源 (asset)
图标与预设 (Prefab) 图标略有不同
资源是作为一个游戏对象 (GameObject) 存在于场景中的实例,链接到源资源而非正常预设 (Prefab)。可向该游戏对象 (GameObject)
正常添加组件及从中删除组件。但是,您无法对资源本身作任何更改,因为这样会向资源文件本身添加数据!如果您创建一些想要重复使用的东西,您应当按照上文“创建预设 (Prefabs)”中所列步骤将资源实例制成一个预设 (Prefab)。
选择一个资源实例时,检视器 (Inspector)
中的&应用 (Apply)&
按钮将被替换成&编辑 (Edit)&
按钮。点击此按钮将为您的资源启动编辑应用程序(如 Maya 或 Max)。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:581865次
积分:7151
积分:7151
排名:第3262名
原创:154篇
转载:48篇
评论:64条
(1)(3)(2)(1)(4)(3)(2)(1)(4)(7)(4)(1)(1)(3)(1)(1)(6)(8)(6)(3)(1)(1)(4)(5)(8)(8)(22)(5)(2)(28)(27)(4)(23)(2)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'}

我要回帖

更多关于 unity hierarchy查找 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信