Unity3d UnityEditor EditorWindow 自定义窗体控件
来源:互联网 发布:4g流量3g网络可以用吗 编辑:程序博客网 时间:2024/06/05 17:57
功能:是因为公司的模型组需要一个插件,在MAYA中有很多个复制物体,导出的时候只导出一个,其他相同的物体只导出点的位置信息。这样进入Unity里就是一个物体和N个相同物体的位置点,代码简单但是需要用插件形式,正好没研究过这方面,所以研究下Unity的插件编写。
网上的资料:http://blog.csdn.net/jjiss318/article/details/7435708
根据这篇文章,我做了个简易插件。大概思路是首先将所有带有位置信息的空物体在一个Tag下面获得,然后便利他们在他们的位置下实例化预制体。
首先建立个脚本DuplicatePrefabs。
注意要先添加UnityEditor;引用,以及继承EditorWindow
定义两个变量,一个Transform存储预制体,一个字符串存储Tag的名字
using System;using UnityEngine;using UnityEditor;public class DuplicatePrefabs : EditorWindow{ public Transform PrefabObj; public string TagName="Locator"; private GameObject[] objs; //设置插件在菜单栏的位置 和快捷键 [MenuItem("Window/DuplicatePrefabs %Q")] //实例化窗体 static void Init() { DuplicatePrefabs window = (DuplicatePrefabs)EditorWindow.GetWindow(typeof(DuplicatePrefabs)); window.Show(); } //用GUI画出窗体的空间布局 void OnGUI() { GUILayout.BeginHorizontal(); GUILayout.Label("预制体", EditorStyles.boldLabel); PrefabObj = EditorGUILayout.ObjectField(PrefabObj, typeof(Transform)) as Transform; GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("标签名称",EditorStyles.boldLabel); TagName = EditorGUILayout.TextField(TagName,EditorStyles.boldLabel); GUILayout.EndHorizontal(); if (GUILayout.Button("应用")) { fnDuplicate(); } } /// <summary> /// 便利Tag下物体并实例化 /// </summary> void fnDuplicate() { objs = GameObject.FindGameObjectsWithTag(TagName); foreach(GameObject obj in objs) { Instantiate(PrefabObj, obj.transform.position, obj.transform.rotation); } } }这样,等Unity加载完脚本后在Window下就会出现这个类,点击后就出现了窗体,然后将预制体拖入,填入需要实例化的空物体的标签就可批量实例化相同物体。
0 0
- Unity3d UnityEditor EditorWindow 自定义窗体控件
- Unity3D EditorWindow一些小心得
- Unity EditorWindow自定义弹出窗口
- EditorWindow
- Unity3D 场景编辑器扩展学习笔记-EditorWindow
- 窗体使用自定义的控件
- Unity3d UnityEditor编辑器定制和开发插件
- Unity3d UnityEditor编辑器定制和开发插件
- Unity3d UnityEditor编辑器定制和开发插件
- Unity3d UnityEditor编辑器定制和开发插件
- c# 自定义控件透明,自定义透明窗体
- 让Unity3D中的插件窗口EditorWindow保持居中显示
- UnityEditor<三>自定义窗口 案例1
- UnityEditor<三>自定义窗口 案例2
- 自定义资源(.asset)配置数据[UnityEditor案例]
- 创建自定义形状的窗体和控件
- 一个自定义的窗体样式MessageBox控件
- WPF自定义控件快速构成窗体布局
- 6 cocos2dx粒子效果,类图关系,系统原生粒子和自定义粒子效果,粒子编译器软件,爆炸粒子效果,烟花效果,火焰效果,流星效果,漩涡粒子效果,雪花效果,烟雾效果,太阳效果,下雨效果
- HDU 1159 LCS
- 解决ubuntu12.04下Haproxy不启动的问题
- linux 命令行操作(一)
- 银河护卫队高清 hd在线观看
- Unity3d UnityEditor EditorWindow 自定义窗体控件
- 【android开发】页面之间的跳转和传值
- Windows——获取CPU ID命令(备忘)
- free buffer waits
- 中国地区的官方Ubuntu源
- matlab meshgrid
- 哈哈哈哈哈
- Maven的安装、配置及使用入门
- Django 中的用户认证 2014