U3D自定义
发布日期:2021-06-30 14:56:46
浏览次数:4
分类:技术文章
本文共 1564 字,大约阅读时间需要 5 分钟。
using UnityEngine;using UnityEditor; //需要引入这个,还有这个脚本要放在Editor文件夹里才会生效using System;//ScriptableObject 这个可以不用挂在物体上public class Jerry_custom : ScriptableObject{ // 这个字符串是在菜单栏里新建了一个Custom,点开后Useful Tool 然后是[color=#008ef1][color=#000000]EnableDisable Multi,%#h 代表的是ctrl+shift+h 快捷键组合[/color][/color] public const string MENU_DISABLE_MULTI_GAMEOBJ = "Custom/Useful Tool/Enable or Disable Multi GameObj %#d";//这个是设置选中物体及其子物体的激活状态 public static void EnableODisableChildNote (Transform parent, bool enable) { parent.gameObject.active = enable; for (int i = 0; i < parent.childCount; i++) { Transform child = parent.GetChild (i); if (child.childCount != 0) { EnableODisableChildNote (child, enable); } else { child.gameObject.active = enable; } } } //这个是设置这个命令什么时候可用,只有在选中一个gameobject的时候,这个命令才会生效,也就是只有选中一个或多个物体的时候快捷键才会起作用 [MenuItem(MENU_DISABLE_MULTI_GAMEOBJ, true)] static bool ValidateSelectEnableODisable () { GameObject[] gos = GetMultiSelectedGameObject () as GameObject[]; if (gos == null) { return false; } if (gos.Length == 0) { return false; } return true; } //这个就是执行命令的函数了,找到选中的物体,及其所有子物体,然后设置他们的激活状态, [MenuItem(MENU_DISABLE_MULTI_GAMEOBJ)] static void SelectEnableODisable () { GameObject[] gos = GetMultiSelectedGameObject () as GameObject[]; // Undo.RegisterUndo (gos, "EnableODisable GameObject"); bool enable = !gos [0].active; foreach (GameObject go in gos) { EnableODisableChildNote (go.transform, enable); } } //返回选中的gameobject static GameObject[] GetMultiSelectedGameObject () { return Selection.gameObjects; }}
转载地址:https://jerryjin.blog.csdn.net/article/details/83341923 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年05月01日 02时33分05秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux值进程、进程组、会话的关系
2019-05-01
十大经典排序算法(动图演示)
2019-05-01
netstat -s 各项参数意义
2019-05-01
netstat -s TCP连接失败 相关统计 解释
2019-05-01
Go开发环境搭建
2019-05-01
前言:为什么我们需要一门新语言
2019-05-01
380. O(1) 时间插入、删除和获取随机元素
2019-05-01
第一章、初始Go语言
2019-05-01
第二章、顺序编程
2019-05-01
第三章、面向对象编程
2019-05-01
第四章、并发编程
2019-05-01
利用进程信号量实现读写锁
2019-05-01
linux信号:信号屏蔽字与未决字
2019-05-01
关于popen疑问的记录
2019-05-01
线程读写锁
2019-05-01
676. 实现一个魔法字典
2019-05-01
linux系统编程之信号(一):信号基本概述
2019-05-01
284. 顶端迭代器
2019-05-01
linux系统编程之信号(二):一些信号发送函数和不同精度的睡眠
2019-05-01
linux系统编程之信号(三):信号的阻塞与未决
2019-05-01