三年前,我第一次打开Unity,想做个简单的塔防游戏玩玩。结果那个项目失控了,我真希望当初就知道,YouTube上很多人推荐的做法其实糟糕透顶。

#1:使用UI Toolkit。
因为之前搞过网页开发,我当时想:太棒了!可以用HTML和CSS做UI,真是轻松。
但实际用起来,这个框架比普通的uGui/Canvas方式繁琐得多,而且缺乏很多功能,比如TMP的高级文本设置,调试也远比普通UI困难——普通UI只需在播放模式下在层级面板中找到对象,调整到满意为止。我浪费了几个月与UI Toolkit斗争,现在游戏已经完全迁移到普通uGui了。

#2:动画

试图在动画器窗口中从一个剪辑拖箭头到另一个剪辑,真是脆弱又浪费时间。
你几乎总是想要animator.CrossFade(而不是animator.Play!)。CrossFade能从当前姿态平滑过渡,而Play直接跳跃,几乎总是看起来不对劲。

如果场景中有数百个单位,不要在每个单位上都放Animator。改为烘焙VAT动画。

#3:对成百上千生成的对象(伤害数字、血条、树木、金币)使用GPU实例化。第一次做可能有点吓人,但当你不再重复绘制同一物体成百上千次时(对玩家的电脑来说),会轻松很多。

#4:有些包是必不可少的,我知道得太晚了。可能不止这些,但我了解的两个是:
DoTween(用于动画)和Microsplat(用于地形)。

我有没有漏掉什么?