近日剛把 Titanfall 2 破關, 那種暢的跑牆動作真的很吸睛,
所以嘗試把這些動作都加到我的 avatar 系統.
我的 avatar 系統是分散式 (Component base design)的設計, 所有功能基本是可隨便開關的.
模組設計概念
- AvatarMovementBase
- AvatarFPSMovement 是負責, 地面移動的.
- AvatarJump 是單純負責所地面起跳的, 同時兼具把 Kinematc 的移動, 轉換為跳躍後的水平(XZ)速度,並附加垂直(y)的跳躍力度.
- AvatarJumpAir 是負責改寫空中的速度
- AvatarWallRun 是用 OnTriggerEnter 來到觸發, 然後以Raycast 來進行位置定位,及角度計算, 之後額外產生一個 FixedJoint (breakable) 連結到 avatar 本身. 作位置移動.
- AvatarJumpWall 就是用來中斷 Wall run 並且附加角度作用力到 avatar, 原本是播用固定加速的, 但實際操作後原來 TF 玩家的按鍵也有一定的 bias (感覺較好), 所以把輸入的角度依比例額外加入到起始加速度.
進行中
稍後則可能先進行鏡頭的連動, 把不同動作的鏡頭動態聯繫起來.增強一身視點的代入感.
但這邊有個問題, FPS 跟 TPS 的視點切換該如何達成?!
估計模型問題比較佔大比重.
Pingback: Clonefactor | Implement Titanfall jump [refactor->rewrite]