日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unreal Engine4 蓝图入门

發布時間:2025/3/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unreal Engine4 蓝图入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????????????????????????????????????????????????????????? 微信公眾號:UE交流學習??? UE4開發群:344602753

???????????? 藍圖是Unreal Engine的特點,用C++編程固然好,但是效率要低很多,主要是國內資料比較少,所以不太容易學習,用藍圖編程可以節省開發成本,我認為藍圖編程也是可以解決問題的,他其實也是一個一個方法進行執行的,可能程序員用這個不太習慣,但是用多了還是挺方便的,對于不懂編程的人來說,思路非常清晰的情況下,最好是有一定的編程基礎,這樣最好!

???????????? 題外話,有個Virtools可視化編程軟件,用的也是類圖,不能用C++直接編程,但是可以用C++編寫模塊,供調用,我個人認為它做的還是挺成功的!

???????????? 首先我新建一個藍圖類,在資源視圖中,右鍵新建就可以!?????????????????????????????????????????? ?????

??????????? 點擊Blueprint后彈出一個父類框,其中有Actor,Pawn,Character,PlayerController等,

? 在All Classes中還有一些不常用的類!在這里我繼承了Actor類,Actor就是最基本的類,也就是每個類都必須有的變換類!類似Unity3d的Transform,每個類都必須有的組件!

???????????

??????????? 在藍圖類中,首先有兩個事件,是必須有的,Eevnt BeginPlay類似于類的初始化事件,

??????????? ActorBeginOverlap是觸發器觸發事件,就是當前物體碰到了其他物體的時候就會觸發!

??????????? Event Tick是每幀都調用的事件!

??????????? 首先像是每個程序都一樣的,打印個HelloWorld!其中箭頭表示流程,程序都是線性流程性的,靠一條線連接到底,不能用一個箭頭連向兩個地方!其中String就是參數,參數可以連接到多個地方的!

???????????

??????????? 然后就可以在屏幕上打印出來Hello World!

??????????? UE在運行的時候默認不顯示鼠標,我寫個代碼,讓顯示個鼠標!

???????????

??????????? 首先是有個藍圖 SET Show Mouse Cursor這個屬性,后面的框可以手動輸入參數,來決定是否顯示鼠標,但是如果Target不能為NULL,否則會編譯不過,也就是說這個方法是屬于某個類的方法,那么這個Target到底是什么類型呢?可以用鼠標放到Target上,會提示你的類型,那么我們就需要獲取當前場景中的人物控制對象,可以用靜態方法Get Player Controller來獲取,然后賦予它就可以!

???????? 再說明下Tick事件,它是每一幀都要執行的,那么我們在游戲程序中有一個參數非常的重要,那就是上一幀運行的時間,我們需要乘以這個參數,來保證游戲的公平性!那么如何獲取呢?可以通過Tick時間的delta來獲取,也可以通過一個藍圖模塊來獲取!

???????????

??????????? 通過BuildString方法,可以拼接兩個字符串,Prefix是前綴,這里填寫的是“Delta”,然后把Delat Senconds的值賦予進來,即可進行拼接的!然后打印出來!

?????????????????????????

???????????????? 我們可以在藍圖中添加一個Cube,但是必須勾選Overlap Event,這樣

????????????????? Event ActorBeginOverlap事件才會被觸發,Collision Presets設置為

????????????????? OverlapOnlyPawn,這樣會接受角色的觸發!

?????????????????

????????????????? 首先碰到了其他物體,那么我們首先進行試著轉換,采用Cast To ThirdPersonCharacter類型,如果轉換失敗,則執行Cast Failed,轉換成功則進行后續的流程,我采用Get Display Name可以打印出這個角色的名稱,然后再刪除方塊自己,類似跑酷中的吃到金幣!模塊為DestroyActor刪除自己!

轉載于:https://www.cnblogs.com/alongu3d/p/5066955.html

總結

以上是生活随笔為你收集整理的Unreal Engine4 蓝图入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。