《怪談》開發記錄(05)

《怪談》開發記錄(05)

2020 年 3 月

遊戲機制上的疑問

在初步做 AI 時就遇到了點問題,NPC 是一直走在玩家前面,還是在玩家旁邊?

如果走在前面,交流看不見臉,如果走在旁邊,玩家側著身子走?不然也看不見 NPC。

這裡問了一下朋友,得到的回答是:

在其他遊戲裡一般按 NPC 和玩家的關係放位置,如果 NPC 處於引導的那一方的話就走前面,如果是玩家引導 NPC 的話就 NPC 跟在後面,基本沒有平行著走你看著我我看著你這種情況,有的話也是過場 CG。第一人稱的話一般都是 NPC 走前面,使命召喚系列所有這種情景都是 NPC 在前面,如果想發生對話的時候自然一點可以讓 NPC 停下轉頭。

第一人稱上學場景我還真沒找到完全類似的,在很多第三人稱遊戲裡倒是出現了與 NPC 並排著邊說話邊走的場景,比如熱血無奈的序章,荒野大鏢客 2 也有很多這樣的場景,這種時候都會限制玩家的移動速度,不會比 NPC 走的更快,而且如果落後一點 NPC 就會停下催你或者轉頭叫你。第一人稱都是 NPC 領先一兩步的樣子,注重細節的就會兩步一回頭,或者轉過來面向玩家揹著走一小段說話,更多的就是 NPC 在前面走然後還在說話。


你想想我們倆平時放學回去路上說話也不會盯著對方看啊,那多尷尬,頂多說一會兒看一眼

我想了一下,確實是這樣的,這類遊戲一般都會做成第三人稱。

還有一種是像 T 社遊戲或者《黑相集》那樣的導演控制鏡頭,玩家選對話選項,這樣一般能做出許多絕妙的鏡頭,電影感很強。

全程第一人稱會失去很多細節,舉個例子,下圖這個襪子,在近處看是這樣的:

《怪谈》开发记录(05)

但是在玩家的視角,正常的第一人稱視角下,就是帶粉頂的白襪,就算你靠得很近,也看不清細節:

《怪谈》开发记录(05)

《合金裝備 5》在這方面就做得很好,幽靈兵出來都會給個特寫,各種細節展現得淋漓盡致。

原本我想的主角是沒有模型的,因為第一人稱遊戲是看不見自己的,最多看個手,在現在看來還是加上第三人稱,但是也保留第一人稱。

主要角色的定妝

所有主要角色的定妝照出來啦!這月算是把人物、服裝模型和貼圖做完了,感覺我都可以轉行做 3D 美術了,哈哈,開玩笑的。

《怪谈》开发记录(05)

<small>蘇蘇(主角)/<small>

《怪谈》开发记录(05)

<small>葉子哥/<small>

《怪谈》开发记录(05)

<small>川子/<small>

《怪谈》开发记录(05)

<small>主角母親/<small>

《怪谈》开发记录(05)

<small>西西,項目一開始就給定過妝了/<small>

《怪谈》开发记录(05)

<small>原本主角的設計是這個樣子的,後來做睡衣時把髮型給改了下,結果似乎大家更喜歡第一張圖髮型……但是可能有點違背劇本了,因為主角顏值設定並沒有西西好看。/<small>

總結一下這裡吧,最早建西西的時候學到了許多技巧,這裡人物建模做起來也比較順暢,稍微難些的地方可能是在面數的控制上,建完一般都得手動減面,不然遊戲引擎渲染起來會比較吃力,特別是頭髮,這裡的主角在遊戲裡是隻剩下了 1/50 的髮量(不過看起來差別不大)。

西西著裝的修改

《怪谈》开发记录(05)

最右邊的是最早版本,中間是第二個版本(衣服年代化),但是發現沒最早的好看,於是有了第三個版本(最左),結合前兩的優點。

上衣目前還沒畫貼圖上去,還沒來得及……

這裡用了一個 trick,百皺裙實際上是一個紙片,上面的褶皺是我畫的一個簡單的法線貼圖來實現的。

《怪谈》开发记录(05)

這裡我也試過用高度圖,但是發現效果不如法線貼圖好。

人物零零散散的修改 皮膚材質改了下,法線貼圖換了下,所有人頭髮材質都修改了下,做了下各向異性的修改。

《怪谈》开发记录(05)《怪谈》开发记录(05)

(這個動畫好僵硬)目前還是用的 mixamo 的動畫庫,之後可能換一些自然點的。這裡主角睡衣沒做布料模擬了,直接用的蒙皮,因為在家裡運動幅度也不大,看起來差別也不大。

讓劇情按照劇本發展

這裡我寫了一個詞法分析器,用於讀取我的劇本文件(txt),語法是按照正常人易讀的方式。

最早我是打算用 inky,因為我上一個項目用過,挺好用的。不過這裡發揮不了 ink 的強項,因為不是多文字分支,而更多是觸發方式,所以我自己寫了個。

上編譯原理課時就寫過詞法分析器,在這裡算是輕車熟路了。

大概有以下功能:

  • 基礎對話語法

  • 表情、動作、神態控制語法

  • 條件語法(觸發)

  • 延時執行語法

  • 自定義調用語法(用於給其他腳本綁定事件,類似 Vue 的 Emit 功能)

  • 自定義語法識別模塊(擴展用)

在語音方面,能自動查找目錄下對應的語音文件,並讀到內存,如果沒有找到,則啟動備用語音模塊。

用於下載生成的臨時語音,之前我服務器上有一個文字轉語音的模塊,這裡直接調用,測試起十分方便。

《怪谈》开发记录(05)

人物跟隨與找路

目前用狀態機做了 5 個狀態,花了不少時間來調參數,測試起來沒有太大的問題,只是感覺有些不自然。這裡應該還需要繼續打磨。

原本還是想記錄一下的,想到還要錄視頻,然後上傳,太麻煩,還是算了,也沒啥好看的。

這一模塊暫時就這樣吧,以後再進行修改優化。

三月總結

本月看似進展很多,但暗下卻讓我有些擔心,人物多了後場景渲染會吃力許多,主要消耗在 CPU 上,DrawCall 太多,因為材質比較多,我擔心 Unity 對分層貼圖沒有進行很好的優化,不是合併一起渲染,而是分開渲染的。人物方面,如果性能消耗過大必將進行出場限制,會導致劇本改動,要麼進行人物優化,又會使得畫質下降,有點進退兩難。

翻一翻 RoadMap,下個月計劃就選中這些吧:

  • 完善家裡場景,確保動畫正常

  • 小段日常的銜接

  • 完善山

  • 做第一天,第二天,除開夜晚

《怪谈》开发记录(05)《怪谈》开发记录(05)


分享到:


相關文章: