在Unity开发游戏的时候,为了有一个更快更方便的工作流,我们往往会在Editor下开发一些方便实用的工具.在工具中,用到最多,最关键的就是按钮,它是工具的首席执行官.下面就用最简单的代码来演示添加一个自定义按钮到Inspector当中. 案例:指定坐标后克隆新物体到场景. 1. 在Unity Assets下创建”ObjectBuilderScript”脚本,添加代码: using UnityEngine; public class ObjectBuilderScript : MonoBeh
需求 为Unity的Editor窗口添加右键菜单 实现代码 // This example shows how to create a context menu inside a custom EditorWindow. class MyGenericMenu extends EditorWindow { @MenuItem("Game/Open Window") static function Init () { var window = GetWindow (MyGenericMe
1.首先定义一个需要控制数值的类,类中定义若干个变量 using UnityEngine;using System.Collections; using UnityEngine; using System.Collections; // This is not an editor script. public class MyPlayer : MonoBehaviour { public int Jump; void Update () { // Update logic here... } }
在unity写了一个编辑类,基于iTweenpath插件,为了更方便的操作iTweenpath,顺便练习UnityEditor的操作,写了一个CreateiTweenPath,放在Editor文件夹中. using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEditor; public class CreateiTweenPath :EditorWindow { [Men
最近在开发一个可视化工具的时候,遇到了一个代码错误,小小的记录一下 具体的报错信息:ArgumentException: Getting control 0's position in a group with only 0 controls when doing Repaint A 从Unity的报错信息上我们可以得知在OnGUI绘制的时候,它找不到可控的位置.经过查找和验证发现一个很有意思的事情:OnGUI函数每帧并不是仅仅只调用一次! 通常,当没有输入处于活动状态时,会使用EditorGU
using UnityEngine; using System.Collections; using System; public class LearnGrazio : MonoBehaviour { public Transform m_Transform; public float m_Radius = 1; // 圆环的半径 public float m_Theta = 0.1f; // 值越低圆环越平滑 public Color m_Color = Color.green; // 线框
在我们做项目的过程中 经常会有预设中出现空的脚本 例如: 导致的原因是因为 脚本的丢失 现在我们来做一个检查工程中有空脚本的预设工具 老规矩直接上代码 放到工程就能用 using UnityEngine; using UnityEditor; using System.IO; using System.Collections.Generic; public class PrefabTool : EditorWindow { [MenuItem("Prefab Tool/Check Missing
网格绘制主要用是对Mesh进行操作,通过对vertex和triangles进行操作生成对应的面片: 这里首先得用到一个类:Triangulator(根据vertex生成triangles数组) using UnityEngine; using System.Collections.Generic; public class Triangulator { private static List<Vector2> points; private static Vector3 cameraPosit