【校園生活】0基礎記錄遊戲開發#5


3樓貓 發佈時間:2024-01-13 13:15:29 作者:依卞 Language

實話實說今早有事出去了導致畫畫擱置了所以今天你們的眼睛有福啦

今天沒有辣眼睛的環節


壞消息是今天你們可能會長腦子了O.o?

【校園生活】0基礎記錄遊戲開發#5-第0張

繼承上一篇我們講到怪物的行動邏輯,先給他八個方向都做出動畫再用這個熟悉的樹把他們連接上,讓怪物有不同的“外觀” 

【校園生活】0基礎記錄遊戲開發#5-第1張

放置一個怪物在這,可愛捏

然後開始處理怪物的“內核”也就是腳本的過程,我們只需要給他寫一套最簡單的行動邏輯,即水平或者垂直移動(那為什麼要做八個方向的動畫啊)在一定時間後反方向移動,形成巡邏的動作行為

【校園生活】0基礎記錄遊戲開發#5-第2張

怪物的行動邏輯

為了讓遊戲開始的時候遊戲畫面能一直跟著我們的主角走(因為不設置的話遊戲畫面會固定 導致我們會走到畫面外邊去自己還看不見),於是我們這裡需要用到一個插件cinemachine,follow框選擇我們遊戲主角

【校園生活】0基礎記錄遊戲開發#5-第3張

鏡頭跟隨

【校園生活】0基礎記錄遊戲開發#5-第4張

其實以上的“子鏡頭”都由這個“鏡頭大腦”管理,所以就算有多鏡頭也不會亂

當然最重頭戲的還是戰鬥畫面,遊戲的主要玩法之一便是與他人的戰鬥,怪物的設計目的也正是如此。

【校園生活】0基礎記錄遊戲開發#5-第5張

戰鬥場面

上面是一個戰鬥畫面的最終效果展示,可以清楚看出戰鬥場面與我們平時探索的地圖並不是同一張,這種類似於“第二模式”的情況其實全是由UI來架構的。所謂UI簡單來看就是畫面和按鈕文字等可見組件的集合體,上一篇中我們用UI繪製了主角的頭像,血條,藍條和名字等基本信息

【校園生活】0基礎記錄遊戲開發#5-第6張

基本信息

那麼運用同樣的UI貼圖方式就可以構建出這一整個戰鬥場景,同樣的,我們需要給戰鬥模式下的主角和怪物賦予不同的戰鬥動畫。由於遊戲畫面只有一個(主鏡頭只有一個)且必須跟隨主角移動,所以為了發生“觸發”戰鬥這一模式達成兩種模式互換的需求,可以將戰鬥場景包裝成一個文件夾中在主鏡頭下直接隱藏起來當條件滿足(碰到怪物)時,我們再把戰鬥場景的可見開關“打開” 於是就達成了隨時隨地戰鬥 爽!的場景

當然場景現在也只是一個表皮,說到底UI也只不過是幾張貼圖罷了,真正實現這個場景的“可戰鬥化”的還是“腳本”內核

為了滿足戰鬥的需求,我們需要將每一個可視化UI都當做具體命令去設置和定義

【校園生活】0基礎記錄遊戲開發#5-第7張

戰鬥場景UI界面

比如對上述的“攻擊”和“防禦”等“按鈕”進行相應。“按鈕”是一種特殊的UI,具有最簡單的交互功能,比如點擊即可觸發某一條件,這一條件可以通過編程來實現自定義

【校園生活】0基礎記錄遊戲開發#5-第8張

攻擊

上述是一個“攻擊”回合所需要的一部分代碼,在提前制定好移動,攻擊,返回等所需要的動畫效果後,在代碼中實現他們的觸發條件,用代碼把按鈕和動畫徹底相連,達成一個最終的“攻擊”效果(其實這部分挺像紅石電路,按鈕就是提供紅石信號的開關,代碼是紅石本身,而動畫是一個個紅石相應機器,三者結合在一起才能做出一個個令人歎為觀止的紅石建築)

【校園生活】0基礎記錄遊戲開發#5-第9張

通過UI和自定義血量的結合,實現血條的變動,可視化主角的扣血和回血行為。

【校園生活】0基礎記錄遊戲開發#5-第10張

扣血/回血,扣藍/回藍

結合起來後便是一個簡單的戰鬥系統(激情對碰),當然需要設置當敵方或者主角血條空了以後會出現的“死亡”狀態。

【校園生活】0基礎記錄遊戲開發#5-第11張

死亡

(其實我死亡動畫忘記關循環播放了導致主角這個時候不像死亡而是不斷向怪物磕頭饒命)

【校園生活】0基礎記錄遊戲開發#5-第12張

循環播放

初次之外的治療和技能動畫如法炮製,只是需要多幾個動畫,並且需要設計好技能和治療的數值關係,避免出現無敵的情況

【校園生活】0基礎記錄遊戲開發#5-第13張

治療按鈕設置

【校園生活】0基礎記錄遊戲開發#5-第14張

對於技能釋放的判定

是的沒錯我把血條當做判定條件了我反覆測了好幾次還在想我的主角為什麼殘血就放不了技能了,吸血鬼後裔嗎?

【校園生活】0基礎記錄遊戲開發#5-第15張

戰鬥場景的UI與代碼鏈接

如上,戰鬥場景部分也差不多就是學到這裡了,後面便是劇情,任務系統之類的內容,我還沒有學到,但是提前看了一點點的課

【校園生活】0基礎記錄遊戲開發#5-第16張

劇情方面

柚子廚真的是


很感謝能看到這裡,估計堅持到這也累了,歡迎大家在評論區裡面吐槽討論相互學習,有什麼問題可以直接提出來,樓主會查看僅剩的腦容量給大家分享自己的看法的


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com