【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!


3樓貓 發佈時間:2022-06-17 16:41:14 作者:銀拱門 Language

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第0張

TTF2裡,我相信大夥都不會忘記時空穿梭的關卡,玩家可以通過手套在相同的地圖中穿梭不同的時間,現在過不去的地方,“唰”的一下就能從過去通過,並且在過去與現在的來回穿梭之間不需要讀條,那麼這是怎麼做到的呢?我們先從遊戲裡看一看。

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第1張

這裡我就以B站up主“小慫貓人”的視頻裡得知,實際上游戲的這個關卡里,存在兩個相同的場景,兩個場景的高低差不同,玩家在使用技能的時候,改變角色的座標就可以實現無縫切換了。

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第2張

圖解,“過去”與“現在”其實就是高度不同的兩個場景

這麼設置的原因,就是為了讓玩家在使用技能後能夠無縫切換,達到流暢的體驗,並且製作起來也非常簡單。既然簡單,那麼我就在虛幻引擎5中試著還原一下這個酷炫的技能。

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第3張

UE5默認的第三人稱模式

首先我們簡單的打開一個新的UE5項目,那麼這個默認的場景我們就直接保留了。

接下來,我們應該在這個場景的上方,創建另一個場景用於我們的“時空回溯”。

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第4張

在頭上創建一個新的場景

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第5張

下方場景,地板的高度是-50

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第6張

上方場景,地板的高度是10000

因為我們是要做成時光回溯的效果,那麼我們上下兩個場景的地堡,應該除了高度不一樣,其他地方都一樣,否則我們的人物在穿越的來回會感覺到位置的偏移,這個很好理解吧!

那麼,簡單的設定好兩個場景之後,我們就需要幹嘛?

設置我們的技能嘛!

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第7張

右上角編輯-項目設置-輸入-操作映射 ,名字記得改一下,我這隨便添了個Skll,後面改成timetravel

接著,我們需要進入項目設置菜單,找到輸入,添加一個新的技能輸入,這裡我把這個技能名字叫"timetravel",並且設定了,按“F"鍵觸發。

設定好了技能之後呢,接下來,我們就要進入藍圖頁面,把這個技能教會我們的角色。

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第8張

雙擊這個打開它

打開我們人物的藍圖,這裡原本是保存了UE第三人稱模板自帶的人物、攝像機、移動、跳躍等。

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第9張

模板人物默認的藍圖

OK,打開我們的藍圖了,接下來,該是我們大展拳腳的時候了!

那麼,怎麼完成這個技能呢,我們需要先構思一下。

首先,這個技能是我按下F鍵釋放的是吧!

因此,我們先找到我們設定好的技能案件,timetravel。

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第10張

右鍵任意空白處,輸入我們設定好的名字

接著,我們再想一想,是不是應該將我們的人物,移動到高度10000的位置?

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第11張

直接用中文打字:瞬移,就能找到這個藍圖

這裡UE是很方便啊,直接給了我們瞬移藍圖。

但是,這裡就需要再次思考了。

要完成這個瞬移,我們需要一個目標吧,誰去瞬移——角色,那我們看這個目標節點,寫的是"self"那就是自己,OK,不需要改。

接著,我們是不是要設定瞬移到哪裡?

這裡黃色節點後邊就是位置的座標,OK,那我們是不是要把垂直的Z軸的數字,改成10000?

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第12張

這樣做對嗎?

那麼,OK,操作到這一步,請問這麼做對嗎?不要滑下去,先自己想一想。

不對,為什麼不對?

因為下層地板的高度是-50,上層地板的高度是10000,那麼兩個場景的高度差是多少?10050,想到這點了嗎?

並且,這裡設定的瞬移座標,實際意義是(0.0.10000)這個點,意味著你的角色如果走到了(50.23.-50)這個位置,你使用了技能,會瞬移到(0.0.10000)這個點,而不是(50.23.10000),這顯然與我們想要的結果不同,這一點想到了嗎?

對吧,明顯不對,並且,我們希望技能是能在兩個時空來回穿梭的,《泰坦隕落2》裡也是如此,使用技能能夠反覆在過去與現在跳躍,所以,我們應該怎麼做?

我說說我的想法吧,我們是不是可以增加一個判定條件,假如我們的角色,高度超過了10050,那麼是不是使用技能,就讓我們的角色高度下降?

那假如我們的角色,高度低於10050,那麼是不是使用技能,就讓我們的角色高度上升?

所以,這裡需要添加一個判定條件,我們使用一個布爾值保存判斷的結果。

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第13張

新建一個布爾變量

我們新建一個布爾值,用來保存我們高度的判斷,這裡點擊加號就能創建。

我們將這一變量,拖到藍圖裡,選擇”設置InHigh”。

接著,我們需要獲取到角色的位置,計算機是個笨比,你看得到你角色的位置,計算機是不知道的,所以我們需要先獲取一下。

接著,我們是不是隻用知道Z的值是多少就行了?X和Y關我屁事。

所以我們使用拆分,把(X,Y,Z)拆分出單獨的Z的數字。

接著做對比,右鍵點擊空白處,輸入一個簡單的>或者中文“大於”都行,做一個判斷,數字大於10050,就輸出為真,如果小於10050,就輸出為假。

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第14張

藍圖如圖所示

這一步也很好理解吧,並且UE的藍圖非常方便,相同的顏色相連就行了。

當我們做完這一步,接下來也很好理解了。

如果是“真”,那麼意味著,人物的高度大於10050,OK,說明人物在上面的場景裡,那我們使用技能的目的是不是給它降下去?

並且,我們不能簡單的去改變數字,我們是不是要先獲取角色的位置,我得知道人在哪裡吧?

接著,我X和Y的數字不變,Z的數字減去10050,這個是不是才是我們想要的XYZ的值?

如果是“False”,那麼是不是人物在下面的場景,那麼藍圖這一塊我們複製黏貼,把減去10050,改成加10050,就OK啦?

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第15張

瞬移操作部分

OK,那麼做到這一步,我們的這個技能就大功告成了。

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第16張

不重要的部分

當然,為了測試我們的技能,在後面我又補充了一個打印文本的操作。

如果傳送成功,那麼就會在屏幕中出現文字,如果傳送不成功,傳送的那個位置有別的東西擋住了,就會在屏幕中出現文字“卡住了,回不去”。

這個“僅限開發”的意思是,只在UE編輯器裡你會看到它,但是在遊戲中你看不到,這個主要是用來方便設計師找問題的。

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第17張

完整的技能藍圖

最後,我們進入到遊戲裡實際測試一下。

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第18張

傳送成功

OK,來回傳送非常成功!

但是有一個忘了,我們忘記設置瞬移後的旋轉值了,因此每一次瞬移後,人物的面向都會迴歸默認,我們想要更絲滑順暢的體驗!

【PC遊戲】[UE學習筆記]泰坦隕落神奇的時空回溯!五分鐘用UE復刻出相同的技能!-第19張

補充一下旋轉

這裡我們獲取到人物實時的旋轉,然後給到瞬移就行了,不需要改變,這樣我們的角色每次使用技能都不會改變面向!

OK,到這裡,技能的實現就已經制作完成了。

但是呢,想要讓技能真正用在遊戲裡,讓玩家們接受,還需要仔細的打磨。

例如,是不是該添加一個使用技能的動畫?

然後,還需要添加不同的後期處理等等,讓玩家感受到這是同一個地方,但是不同一個時空。


總結一下,其實想要實現《泰坦隕落2》裡的時空穿梭不難,做出兩個場景也不難,其實難的還是在怎麼去想到這個,讓玩家會覺得真的像是那麼回事兒。


就同樣的這個瞬移,它可以是時空回溯,它也可以是《寂靜嶺》的鏡子世界,也可以是玩家走著走著來的一段回憶...

總之原理上大概都是可以這麼實現的,但是更重要的是你要想的到這麼一個環節,然後去實現它。

我在學習遊戲開發的過程中,越來越感覺到,就是想要做的好玩是很難的,很容易就是做出一坨,畫面精美但缺乏遊戲性和關卡設計的垃圾,所以說越發覺得任天堂牛逼,他們在製作遊戲的時候始終是會想到如何做的好玩,做出有意思的關卡設計。

自己在學習UE,發帖記錄一下自己的心得筆記,不定期隨緣更新!也希望幫助到一些想要學習的盒友!


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