推荐阅读:

  • 我的CSDN
  • 我的博客园
  • QQ群:704621321
  • 我的个人博客

Unity游戏开发小技巧集结,不用谢我,我只是大自然的搬运工

1. 借助 Prefab 暂存数据

可以直接在脚本的 Inspector 上填写,然后把整个 GameObject 拖成 Prefab 暂存。
等要用的时候再拖出来。

2. DontDestroy模式

在跨场景的时候保持某些对象一直存在,不必要每次都重新加载,譬如显示广告的模块。

3. 内置函数

Awake,Start,Update,FixedUpdate,LateUpdate 函数,令开发者直接往游戏循环里加内容,非常方便快捷。

4. Input

Input.MouseDown 在移动设备上也通用,对于一些对输入性能要求不高的操作,直接用它来代替 Input.TouchCount或者 RaycastHit 即可。

5. UGUI

新的 UGUI 支持多种 Camera 渲染,以及 RectTransform 里Anchor 的灵活配置,功能很强大。
提前设计好的话,可以一套 UI 同时支持 iPhone4/5/6/iPad以及所有 Android 设备各种尺寸的分辨率。
再也不必做多套 UI 来适应各种设备了。

6. Editor 脚本

可以方便在编辑器里扩展,对开发和摆关卡帮助极大。

7. 测试

测试运行时,可以在任意时候暂停游戏,重新调整数值,游戏对象的位置等等,然后再继续游戏。

8. Editor/Resources 目录可以存在多个,且可以存放在任意目录下

写自己的插件或者代码库时可以自带辅助的资源。

9. Hierachy 层级

在 Hierachy 层级对话框,可以随时输入搜索关键字,然后一起选中筛选出来的GameObject,这个时候可以同时修改它们的相同属性。

10. 内置取色器可以暂存颜色

11. 显示脚本的公用属性

脚本的公用属性在 Inspector 中显示时,可以用额外的修饰符控制其显示方式,取值范围等等,非常方便。

12. StreamingAssets 目录是用来存放不加密的外部文件

它还有一个极好的用途是存放测试数据。
方便在 PC/MAC/移动设备上都能调用到同样的测试数据进行模拟处理。

13. 配合 Alfred 这款快捷启动的小工具

输入“us 关键字”即可快速调出Unity的 ScriptAPI,你是否也经常忘记 Collier/Trigger 函数的完整写法?

每次都需要从帮助手册里复制代码段?

14. Unity死机未保存场景

当你在Unity中编辑场景,突然死机时,可以在项目文件目录中找到Temp文件夹,双击文件夹,找到_Backupscenes文件夹,把后缀为.backup的文件后缀改为.unity,然后拖进Unity的Project界面里面,这样就可以还原死机前场景最后情况。

15. Inspector界面的数值栏自带加减乘除功能

从Unity5.1开始,可以在Inspector界面中的数值栏进行计算,比如:
你可以在Transform里面的Position中X栏中加减乘除。

16. 随意移动模型预览视窗

在Project界面里面选中模型,在Inspector界面上会显示模型的预览视图,右击视图的上的双横条,模型预览视图就会跳出来,此时就可以像Scene,Game等视窗一样任意移动,放在你想放的地方,如果想让他变回去,只要关掉它即可。

17. 搜寻当前场景中哪些物件运用了指定脚本

在Hierarchy界面中的搜索栏中输入你想要搜索的脚本全名,即可找到哪些物件用了这个脚本,此方法也可以用来搜索哪些物体上有哪些物件,比如:
Rigidbody等。

18. 在界面上查看private变量

在Inspector界面右击Inspector的标签栏,选择Debug。

19. 只让游戏运行一帧

先按下暂停键,再按运行键。

20. 通过Debug.Log获取执行此语句物件

在脚本的Debug.Log语句中加入gameObject,即Debug.Log(“Test”, gameObject); 脚本运行时点击Console界面中的输出语句,就能在Hierarchy界面中看到哪个物件执行了这个脚本。

21. 展开所有子节点

按住Alt,用鼠标点击包含子节点物件前的三角形,在Hierarchy界面和Project界面都可以使用。

22. 编辑时镜头跟随选中物件

在Scene界面中选中物件按F,镜头就会对准选中物件,并使其在Scene窗口中居中,如果在拖动物件时,要让镜头跟随物件移动,选中物体后按Shift+F即可。

23. 在Scene界面中方便移动编辑镜头

在Scene界面中鼠标右键 + A/S/D/W/Q/E来移动镜头, 如果想使Game视窗的镜头跟Scene一样,可以在Unity菜单栏中选择GameObject–>AlignWithView。

24. 在Project界面搜索商店内容

先在Project界面中的搜索栏中输入你想要搜索内容的关键字,然后在搜索栏下边的搜索范围选择中选择AssetStore。

25.区分Unity项目

还在用4.X, 拍案叫绝不敢说, 多开几个Unity实例我不知道各位看官怎么区分开的倒地是哪个?我们用Unity的C#功能识别路径把Unity的路径打到标题栏, 这样就方便多了

26. 脚本编译可以不用mono编译器

而编译的dll和il都可以在mono上跑。
从而规避老版本编译器的一些生成问题。

27. shader lab支持自定义对应版本的bytecode

可以用别的shader编译器来编译shader。
也是挺灵活的。

28. 横向移动

做一个横向移动模块 里面有个Update函数 传入Transform,就把Transform按固定速度横向移动。

29. 纵向移动

做一个纵向移动模块 里面有个Update函数 传入Transform,就把Transform按重力加速垂直移动。

30. 下次要做一个 斜向固定速度的,就重用 横向移动模块

单独写一个纵向固定速度移动的模块。
同样的角色脚本,推这两个组件进去,角色就斜着飞了。

31. 把一个模块列表做成状态机状态,加个进入模块和退出模块。

加点状态转换逻辑,你就有个状态机了。

32. 可以把Update函数,拿一个协程的iEnumerator代替

进入状态就启动协程。
定时的,不用更新,或者其他特殊的状态都可以轻松搞出来了。

33. 状态里面定义个System.Action之类的事件,模块可以随便抛出这个玩意。

呵呵,这下动画关键帧也有了。

34. 角色

做一个角色的脚本 包含一个模块列表,把一个横向和一个纵向模块推入列表,然后角色每次Update就遍历就执行每个模块的Update。

35. 快捷目录

Project窗口下,可以把文件夹直接拖到Favorites下作为快捷入口,再也不用找一个文件翻半天了,常用的目录都可以放在这里

36. 线框输出

Game窗口的右上角有个Gizmos按钮,点击之后可以把你用于Debug画出来的所有线框都画到游戏场景中,其中包含Gizmos类画出来的所有东西,以及Unity本身提供的碰撞体等等这些需要去Scene窗口看的东西,尤其是没有双屏幕的开发者,这个功能太贴心了。

37. 自定义Profiler

利用Profiler.BeginSample()和Profiler.EndSample()函数,可以将任何代码断加入Profiler输出,性能调优的利器,一般来说如果有某个地方你自己对于性能不是很有把握,检测一下即可知道其使用开销,用了之后就停不下来了。

38. 反射

如果项目中有一些使用到反射的代码不太方便修改,而又希望通过设置Stripping Level来降低包体大小和内存占用,可以在Assets目录下添加link.xml文件来指定涉及到反射的类。

39. 查看prefab的配置

通过将Editor Setting中的Asset Serialization设置为Force Text可以查看prefab的配置内容,并通过比对工具进行差异处理和合并。

40个Unity游戏开发小阴招相关推荐

  1. csdn vip文章:Unity游戏开发-小游戏-非常简单的游戏-unity-

    原文https://blog.csdn.net/qq_20484877/article/details/81841190 1*创建物体 Create菜单下 3D Object菜单下Cube 1.1设置 ...

  2. Unity游戏开发-小游戏-非常简单的游戏-unity-

    1*创建物体 Create菜单下 3D Object菜单下Cube 1.1设置属性x100   z100作为地面  1.2在创建一个立方体物体 1.3 Create菜单下 3D Object菜单下Cu ...

  3. Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动

    Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动 使用cookie类型的纹理模拟云层的移动 现实生活中,当阳光直射大地,而天空中又有很多云时,云层的影子总是会投射在大地上,风吹着 ...

  4. 关于Unity游戏开发方向找工作方面的一些个人看法

     这是个老生常谈,却又是谁绕不过去的话题,而对于每个人来说,所遇到的情况又不尽相同,别人的求职方式和路线不一定适合你,即使是背景很相似的两个人,有时候机遇也很重要. 我本人的工作经验只有一年,就业方式 ...

  5. unity 角度限制_喵的Unity游戏开发之路 推球:游戏中的物理

    前言很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学.为此我们精选了一套国外优秀的Unity3D游戏开发教程,翻译整理后放送给大家,教您从零开始一步一步掌握Unity3D游戏开发. 本 ...

  6. 喵的Unity游戏开发之路 - 推球:游戏中的物理

    很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学.为此我们精选了一套国外优秀的Unity3D游戏开发教程,翻译整理后放送给大家,教您从零开始一步一步掌握Unity3D游戏开发. 本文不 ...

  7. 最全面的Unity游戏开发指南视频教程 第2卷

    最全面的Unity游戏开发指南视频教程 第2卷 流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小 ...

  8. ​Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机

    ​Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机 Unity中制作一个望远镜 本节制作的望远镜,在鼠标左键按下时,看到的视图会变大:当不再按下的时候,会慢慢缩小成原来的视图.游戏中时常出现 ...

  9. Unity游戏开发技巧集锦2.1.3实现效果

    Unity游戏开发技巧集锦2.1.3实现效果 将此脚本加到Camera对象上,选中此对象,即可查看对象上此脚本组件中的各项属性,如图2-4所示. 图2-4  对象脚本组件里的各项属性          ...

最新文章

  1. JavaScript - 数据类型和变量
  2. xmlrcp学习 - python中使用xmlrpc
  3. 使用ISDN和DDR技术改善远程连接性能
  4. pytorch多进程加载数据
  5. solaris系统关闭服务器,solaris系统中关闭和开启系统服务ftp,telnet,ssh,sendmail...
  6. WinRT开发语言的功能和效率
  7. python脚本判断一个数是否为素数的几种方法
  8. 如何在C中纯粹编写iOS应用程序
  9. Warning:Null pointer access: The variable addStrings can only be null at this location
  10. Codeforces 19E 树上差分
  11. 智慧监狱人员定位系统,监狱防拆手环功能介绍
  12. layui icon服务器上显示不出来,关于layui的动态图标不显示的解决方法
  13. Amazon EC2最新最全使用教程!!!
  14. 网站必备之简繁切换功能实现
  15. 企业微信周末加班怎么打卡?
  16. Web端的邮件内容HTML格式规范总结
  17. 人工智能三大学派:符号主义,连接主义,行为主
  18. 融云观察:吱呀火爆的背后,是陌生人社交新方向
  19. 多张图片如何合并成一个pdf
  20. 腾讯做互联网之水:从马化腾多元化遇挫说起

热门文章

  1. 2020-08-17:为什么HashMap中数组的容量为2的次幂?
  2. 有哪门语言是所有优秀程序员都应该无差别掌握的?
  3. android 对象 保存,Android使用SharedPreferences保存对象
  4. 然后是几点--编程题
  5. 微软常用运行库合集 202206
  6. TopCoder Arena 插件配置(1)Greed 2.0
  7. 软考高级 真题 2013年下半年 信息系统项目管理师 案例分析
  8. quick-cocos2d-x 飞机大战(打飞机)小demo教程------敌人类
  9. 知识扫盲_常用电平标准(TTL、CMOS、LVTTL、LVCMOS、ECL、PECL、LVPECL、RS232)
  10. P6560 [SBCOI2020] 时光的流逝 (博弈,反向建图,拓扑排序