【虛幻4】UE4初學者系列教程合集-全中文新手入門教程

# 1?觸發(fā)器-碰撞盒(collision)
- 1. 又名(觸發(fā)器/壓力板).
- 2. 一共有三種碰撞.----正方形,圓形和圓柱形
<font color = "cyan">藍圖1:</font>當物體進入觸發(fā)器范圍時
![[Pasted image 20230728021754.png|300]]
<font color = "cyan">藍圖2:</font>當物體離開觸發(fā)器范圍時
![[Pasted image 20230728021910.png|300]]
# 2?時間軸(add timeline)
<font color = "cyan">藍圖:</font>用與調整物品移動的函數(shù)
![[Pasted image 20230728022016.png|300]]
# 3?設置相對旋轉/平移(set relative rotation/location)
<font color = "cyan">藍圖:</font>顧名思義
![[Pasted image 20230728022349.png|300]]
# 4?輸入+開關操作(Gate)與高級門(MultiGate)
<font color = "pink">區(qū)別</font>:
| 對比項??| Gate????| MultiGate??| 備注??????????????|
| -------- | ----------- | ------------ | ------------------------------ |
| 輸入輸出 | 2條件單輸出 | 單條件多輸出 | Gate得同時滿足兩個條件才能輸出 |
|?????|???????|???????|????????????????|
<font color = "cyan">藍圖:</font>gete相應的其實是雙重條件,比如玩家進入碰撞盒子觸發(fā)open,按下F觸發(fā)Enter,只有open和enter同時觸發(fā)才會進入Exit節(jié)點
- enter來源為“鍵盤 E”
- 在此之前還得啟動輸入并獲取玩家控制器
![[Pasted image 20230728022647.png|]]
<font color = "cyan">藍圖</font>:反觀Multigate是單條件多輸出,gate是輸入通過后只執(zhí)行一次,Multigate是輸入通過后順序或隨機執(zhí)行所有引腳,最多32個好像
![[Pasted image 20230802053227.png]]
# 5?分支節(jié)點(branch)
<font color = "cyan">藍圖:</font>第一次通過為A,第二次通過為B,循環(huán)ABAB
![[Pasted image 20230728023018.png]]
# 6?獲取另一個藍圖的變量(get all actors of class)
<font color = "cyan">藍圖:</font>藍圖通信
![[Pasted image 20230728023219.png]]
# 7?銷毀物體(Destroy Actor)
<font color = "cyan">藍圖:</font>用來銷毀這個藍圖所對應的所有靜態(tài)網格體,所有
![[Pasted image 20230728023343.png]]
# 8?打印到屏幕(print)
<font color = "cyan">藍圖:</font>可以用來調試
![[Pasted image 20230728023448.png]]
# 9?游戲開始運行(event begin play)
<font color = "cyan">藍圖:</font>用來做一些游戲一開始就要運行的東西
![[Pasted image 20230728023852.png]]
# 10?播放音頻(play sound at location)
<font color = "cyan">藍圖:</font>連上begin就可以運行
![[Pasted image 20230728024238.png]]
# 11?激活某個actor(set active)
<font color = "cyan">藍圖:</font>這里是激活攝像機
![[Pasted image 20230731202732.png]]
# 12?模擬物理效果(set simulate physics)
<font color = "cyan">藍圖</font>:
![[Pasted image 20230731212125.png]]
# 13?設置可見性(set visibility)
<font color = "cyan">藍圖</font>:一般用于開關燈,也可以用來瞬間隱藏某些Actor
- 只是隱藏,如果要銷毀建議用Destroy actor
![[Pasted image 20230731231323.png|350]]
# 14?文本渲染組件(Text Rander)
<font color = "cyan">藍圖</font>:顯示懸空字母
![[Pasted image 20230801224613.png|300]]
# 15?邏輯判斷:if 分支(branch)
<font color = "cyan">藍圖</font>:判定condition的對錯
![[Pasted image 20230801224847.png]]
# 16?邏輯判斷:For-each-Loop循環(huán) 和 For-each-Loop with break循環(huán)
<font color = "cyan">藍圖</font>:必定會執(zhí)行完的for循環(huán)(無break)
- Exec---執(zhí)行
- Array---導入一個數(shù)組,一般前面要跟上get all actors
- Loop Body---循環(huán)體
- Array Element---細化Array中的具體變量,比如Array有3個Actors,但是我想比較每個Actor的a的值,就可以在Element創(chuàng)建引腳
- Completed:就是Finally執(zhí)行完后的操作
![[Pasted image 20230801225058.png]]
<font color = "cyan">藍圖</font>:帶break的for循環(huán)
- 其他的沒區(qū)別,只是多了一個break
- 如果想碰到中斷的情況,就直接把引腳拖過來,break的Body不會進入Completed.
![[Pasted image 20230801225615.png]]
# 17?控制臺命令(Execute Console Command)
<font color = "cyan">藍圖</font>:可以上報給關卡藍圖,讓它執(zhí)行保存在關卡藍圖里的自定義事件
- 命令為ce+自定義事件(只能是關卡藍圖里的自定義事件)
![[Pasted image 20230801230142.png]]
# 18?延遲節(jié)點(delay)
<font color = "cyan">藍圖</font>:顧名思義
![[Pasted image 20230802053502.png]]
# 19?轉場效果,視角切換器(set view target with blend)
<font color = "cyan">藍圖</font>:Blend time設置為2就差不多了
- 目標是玩家控制器
- view target是小白人
- 目前來看要搭配Delay使用才行
![[Pasted image 20230803011955.png|400]]
# 20?判斷傳入對象是否有效(is valid)
<font color = "cyan">藍圖</font>:如果調用的引用沒有創(chuàng)建實例則返回invalid
![[Pasted image 20230803012739.png|400]]
# 21?創(chuàng)建一個藍圖對另一個藍圖的引用與實例化(self)
<font color = "cyan">藍圖</font>:接上,我們可以通過在被引用藍圖里構建這個引用的實例來由invalid更改為valid
![[Pasted image 20230803012919.png]]
# 22?控制權(possess)
<font color = "cyan">藍圖</font>:目前來看,貌似只有擁有骨骼網格體和攝像機組件的才能有控制權,比如人,車,小飛船
- 目標是控制器
- pawn是自身
![[Pasted image 20230803013024.png|400]]
# 23?設置Actor變換/獲取場景變換/拆分變換(Set Actor Transform/Get World transform/Break transform)
- sweep-換位置的時候會查看變換后位置是否有碰撞體
<font color = "cyan">藍圖</font>:把目標移動到新的坐標和旋轉位置
- 目標是小白人
- new transform可以通過以下兩個節(jié)點來獲取,創(chuàng)建一個沒有碰撞的碰撞盒子,然后獲取它的位置信息,輸入到新坐標里就可以
![[Pasted image 20230803013120.png|400]]
# 24?啟用Actor碰撞(Set Actor Enable Collision)
<font color = "cyan">藍圖</font>:顧名思義
![[Pasted image 20230803013252.png|400]]
# 25?附加到組件(Attach to Component)
<font color = "cyan">藍圖</font>:將目標鎖定到parent的位置
- 目標是小白人
- parent是預設的up主駕駛位置
- 這樣小白人就被固定在主駕駛上面了
- 此外要注意,以下的規(guī)則要設置為保持場景,不然會出現(xiàn)人物消失不見或者被強制拉伸的特殊情況
![[Pasted image 20230803013318.png|400]]
# 26?從Actor分離(Detach From Actor)
<font color = "cyan">藍圖</font>:反-”附加到組件“的意思
- 解除固定
![[Pasted image 20230803013559.png|400]]
# 27?鍵盤響應事件(鍵盤 shift)
<font color = "cyan">藍圖</font>:
- press按下的時候
- release放開的時候
![[Pasted image 20230803085344.png]]
# 28?數(shù)字的累加/i++節(jié)點(整數(shù)+整數(shù)/i++)
<font color = "cyan">藍圖</font>:輸入++即可出現(xiàn),或者+選擇整數(shù)+整數(shù)
![[Pasted image 20230803085453.png]]
# 29?數(shù)值的判定(>=)
<font color = "cyan">藍圖</font>:輸入兩個變量進行判定
- 判定:參數(shù)1是否大于等于參數(shù)2
![[Pasted image 20230803085521.png]]
# 30?插值/向量插值()
<font color = "cyan">藍圖</font>:配合時間軸使用
- 以前是在時間軸里面加0.2s(從0~100)
- 現(xiàn)在用插值就是把以前的方法進行拆分,時間軸負責描繪曲線,插值負責在曲線上加入值的變化,即時間軸給形體0.2s(0~1),插值給數(shù)值(0~100)
![[Pasted image 20230803085639.png]]
# 31?獲取Actor位置
<font color = "cyan">藍圖</font>:獲取當前坐標
![[Pasted image 20230803085900.png]]
# 32?獲取Actor向前向量
<font color = "cyan">藍圖</font>:包含(當前方向)+(移動數(shù)值)
- 以下圖在此基礎上加上當前坐標即可完成角色的沖刺
![[Pasted image 20230803085913.png]]
# 33?設置手動制動
<font color = "cyan">藍圖</font>:打開手剎的意思
- 目標是”車輛的移動“
![[Pasted image 20230803090102.png]]
# 34?設置油門輸入
<font color = "cyan">藍圖</font>:應該是改變前進加速度的,就是油門
- 目標還是”車輛的移動“
![[Pasted image 20230803090117.png]]
# 35??