《Unreal Engine 4蓝图可视化编程》一1.6 改变目标方向
本節(jié)書摘來異步社區(qū)《Unreal Engine 4藍(lán)圖可視化編程》一書中的第1章,第1.6節(jié),作者: Brenden Sewell 譯者: 陳東林 責(zé)編: 胡俊英,更多章節(jié)內(nèi)容可以訪問云棲社區(qū)“異步社區(qū)”公眾號(hào)查看。
1.6 改變目標(biāo)方向
如果現(xiàn)在編譯、保存藍(lán)圖,然后開始測(cè)試游戲,你期待看到什么結(jié)果?目標(biāo)圓柱體會(huì)在游戲開始的時(shí)候根據(jù)設(shè)定的速度和方向移動(dòng)。然而,由于我們沒有任何引起目標(biāo)停止運(yùn)動(dòng)的指令,所以目標(biāo)圓柱體將隨著游戲運(yùn)行一直移動(dòng),甚至?xí)┰綀?chǎng)景中的對(duì)象。為了解決這個(gè)問題,我們需要一個(gè)邏輯來周期性的改變目標(biāo)的方向。這將使目標(biāo)像移動(dòng)的標(biāo)靶一樣,在兩點(diǎn)之間規(guī)律地來回移動(dòng)。
我們需要設(shè)置兩個(gè)節(jié)點(diǎn),為方向變量設(shè)置兩個(gè)不同的值。拖曳direction變量至事件圖表的空白區(qū)域并選擇設(shè)置,生成一個(gè)有X、Y、Z坐標(biāo)的節(jié)點(diǎn)。我們可以用它來改變direction變量的值,使這個(gè)值與我們賦予的初始值不同。我們希望有兩個(gè)這種類型的節(jié)點(diǎn),再拖曳direction變量至空白區(qū)域生成另一個(gè)節(jié)點(diǎn),將這兩個(gè)節(jié)點(diǎn)的Y軸的值分別設(shè)為10和-10。
現(xiàn)在我們需要一個(gè)方法在這兩個(gè)節(jié)點(diǎn)之間轉(zhuǎn)換,使方向就會(huì)重復(fù)地改變。希望兩組動(dòng)作(action)在每次切換之前交替執(zhí)行一次時(shí),可以使用FlipFlop節(jié)點(diǎn)。這適用于我們這個(gè)項(xiàng)目,所以鼠標(biāo)右鍵單擊事件圖表的空白區(qū)域搜索“FlipFlop”,選擇并放置好節(jié)點(diǎn),然后與剛創(chuàng)建的兩個(gè)direction節(jié)點(diǎn)連接。
最后,我們需要確保在執(zhí)行方向轉(zhuǎn)換之間有一些延遲。否則,方向?qū)?huì)在每一幀都改變,目標(biāo)對(duì)象也就不會(huì)移動(dòng)了。為了實(shí)現(xiàn)這一步驟,從FlipFlop節(jié)點(diǎn)的執(zhí)行引腳拖出引線至空白區(qū)域,搜索Delay節(jié)點(diǎn)。這個(gè)節(jié)點(diǎn)將允許我們?cè)O(shè)置一個(gè)以秒為單位的延遲時(shí)間,而在這個(gè)節(jié)點(diǎn)以后的執(zhí)行命令將會(huì)被延遲這段時(shí)間后執(zhí)行。將Delay節(jié)點(diǎn)放在Set Actor Transform節(jié)點(diǎn)和FlipFlop節(jié)點(diǎn)之間,設(shè)置延遲時(shí)間為6秒。在6秒的延遲后,執(zhí)行FlipFlop的轉(zhuǎn)換功能。最終的結(jié)果如圖1.30所示,如果你完成了,請(qǐng)編譯并保存藍(lán)圖。
測(cè)試移動(dòng)的目標(biāo)
現(xiàn)在我們已經(jīng)將藍(lán)圖更新過了,可以測(cè)試查看目標(biāo)圓柱體對(duì)象是否按照預(yù)期進(jìn)行移動(dòng)。首先,我們需要將目標(biāo)圓柱體對(duì)象放在Y軸方向上沒有障礙物的地方,確保在Y軸上運(yùn)動(dòng)不會(huì)與其他物體碰撞,這里采用的坐標(biāo)是(410,680,180),僅供大家參考。
單擊播放按鈕,如果藍(lán)圖正常工作的話,你將會(huì)看到圓柱體在兩個(gè)定點(diǎn)之間來回的移動(dòng)。
使用藍(lán)圖的優(yōu)點(diǎn)之一是它創(chuàng)建了一個(gè)功能性模板,這個(gè)模板可以被場(chǎng)景中的很多對(duì)象進(jìn)行使用。在Blueprints文件夾中找到CylinderTarget_Blueprint并將它直接拖到3D視圖中,可創(chuàng)建另一個(gè)繼承原始目標(biāo)圓柱體功能的圓柱體。通過這個(gè)方法,我們通過僅僅使用設(shè)置藍(lán)圖邏輯,就可以快速地創(chuàng)建很多移動(dòng)的目標(biāo)。
總結(jié)
以上是生活随笔為你收集整理的《Unreal Engine 4蓝图可视化编程》一1.6 改变目标方向的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《Cisco QoS认证考试指南(第2版
- 下一篇: 5 个关于 API 中日期和时间设计规则