免費、開源、詳細完整的unity遊戲、遊戲原始碼、教程:人工智慧分析和處理對話的美好三維世界(定期更新)

暮牧夕溪發表於2024-08-28

這份unity遊戲、遊戲原始碼、教程:完全免費,完全開源,完整詳細,通俗易懂,適合初學者入門,定期更新。

我不想和任何人說話,任何人不要跟我說話,不要打擾我,我要安安靜靜的寫。我解釋一下原因:
俗話說“道不同,不相與謀。”不是一個情感世界的人,就不該相互說話,兩個不同情感世界的人,心靈是無法彼此接觸的。
俗話說“同行是冤家。”我的同行會使我失去獨特性,所以我更不願意跟同行說話,或者說不願意和與我相同興趣愛好的人說話。我為了追求獨特性,有些事上,大家怎麼做,我就不怎麼做,從而才能產生點獨特性。可是我的同行,以及與我相同興趣愛好的人,偏偏和我產生了相似或一樣的行為,使我追求獨特性的努力,功虧一簣。每個人都希望自己成為這個世上的唯一,成為獨一無二的人,不希望有人和自己相似或相同。但每個人都不可能成為世上的唯一,終究會遇到和自己相似或相同的人,我很煩這些人。愛著與自己相反的人,恨著與自己相同的人,人性大概就是如此吧,自然規律把這個叫做“同性相斥”。別人傷害我了,我可以說沒關係,第二天就忘了那些傷害。但別人與我相同,我絕對不可能當作沒關係,一輩子都忘不了。

我把遊戲原始碼(含遊戲和詳細教程)放到了夸克網盤:
連結:https://pan.quark.cn/s/73ca3ffb1a63

程式語言(含人工智慧):C#。
資料庫:單機資料庫sqlite。遊戲完全是單機遊戲。
編輯器:unity。

介面:
小區:

小區傍晚的雪:

小區的夜晚:

傳送點:進入後,切換到下一個地圖場景。

市街道:

郊區:

小鎮:

學校:

學校走廊:

教室:

宣告
根據《著作權保護法》,僅用於個人學習、研究、交流的,不用於商業的非盈利程式,可以使用他人的素材,例如三維模型和音樂。
我的這個程式,就是完全免費的,僅用於個人學習、研究、交流,不用於商業,不用於盈利。

小區場景的三維模型來自於UnityStore的unity包:Low Poly Japanese Housing Complex。很多人在用,所以我的遊戲和其他人的遊戲出現這個相同場景,不是抄襲。而且那只是個三維模型,程式要自己寫,每個人寫的程式是不同的。
市中心、市街道、郊區場景,來自UnityStore的unity包:258316_Anime_Tokyo_(Japanese_City),也有很多遊戲開發者在用這個場景三維模型。
小鎮場景來自unity包:Idyllic Anime Japan。

學校場景,來自unity包:Japanese_School_Buildings_Kit。
學校樓道場景,來自unity包:Japanese School Corridor 2.0。
教室場景,來自unity包:Japanese Classroom Set。
圖書館場景,來自unity包:Japanese School Library Set。
食堂場景,來自unity包:Japanese School Cafeteria。
體育館場景,來自unity包:Japanese School Gym。
游泳池場景,來自unity包:Japanese School Pool Clean Dirty Set。
醫務室場景,來自unity包:Japanese School Infirmary Set。

雪景程式來自於unity包:Global Snow。
天空盒來自於unity包:AllSky。

人物三維模型來自於網路上大家常見、常用的三維人物模型,我做了骨骼繫結、蒙皮、走路動畫。
我的所有三維人物模型,都取得了使用授權。根據三維人物模型的版權方要求,我使用這些模型,需要寫借物表:
男主角:
https://3d.3d66.com/reshtmla/model/items/qr/qrN4LEVs50LgEOTOE5g3.html?sof=IIH58500971698183&sign=d18e9ce45689782a
女主角:
形態1:https://www.aplaybox.com/details/model/tefItfbgcMsy
形態2:https://www.aplaybox.com/details/model/8shhNfYE5DOm
街上的路人:
https://www.aplaybox.com/details/model/Ijn46B411K3I
https://www.aplaybox.com/details/model/GDCx0SO2gQF9
https://www.aplaybox.com/details/model/oHyQfqL3GH2z

基本操作
人物移動:
W鍵(長按):向前走。
S鍵(長按):向後走。
A鍵(長按):向左轉。
D鍵(長按):向右轉。

視角:
滑鼠左右上下移動來控制攝像機視角(螢幕視角),人物前進方向自動朝向攝像機視角。
鍵盤右邊的方向鍵:上:抬高攝像機視角,下:降低攝像機視角,左:拉近攝像機視角,右:拉遠攝像機視角。
F鍵(單擊):第三人稱視角和第一人稱視角的切換。第三人稱視角適合用在街上,第一人稱視角適合用在家裡。

上樓梯:
樓梯上不動的時候,把螢幕視角向上仰,就可以上樓梯了。
進教學樓後,一樓走廊的盡頭是樓梯。

輸入輸出:
空格鍵(單擊):顯示或關閉文字的輸入輸出框(預設不顯示,需要點選空格鍵才顯示)。輸入完文字後,按Enter鍵傳送。
空格鍵適用於:室外場景。

改變:
J鍵(單擊):女主角更換形態。
K鍵(單擊):每點選一次,就變換一次天色。小區場景:淺夜→夜晚→白天→傍晚→夜晚→清晨→白天→陰天。市街道場景:傍晚→晚上→白天。
K鍵適用於:小區場景和市街道場景。
L鍵(單擊):正常景色和雪景的切換。
L鍵適用於:小區場景、市街道場景、郊區場景。

回家:
H鍵(單擊):一鍵回家。
H鍵適用於:小區場景。

男女主角分離:
G鍵(單擊):第一次按G鍵,男主角和女主角分開,女主角停留在原地。第二次按G鍵,女主角來到男主角身邊。
在小區場景中,女主角是自動尋路方式來到男主角身邊。而其它室外場景中,女主角直接來到男主角身邊。

音樂:
M鍵(單擊):背景音樂,繼續按,是下一首好聽的背景音樂。

退出:
Esc鍵(單擊):退出遊戲。

場景切換
綠圈是傳送點,男主角走進綠圈,就可以切換地圖場景,到下一個地圖場景。
小區→市街道。
市街道→市中心、郊區。
郊區→學校、小鎮。
學校→教學樓走廊入口1、教學樓走廊入口2、食堂、體育館、游泳池。
教學樓走廊→教室(二樓)、圖書館(三樓)、醫務室(一樓)。

一些說明
即便沒有安裝unity編輯器的情況下,play資料夾裡DreamStart.exe可以直接執行此遊戲。

unity的一份原始碼,只能適配一個編輯器版本,這個原始碼適配的是2022.3.38,其它版本開啟此原始碼,會故障。
unity匯入此專案時,不是匯入哪個具體啟動檔案,而是用unity Hub(unity啟動器)直接開啟(匯入)DreamStart資料夾。
如果unity編輯器沒有顯示場景,就在編輯器裡手動開啟park資料夾裡的Scenes資料夾裡的park場景檔案即可。
在unity編輯器介面,不要把視窗最大化後再執行遊戲,那樣執行不了。但可以在遊戲後,再最大化視窗。
在遊戲編輯器裡,透過傳送點切換場景,會卡頓。但是生成遊戲後,就流暢和正常了。

話語分析
話語分析是有用的,假如遊戲中,你是隊長,帶著NPC隊友張三和李四,路上遇到蛇,你可以說“張三打蛇,李四保護張三。”這就需要先分析出主語、謂語、賓語,程式才能處理。
按空格鍵顯示輸入框,輸入完成後,按Enter鍵傳送。

示例:
輸入:貓吃鼠
顯示:主語:貓,謂語動詞:吃,賓語:鼠

輸入:白色的貓吃黑色的鼠
顯示:主語:貓,謂語動詞:吃,賓語:鼠,主語的形容詞:白色的,賓語的形容詞:黑色的

輸入:兩隻貓吃3只鼠
顯示:主語:貓,謂語動詞:吃,賓語:鼠,主語的數詞:2只,賓語的數詞:3只

輸入:張三的貓吃李四的鼠
顯示:主語:貓,謂語動詞:吃,賓語:鼠,主語的名詞所有格:張三,賓語的名詞所有格:李四

輸入:張三給李四蘋果
顯示:主語:張三,謂語動詞:給,間接賓語:李四,直接賓語:蘋果

輸入:張三讓李四打掃教室
顯示:主語:張三,謂語動詞:讓,賓語:李四,賓語補足語動詞:打掃,賓語補足語名詞:教室

輸入:2024年張三在學校吃飯
顯示:主語:張三,謂語動詞:吃飯,時間:2024年,地點:學校

如果分析顯示不了,可能詞語不在詞庫裡。先找動詞分割句子,再找名詞,所以如果動詞不在詞庫裡,即便名詞在詞庫裡,也沒用。
連線的單機資料庫是garden.db,是sqlite單機資料庫,就是在使用者電腦的遊戲檔案裡的,不聯網的、不用安裝服務的、不用配置的,直接就可以用的資料庫。
原始碼生成遊戲後,要把根目錄的資料庫garden.db放進play資料夾裡。因為生成的遊戲,本身不生成資料庫,或生成0kb的無效資料庫,因此要手動把資料庫放進生成遊戲的資料夾裡。

相關文章