[UE4藍(lán)圖教程]藍(lán)圖入門之藍(lán)圖通信機(jī)制入門
最近正好學(xué)習(xí)藍(lán)圖碰撞和藍(lán)圖間通信的有關(guān)部分,所以,我正好在此記錄一下,首先是藍(lán)圖和角色間的碰撞,比如下面這個(gè)藍(lán)圖
藍(lán)圖與玩家間的碰撞,其實(shí)和觸發(fā)器觸發(fā)事件有點(diǎn)像,首先,通過(guò)OnComPonentBeginOverlap 來(lái)判斷,主角或者其他東西,是否與物體發(fā)生了碰撞,如果發(fā)生碰撞的話,就這這個(gè)藍(lán)圖所在的位置,發(fā)射一個(gè)粒子發(fā)射器,里面添加的是爆炸效果,爆炸之后,讓主角的速度變成1500,然后銷毀這個(gè)藍(lán)圖就好了,這個(gè)藍(lán)圖的邏輯依然是很簡(jiǎn)單的,那個(gè)Cast To Character 這個(gè)按照官方的文檔說(shuō),他就是獲取Charater并且把它轉(zhuǎn)換成這個(gè)藍(lán)圖的Character,這樣,他可以獲取這個(gè)對(duì)象的一些通過(guò)Get獲取不了的特殊屬性,這個(gè)藍(lán)圖完成的功能就是,主角一碰到對(duì)應(yīng)物體,物體爆炸,然后主角移動(dòng)速度變?yōu)?500
接下來(lái)就是藍(lán)圖間的通信,藍(lán)圖間的通信,除了簡(jiǎn)單粗暴的Get,Set之外,主要有兩種方法,一種是通過(guò)Custom Event 來(lái)封裝成個(gè)函數(shù)(暫且就叫它函數(shù)),然后在Level BulePrint里面調(diào)用就可以了,第二種方法就是通過(guò)Event Dispatche 來(lái)實(shí)現(xiàn)事件調(diào)度
首先是第一種,如下圖
(類藍(lán)圖)
(層藍(lán)圖)
這個(gè)藍(lán)圖的邏輯是這樣的,首先,獲取物體的位置,然后將它轉(zhuǎn)化為Vector,然后讓MoveBy的Amount控制z軸坐標(biāo),之后在層藍(lán)圖里按下F鍵觸發(fā)事件,調(diào)用這個(gè)Move By就好,這個(gè)很簡(jiǎn)單,這個(gè)實(shí)現(xiàn)的功能就是,按下F鍵,相應(yīng)物體就向上移動(dòng)20,接下來(lái),就是第二種方式了
類藍(lán)圖
層藍(lán)圖
這個(gè)藍(lán)圖看起來(lái)非常少,首先我們需要建立一個(gè)Event Dispatche,起名為YouHitMe,在類藍(lán)圖中,通過(guò)Event Hit來(lái)看是否碰到,這也是碰撞的一種方式,之后,Call 這個(gè)Event Disatche,然后在層藍(lán)圖中,調(diào)用這個(gè)YouHitMe,然后輸出Ouch,這個(gè)藍(lán)圖實(shí)現(xiàn)的功能是,判斷是否碰到相應(yīng)物體,假如碰到了,就輸出Ouch
這就是物體碰撞和藍(lán)圖間通信的內(nèi)容
-
分享到:
您需要登錄后才可以發(fā)帖 登錄 | 立即注冊(cè)
- 用戶名:
- 密 碼:
- 驗(yàn)證碼: 看不清? 點(diǎn)擊更換
- 忘記密碼?
全部評(píng)論:0條