经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 游戏设计 » 查看文章
Unity新手村—开发小技巧记录(一)
来源:cnblogs  作者:Tetsuya  时间:2019/3/6 9:00:25  对本文有异议

  第一篇博客它来了!学习unity的过程中,总会遇到一些零碎的知识点和技巧,在此整理记录,方便日后查看,Unity版本:2018.3.2f1。

  因为还是个萌新,如果有写的不对或不好的地方,敬请谅解。

 

  1.使用RuntimeInitializeOnLoadMethod特性的静态方法会在场景加载后直接调用(这个脚本不需要挂载到物体上)

  1. [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
  2. public static void Test()
  3. {
  4. Debug.Log("start game");
  5. }

 

2.使用SerializeField将私有变量暴露在检视面板中,使用HideInInspector特性在检视面板中隐藏公有变量

  1. [SerializeField]
  2. private int PrivateVar;
  3. [HideInInspector]
  4. public int PublicVar;

 

3.用以下代码获得一个随机的布尔值

  1. bool x= (Random.value > 0.5f);

 

4.将动画的speed属性设为-1即可倒放动画

 

5.如果只是存储一些变量的话,建议使用结构体而不是类,以减少垃圾回收

 

6.以下代码可以在第一个协程结束时启动第二个协程

  1. IEnumerator First()
  2. {
  3. yield return StartCoroutine(Second());
  4. }
  5. IEnumerator Second()
  6. {
  7. yield return 0;
  8. }

 

7.以下代码可以让编辑器暂停,方便调试

  1. EditorApplication.isPaused = true;

 

8.可以将文件夹的快捷方式拖入项目,方便打开

 

9.使用CompareTag来比较标签而不是obj.Tag=="player",效率更高

  1. GameObject obj;
  2. if (obj.CompareTag("player"))
  3. {
  4. Debug.Log("Is Player");
  5. }

 

10.Debug支持一些简单样式

  1. Debug.Log("<color=red>Oh!!!</color>");

 

11.怎么忽略控制台警告

先查看警告中的代号,就是CS之后的数字,这里是0414,再到脚本中最上方加上以下代码

  1. #pragma warning disable 0414

回到Unity编译,就不会再弹出警告了

 

12.不要频繁使用Camera.main,它其实就是......

  1. Camera.main = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<Camera>();

 

13.比较距离时不要用Vector3.distance

Vector3.sqrMagnitude用于得到向量长度未开方的值,使用(a - b).sqrMagnitude和距离平方作比较,这样不用做开方运算,效率更高

  1. Vector3 a;
  2. Vector3 b;
  3. float distance = 1f;
  4. void Update()
  5. {
  6. if ((a - b).sqrMagnitude < distance * distance)
  7. {
  8. //todo
  9. }
  10. }

 

14.给检视面板添加一些效果

  1. [Header("等级")] //给变量加上标题文字
  2. public int level;
  3. [Space] //空行
  4. [TextArea] //多行输入框
  5. public string Des;
  6. [Range(0,10)] //滑动条
  7. public float Speed=1;
  8. [Tooltip("生命值")] //鼠标移到变量上出现的提示
  9. public int Hp = 100;

 

15.在项目中搜索同类型资源

在Project视图上方的搜素栏可以按类型搜索资源,使用“t:资源类型”,比如t:scene可以搜索到所有场景,t:script可以搜索到所有脚本

 

 

 还可以在前面加上资源名称的子字符串,比如test t:scene可以搜索所有名字中带“test”的场景

 

 

 

  第一篇暂时先写这么多,以后再继续更新其他小技巧。

 

原文链接:http://www.cnblogs.com/LiveForGame/p/10475743.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号