版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、UE4模型拆裝藍(lán)圖實(shí)例最終效果如下圖所示步驟1:導(dǎo)入FBX 并且所有模型的原點(diǎn)在同一個(gè)位置 (原點(diǎn))最好將所有原點(diǎn)歸到所有模型的下方中心 方便散開(kāi)時(shí)候往上散 不至于散到地面一下步驟2:創(chuàng)建新項(xiàng)目 和不同的文件夾(選擇不具有初學(xué)者內(nèi)容 )然后在WorldSeting中添加新的游戲模式和新的PawnClass(添加后系統(tǒng)會(huì)自動(dòng)創(chuàng)建BlueSprint的文件夾)3:將導(dǎo)入的FBX分別創(chuàng)建為藍(lán)圖類如下圖所示在此之前先創(chuàng)建一個(gè)藍(lán)圖BP_Expose作為藍(lán)圖父類,然后在BlueSprint文件夾中打開(kāi)所有FBX創(chuàng)建的藍(lán)圖類,在ClassSetting中設(shè)置它們?yōu)锽P_Expose藍(lán)圖類的子類(就是繼承關(guān)系
2、)*將所有藍(lán)圖拖拽到場(chǎng)景中*進(jìn)入藍(lán)圖部分在藍(lán)圖父類BP_Expose中首先通過(guò)Get component by class獲取場(chǎng)景中的藍(lán)圖類(選擇對(duì)象為StaticmeshComponent)返回了一個(gè)數(shù)組(場(chǎng)景中八個(gè)藍(lán)圖類),首先判斷這個(gè)數(shù)組是否長(zhǎng)度為大于0(否則一切沒(méi)有意義),然后通過(guò)Get函數(shù)獲取這個(gè)數(shù)組的第一個(gè)元素將其設(shè)置為名稱為StaticMesh的一個(gè)變量,類型為StaticmeshComponent這個(gè)步驟的意義在于保存場(chǎng)景中藍(lán)圖類StaticMesh的引用*在這個(gè)步驟藍(lán)圖中,主要是通過(guò)getComponentBounds獲取模型的中心(重心),不是原點(diǎn),通過(guò)Get direct
3、ion Vector這個(gè)函數(shù)算出原點(diǎn)到中心這個(gè)方向,以及距離 并且將這數(shù)值保存到兩個(gè)以后要用的變量 (散開(kāi)的距離),random rotator是一個(gè)隨機(jī)旋轉(zhuǎn)角度并且賦值個(gè)一個(gè)旋轉(zhuǎn)變量*這個(gè)圖表中顯示通過(guò)在藍(lán)圖父類的所有子對(duì)象上懸停發(fā)生兩個(gè)事件 一個(gè)是懸停時(shí)候設(shè)置材質(zhì)高亮 一個(gè)是離開(kāi)時(shí)候設(shè)置材質(zhì)為普通材質(zhì),也可以在初始時(shí)候就將所有的藍(lán)圖類賦予初始材質(zhì) 顯示高亮后又可以變成另外一種普通材質(zhì)*接下來(lái)要進(jìn)行的是組裝和拆分兩個(gè)動(dòng)作的自定義事件 可以通過(guò)Timeline這個(gè)事件節(jié)點(diǎn)來(lái)設(shè)置模型拆分出去的動(dòng)作和旋轉(zhuǎn)的速度 1模型拆分由于清晰度 我截圖分成兩半首先自定CustomEvent 將其命名為huan
4、dong(這個(gè)名字最后覺(jué)得沒(méi)有命名好),然后在這個(gè)自定義事件中增加一個(gè)整形變量目的是為了以后由這個(gè)變量的值來(lái)決定是否是依次來(lái)拆分還是同時(shí)拆分 如果這個(gè)變量是一就延遲0.2秒來(lái)一次拆分每個(gè)模型 如果是0不進(jìn)行延遲,timeline這里就不多說(shuō)了,游戲開(kāi)始時(shí)候從原點(diǎn)開(kāi)始,然后通過(guò)Ease這個(gè)函數(shù)來(lái)進(jìn)行線性緩動(dòng),緩動(dòng)原點(diǎn)是0.0.0,目標(biāo)就是P To END這個(gè)事先保存好的值,也可以修改,然后再設(shè)置拆分的目的地以及旋轉(zhuǎn)(旋轉(zhuǎn)中也可以通過(guò)Ease這個(gè)函數(shù)來(lái)事先一個(gè)線性的角度旋轉(zhuǎn) 不是勻速旋轉(zhuǎn))。這里有一點(diǎn)重要的是沒(méi)有講到的 一個(gè)狀態(tài)的存儲(chǔ),我們現(xiàn)在Bluesprint文件夾中右鍵創(chuàng)建一個(gè)Enumera
5、tors(枚舉變量),在其中創(chuàng)建兩個(gè)變量 分別為Start和end兩種狀態(tài),為了在模型移動(dòng)后把這種狀態(tài)給保持下來(lái)在執(zhí)行拆分模型完成后 將模型位置的狀態(tài)設(shè)置為結(jié)束,將其保存下來(lái) 方便以后調(diào)用這個(gè)狀態(tài),模型的組裝:其實(shí)就是把兩個(gè)起始位置和目標(biāo)位置反置一下就可以了*在游戲開(kāi)始時(shí)候要做的事情 通過(guò)sequence這個(gè)序列節(jié)點(diǎn)來(lái)同時(shí)做有些事情 如下圖所示 到此在藍(lán)圖類BP_Expose這個(gè)父類上的藍(lán)圖節(jié)點(diǎn)連接就結(jié)束了 接下來(lái) 我們到MyPawn這個(gè)類中進(jìn)行藍(lán)圖調(diào)試與編輯二 在MyPawn這個(gè)類中編輯藍(lán)圖*首先在Mypawn中添加Spring和camera ,將相機(jī)作為spring的子類相機(jī)就變?yōu)檫@條sp
6、ring紅線的端點(diǎn)位置了,可以設(shè)置這個(gè)紅線的距離 白色圓球就是這個(gè)相機(jī)的聚焦位置,為了不讓這個(gè)紅線堅(jiān)持到模型的碰撞 以免發(fā)生錯(cuò)誤 把Spring這個(gè)父類下面的這個(gè)DO collision Test勾選框勾掉再把這個(gè)打勾,意思是可以讓游戲模式旋轉(zhuǎn),過(guò)后將Mypawn拖到場(chǎng)景中 在WorldSetting中設(shè)置游戲模式為自己增加的游戲模式,和我的Mypawn,這樣游戲開(kāi)始 相機(jī)才是你調(diào)整的那個(gè)位置 不然就是默認(rèn)的位置 接下來(lái) 我們來(lái)控制視角的變換,在ProjectingSetting的在中的AXIS添加兩個(gè)控制器MouseX和MouseY分別命名為Yaw和Pitch,并將MouseY的Scale值
7、改為-1. 進(jìn)入圖表,通過(guò)Input Axis+Yaw(自己剛才命的名字,調(diào)用鼠標(biāo)控制),然后通過(guò)Add controller Yaw Input和Add controller Pitch兩個(gè)函數(shù)來(lái)執(zhí)行鼠標(biāo)的左右上下控制弄能。*鼠標(biāo)以及視角調(diào)好了我們來(lái)做真正意義的模型拆分動(dòng)作的調(diào)用功能首先我們新建一個(gè)變量叫做Is by step(是否一步一步的拆分),這就是在自定義緩動(dòng)事件時(shí)候說(shuō)的我新建的整形變量 在這里發(fā)揮作用了,這本變量設(shè)置成Bool,大家知道這個(gè)變量轉(zhuǎn)換成整形不是0就是1, 下面是這個(gè)環(huán)節(jié)的總藍(lán)圖節(jié)點(diǎn)連接表通過(guò)兩個(gè)鍵盤(pán)上的U和I鍵設(shè)置Isbystep這個(gè)變量的置 從左邊開(kāi)始,通過(guò)GetA
8、ll Actors of Class 這個(gè)節(jié)點(diǎn)來(lái)遍歷查找每一個(gè)子藍(lán)圖類,然后將其調(diào)用到Ease huandong這個(gè)自定義事件上去執(zhí)行 ,這個(gè)下面的意思就是如果我設(shè)置成1,等于下面的就沒(méi)有變化 在BP_Expose這個(gè)藍(lán)圖中的這個(gè)節(jié)點(diǎn)就要在每個(gè)模型拆分后延遲0.2秒拆分下一個(gè)模型,如果我設(shè)置成0,那么Index就是0,0*0.2就是延遲0秒 等于不延遲,接下來(lái)就是組裝模型了 其實(shí)很簡(jiǎn)單 把最后面的調(diào)用自定義事件改為huandong2就可以了*增加一個(gè)功能 :當(dāng)我們選中一個(gè)對(duì)象,立刻聚焦到該模型上,其他模型隨機(jī)隱藏先展示一下最后藍(lán)圖表首先我們得創(chuàng)建一個(gè)藍(lán)圖變量,即即時(shí)被選中的對(duì)象,類型為藍(lán)圖類B
9、P_Expose(我們?cè)陧?xiàng)目進(jìn)行開(kāi)始自己創(chuàng)建的藍(lán)圖父類)在這個(gè)功能之前 也是要首先進(jìn)行藍(lán)圖類的查找與遍歷,在LoopBody這個(gè)節(jié)點(diǎn),通過(guò)ArrayElement 引出這個(gè)節(jié)點(diǎn),目的是為了在MyPawn中引用,然后通過(guò)Set Vibisillty將所有藍(lán)圖隱藏,等隱藏所有完了,再單獨(dú)通過(guò)創(chuàng)建的CurrentSelect藍(lán)圖變量來(lái)設(shè)置當(dāng)前選擇的對(duì)象被顯示出來(lái),也是需要通過(guò)SetDefaultSceneRoot來(lái)引用,然后判斷是否存在,再通過(guò)SetActorLocation設(shè)置他的目的地,通過(guò)此時(shí)的攝像機(jī)位置到該對(duì)象的Bounds中心點(diǎn),這就是為什么引用MyPawn的DefaultSceneRoo
10、t了 不然就沒(méi)有起始位置 *接下來(lái) 我們做攝像機(jī)返回原點(diǎn)的功能 通過(guò)B鍵來(lái)是實(shí)現(xiàn),而且顯示所有有可能被顯示的物體為初始狀態(tài)首先還是要用到遍歷循環(huán),然后顯示所有的模型,然后再次引用SetDefaultSceneRoot,這樣才能找到攝像機(jī)的位置,然后通過(guò)Set。Location和Ratator把所有模型放回原點(diǎn)以及顯示*到了最后一部實(shí)現(xiàn)點(diǎn)擊按鈕來(lái)一次批量組裝和拆分模型首先需要制作UI為每個(gè)按鈕添加點(diǎn)擊事件,將點(diǎn)擊事件設(shè)置成一個(gè)封裝的函數(shù) 方便管理界面,這個(gè)函數(shù)的功能為調(diào)用后面我們要?jiǎng)?chuàng)建的Step自定義事件,含有一個(gè)Inter整形變量的參數(shù),這個(gè)自定義事件在Mypawn中創(chuàng)建 ,再回到我們創(chuàng)建的MyWidget中,創(chuàng)建一個(gè)自定義函數(shù)調(diào)用鼠標(biāo)和這個(gè)Step事件,上圖中,首先我們?cè)赨I的藍(lán)圖中,獲取到Get player Pawn這個(gè)類 ,然后才能用它里面的一些變量和自定義事件等,再將其轉(zhuǎn)換為我們創(chuàng)建的那個(gè)MyPawn,就可以執(zhí)行自定義事件Step了,把這個(gè)函數(shù)封裝了,就可以通過(guò)鼠標(biāo)來(lái)實(shí)現(xiàn)點(diǎn)擊按鈕事件了上圖的Index就是我們?cè)谒{(lán)圖類BP_Expose創(chuàng)建的變量,作為每個(gè)按鈕要選擇的那幾個(gè)模型的代號(hào),現(xiàn)在我們來(lái)把這個(gè)Step在MyPawn中寫(xiě)好這個(gè)自定義事件 是如何實(shí)現(xiàn)部分拆裝的 最后的圖表是下圖所示左邊開(kāi)始,通過(guò)遍歷循環(huán)查找對(duì)象在Step下面的In
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作總結(jié)之電大幼兒園實(shí)習(xí)總結(jié)
- 電工電子技術(shù)(第3版) 課件 4.2.1 三相異步電機(jī)啟動(dòng)控制電路
- 2024年住房金融項(xiàng)目資金需求報(bào)告
- 采購(gòu)過(guò)程合規(guī)性與紀(jì)律要求制度
- 《信息傳輸基礎(chǔ)》課件
- 《項(xiàng)目溝通培訓(xùn)》課件
- 公園有多寬課件
- 新年工作計(jì)劃(17篇)
- 感恩演講稿范文匯編(33篇)
- 幼兒園食品安全工作總結(jié)15篇
- 體育心理學(xué)(第三版)PPT全套教學(xué)課件
- 初中生物趣味知識(shí)競(jìng)賽PPT
- 2023年山東省魯信投資控股集團(tuán)招聘筆試參考題庫(kù)附帶答案詳解
- 旅游規(guī)劃與開(kāi)發(fā)電子教案
- 辦公場(chǎng)所5S管理標(biāo)識(shí)標(biāo)準(zhǔn)辦公室5S管理內(nèi)容與定置標(biāo)準(zhǔn)
- 企業(yè)組織結(jié)構(gòu)的常見(jiàn)類型和其利弊
- 2023年八年級(jí)上冊(cè)語(yǔ)文教學(xué)活動(dòng) 八年級(jí)語(yǔ)文組活動(dòng)記錄優(yōu)秀(六篇)
- 危重病人的轉(zhuǎn)運(yùn)與交接課件
- 爆笑小品劇本《抗日》
- 房顫護(hù)理護(hù)理查房課件
- GB/T 21492-2019玻璃纖維增強(qiáng)塑料頂管
評(píng)論
0/150
提交評(píng)論