找回密码
 立即注册
查看: 386|回复: 0

Unity小窍门100条!!!(上)

[复制链接]
发表于 2022-9-2 19:40 | 显示全部楼层 |阅读模式
嗨咯,大家好我是小棋,最近我在整理一些Unity开发的小窍门,发现了Brackeys的宝藏视频:http://bit.ly/1kMekJV。
但是这些小窍门只有视频版本,不利于查阅。因此今天我整理下文字版,里面还有一些我自己的经验和观点,算是一次学习笔记,也希望能够帮到大家。
这是 Unity小窍门100条的上篇,后续还会有中、下两篇,有兴趣的小伙伴可以关注我追更,我会尽快出后续的笔记。
关注支持:[打工人小棋]
1. 选择Outline

在Gizmos可以选择两个选项


Selection Outline:外观选项,最外层的一圈
Selection Wire:可以看到三角形面片

2. Pixel Perfect Camera

使用Pixel Perfect Camera component可以使得像素画更加清晰,但是要提前去Package Manager里面下载2D Pixel Perfect这个包。


3. 基于Y轴的Sprite排序

设置方法如下图:


案例演示可以参考我之前的一篇文章:
打工人小棋:unity 2D Sprite 的遮挡关系

4. 延迟销毁(Destroy delay)

Destroy(gameObject, time);time:多少秒后销毁gameObject

5. 从Shader创建材质(Create material from shader)




6. 无需创建空物体就能执行代码

[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]在运行游戏(Play)就会立即执行该函数,而不需要继承MonoBehavior并挂接在物体身上。



7. 保存运行时的组件数据

在运行时调试的参数害怕丢掉,可以在运行时右键,并点击Copy Component



结束运行后,再次右键,Paste Component Values,粘贴运行时的数据。



8. 随机布尔值

可以用下面简单的代码得到一个随机布尔值(true or false)
bool trueOrFalse = (Random.value > 0.5f);
9. 结构体替换类

尽可能使用结构体替换类,这样可以减少垃圾回收。
struct MyData {
    public int number;
    public string text;
}
10. 自动补全

写出表达式的前半部分,然后双击tab,可以自动补全


这里他用的是vs,如果使用vscode要提前装好插件,插件可以参考我的这篇文章:
打工人小棋:VSCode for Unity

11. 嵌套协程

下面这段代码可以在一个 Coroutine 里面启动另一个 Coroutine


(但是实际用途是什么呢?没太明白)

12. 使用动画设置代码参数

录制动画能够修改很多参数,大小比例旋转、碰撞体大小、甚至是代码的参数。



13. 动画窗口操作

ctrl + a 可以选中动画窗口的所有东西,
f 可以聚焦当前选中的帧

14. 曲线视图和K帧

c 可以在曲线视图和非曲线视图之间进行切换
k 可以添加关键帧,俗称k动画
15. 倒放动画

设置Animation -> Speed 为 -1 可以倒放动画。



16. 计算向量距离最好使用Comparing

yes:


no:


原因是可以少计算平方根,提高效率。

17. TextMeshPro

使用TextMeshPro优于Text,可以获得更多的参数设置和显示效果。
(缺点是不支持中文!!!)



18. SerializeField

在代码中可以使用[SerializeField]来使私有变量显示在Inspector 中。


显示:



19. HideInInspector

相反,如果想在Inspector中隐藏公有变量,可以使用[HideInInspector。



20. 在Inspector中重命名一个变量



这个变量health在Inspector会显示为 hp
21. 文件夹快捷打开方式

把一个外部文件夹拖拽到Assets中,会在Unity中生成一个快捷打开方式。
这个功能可以用在一些常用的文件夹上,双击可以立即打开。



22. 定位物体

选中一个物体,并按F可以将摄像头对准该物体

23. 跟踪物体

再按两下F可以一直跟踪这个物体

24. 相机设置成Scene场景的视图

在Scene场景中找到一个喜欢的位置,然后按 ctrl + shift + f 可以让摄像机设置成当前的漫游视角。

25. 比较标签

No:



Yes:



26. 使用空物体组织你的物体层次

在Hierarchy中使用空物体分隔物体,可以帮助我们更好的组织管理游戏物体。



27. 查找场景中的组件

在Hierarchy窗口的搜索栏里可以直接输入组件名来查找带有这些组件的物体



28. 使用类型查找项目中的资源

在Project中可以使用:
name t:type来查找名称为name,类型为type的资源



29. 更快的移动代码行

按照 alt + 上 或者  alt + 下 可以调整当前代码的行向上或者向下移动,而不需要复制粘贴。
当然,这里使用的是vs。
如果使用其他编辑器,比如vscode,不一定有这个快捷键。
如果对效率编程有兴趣的同学可以了解下vim,vscode也可以无缝接入vim插件,编码效率杠杠的。
可以参考我的这篇文章:
打工人小棋:vscode_vimrc

30. 快捷查看帮助文档

点击组件上方的图书图标,可以快速查看该部分的帮助文档。



31. 帮助文档版本变更

想要了解帮助文档的版本变更记录,可以点击 Documentation versions。



32. 折叠、展开所有

按住alt后再点击根目录,可以折叠、展开这个物体下的所有子物体。



33. 自定义窗口布局

你可以自定义窗口布局,点击右上方的Layout可以保存自定义布局。



最后,喜欢的朋友请不要收藏吃灰,记得点个赞再走呀~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-11 01:36 , Processed in 0.286686 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表