麻桑
1 years ago
本周跟上周進度一起來
latest #51
麻桑
1 years ago
中間回老家ㄉ關係,上禮拜沒什麼進度可言(哭
麻桑
1 years ago
而且3月公司有大量的進度要趕,平日加班的天數可能又要增加,做事的時間又要變少ㄌ
麻桑
1 years ago
這兩個禮拜主要在優化八向移動跟角色旋轉的操作感,另外還有獨立鏡頭的運用跟爬牆除錯
立即下載
麻桑
1 years ago
現在可以在角色瞄準時保持八向移動、平時則是速度方向前進
麻桑
1 years ago
https://images.plurk.com/1vjcIjPoXs3GDgrAhrPDkX.gif
麻桑
1 years ago
不過現在八向移動的動態還沒有做完,所以切換方向時會有軀幹抖動的情形,等這幾個禮拜製作動態時得修正
麻桑
1 years ago
獨立鏡頭的部分就比較麻煩了,原本很單純想說可以跟角色藍圖綁在一起使用,但後來看教學才發現,如果鏡頭直接綁死在角色藍圖內,那很多操作時的細微晃動或是延遲效果、跟鏡、景深等等都會變得很難修改
麻桑
1 years ago
所以最好的方法,還是把鏡頭獨立出來,讓鏡頭單獨使用一個事件藍圖,然後在動畫藍圖內用修改曲線的方式微調參數
麻桑
1 years ago
只是要完成這功能的步驟實在有夠多,做到一半一度想放棄用回原本的普通鏡頭算了,幸好放完連假腦袋有比較清晰,回來後還是乖乖把鏡頭的部分處理完了
麻桑
1 years ago
鏡頭因為還沒牽涉到射擊瞄準時的過渡效果,所以用到的資訊並沒有想像中來的多,要達成延遲跟位移只需要先從角色身上繼承 transform 變量當作 pivot 的目標,其他都是用這些資訊加上攝影機本身的向量做組合運用,特別是大量的插值計算,都是為了讓玩家控制角色時的運鏡更加滑順
麻桑
1 years ago
https://images.plurk.com/BWDV3sMQ3OY77nMzgsHKF.png
麻桑
1 years ago
現階段需要用到的資訊有以下四個:
1.Target Camera Rotation ( 攝影機本身的朝向
2.Smooth Pivot Target ( 使攝影機聚焦點的位移更加流暢
3.Pivot Location ( 攝影機聚焦點的位置
4.Target Camera Location ( 攝影機本身的位置
麻桑
1 years ago
1.Target Camera Rotation ( 攝影機本身的朝向
這個比較單純,只需要將攝影機朝的前幀朝向跟目前朝向做插值就可以
麻桑
1 years ago
https://images.plurk.com/7JqVHhWFpBZWacdIm6kpGS.png
麻桑
1 years ago
https://images.plurk.com/7kj8J9q8Hr4Y3NRqS3VT9w.png
麻桑
1 years ago
其中 Get Camera Behavior Param 這個純函數會在接下來的運算中大量使用,目的是為了從動畫藍圖中獲得 modify 過後的曲線數值,所以真正的位移與變化,都是在動畫藍圖中調整數值才能實現的
麻桑
1 years ago
https://images.plurk.com/1IxUXsr7QYAjfBNqDbcdRP.png
麻桑
1 years ago
2.Smooth Pivot Target ( 使攝影機聚焦點的位移更加流暢
這個也是插值,用的是聚焦點前一幀與目前聚焦點,但需要多一組攝影機的朝向,用來去掉聚焦點的旋轉數值,獲得乾淨的世界向量,最後再重新賦予原始聚焦點的朝向
麻桑
1 years ago
lag speed 的部分跟上面說的概念一樣,藉由動畫藍圖 modify 曲線數值後增加延遲的自訂功能
麻桑
1 years ago
https://images.plurk.com/6bSDnaMFZ98tF3FBxMo0ma.png
麻桑
1 years ago
https://images.plurk.com/33S877wMOGGTmC1dOxdCES.png
麻桑
1 years ago
不過這部分還有一些沒搞懂的地方,像是只取 Camera Rotation 的 Yaw 值去消除向量的旋轉朝向,完全沒有概念為甚麼要這麼做,而且最後還要用原始的聚焦點重新賦予朝向,那一開始為甚麼要先消除呢 (大問號
麻桑
1 years ago
3.Pivot Location ( 攝影機聚焦點的位置
取平滑過的聚焦點朝向後,分別乘上從動畫藍圖繼承過來的曲線數值,並加回位移資訊內,就可以獲得新的聚焦點位置
麻桑
1 years ago
https://images.plurk.com/5FIflShHTCPVy0cOwCPod5.png
麻桑
1 years ago
4.Target Camera Location ( 攝影機本身的位置
最後這個的概念和3.取聚焦點位置一樣,只是將對象改成鏡頭,並把加上去的數值改成聚焦點的位置,這樣聚焦點的偏移如果有更動,鏡頭便會同步加上偏移,而且鏡頭本身還可以再加一層偏移,都是為了方便自訂
麻桑
1 years ago
https://images.plurk.com/1jSxRsrOvWG4vGcRU2kIYc.png
麻桑
1 years ago
https://images.plurk.com/7Ik6NbRMzWiWDS40ckE5R9.png
麻桑
1 years ago
最後取用這兩個數值就可以
麻桑
1 years ago
動畫藍圖的部分就相對單純了,先分出三種旋轉模式:
1.Velocity Direction (加速度方向
2.Looking Direction (目視朝向
3.Aiming Direction(瞄準朝向
麻桑
1 years ago
https://images.plurk.com/4VA95e0qhDo76Y21qN2qgm.png
麻桑
1 years ago
中間的導管就加上相對的旋轉模式跟混合曲線
麻桑
1 years ago
https://images.plurk.com/1lnNzZOELrSUATjLxaPIai.png
麻桑
1 years ago
三個狀態機內的結構大同小異,只有數值需要根據需求微調
麻桑
1 years ago
https://images.plurk.com/4OFxXg6aLpTKyPuffMcK41.png
麻桑
1 years ago
先用步態區分各別數值後,再依據姿態選擇,最後加上鏡頭延遲的數值
麻桑
1 years ago
這些大概就是獨立鏡頭的核心概念了,各部分看起來都很容易理解,可是在藍圖中互相切換跟繼承資訊的部分真的會搞死人,作者到底是打了甚麼針還是吃了甚麼藥,居然想得出這種方法..
麻桑
1 years ago
補充,因為鏡頭是獨立的,所以套用到角色前,必須新增一個 Player Controller 藍圖,並在藍圖打開後的右上角套用鏡頭的事件藍圖才能應用
麻桑
1 years ago
https://images.plurk.com/48y2fINZeDNt7ZMd3Wwqq0.png
麻桑
1 years ago
https://images.plurk.com/5IusOOntYUF7pUVjTkZjlM.png
麻桑
1 years ago
https://images.plurk.com/fao62TKiNxa5Fm8NPXcyA.png
麻桑
1 years ago
Player Controller 也要記得 Cast 鏡頭藍圖
麻桑
1 years ago
https://images.plurk.com/5rnTrhPwM7il7yTjwqbjvy.png
麻桑
1 years ago
鏡頭藍圖內再 Cast 動畫藍圖,才能取到所有資訊
麻桑
1 years ago
再來是最最最重要的
麻桑
1 years ago
https://images.plurk.com/6iz2jN5KAJtMlrGgEeyBXz.png
麻桑
1 years ago
blueprint update camera 的函數必須從最左邊的 override 點選,這樣才能在函數繼承資料失敗時,調用上一層級的資訊
麻桑
1 years ago
除ㄌ攝影機的進度外,還有八向移動時的動畫細節,像是轉身時腳步會先於胸口,還有左右切換移動方向時會有身體朝向的變化,這部分因為動畫還沒做完沒辦法看出效果,基本上跟ALS原本的範例差不多
麻桑
1 years ago
https://images.plurk.com/2Lh0ebxrHZlZT0SA6MwaJc.gif
麻桑
1 years ago
最後是今天新加了步態的檢測標準,讓角色的速度到達一定值才真的讓角色切換步態,而不是功能按了馬上改變步態
麻桑
1 years ago
不過這部分的內容還沒消化完,而且實際上功用不大,有考慮之後會用其他方式取代或乾脆不用,在看教學時也蠻多人反應這功能有點雞肋
麻桑
1 years ago
下禮拜開始至少再看三篇進度,把加速動作跟腳步鎖定之類的細節看完,有多的時間就先把八向移動的動態做好,拜託要在三月底前把平面移動的部分做完嗚嗚嗚嗚
back to top