UE4 初學者入門筆記(一)

2021-10-14 18:17:10 字數 1720 閱讀 9207

遊戲例項,自始至終存在,不依賴於關卡。一般而言,乙個遊戲只有乙個gameinstance,但是對於ue4而言,ue4不僅要面對遊戲,還要面對編輯器,甚至是輔助程式,所以engine可以管理多個gameinstance就像乙個資源可以開啟多個例項:

言歸正傳,因為ue的這套editor自繪機制,還有pie(playineditor),程序裡其實是可以同時有多個gameinstance的,如正在編輯的editorworld所屬於的,和play之後的world屬於的。我想,這也就是為何ue把它叫做gameinstance而不是簡單的game的含義,其名字中就隱含了多個instance的深意。

——《insideue4》gameplay架構(九)gameinstancesu

哪些邏輯可以放在gameinstance中:

1.關卡的切換

2.players

3.ui的管理

4.全域性配置

5.遊戲的第三方邏輯

如果你的遊戲需要其他一些控制,比如自己寫的網路通訊、自定義的配置檔案或者自己的一些程式演算法,如果簡單的話,gameinstance也可以一放,等複雜起來了,也可以把gameinstance當作乙個模組容器,你可以在裡面再擴充套件出來其他的子邏輯模組。當然如果是外掛程式的話,還是在自己的外掛程式module裡面自行管理邏輯,然後把協調工作交給gameinstance來做。

玩家直接控制的實體,跟玩家直接相關的操作很多都委託它來完成,相當於遊戲內的乙個「玩家實體」。乙個playercontroller可以擁有乙個pawn/character,關係就像lol中的召喚師與英雄一樣。

在playercontroller中,大概包含:

1.camera管理

包含了乙個playercameramanager類物件,用來方便的切換相機。

2.input系統

3.uplayer關聯

和player對應起來,乙個playercontroller只有在serplayer之後,才能開始工作

4.hud

5.level的切換

6.voice

為了方便網路中語音聊天的一些控制函式

ue的思想是具象化乙個「玩家實體」,並把所有的跟該玩家相關的操作和介面都交給它完成。一般其他的遊戲引擎只是個「功能引擎」,提供了一些圖形渲染ui系統等元件,但是在gameplay這個層次就都非常欠缺了,一般都需要開發者自己搭建一套。而回想你寫過的遊戲,是不是也往往有乙個player類(一般是單件或者全域性變數)?裡面幾乎是放著所有跟該玩家相關的業務邏輯**。ue裡的playercontroller就是這種概念,優點當然是直接方便好理解,缺點也如你所見,會**膨脹得比較快。不過目前來說還算能接受,等某一塊功能真的比較大了之後,可以再把它抽出乙個單獨的類來,如playerinput和playercameramanager一樣。

——《insideue4》gameplay架構(六)playercontroller和aicontroller

注:playercontroller是可以被替換的,比如馬里奧在水下的控制方式就明顯與平時不同,所以不能像"player"一樣什麼都放進去,一旦被替換資料將丟

SASS 初學者入門

sass可以簡化你的css工作流,並可以使你的css的擴充套件和維護工作變的更加容易!例如,曾幾時何,因為客戶的需求的變更,你必須不斷的通過查詢和替換來更改乙個畫素值,或者,為了能夠確定多欄布局中某一欄的寬度,你需要使用計算畫素值軟體才能搞定。sass引入了一些新的概念如,變數,混合,巢狀和選擇器繼...

ERP初學者入門

erp初學者入門,有很多的書籍和文件。我也不是專業的文字編輯工作者,我只想從我個人多年從事這個行業的一些體會給大家一些啟示。學erp並不難,難的是如何做乙個專業的profession的顧問。乙個資深的顧問也不是天生就有的,需要像細小流滴一樣匯聚。初學erp可以考慮從下面幾個方面入手 1.了解什麼是e...

ERP初學者入門

erp初學者入門,有很多的書籍和文件。我也不是專業的文字編輯工作者,我只想從我個人多年從事這個行業的一些體會給大家一些啟示。學erp並不難,難的是如何做乙個專業的profession的顧問。乙個資深的顧問也不是天生就有的,需要像細小流滴一樣匯聚。初學erp可以考慮從下面幾個方面入手 1.了解什麼是e...