# 2022/11/09專題報告主要除錯項目 ###### tags: `專題會議` [TOC] # 主要完成/更改事項 ## 天氣系統測試 ### 原天空樣子 ![](https://i.imgur.com/AgnAU86.png) 問題點 * 雲及天空不真實 * 光源不一致,亦導致真實性大幅降低 ### 新增天氣系統與後處理的樣子(可能效果還會再調) ![](https://i.imgur.com/d27YIFp.jpg) * 目前有的疑慮 * 如果美術的真實度要在上升,那要換模組的Material(學習物理色彩學)才能辦到,但有點超出學程式的能力範圍了 ![](https://i.imgur.com/iOJjOHd.png) * 真實度在上升可能會有增加3D暈機率的疑慮,這點要再跟老師確認 ## 語音系統測試 * NuGet的使用 ![](https://i.imgur.com/WGOJNHe.png) * 完成 * 利用Google cloud服務來製作相關功能,並成功與Unity串接測試 * 影片有需要再補 * 下階段 * 與Yarn spinner接在一起 ## 程式資料整理 ### 場景 #### 原貌 ![](https://i.imgur.com/EpK0iAL.png) ![](https://i.imgur.com/aomJc0f.png) ![](https://i.imgur.com/2ZBAB9W.png) * 問題點 * 內容與分類混亂 * 名稱不夠清楚 * 重複物件在場景,會讓電腦的記憶體承載過大。 #### 修改後 ![](https://i.imgur.com/jfAvzfE.png) ### 資料夾分類 #### 原貌 ![](https://i.imgur.com/JNV0SAc.png) ![](https://i.imgur.com/UMU6bPz.png) 問題點 * 分類混亂 * 沒用到的資料未刪除,會佔用儲存空間 * 中文名稱易引發Bug #### 修改後 ![](https://i.imgur.com/CTb73no.png) ## 程式碼重構 * 不是重新寫一個程式。 * 是將程式碼整理,刪除不必要程式,或整理出架構。這樣有利於後續功能新增。 * 打個比方,一間很混亂的教室。我們先整理出這教室有需要用到的桌子椅子黑板等,將其他不需要或多餘的部分丟掉。此外,將課桌椅重新規劃、排列整齊。之後如果有需要增加其他東西,比如書櫃或電腦等,就能一目了然。 ### 物件呼叫方式 這邊只舉其中一個例子,其他30幾個重複的就不一一舉例 ![](https://i.imgur.com/5FiIrqC.png) 以上的程式有以下幾個問題 * 沒有刪除不需要程式碼 * 灰色的程式碼為未使用的部分,應刪除。 * Update未使用,應刪除。 * 取名模糊不清or不符C#命名規則 * 物件名稱Wow,無法看出這是什麼。 * 物件全都留在場景裡,記憶體會過滿 * 上面的程式碼會執行物件顯示消失,但不會真的從電腦上消失,只是使用者看不到而已。 * 以上程式重複了至少有30多個 * 每個物件都有寫顯示消失,沒有使用繼承。 #### 處理方式 1. 用OOP和Design pattern的方式重構程式碼 2. 用ScriptableObject製作儲存資料 3. 用Unity的Resource讀取部分場景3D資料 4. 用Object Pool技術來保留資料、但能維持在只有一個物件,必要時消除不在被需要的物件 5. 用Yarn Spinner的Commands功能來做相關物件的呼叫與消除 ### 對話製作方式 #### 對話文字與UI製作的部分 ![](https://i.imgur.com/a2o8noh.png) * 問題點 * 沒重複利用UI * 比如原程式碼的對話框,是每個場景附近放置一個,總共有20, 30個。這樣會佔滿記憶體。 * 一些應該永久顯示的UI(Ex:糖果的資料)不會一直顯示 * 選項要點的才能選擇 * 但是以上這些,因為這次專案變動,這些UI都不能使用,所以基本上這部分程式要重新撰寫。 #### 更改後的版本 ![文本示例](https://i.imgur.com/BaQZ9na.png) [UI顯示影片範例](https://youtu.be/goJ7qHf2xFw) 處理方式 * 用Yarn spinner的文本讀取文字 * 用Yarn spinner的UI處理去做程式上的更動,UI顯示為Debugger功能 * 之後Yarn spinner會被改成靠讀取對話內容來選擇選項 ### 語音的處理方式 #### 原處理方式 ![](https://i.imgur.com/BD0qwBl.png) * 錄音檔,而非用程式內建的 * 這些無法說出小孩等需要人工設定的資料 * 無法新增、選擇語音 #### 解法 * 用Google Cloud的Speech to text 跟 Text to Speech服務來處理語音方面的技術問題 * 用Yarn spinner+自己改動的程式處理文本上的語音資料 ## 其他雜項 * 其餘3D模型優化的部分 * 使用可愛的角色 * 物件材質更動 ![](https://i.imgur.com/i7XtckD.png) ![](https://i.imgur.com/62dxw94.png) ![](https://i.imgur.com/CPxmkq7.png) ![](https://i.imgur.com/t4pfSX3.png) ![](https://i.imgur.com/VWcWlM5.png) ![](https://i.imgur.com/OFk06ul.png) ![](https://i.imgur.com/76VNmlO.png) ![](https://i.imgur.com/l7dV631.png) # 待辦事項 * 音樂/音效提示的增加 * 用Asset Hunter Pro處理多餘的資料 * 原有程式bug修復 * Prototype製作完畢後會開始用Github來做版控的動作 # 系上建議 * 詳細列點。 * 比如要說明做了些什麼,不要只有寫解bug。 * 也不要只有列幾項,有做的就全部都寫出來。 * 內容要準確。 * 「google無法辨識中文」改成「特殊文字google會辨識錯誤」。