2018年6月2日 星期六

「傘之下」開發記錄—20

最複雜的對話系統講完了,接下來是「最硬來」的劇情系統ww
現時的劇情系統,算是依附在對話系統下的
當對話進行到一定程度時,會把UI關掉,然後進入劇情動畫
這個「一定程度」的意思:
就是對話系統中有提到的,「對話後的動作」裡的選項(After Talk)


現時的做法,是先宣告一個 interface
然後 interface 裡再設立一個void (VoidEvent)
每當執行VoidEvent一次,就會自動執行對應動作
直接看上圖的例子,VoidEvent裡其實只有兩行
一個是 int 增加,另一個是呼叫下一個 void(會被 int 影響)
所以每按一次按鍵,就會執行不同的 void,達成一個劇情動畫流程

在每個 void裡,會寫入對應動作
比方說攝影機移動、生成特效之類的
……還有因為當初硬來,甚麼都沒設定好,所以還要控制對應的bool 參數w
大致上整個系統長這樣子,只要和對話配合好的話,台面上還是不太有問題就是##


總而言之,這是個我自己都會寫到亂掉的系統XD
要優化的話,除了把參數都事先設定好外,應該還會把經常會用到的動作寫成一個void
比方說攝影機移動:
void CameraMove(Vector3 _target) {...}
很可能會寫成這樣,到時只要呼叫這個 void,並傳送一個座標過去就行了
作業上會快速方便許多

沒有留言:

張貼留言