Unity让调试更加简单(一)
2016-05-31 21:24
316 查看
“重视能够节约时间的工具,高效率的程序猿都把时间花在制作工具上“。——Bobby Johnson(原FaceBook技术总监)
今天在通过Material的RenderQueue调整层级的时候,因为是通过代码调整的,所以每次调整完以后必须运行程序才能看到效果。非常浪费时间
原始代码是这样的:
为了提高效率
于是,有了下面的代码
欢迎转载。转载请注明:
Hello光头原创
如有建议或意见,欢迎留言。
也欢迎大家加我qq,一起学习进步:1009570451
今天在通过Material的RenderQueue调整层级的时候,因为是通过代码调整的,所以每次调整完以后必须运行程序才能看到效果。非常浪费时间
原始代码是这样的:
using UnityEngine; public class MaterialOrder : MonoBehaviour { [Range(3000,3300)] public int renderLayer = 3000; void Start() { ChangeQueue(renderLayer); } void ChangeQueue(int layer) { if (layer >= 3300) layer = 3300; gameObject.GetComponent<Renderer>().sharedMaterial.renderQueue = layer; } }
为了提高效率
于是,有了下面的代码
#if UNITY_EDITOR using UnityEditor;//自动调用OnValidate()方法 #endif using UnityEngine; [ExecuteInEditMode]//添加这个以后,Start方法会在添加脚本和点击run或stop的时候执行一遍 [AddComponentMenu("MyTool/MaterialOrder")] public class MaterialOrder : MonoBehaviour { [Range(3000,3300)] public int renderLayer = 3000; void Start() { ChangeQueue(renderLayer); } #if UNITY_EDITOR void OnValidate()//在Inspector中修改参数值,就会自动调用这个方法 { ChangeQueue(renderLayer); } #endif void ChangeQueue(int layer) { if (layer >= 3300) layer = 3300; gameObject.GetComponent<Renderer>().sharedMaterial.renderQueue = layer; } }
欢迎转载。转载请注明:
Hello光头原创
如有建议或意见,欢迎留言。
也欢迎大家加我qq,一起学习进步:1009570451
相关文章推荐
- Unity3D之Vector3.Dot(点积)和Vector3.Cross(叉积)的使用
- unity规范
- UnityShader快速上手指南(三)
- UnityShader快速上手指南(三)
- 帮同学做的把T1图像转成TXT格式用于unity 3d输入的小工具
- Unity调用IOS时间日期控件UIDatePicker
- Unity3D学习日记(九) EasyMovieTexture视频播放插件使用浅谈
- Unity3D之脚本反编译点滴记录
- unity抗锯齿设置
- unity旋转 缩放摄像机
- Unity的camera组件
- Unity中的Path对应各平台中的Path
- GVR-SDK-Unity初体验
- C#中delegate和event的区别(根据unity官方指南)
- Unity中文API,视频转换器(将任何格式的视频转换为.OGV格式)
- unity3D-iOS工程整合爬过的坑~
- 【Unity3D实战】RPG黑暗之光Scene3:创建游戏运行场景及角色控制
- Unity3d与Android交互总结
- U3D Distortion
- Unity3d PackingTag 字母大小写问题,导致图集错误