首页 > 其他分享 >在Unity的Inspector面板显示一个按钮

在Unity的Inspector面板显示一个按钮

时间:2023-10-18 16:55:07浏览次数:41  
标签:脚本 GameObject PortList Unity 按钮 using Inspector

在Unity的Inspector面板显示一个按钮
显示的按钮效果

这个脚本应该放置Unity的Assets文件夹下的Editor文件夹下。

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


namespace wyhTools
{

    [CustomEditor(typeof(InspectorShortcutButton))] // 替换"YourScript"为你的脚本类名
    public class SetRedPointPos : Editor
    {
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();

            InspectorShortcutButton script = (InspectorShortcutButton)target;

            // 添加一个按钮
            if (GUILayout.Button("通过DeviceBox设置SelectedBox"))
            {
                // 获取到这个摄像机
                 //参数的传递好像是只能从继承自Editor的脚本到MonoBehaviour的脚本,
                GameObject gameObjectParameter = GameObject.Find("Main Camera").gameobject;
                script.YourFunc(gameObjectParameter );
               
            }
        
        }

    }

}


这个脚本可以放置于Scripts文件夹下,然后再物体上挂载这个脚本就会显示一个按钮,并再非运行情况下给摄像机创建一个子物体。

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


namespace wyhTools
{
    public class InspectorShortcutButton : MonoBehaviour
    {
        /// <summary>
        ///  你的脚本
        /// </summary>
        /// <param name="model">参数1 </param>

        public void YourFunc(GameObject model)
        {
            if (model != null)
            {
                  //给传递过来的物体创建一个空的子物体
                 GameObject gameObject_PortList = new GameObject("PortList");
                 gameObject_PortList.transform.position = new Vector3(0, 0, 0);
                 gameObject_PortList.transform.parent = model.transform.parent;
                 
            }
       

        }

    }

}


标签:脚本,GameObject,PortList,Unity,按钮,using,Inspector
From: https://www.cnblogs.com/goodcooking/p/17772739.html

相关文章

  • Unity DOTS中ECS核心架构详解
     最近DOTS终于发布了正式的版本, 我们来分享一下DOTS中ECS的几个关键概念与结构,方便大家上手学习掌握Unity DOTS开发。 ECS中的World  Unity DOTS ECS架构中所有的Entity都是被放到了World对象里面,每个Entity在World里面都有唯一的Id号。Unity DOTS 可以同时支持很多......
  • 【Unity3D】程序纹理简单应用
    1几何纹理应用​本文所有案例的完整资源详见→Unity3D程序纹理简单应用。1.1边框​1)边框子图​Border.shadersubgraph​说明:Any节点用于判断输入向量中是否存在一个分量非零,Branch节点根据输入的真假走不同的分支,详见→ShaderGraph节点。​2)圆环......
  • 【Unity3D】水面特效
    1前言​水波特效中通过屏幕后处理实现了环形水波效果,本文通过ShaderGraph实现了模拟水面特效,包含以下特效细节。ShaderGraph基础知识详见→ShaderGraph简介、ShaderGraph节点、程序纹理简单应用。深水区和浅水区颜色差异;水面有波纹,并且在移动;水面起伏波动;水面......
  • Unity3D学习记录02——PloyBrush场景搭建
    首先在Window->PackageManager里面搜索PolyBrush,下载后将URP的Shader样例导入 导入后Asset文件夹下会有Sample的文件夹,在菜单栏Tools->PolyBrush->PolyBrushWindow打开窗口这个窗口最上面的五个,第一个是用来调整地形高低的,第二个是进行柔化场景的,第三个是调整颜色的,第四个......
  • layui按钮多选数据赋值到OA明细表
    实际效果:点击全选按钮,选择数据,点击获取选中行数据,自动赋值给明细表 因为利用layui生成按钮以及表格,所以需要引入layui。表格内容为固定数据,如需要实现动态分页数据,自行实现,或者查看我另一篇博客文章:https://www.cnblogs.com/stfzhuang/p/17676056.html实现JS:<script>......
  • Unity3D学习记录01:URP渲染管线以及3D游戏场景设置
    以下内容所使用的版本均为Unity2022.3先在Window->PackageManager->UnityRegistry里面搜索添加UniversalRP Unity中,创建渲染管线的方式为Asset文件夹下右键Create->Readering->URPAsset(withUniversalAsset)会创建以下两个Pipeline: 接着在图中的设置里添加这两个渲......
  • 金蝶云星空业务对象自定义按钮进行权限控制
     金蝶云星空业务对象自定义按钮进行权限控制一、背景说明金蝶标准:权限绑定操作,操作绑定按钮。实际需求:按钮不绑定操作,直接验权二、创建按钮2.1菜单集合  2.2列表菜单 三、创建权限项  四、添加权限项到权限对象 五创建公共权限服务usingKingdee.B......
  • 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(9) -- 实现系
    在WPF应用端开发,它的界面类似于Winform端,因此我们也需要对系统的菜单进行动态配置,这样才能把系统的功能弹性发挥到极致,通过动态菜单的配置方式,我们可以很容易的为系统新增所需的功能,通过权限分配的方式,可以更有效的管理系统的菜单分配到不同的角色用户,本篇随笔介绍在WPF应用端中实......
  • 【Unity3D】Renderer Feature简介
    13D项目迁移到URP项目后出现的问题​3D项目迁移至URP项目后,会出现很多渲染问题,如:材质显示异常、GL渲染不显示、多Pass渲染异常、屏幕后处理异常等问题。下面将针对这些问题给出一些简单的解决方案。​URP官方教程和API详见→UniversalRP文档、Universal......
  • 【Unity代码片段】Unity在Unity中显示帧率
    在Unity中显示帧率1.将脚本挂在于一个物体,2.为FPS赋值一个UnityEngine.UI.Texttext运行即可FrameUpdata是帧数的在UI上的更新速度。usingUnityEngine;usingUnityEngine.UI;///<summary>SimpleFPS-Counter.</summary>[DisallowMultipleComponent]public......