麻桑
2 years ago
本周進度
latest #23
麻桑
2 years ago
這禮拜ㄉ進度不太理想
麻桑
2 years ago
原本要修好跑牆時左右轉會卡頓的問題,結果在處理的途中發現上禮拜留下來的其他大麻煩
麻桑
2 years ago
因為都是跑牆的功能區,只好先著手修改之前的bug
立即下載
麻桑
2 years ago
上禮拜的下牆卡頓會產生bug,是因為我忽略鏡頭會影響角色左右鍵input的正負值,一樣是按右鍵(input=1,旋轉鏡頭時卻會往不同方向移動
麻桑
2 years ago
所以即使同樣是牆面在角色左手邊的情形,根據鏡位的不同,會產生兩種不同情形:
1.鏡頭面向角色,按左鍵才可以下牆
2.鏡頭背對角色,按右鍵才可以下牆
麻桑
2 years ago
就是因為沒考慮到這點,才導致某些鏡頭觀看角色時會瞬間下降的情形
麻桑
2 years ago
https://images.plurk.com/22ii3jVLXFAwsmJ9WwSjEi.png
麻桑
2 years ago
後來根據這個狀況,新增了一些條件,可以下牆的情形大致上分為:
1.牆在左手邊,鏡頭面向角色,right input<0
2.牆在左手邊,鏡頭背對角色,right input>0
3.牆在右手邊,鏡頭面向角色,right input>0
4.牆在右手邊,鏡頭背對角色,right input<0
麻桑
2 years ago
不過實際修正後還是會在左右鍵按下的瞬間,有短暫的下沉,目前還找不到問題,下禮拜要再花點時間除錯ㄌ
麻桑
2 years ago
另外一個之前都沒注意到問題,是鏡頭從正上方觀看角色時,因為XY軸向量會是0,只有Z軸有-1的值,因此導致角色只能上下左右四個方向移動,沒辦法產生旋轉的變化,這部分可能要去爬一下文,或是強制設定鏡頭的旋轉極限
麻桑
2 years ago
類似這個的問題,是爬牆時從牆面的軸向府看角色,造成的上下位移量不足
麻桑
2 years ago
今天有把跑牆時的sphere trace增加一些條件,讓鏡頭從牆面俯視看角色時,可以保持一樣的位移方式
麻桑
2 years ago
https://images.plurk.com/1xg5SYwUOlz2NP7xGjnBVM.png
麻桑
2 years ago
實際的作法,得先定義鏡頭與牆面處與特定夾角時,觸發另一種計算模式:當鏡頭與牆面的差小於90,代表兩者面朝方向一致,此時取兩者的夾角,並用90度減去此夾角,便能得到一個''兩者向量越重疊數值越接近90''的值,最後再除以90便會得到此情形下的alpha
麻桑
2 years ago
所以當鏡頭與牆面的差小於90時,如果兩者的向量越一致,那麼alpha越趨近於1,最後1就可以拿來乘上固定的Z軸變量,達到上牆的位移量
麻桑
2 years ago
最後下禮拜還要處理一個小問題,是之前牆跳與跑牆跳留下來的問題
麻桑
2 years ago
原本的設計是牆跳後角色旋轉會延遲一段時間,才能再次觸發,達成牆跳後順暢的接上新方向的效果
麻桑
2 years ago
但今天才發現自己用錯方式,因為input值有正負,導致同樣的方向,可能會有不同的旋轉結果,最明顯的問題是,當角色左邊面牆時,會產生無限牆跳的bug,因為牆跳之前產生的旋轉方向,被乘上左鍵的input-1後會往反方向指,就變成角色不會跳離牆面,而是左鍵按著,角色就會不停黏上牆的情形
麻桑
2 years ago
https://images.plurk.com/43NAd646KpecPuMO7OU5oO.png
麻桑
2 years ago
這部分也是有點頭痛,可能要問一下社群裡ㄉ大家怎麼解決了
麻桑
2 years ago
總而言之,到十一月之前可能還得繼續處理一些遺留下來的操作問題
麻桑
2 years ago
除此之外,這禮拜其實看了一些GiantSquid的開發文章,裡面有不少有趣的設計流程跟演變,明天會再把一些內容記錄下來!
back to top