Unity3d 实现顶点动画
2016-04-20 07:27
519 查看
在今年GDC上发现一个非常有趣的演讲,叫做Animating With Math,遂实现之,是讲述顶点shader动画的,举了几个经典的例子,但是讲者并没有给代码,而是像虚幻引擎那样的节点,这样更加清楚明了
之前博主通过顶点着色器实现了水的波动算法:
开始举的例子都很简单,可以着手一试
关于vertex color是自定义的一个贴图,会控制各种参数下面会说明
接下来的例子是一个怪物的“收缩”,类似气泡沸腾有凹有凸的动态效果
蓝色通道是cos函数的相位,控制了凹凸动作的“时差”,产生沸腾效果的根本原因
红色通道控制整体收缩大小(程度)
可以通过添加通道来添加控制相位变量的数量,从而增加凹凸效果的多样性和复杂性
虚幻引擎的例子
效果如下:
下一个是博主最喜欢的一个效果,实现头发随风飘动,效果绝赞
之前在14年siggraph Bungie的TA讲头发也讲了这个效果,叫HAIR IN DESTINY
这里增加了一个noise,博主通过一张模糊过的(为了效果平滑)noise贴图实现
和上一个例子一样,
红色通道:飘动强度
蓝色通道:相位时差
用可爱的塞拉酱的实现效果如下:
强烈飘动:
轻微飘动
还可以用贴图实现整体变化,可以用来模拟动画,表情动画等等
下一个例子是模拟绳子的弹性
通过looseness和wire slack两个变量来控制振幅
实现结果:
手头没有绳子模型,,随便找了个石头模型拉长代替了。。。。
然后最后一个感觉很重要的就是旋转
通过各顶点与如下相乘来旋转物体,基础知识,不知道的快去恶补数学
实现结果如下:
博主近期渲染:
近期渲染
---- by wolf96
之前博主通过顶点着色器实现了水的波动算法:
unity3d 制造自己的水体water effect(二)
顶点着色器动画可以减少动画的开销,并减少关节joint的数量开始举的例子都很简单,可以着手一试
关于vertex color是自定义的一个贴图,会控制各种参数下面会说明
接下来的例子是一个怪物的“收缩”,类似气泡沸腾有凹有凸的动态效果
蓝色通道是cos函数的相位,控制了凹凸动作的“时差”,产生沸腾效果的根本原因
红色通道控制整体收缩大小(程度)
可以通过添加通道来添加控制相位变量的数量,从而增加凹凸效果的多样性和复杂性
虚幻引擎的例子
效果如下:
下一个是博主最喜欢的一个效果,实现头发随风飘动,效果绝赞
之前在14年siggraph Bungie的TA讲头发也讲了这个效果,叫HAIR IN DESTINY
这里增加了一个noise,博主通过一张模糊过的(为了效果平滑)noise贴图实现
和上一个例子一样,
红色通道:飘动强度
蓝色通道:相位时差
用可爱的塞拉酱的实现效果如下:
强烈飘动:
轻微飘动
还可以用贴图实现整体变化,可以用来模拟动画,表情动画等等
下一个例子是模拟绳子的弹性
通过looseness和wire slack两个变量来控制振幅
实现结果:
手头没有绳子模型,,随便找了个石头模型拉长代替了。。。。
然后最后一个感觉很重要的就是旋转
通过各顶点与如下相乘来旋转物体,基础知识,不知道的快去恶补数学
实现结果如下:
博主近期渲染:
近期渲染
---- by wolf96
相关文章推荐
- Unity3d 实现顶点动画
- Unity中将图片改为支持透明背景模式
- 小译UnityAPI-Mathf.Lerp
- unityc#脚本中实现socket服务器的构建
- 关于unity的CGIncludes的一些小问题
- Unity3D对安卓盒子的支持
- Android与Unity交互研究
- Unity模拟QQ截图以及全屏截图
- Unity内存优化(-)托管堆ManagedHeap的优化
- 关于unity打开非自己原创工程时出现命名空间不存在等错误问题
- 详解Unity Profiler内存分析问题
- Unity3D安卓导出包加密学习----编译mono
- Unity3D Terrain Settings 彻底搞懂 地形详细设置 全实验与解析 (三)Thickness
- Unity3D Terrain Settings 彻底搞懂 地形详细设置 全实验与解析 (二)base map dist
- Unity3D Terrain Settings 彻底搞懂 地形详细设置 全实验与解析 (一)Pixel Error
- Unity3D 游戏贴图(法线贴图,漫反射贴图,高光贴图)
- 在unity里用GL画线框
- Unity3D证书(序列号)升级总结
- 【小松教你手游开发】【unity实用技能】网游同步技术
- Unity3d帧率设置及在游戏运行时显示帧率