ProjectX.001.暫名'工作室幻想' - 開發日誌.003 - 廁紙到軌道滑輪 & 伸縮臂的渲染

因為內部人員測試的時候,老是有人說之前的抽卡形式像抽廁紙,雀食!所以我就和美術Friedegg商量了一下,弄了個新的抽卡方案,轉成用軌道滑輪的形式。

GIF 滑軌抽卡

滑軌的形式,在向玩家傳遞玩法概念上帶來了些一開始未設想的優勢

當將卡牌彈回牌庫時,卡會向左走,當卡被棄置的時候,卡會向右走

這樣玩家對於我們在輪次末尾棄置掉剩餘卡牌的這個概念的理解更加明確

不!愧!是!我!一不小心就提升了使用者體驗呢~

GIF 滑軌的優勢

brad在背手巡邏中,又依據現有的滑輪版本提了新的優化需求,他想要抽卡時有個類似伸縮臂的功能,也就是下圖展示的效果。

GIF 伸縮臂抽卡

設計嘛,反正拍腦袋就行,開發工作反正又不是他幹,程式就可憐了又得加班加點。

這個效果的實現方案出的很快,只要用spring joint就好了,然後將damping ratio和frequency設一設,讓這個彈簧不會回彈的太厲害就行。

但是吧,問題出現了,joint需要剛體是dynamic然後受重力作用,這樣的話,當玩家斜著拉扯這個卡夾,x軸方向上的力會導致卡夾開始擺錘運動,我得想個辦法把他x軸上的力給清零。

GIF 彈簧沒有力約束

這個屬實有點為難我了,

我想著要獲取到剛體的velocity然後加個判定條件把力的大小重設下。但是吧,實際寫的時候,我發現這個力的歸屬於spring joint的force變數,和rigidbody的velocity變數沒關係,然後又沒有辦法通過程式碼覆寫spring joint的force(這東西是隻讀的)

然後就給我卡住了。

                                  

                                ——————此處自己調研看視訊查文件一上午——————

查著查著我突然想起brad笑著說我還是太嫩了,該tricking的時候要tricking的樣子,

雖然嘔了,但我好像明白了些神魔———真相只有一個!

GIF

是時候換個解題思路了,我總是想著用程式碼解決問題,物理系統的問題就應該用物理元件去解決嘛!不愧是我!我想到只要用三根彈簧搞個三角結構,從三個方向施力,將卡夾鎖在中心的位置就可以避免擺錘運動的現象。真是謝謝brad平時對我的諄諄教導了!☺️

三角力解決問題

問題完美解決!但是新♩的♪問♪題~♬已經♩出現?~

當一張卡被棄置掉後,滑輪會重置位置到螢幕的左側生成新的卡牌,再向右滑入螢幕。這個區間,線的渲染會有一個瞬間橫跨整個螢幕。這個問題只要管理下line renderer的渲染就可以解決……大噶!扣多瓦魯!我選擇另一個方案。

GIF 新的BUG已經粗現

反正也簡單,就是再加一組滑輪替代掉老滑輪就行了,這個方案的優勢點在於,解決橫屏線bug的同時還縮減了棄卡抽卡中間的時間間隔,免的玩家需要盯著空白螢幕看太久。

GIF 輪替滑軌

程式設計師已經累麻了,不僅要開發還要寫日誌投專欄……各位看官走過路過給個三連支援一下吧~

隨便看看 更多