在今年GDC上发现一个很是有趣的演讲,叫作Animating With Math,遂实现之,是讲述顶点shader动画的,举了几个经典的例子,可是讲者并无给代码,而是像虚幻引擎那样的节点,这样更加清楚明了
以前博主经过顶点着色器实现了水的波动算法:
html
顶点着色器动画能够减小动画的开销,并减小关节joint的数量
开始举的例子都很简单,能够着手一试
关于vertex color是自定义的一个贴图,会控制各类参数下面会说明
接下来的例子是一个怪物的“收缩”,相似气泡沸腾有凹有凸的动态效果
蓝色通道是cos函数的相位,控制了凹凸动做的“时差”,产生沸腾效果的根本缘由
红色通道控制总体收缩大小(程度)
能够经过添加通道来添加控制相位变量的数量,从而增长凹凸效果的多样性和复杂性
虚幻引擎的例子
效果以下:
下一个是博主最喜欢的一个效果,实现头发随风飘动,效果绝赞
以前在14年siggraph Bungie的TA讲头发也讲了这个效果,叫HAIR IN DESTINY
这里增长了一个noise,博主经过一张模糊过的(为了效果平滑)noise贴图实现
和上一个例子同样,
红色通道:飘动强度
蓝色通道:相位时差
用可爱的塞拉酱的实现效果以下:
算法
强烈飘动:函数
轻微飘动动画
还能够用贴图实现总体变化,能够用来模拟动画,表情动画等等
下一个例子是模拟绳子的弹性
经过looseness和wire slack两个变量来控制振幅
spa
实现结果:.net
手头没有绳子模型,,随便找了个石头模型拉长代替了。。。。
3d
而后最后一个感受很重要的就是旋转
经过各顶点与以下相乘来旋转物体,基础知识,不知道的快去恶补数学
实现结果以下:
htm
博主近期渲染:blog
近期渲染get
---- by wolf96