UE4-材質-流動變色02

接上回書~~我們開啟一個新場景來創建目標材質的測試環境

創建新的測試場景
由于我把舊的刪了新的也叫TempMaterial好了
最終材質連線的全貌,下面開始具體分析各個部分是如何思考的

頂點動畫部分

碰撞檢測坐標與當前參與運算的頂點坐標進行距離運算,同時減去偏移值完成波形偏移運動
基礎的形狀處理
提出指定高度的波形并優化

接下來是顏色的過度

顏色過度部分的解析

創建測試載體

創建一個staticMeshActor類型的藍圖作為目標
這個mesh是引擎自帶的,勾選顯示引擎自帶內容即可搜到了
編寫之前還需要對模型的碰撞就行一定的修改,我們需要更細致的碰撞效果先把舊的刪了
在菜單欄找到ConvexDecomposi,我們可以用它生成數個小型碰撞體拼接成當前模型的近似形狀
由于純測試,精度和數量都給滿
可以更改視圖模式【playerCollision】來觀察目前的碰撞形狀,同時我們看到總共用了12個碰撞做的組合【大部分都在地盤的形狀模擬上,球型部分其實就一個網格】
由于是大致模擬無法填滿球型,所以姑且點開collision模式,刪掉自動創建的上半部分碰撞
換個球形碰撞體
縮放并移動到合適的位置后player collision模式下檢查一下

碰撞模型處理完再來處理一下材質對象

創建一個材質實例作為實際使用對象
對材質實例中的數值做一定調整,每個參數作用如名字所示,so

打開該藍圖類,進行編輯

BeginPlay的時候將剛才創建的動畫材質實例付給主要材質通道,同時獲得該材質的引用,通過Cut Color 事件來處理藍圖到材質的參數賦值
我這里是定義的5秒完成由0~1的變化
將剛才做好的測試物體放在場景里

接下來是做一個射線檢測功能來獲取碰撞點坐標

在場景藍圖創建射線檢測腳本
用tick每幀繪制出當前射線的觸發點方便我們測試觀察
在下面做個按鍵觸發的射線檢測功能,同時將檢測結果發送給測試物體【這里沒做判斷打到地面也是會觸發的,不必在意】

最后測試與開篇效果一致無誤~

附原始材質網盤地址:http://pan.baidu.com/s/1slVOCNF

有時間了繼續更新如何將原始材質提取成【材質方法】,與如何使用【靜態的材質變量類】來簡化藍圖到材質的賦值。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 轉載http://wetest.qq.com/lab/view/315.html 移動平臺硬件架構 移動平臺無論是...
    李嘉的博客閱讀 1,753評論 0 4
  • 111. [動畫系統]如何將其他類型的動畫轉換成關鍵幀動畫? 動畫->點緩存->關鍵幀 112. [動畫]Unit...
    胤醚貔貅閱讀 13,214評論 3 89
  • Unity技術面試題 一:什么是協同程序? 答:在主線程運行時同時開啟另一段邏輯處理,來協助當前程序的執行。換句話...
    沐冉閱讀 2,921評論 1 19
  • 你從夢中走來 文/蘭蘭 觸摸你的暖 放在心 用思念滋潤 夢 為它種著向往 不見你的蹤影 總在想 總在找 總是會憂傷...
    蘭如純閱讀 641評論 0 0
  • 窗外燈火闌珊,應有涼風習習。而我固守癡心于屋燜,怎奈和天災人禍無力敵,飛短流長壓人低。千言萬語沒淚海,黃連苦瓜作蜜...
    憶秋實閱讀 175評論 0 0