項目 divider 尚未註冊或是沒有一個 view.php 檔案.

《Carto》實作對話系統01-前言

在遊戲Carto中,對話是重要的引導與解謎線索,讓玩家知道怎麼組合拼圖。

Carto_對話範例

對於遊戲來說,對話不只能告訴玩家前進的方向或線索,也能藉此傳遞劇情與世界觀,讓玩家更能融入到遊戲的世界裡。

由於對話系統的重要性,所以我們今天要來嘗試實作它,並將實作的過程,詳細分享給各位讀者~

成果如下所示,可以看到圖中的NPC對話,以及後來的畫面晃動,這都是由對話系統所設定的觸發事件 。

對話系統的成品示範

文章中所使用的是2020.3.30f1的Unity,若要實作的話,我想使用2019.4以上的版本都沒問題。

而在實作系統之前,我們要先來分析要實作甚麼功能…

對話系統分析

我們要實作的對話系統,會是當玩家在地圖上不同區域、不同遊玩進度時,會進行對應對話的系統。

根據條件(所在區域&&遊玩進度)輸出對話

而我們要知道實作甚麼內容,以下為基本的對話系統所需之元素:

  1. 對話是由人說的,所以要知道有哪些人,以及他們各自的對話UI。
  2. 對話是由不同人說出一串串的句子,所以要知道誰說的、說了甚麼。
  3. 人在不同地點、不同遊戲進度,會有不同對話,所以要知道:
    • 現在人在哪個地點。
    • 各個地點有甚麼對話。
    • 當前的遊戲進度為何,對話要求要甚麼進度才能觸發。
  4. 而有了以上的資訊後,需要有管理器根據資訊,來輸出對應的對話。
  5. 為了讓對話看起來更真實,所以讓對話的角色面對對方。

有了以上的認識後,我們就可以開始實作對話系統了!

系列文章

《Carto》實作對話系統02-建立遊戲所需物件
《Carto》實作對話系統03-建構程式
《Carto》實作對話系統04-把腳本加到對應的物件上
《Carto》實作對話系統05-當TextMeshPro沒有辦法顯示中文
《Carto》實作對話系統06-改善對話系統的操作介面
《Carto》實作對話系統07-加入對話結束後會觸發的事件
《Carto》實作對話系統08-當條件滿足時,不用按按鍵,可以直接觸發的對話

Colin TPL
Colin TPL

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *