Unity输出场景中选中的物体数量

需要注意的有两点:

1.如果直接输出,每个没选中的物体都会执行一遍命令,需要过滤只让一个物体执行命令,但是我用Validate不太管用.直接在命令里过滤

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

[CanEditMultipleObjects]

public class SelectionCount : Editor {

    [MenuItem("GameObject/Get Selection Count",false,0)]
    static public void GetSelectionCount(MenuCommand menuCommand)
    {
        //Prevent executing multiple times when right-clicking.
        if (Selection.objects.Length > 1)
        {
            if (menuCommand.context != Selection.objects[0])
            {
                return;
            }
        }
        Debug.Log("<color=yellow>选中的数量为" + Selection.objects.Length + "</color>");
    }

}
时间: 2024-07-28 18:59:12

Unity输出场景中选中的物体数量的相关文章

unity查找场景中所有物体

代码很简单就一句话,至于你想怎么用再往里面加东西就好 //查找场景中所有的物体 foreach (GameObject objj in UnityEngine.Object.FindObjectsOfType(typeof(GameObject))) { Debug.Log(objj.transform.name); } 原文地址:https://www.cnblogs.com/qq2351194611/p/11423827.html

Unity 获取场景中所有目标对象(包括不激活的对象)

using UnityEngine; using UnityEditor; using System.Collections.Generic; public class ExampleScript : MonoBehaviour { // 获取场景中所有目标对象(包括不激活的对象)不包括Prefabs: List<T> FindSceneObject<T>(string _SceneName)where T:UnityEngine.Component { List<T>

unity区分点击在3D物体还是2D UI上

当场景中的3D物体需要响应点击,但同时有UI显示时,存在判断点击是在3D物体上还是UI上的问题,办法如下: 1. 射线检测所有2D 3D物体,有2D物体被检测到时表明当前有UI.但无论Physics2D.Raycast()还是Physics.Raycast()都只能检测到含有Collider组件的物体,普通UI如Image Button等一般用射线是不起作用的.EventSystem.current.RaycastAll()可以将当前屏幕上的所有可检测的物体全部检测到,该方法需要自己构造一个Po

在unity中用鼠标实现在场景中拖动物体,用鼠标滚轮实现缩放

在场景中添加一个Plan,Camera,Directional Light,Cube.添加两个脚本scrollerScirpt(挂在Camera),CubeDragScript(挂在Cube上). 1.鼠标滚轮实现缩放:将摄像机的镜头拉近或者拉远,调整摄像机的视角就可以实现,主要实现代码如下: void Update () { //鼠标滚轮的效果 //Camera.main.fieldOfView 摄像机的视野 //Camera.main.orthographicSize 摄像机的正交投影 //

Unity 场景中看不到物体或者OnDrawGizmos画的线看不到

有时候,Unity中的场景里面,物体突然看不见了,可以这样做: 首先,在 Hierarchy 面板选择看不见的物体,按下快捷键 f.如果物体还是看不见,见下图: 看看图中圈红的地方.如果,如果物体要看得见,需要图标是 "眼睛" 的图案.鼠标点击一下,如果图标已经是 "眼睛" 的图案,场景中还是看不见物体,那就要看看是不是 layer 设置的问题了. OnDrawGizmos() 画的线看不到,可能也是 右上角的 Layer 设置问题: 让 Layer 设置为 Def

Unity 3D 中新建游戏物体过程中 Intantiate Transform 空物体和本体之间的关系

我们通过Unity构建场景的过程中,经常发现一个现象,就是物体在拖进场景中后,我们会发现物体是反的,通过改变物体的rotation属性后,得到了正确的方向,可物体的坐标系又变得和默认坐标系(右上角系统自带的坐标系)不一样了,这样就给后续的脚本工作(通常是控制(Transform)脚本和生成(Intantiate)脚本)带来了困扰,因为脚本写作的过程中是按照正常的坐标系来的,物体的脚本和默认的不一样了就会出现诸如按下键物体向上的现象. 其实,在游戏场景的创建过程中,不仅仅是物体的方向,一个游戏物体

在Unity场景中更改天空盒的步骤

一.介绍 目的:在Unity场景中制作一个天空盒. 软件环境:Unity 2017.3.0f3,VS2013. 参考 skybox 二.自制一个天空盒 1,创建一个材质material 2,更改属性为Skybox/6 Sided,并且把六个面的图片都选好 三.修改天空盒 在菜单栏Window属性下,选中Lighting -> settings,会出现下面对话框 修改后效果如下 原文地址:https://www.cnblogs.com/OctoptusLian/p/8932428.html

Unity制作游戏中的场景

Unity制作游戏中的场景 1.2.3  场景 在Unity中,场景(Scene)就是游戏开发者制作游戏时,所使用的游戏场景.它是一个三维空间,对应的三维坐标轴分别是X轴.Y轴和Z轴本文选自Unity 2D游戏开发从入门到精通清华大学出版社. 要创建一个新的场景,只需单击File|New Scene命令,或者按下快键键Ctrl+N,如图1-16所示. 图1-16  创建程序的命令,以及场景 默认情况下,新创建游戏项目的同时,也新创建了游戏的场景,只不过还没有保存罢了.使用快捷键Ctrl+S即可保

Unity3D NGUI从背包中拖出并在场景中生成物体

http://www.cnblogs.com/zhanghaipeng-Unity3D/p/4732592.html 由于游戏需要从背包中拖出武器并在场景中相应的位置生成出来,所以研究了一下这个. 一般来说,在Unity3D开发中如果使用NGUI为游戏做UI,我们的场景和UI并不是使用一个相机进行渲染的,所以从背包中拖出物体并在场景相应的位置生成物体,就会涉及到UICamera和场景摄像机的转换.我在做这个时主要通过打射线来实现坐标转换. 如何创建一个可拖动的UI组件可以参考NGUI中的Exam