我是酱油,这是第163期文章
后台收到网友@FSY留言
我其实有点不太明白,为啥很多策划说喜欢做游戏但是却连unity ue4都不学不练?
这问题有意思,也确实发生在你我身边。
很多想将来从事游戏策划的同学,会问需要学些什么。还有入行几年策划同学,会说职场遇到了瓶颈,学不到东西了……怎么办?
其实大家的心思,大多想要的答案就是玩什么游戏啦、看什么书啦……这些相对简单不费劲的途径。
但如果有人回答说:学些美术吧,从素描开始。或者学些程序吧,从C开始。
很多人就惊讶了:啊!为啥要学那些?
咱们不排除一些天资卓越的人,即便不会美术程序,也可以做出爆款。但现实是,你我大多为资质中庸的凡人,游戏策划的修炼,还是需要建立在一定的程序美术基础上的。
回到游戏制作上,最近几天在捣腾让小红椒入水游泳的功能。
思路是:当小红椒跳进海里,与海水发生碰撞,就改变引力,然后重新定义上/下/左/右移动功能,实现在海里自由游动。
看,多简单!
但实际还是折腾了好几天……
首先,跟海水的碰撞,如何检测?
方案1:用Circle cast射线检测的方法,从角色中心射出射线,碰到海水即入水了。
结果:小红椒入水后直沉海底,卒。
翻阅资料后发现:原来角色入水了之后,就没法射出射线了。
方案2:用OnCollisionEnter2D碰撞检测的方法,把海水设置为触发器(Trigger),当两者碰撞时即角色入水了。
结果:小红椒入水后再次沉底,卒X2。
估计是碰撞时没有传递数据出来,后来想想,索性重新复习一遍官方教程。
两天后,在闲聊中,阿树说跟Trigger碰撞,不能用OnCollisionEnter2D,可能要用OnTriggerEnter2