ProjectX.001.暫名'工作室幻想' - 開(kāi)發(fā)日志.003 - 廁紙到軌道滑輪 & 伸縮臂的渲染
因?yàn)閮?nèi)部人員測(cè)試的時(shí)候,老是有人說(shuō)之前的抽卡形式像抽廁紙,雀食!所以我就和美術(shù)Friedegg商量了一下,弄了個(gè)新的抽卡方案,轉(zhuǎn)成用軌道滑輪的形式。
滑軌的形式,在向玩家傳遞玩法概念上帶來(lái)了些一開(kāi)始未設(shè)想的優(yōu)勢(shì)
當(dāng)將卡牌彈回牌庫(kù)時(shí),卡會(huì)向左走,當(dāng)卡被棄置的時(shí)候,卡會(huì)向右走
(資料圖)
這樣玩家對(duì)于我們?cè)谳喆文┪矖壷玫羰S嗫ㄅ频倪@個(gè)概念的理解更加明確
不!愧!是!我!一不小心就提升了用戶(hù)體驗(yàn)?zāi)亍?/p>
brad在背手巡邏中,又依據(jù)現(xiàn)有的滑輪版本提了新的優(yōu)化需求,他想要抽卡時(shí)有個(gè)類(lèi)似伸縮臂的功能,也就是下圖展示的效果。
設(shè)計(jì)嘛,反正拍腦袋就行,開(kāi)發(fā)工作反正又不是他干,程序就可憐了又得加班加點(diǎn)。
這個(gè)效果的實(shí)現(xiàn)方案出的很快,只要用spring joint就好了,然后將damping ratio和frequency設(shè)一設(shè),讓這個(gè)彈簧不會(huì)回彈的太厲害就行。
但是吧,問(wèn)題出現(xiàn)了,joint需要?jiǎng)傮w是dynamic然后受重力作用,這樣的話(huà),當(dāng)玩家斜著拉扯這個(gè)卡夾,x軸方向上的力會(huì)導(dǎo)致卡夾開(kāi)始擺錘運(yùn)動(dòng),我得想個(gè)辦法把他x軸上的力給清零。
這個(gè)屬實(shí)有點(diǎn)為難我了,
我想著要獲取到剛體的velocity然后加個(gè)判定條件把力的大小重設(shè)下。但是吧,實(shí)際寫(xiě)的時(shí)候,我發(fā)現(xiàn)這個(gè)力的歸屬于spring joint的force變量,和rigidbody的velocity變量沒(méi)關(guān)系,然后又沒(méi)有辦法通過(guò)代碼覆寫(xiě)spring joint的force(這東西是只讀的)
然后就給我卡住了。
——————此處自己調(diào)研看視頻查文檔一上午——————
查著查著我突然想起brad笑著說(shuō)我還是太嫩了,該tricking的時(shí)候要tricking的樣子,
雖然嘔了,但我好像明白了些神魔———真相只有一個(gè)!
是時(shí)候換個(gè)解題思路了,我總是想著用代碼解決問(wèn)題,物理系統(tǒng)的問(wèn)題就應(yīng)該用物理組件去解決嘛!不愧是我!我想到只要用三根彈簧搞個(gè)三角結(jié)構(gòu),從三個(gè)方向施力,將卡夾鎖在中心的位置就可以避免擺錘運(yùn)動(dòng)的現(xiàn)象。真是謝謝brad平時(shí)對(duì)我的諄諄教導(dǎo)了!??
問(wèn)題完美解決!但是新?的?問(wèn)?題~?已經(jīng)?出現(xiàn)~
當(dāng)一張卡被棄置掉后,滑輪會(huì)重置位置到屏幕的左側(cè)生成新的卡牌,再向右滑入屏幕。這個(gè)區(qū)間,線(xiàn)的渲染會(huì)有一個(gè)瞬間橫跨整個(gè)屏幕。這個(gè)問(wèn)題只要管理下line renderer的渲染就可以解決……大噶!扣多瓦魯!我選擇另一個(gè)方案。
反正也簡(jiǎn)單,就是再加一組滑輪替代掉老滑輪就行了,這個(gè)方案的優(yōu)勢(shì)點(diǎn)在于,解決橫屏線(xiàn)bug的同時(shí)還縮減了棄卡抽卡中間的時(shí)間間隔,免的玩家需要盯著空白屏幕看太久。
程序員已經(jīng)累麻了,不僅要開(kāi)發(fā)還要寫(xiě)日志投專(zhuān)欄……各位看官走過(guò)路過(guò)給個(gè)三連支持一下吧~
關(guān)鍵詞:

營(yíng)業(yè)執(zhí)照公示信息