- 打開“BP_UIHUD”,在事件圖表中添加如下節(jié)點(diǎn),使得控件藍(lán)圖“WBP_Main”能夠被渲染到視口上
- 接下來制作拖拽部分的UI,新建兩個(gè)控件藍(lán)圖,這里分別命名為“WBP_DragUI”和“WBP_DragActor”,一個(gè)表示通過拖拽出圖片來生成模型,另一個(gè)表示直接拖出模型
- 先打開“WBP_DragUI”,設(shè)置自定義大小
刪除畫布面板
添加一個(gè)尺寸框控件
設(shè)置尺寸框的“寬度覆蓋”和“高度覆蓋”均為100
在尺寸框中添加一個(gè)圖像控件
設(shè)置一下圖像和圖像著色
- 接下來設(shè)置第二個(gè)控件藍(lán)圖“WBP_DragActor”,打開“WBP_DragActor”,這里除了顏色不同,其他所有地方和“WBP_DragUI”保持一致
- 打開主界面“WBP_Main” ,將控件藍(lán)圖“WBP_DragUI”和“WBP_DragActor”拖入
此時(shí)運(yùn)行游戲可以發(fā)現(xiàn)控件藍(lán)圖已經(jīng)被添加到視口中
三、創(chuàng)建Actor
我們想從UI中通過拖拽的方式生成Actor,首先我們需要?jiǎng)?chuàng)建一個(gè)Actor藍(lán)圖,這里就命名為“BP_Cube”
打開“BP_Cube”,添加一個(gè)立方體形狀的靜態(tài)網(wǎng)格體
注意設(shè)置立方體沒有碰撞
四、拖拽生成Actor的邏輯
- 首先打開“WBP_DragUI”,添加一個(gè)覆蓋函數(shù),選擇“按下鼠標(biāo)按鈕時(shí)”
我們需要在鼠標(biāo)按下時(shí)偵測(cè)是鼠標(biāo)哪個(gè)按鍵按下,這里設(shè)置的只偵測(cè)鼠標(biāo)左鍵
再添加一個(gè)覆蓋函數(shù)“發(fā)現(xiàn)拖動(dòng)時(shí)”
當(dāng)檢測(cè)到鼠標(biāo)拖動(dòng)時(shí),創(chuàng)建一個(gè)和自身一模一樣的控件。由于上一步設(shè)置的只偵測(cè)鼠標(biāo)左鍵的拖動(dòng)事件,因此這里通過鼠標(biāo)右鍵拖動(dòng)是不會(huì)偵聽到的。
此時(shí)效果如下:(鼠標(biāo)左鍵按下UI不松,可以拖出UI)
接下里我們就要在鼠標(biāo)松開的時(shí)候生成actor,繼續(xù)在“WBP_DragUI”中添加一個(gè)“拖動(dòng)取消時(shí)”的重載函數(shù)
邏輯如下
此時(shí)已經(jīng)可以通過拖拽出UI來生成actor了,效果如下:
為了增加代碼復(fù)用性,我們新建一個(gè)藍(lán)圖函數(shù)庫(kù)
這里命名為“BP_FunctionLibrary”
在藍(lán)圖函數(shù)庫(kù)中新增一個(gè)函數(shù),這里命名為“LineTraceReturnLocation”,表示射線檢測(cè)返回射線碰撞位置
為該函數(shù)添加一個(gè)向量類型的輸出,命名為“HitLocation”
函數(shù)內(nèi)容如下
- 回到“WBP_DragUI”,將拖動(dòng)取消時(shí)事件的相關(guān)代碼簡(jiǎn)化:
- 下面制作從UI拖出Actor來生成Actor的功能,打開控件藍(lán)圖“WBP_DragActor”
同樣的,添加一個(gè)“按下鼠標(biāo)按鈕時(shí)”的覆蓋函數(shù)
函數(shù)邏輯如下:同樣需要添加一個(gè)對(duì)鼠標(biāo)左鍵拖動(dòng)的偵聽,然后生成一個(gè)Actor,其中變量“IsCubeCanMove”表示生成的方塊是否可以進(jìn)行移動(dòng)
此時(shí)運(yùn)行游戲發(fā)現(xiàn)只能在鼠標(biāo)按下時(shí)生成方塊但是無法拖動(dòng)。
- 打開主界面“WBP_Main” ,在圖表中添加覆蓋函數(shù)“鼠標(biāo)移動(dòng)時(shí)”
該函數(shù)邏輯如下
再添加“松開鼠標(biāo)按鈕時(shí)”
松開時(shí)設(shè)置方塊不能移動(dòng)
此時(shí)運(yùn)行發(fā)現(xiàn)生成的Actor只能在小UI范圍內(nèi)拖動(dòng),因此我們需要在“WBP_Main”中再添加一個(gè)底圖
設(shè)置錨點(diǎn)
設(shè)置完全透明
設(shè)置這個(gè)透明背景在最底層
此時(shí)運(yùn)行效果如下:
相關(guān)文章:
【UE】?jī)刹綄?shí)現(xiàn)“從UI中拖出Actor放置到場(chǎng)景中”-CSDN博客
下一篇:
【UI】從UI拖拽生成物體 —— 更改位置與定點(diǎn)銷毀-CSDN博客
本篇參考視頻:
https://www.bilibili.com/video/BV1mU4y117z9/?spm_id_from=333.999.0.0&vd_source=36a3e35639c44bb339f59760641390a8
自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。
深知大多數(shù)Linux運(yùn)維工程師,想要提升技能,往往是自己摸索成長(zhǎng)或者是報(bào)班學(xué)習(xí),但對(duì)于培訓(xùn)機(jī)構(gòu)動(dòng)則幾千的學(xué)費(fèi),著實(shí)壓力不小。自己不成體系的自學(xué)效果低效又漫長(zhǎng),而且極易碰到天花板技術(shù)停滯不前!
因此收集整理了一份《2024年Linux運(yùn)維全套學(xué)習(xí)資料》,初衷也很簡(jiǎn)單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時(shí)減輕大家的負(fù)擔(dān)。
既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗(yàn)的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,基本涵蓋了95%以上Linux運(yùn)維知識(shí)點(diǎn),真正體系化!
由于文件比較大,這里只是將部分目錄大綱截圖出來,每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻,并且后續(xù)會(huì)持續(xù)更新
如果你覺得這些內(nèi)容對(duì)你有幫助,可以添加VX:vip1024b (備注Linux運(yùn)維獲?。?/strong>
最全的Linux教程,Linux從入門到精通
======================
-
linux從入門到精通(第2版)
-
Linux系統(tǒng)移植
-
Linux驅(qū)動(dòng)開發(fā)入門與實(shí)戰(zhàn)
-
LINUX 系統(tǒng)移植 第2版
-
Linux開源網(wǎng)絡(luò)全棧詳解 從DPDK到OpenFlow
第一份《Linux從入門到精通》466頁
====================
內(nèi)容簡(jiǎn)介
====
本書是獲得了很多讀者好評(píng)的Linux經(jīng)典暢銷書**《Linux從入門到精通》的第2版**。本書第1版出版后曾經(jīng)多次印刷,并被51CTO讀書頻道評(píng)為“最受讀者喜愛的原創(chuàng)IT技術(shù)圖書獎(jiǎng)”。本書第﹖版以最新的Ubuntu 12.04為版本,循序漸進(jìn)地向讀者介紹了Linux 的基礎(chǔ)應(yīng)用、系統(tǒng)管理、網(wǎng)絡(luò)應(yīng)用、娛樂和辦公、程序開發(fā)、服務(wù)器配置、系統(tǒng)安全等。本書附帶1張光盤,內(nèi)容為本書配套多媒體教學(xué)視頻。另外,本書還為讀者提供了大量的Linux學(xué)習(xí)資料和Ubuntu安裝鏡像文件,供讀者免費(fèi)下載。
本書適合廣大Linux初中級(jí)用戶、開源軟件愛好者和大專院校的學(xué)生閱讀,同時(shí)也非常適合準(zhǔn)備從事Linux平臺(tái)開發(fā)的各類人員。
需要《Linux入門到精通》、《linux系統(tǒng)移植》、《Linux驅(qū)動(dòng)開發(fā)入門實(shí)戰(zhàn)》、《Linux開源網(wǎng)絡(luò)全?!冯娮訒敖坛痰墓こ處熍笥褌儎跓┠D(zhuǎn)發(fā)+評(píng)論文章來源:http://www.zghlxwxcb.cn/news/detail-854116.html
一個(gè)人可以走的很快,但一群人才能走的更遠(yuǎn)。不論你是正從事IT行業(yè)的老鳥或是對(duì)IT行業(yè)感興趣的新人,都?xì)g迎掃碼加入我們的的圈子(技術(shù)交流、學(xué)習(xí)資源、職場(chǎng)吐槽、大廠內(nèi)推、面試輔導(dǎo)),讓我們一起學(xué)習(xí)成長(zhǎng)!
d4aefb6a92edea27b825e59aa1f2c54.png)
本書適合廣大Linux初中級(jí)用戶、開源軟件愛好者和大專院校的學(xué)生閱讀,同時(shí)也非常適合準(zhǔn)備從事Linux平臺(tái)開發(fā)的各類人員。
需要《Linux入門到精通》、《linux系統(tǒng)移植》、《Linux驅(qū)動(dòng)開發(fā)入門實(shí)戰(zhàn)》、《Linux開源網(wǎng)絡(luò)全?!冯娮訒敖坛痰墓こ處熍笥褌儎跓┠D(zhuǎn)發(fā)+評(píng)論
一個(gè)人可以走的很快,但一群人才能走的更遠(yuǎn)。不論你是正從事IT行業(yè)的老鳥或是對(duì)IT行業(yè)感興趣的新人,都?xì)g迎掃碼加入我們的的圈子(技術(shù)交流、學(xué)習(xí)資源、職場(chǎng)吐槽、大廠內(nèi)推、面試輔導(dǎo)),讓我們一起學(xué)習(xí)成長(zhǎng)!
[外鏈圖片轉(zhuǎn)存中…(img-4Xj1ZOvk-1712876972345)]文章來源地址http://www.zghlxwxcb.cn/news/detail-854116.html
到了這里,關(guān)于【UE】從UI中拖拽生成物體_ue 從ui拖動(dòng)創(chuàng)建actor的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!