接上回書(shū)~~我們開(kāi)啟一個(gè)新場(chǎng)景來(lái)創(chuàng)建目標(biāo)材質(zhì)的測(cè)試環(huán)境
創(chuàng)建新的測(cè)試場(chǎng)景
由于我把舊的刪了新的也叫TempMaterial好了
最終材質(zhì)連線的全貌裳仆,下面開(kāi)始具體分析各個(gè)部分是如何思考的
頂點(diǎn)動(dòng)畫(huà)部分
碰撞檢測(cè)坐標(biāo)與當(dāng)前參與運(yùn)算的頂點(diǎn)坐標(biāo)進(jìn)行距離運(yùn)算妨马,同時(shí)減去偏移值完成波形偏移運(yùn)動(dòng)
基礎(chǔ)的形狀處理
提出指定高度的波形并優(yōu)化
接下來(lái)是顏色的過(guò)度
顏色過(guò)度部分的解析
創(chuàng)建測(cè)試載體
創(chuàng)建一個(gè)staticMeshActor類型的藍(lán)圖作為目標(biāo)
這個(gè)mesh是引擎自帶的痊乾,勾選顯示引擎自帶內(nèi)容即可搜到了
編寫(xiě)之前還需要對(duì)模型的碰撞就行一定的修改萍肆,我們需要更細(xì)致的碰撞效果先把舊的刪了
在菜單欄找到ConvexDecomposi切省,我們可以用它生成數(shù)個(gè)小型碰撞體拼接成當(dāng)前模型的近似形狀
由于純測(cè)試您旁,精度和數(shù)量都給滿
可以更改視圖模式【playerCollision】來(lái)觀察目前的碰撞形狀,同時(shí)我們看到總共用了12個(gè)碰撞做的組合【大部分都在地盤(pán)的形狀模擬上汉额,球型部分其實(shí)就一個(gè)網(wǎng)格】
由于是大致模擬無(wú)法填滿球型曹仗,所以姑且點(diǎn)開(kāi)collision模式榨汤,刪掉自動(dòng)創(chuàng)建的上半部分碰撞
換個(gè)球形碰撞體
縮放并移動(dòng)到合適的位置后player collision模式下檢查一下
碰撞模型處理完再來(lái)處理一下材質(zhì)對(duì)象
創(chuàng)建一個(gè)材質(zhì)實(shí)例作為實(shí)際使用對(duì)象
對(duì)材質(zhì)實(shí)例中的數(shù)值做一定調(diào)整蠕搜,每個(gè)參數(shù)作用如名字所示,so
打開(kāi)該藍(lán)圖類收壕,進(jìn)行編輯
BeginPlay的時(shí)候?qū)偛艅?chuàng)建的動(dòng)畫(huà)材質(zhì)實(shí)例付給主要材質(zhì)通道妓灌,同時(shí)獲得該材質(zhì)的引用,通過(guò)Cut Color 事件來(lái)處理藍(lán)圖到材質(zhì)的參數(shù)賦值
我這里是定義的5秒完成由0~1的變化
將剛才做好的測(cè)試物體放在場(chǎng)景里
接下來(lái)是做一個(gè)射線檢測(cè)功能來(lái)獲取碰撞點(diǎn)坐標(biāo)
在場(chǎng)景藍(lán)圖創(chuàng)建射線檢測(cè)腳本
用tick每幀繪制出當(dāng)前射線的觸發(fā)點(diǎn)方便我們測(cè)試觀察
在下面做個(gè)按鍵觸發(fā)的射線檢測(cè)功能蜜宪,同時(shí)將檢測(cè)結(jié)果發(fā)送給測(cè)試物體【這里沒(méi)做判斷打到地面也是會(huì)觸發(fā)的虫埂,不必在意】
最后測(cè)試與開(kāi)篇效果一致無(wú)誤~