Runtime Transform Gizmos丨功能实现

 

目录

一、前言:

二、基础配置:

三、拓展功能

1、实现按下某按钮,选中某些物体

方法1(推荐):

方法2:

2、开启关闭网格线


 

一、前言:

Runtime Transform Gizmos已有介绍很详细的博客。因此本章不再介绍基础功能了。转而实现拓展功能。

二、基础配置:

参考博客:转载链接

三、拓展功能

1、实现按下某按钮,选中某些物体

效果:

方法1(推荐):

EditorObjectSelection脚本添加如下代码:

        public void Skode_Press()
        {
            _selectedObjects.Clear();

            _selectedObjects.Add(GameObject.Find("Cube"));
            _selectedObjects.Add(GameObject.Find("Cube (1)"));
            _selectedObjects.Add(GameObject.Find("Cube (2)"));

            FindObjectOfType<EditorGizmoSystem>().GetComponent<EditorGizmoSystem>().ChangeActiveGizmo(GizmoType.Translation);
        }

方法2:

该方法测试时发现支持windows平台,不支持WebGL。原因是WebGL不支持动态链接库

 代码:
EditorObjectSelection脚本添加如下代码:(untiy按键键值表

        [DllImport("user32.dll", EntryPoint = "keybd_event")]
        public static extern void Keybd_event(
          byte bvk,//虚拟键值 ESC键对应的是27
          byte bScan,//0
          int dwFlags,//0为按下,1按住,2释放
          int dwExtraInfo//0
          );

        public void Skode_Press()
        {
            _selectedObjects.Clear();

            _selectedObjects.Add(GameObject.Find("Cube"));
            _selectedObjects.Add(GameObject.Find("Cube (1)"));
            _selectedObjects.Add(GameObject.Find("Cube (2)"));

            //模拟W键按下、松开。
            Keybd_event(87, 0, 0, 0);
            Keybd_event(87, 0, 2, 0);
        }

2、开启关闭网格线

网格线会在Game视图、打包出来的游戏中显示。

开启与关闭的方法:

发布了320 篇原创文章 · 获赞 77 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/weixin_38239050/article/details/103641693