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,213评论 3 89
  • Unity技术面试题 一:什么是协同程序? 答:在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行。换句话...
    沐冉阅读 2,921评论 1 19
  • 你从梦中走来 文/兰兰 触摸你的暖 放在心 用思念滋润 梦 为它种着向往 不见你的踪影 总在想 总在找 总是会忧伤...
    兰如纯阅读 640评论 0 0
  • 窗外灯火阑珊,应有凉风习习。而我固守痴心于屋焖,怎奈和天灾人祸无力敌,飞短流长压人低。千言万语没泪海,黄连苦瓜作蜜...
    忆秋实阅读 175评论 0 0