一路上学到的东西
不是每个心得都值得单独写一篇文章。这里是过去几个月里积累的一些小教训——每一条至少让我们搭进去一个晚上。
门洞需要三格高。听起来不对,但这是物理:我们的玩家角色是一个略低于 1.9 格的胶囊体——可爬台阶的逻辑(台阶偏移)在行走时还会额外向上探测 0.6 格。一扇两格高的门,数学上够高,实际上还是太矮:你会卡住。从那以后,造飞船和空间站的规则就是:通道三格高。永远如此。
玻璃应该是乳白色的。我们最初的透明玻璃在技术上没错,但看起来就像墙上的一个洞。乳白色的磨砂玻璃在方块世界里更像一种材质——你能看出那里有东西。有时候,写实的方案反而更差。
先 git pull,再开功能分支。有一次,我们在一个旧状态上工作了好几周,而服务器上两个大的 PR 早就合并了。最后那场合并冲突是活该。本地的主分支不是事实,只是一段记忆。
Windows、长路径和 git worktree。Unity 项目会产生层层嵌套的包缓存——深到 Windows 的路径长度限制会破坏对 git worktree 的清理。那个救命的办法又丑又管用:用 robocopy 把一个空目录镜像到那个顽固的目录上,然后再删除。
编辑器会说谎。(见“技术”分类里关于着色器的那篇文章。)在 Unity 编辑器里能跑,还远远证明不了构建出来的版本也能跑。
小教训,大影响:每一条都变成了检查清单上的一行。这也许才是真正的教训。
留言