欢迎光临散文网 会员登陆 & 注册

ProjectX.001.暂名'工作室幻想' - 开发日志.003 - 厕纸到轨道滑轮 & 伸缩臂的渲染

2023-03-17 11:03 作者:IGAStudio  | 我要投稿

因为内部人员测试的时候,老是有人说之前的抽卡形式像抽厕纸,雀食!所以我就和美术Friedegg商量了一下,弄了个新的抽卡方案,转成用轨道滑轮的形式。

滑轨抽卡

滑轨的形式,在向玩家传递玩法概念上带来了些一开始未设想的优势

当将卡牌弹回牌库时,卡会向左走,当卡被弃置的时候,卡会向右走

这样玩家对于我们在轮次末尾弃置掉剩余卡牌的这个概念的理解更加明确

不!愧!是!我!一不小心就提升了用户体验呢~

滑轨的优势

brad在背手巡逻中,又依据现有的滑轮版本提了新的优化需求,他想要抽卡时有个类似伸缩臂的功能,也就是下图展示的效果。

伸缩臂抽卡

设计嘛,反正拍脑袋就行,开发工作反正又不是他干,程序就可怜了又得加班加点。

这个效果的实现方案出的很快,只要用spring joint就好了,然后将damping ratio和frequency设一设,让这个弹簧不会回弹的太厉害就行。

但是吧,问题出现了,joint需要刚体是dynamic然后受重力作用,这样的话,当玩家斜着拉扯这个卡夹,x轴方向上的力会导致卡夹开始摆锤运动,我得想个办法把他x轴上的力给清零。

弹簧没有力约束

这个属实有点为难我了,

我想着要获取到刚体的velocity然后加个判定条件把力的大小重设下。但是吧,实际写的时候,我发现这个力的归属于spring joint的force变量,和rigidbody的velocity变量没关系,然后又没有办法通过代码覆写spring joint的force(这东西是只读的)

然后就给我卡住了。

                                  

                                ——————此处自己调研看视频查文档一上午——————


查着查着我突然想起brad笑着说我还是太嫩了,该tricking的时候要tricking的样子,

虽然呕了,但我好像明白了些神魔———真相只有一个!

是时候换个解题思路了,我总是想着用代码解决问题,物理系统的问题就应该用物理组件去解决嘛!不愧是我!我想到只要用三根弹簧搞个三角结构,从三个方向施力,将卡夹锁在中心的位置就可以避免摆锤运动的现象。真是谢谢brad平时对我的谆谆教导了!☺️

三角力解决问题

问题完美解决!但是新♩的♪问♪题~♬已经♩出现🎶~

当一张卡被弃置掉后,滑轮会重置位置到屏幕的左侧生成新的卡牌,再向右滑入屏幕。这个区间,线的渲染会有一个瞬间横跨整个屏幕。这个问题只要管理下line renderer的渲染就可以解决……大噶!扣多瓦鲁!我选择另一个方案。

新的BUG已经粗现

反正也简单,就是再加一组滑轮替代掉老滑轮就行了,这个方案的优势点在于,解决横屏线bug的同时还缩减了弃卡抽卡中间的时间间隔,免的玩家需要盯着空白屏幕看太久。

轮替滑轨

程序员已经累麻了,不仅要开发还要写日志投专栏……各位看官走过路过给个三连支持一下吧~

ProjectX.001.暂名'工作室幻想' - 开发日志.003 - 厕纸到轨道滑轮 & 伸缩臂的渲染的评论 (共 条)

分享到微博请遵守国家法律