我是酱油,这是第124期文章
有位程序同事是游戏达人,对手感很在意,容不得一点延迟。工作里,经他负责的玩法,都会把手感调到极佳,并乐此不彼地向旁人展示他的成果:看!是不是操作起来很爽?
很多策划与这位程序小哥配合后,都对他赞赏有加。不禁感慨:会写代码的程序员多,能写得好的人少,而写得一手好代码,又追求手感的程序员,少之又少,简直是团队珍宝。
在我们的认知里,策划才是游戏主导,对用户体验更上心。可为什么这种事情发生在程序员身上,而不是策划身上呢?
经过这次游戏制作后发现:手感这事不仅是设计问题,还是技术上的问题。
作为策划,肯定希望手感好,但能好到什么程度,就取决于程序的技术了。所以行业里才有这说法:没有程序美术,策划啥都不是。
今天是制作游戏的第5天,主要优化手感。
在之前的游戏里,控制小狐狸起跳环节是有瑕疵的,有时候点击跳跃键,小狐狸并没有跳跃,所以准确地说,这已经是bug了。
但为什么会有这个bug呢?
UP主在研究后,跟大伙分享了其中的缘由,此处省略几千字,因为看完还是懵,所以自己也查了一些资料,做了通俗的注释。
原来在Unity里,用来检测按下跳跃键的代码Input.GetButtonDown,最好在Update里调用,而不是在FixedUpdate里调用。
所以通常做法是:在Update里检测玩家是否按下跳跃键(发送跳跃命令),在FixedUpdate里接收命令后就控制角色起跳。
但Update在刷新时会重置,而FixedUpdate又是每0.02秒执行一次,万一Update发送出去的消息刚好落在FixedUpdate的执行间隔里,角色没起跳,然后Update刷新后又重置了(即便此时仍然按着跳跃键,也不会再次发送跳跃命令),就导致角色有小概率没跳起来。
那怎么办呢?
新增一个参数(默认为0),当Update检测玩家按下跳跃键时,就把这个参数设置为1。在FixedUpdate里,如果发现这个参数为1就起跳,起跳后恢复为0。这样就保证了按下跳跃键,角色必然起跳,会有延迟吗?理论上有,最多延迟0.02秒,但体验时感受不出来。
这样问题就圆满解决了,终于实现了控制角色跳跃时,能做到点击即起跳。
今天分享到这儿,大家有遇到什么问题吗?欢迎给我留言,一起来吐槽制作游戏这个大工程。
附:今日份的视频教程
https://www.bilibili.com/video/av82865782/
Michael是我很喜欢的一位UP主,他的视频很适合零基础的小伙伴,闲暇时动手学学。这系列的文章不是教大家怎么做游戏,而是陪伴大家一起学做游戏。Michael是老师,我跟大伙都是学生,同学之间可以相互嘚瑟吹逼吐槽,一起搀扶着学习,可以走得更远。
欢迎转发,召集更多零基础的志同道合小伙伴
-------------华丽分割线---------------
听说你对这事有兴趣
【第83期】7天,迈出独立制作游戏第1步
【第82期】听说,你也在找一起努力的人
应聘精选文章
【第106期】游戏策划:七日礼包的面试攻略
【第108期】主策月薪15K~40K,你也有机会
【第110期】策划必考题,90%的人没答对
【第112期】那个女同学,奖金拿了20薪!
【第114期】找工作,这些陷阱一个比一个坑
【第116期】少有人走的路,却通向了游戏策划
一些大家的问题
【第71期】游戏策划:恭喜@LK入职游戏行业
【第64期】应届生简历怎么写,才能进入游戏行业
【第40期】游戏策划:给@真轶的应聘攻略
【第49期】游戏策划:给@魂小的职场建议
【第50期】游戏策划:给@人来人往的应聘攻略
【第53期】游戏策划:给@灰来灰去的简历分析
【第54期】游戏策划:给@炸鸡的简历分析
【第56期】游戏策划:给@LK的简历分析
【第58期】游戏策划:答@呜啦呼哈咚嗒疑惑
还有一些有趣的话题
【第69期】游戏职场6年:决定你职业生涯的,根本就不是技术!
【第67期】游戏开发团队里,为什么策划人数多一些?
【第68期】裁员时,才明白生命里的贵人是谁
【第65期】你那么优秀,为什么大公司不要你?
【第52期】应聘的误区你信了几个?

本文深入探讨了游戏手感优化的关键技术,特别是在Unity中如何解决角色跳跃时的延迟问题,通过调整代码逻辑,确保了玩家操作的即时反馈,极大提升了游戏体验。
2116

被折叠的 条评论
为什么被折叠?



