[Unity学习教程] Unity编辑器扩展-第四集-获取物体的方法

[复制链接]
查看593 | 回复0 | 2023-8-23 11:36:50 | 显示全部楼层 |阅读模式 来自 中国北京
第三集链接:Unity编辑器扩展-第三集-添加按钮到组件菜单而且重置组件_菌菌巧乐兹的博客-CSDN博客

 一、本节目的+结果展示

1.改选中单个物体的名字

2.改选中所有物体的名字

 3.选中了所有的物体,但只改第一层物体的名称

 4.来个有用的(选中的所有物体,按次序起名)

  二、 概述

有个类Selection,可以让你获取差异的物体
  1. Selection.activeGameObject    //选择单个物体
  2. //如果就非要多选,它认多选时选的第一个
  3. Selection.gameObjects        //你选的所有物体都算
  4. Selection.transforms            //你选的所有物体的辈分最大那个物体
复制代码
 三、案例

1.改选中单个物体的名字
  1. using UnityEditor;
  2. public class Tools
  3. {
  4.     [MenuItem("第四集/菌菌兹")]
  5.     static void ChangeName() {
  6.         Selection.activeGameObject.name = "菌菌兹";
  7.     }
  8. }
复制代码
2.改选中所有物体的名字
  1. using UnityEditor;
  2. using UnityEngine;
  3. public class Tools
  4. {
  5.     [MenuItem("第四集/菌菌兹")]
  6.     static void ChangeName() {
  7.         foreach (GameObject obj in Selection.gameObjects)
  8.         {
  9.             obj.name = "菌菌兹";
  10.         }
  11.     }
  12. }
复制代码
 3.选中了所有的物体,但只改第一层物体的名称
  1. using UnityEditor;
  2. using UnityEngine;
  3. public class Tools
  4. {
  5.     [MenuItem("第四集/菌菌兹")]
  6.     static void ChangeName() {
  7.         foreach (Transform obj in Selection.transforms)
  8.         {
  9.             obj.name = "菌菌兹";
  10.         }
  11.     }
  12. }
复制代码
 4.选中的所有物体,按次序起名
  1. using UnityEditor;
  2. using UnityEngine;
  3. public class Tools
  4. {
  5.     [MenuItem("第四集/菌菌兹")]
  6.     static void ChangeName() {
  7.         foreach (GameObject obj in Selection.gameObjects)
  8.         {
  9.             //GetSiblingIndex()是获取父亲的第几个孩子
  10.             obj.name = obj.transform.GetSiblingIndex().ToString();
  11.         }
  12.     }
  13. }
复制代码


来源:https://blog.csdn.net/weixin_49427945/article/details/131224441
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则