在今年GDC上发现一个非常有趣的演讲,叫做Animating With Math,遂实现之,是讲述顶点shader动画的,举了几个经典的例子,但是讲者并没有给代码,而是像虚幻引擎那样的节点,这样更加清楚明了
之前博主通过顶点着色器实现了水的波动算法:

unity3d 制造自己的水体water effect(二)

顶点着色器动画可以减少动画的开销,并减少关节joint的数量
开始举的例子都很简单,可以着手一试
 
 
 
关于vertex color是自定义的一个贴图,会控制各种参数下面会说明
接下来的例子是一个怪物的“收缩”,类似气泡沸腾有凹有凸的动态效果
 
蓝色通道是cos函数的相位,控制了凹凸动作的“时差”,产生沸腾效果的根本原因
红色通道控制整体收缩大小(程度)
可以通过添加通道来添加控制相位变量的数量,从而增加凹凸效果的多样性和复杂性
 

虚幻引擎的例子
 

效果如下:

下一个是博主最喜欢的一个效果,实现头发随风飘动,效果绝赞
之前在14年siggraph Bungie的TA讲头发也讲了这个效果,叫HAIR IN DESTINY

这里增加了一个noise,博主通过一张模糊过的(为了效果平滑)noise贴图实现
和上一个例子一样,
红色通道:飘动强度
蓝色通道:相位时差
 

用可爱的塞拉酱的实现效果如下:

强烈飘动:

轻微飘动

还可以用贴图实现整体变化,可以用来模拟动画,表情动画等等
 

下一个例子是模拟绳子的弹性

通过looseness和wire slack两个变量来控制振幅


 

实现结果:

手头没有绳子模型,,随便找了个石头模型拉长代替了。。。。

然后最后一个感觉很重要的就是旋转
通过各顶点与如下相乘来旋转物体,基础知识,不知道的快去恶补数学
 

实现结果如下:

博主近期渲染:

近期渲染

---- by wolf96

最新文章

  1. 【Java EE 学习 35 下】【struts2】【struts2文件上传】【struts2自定义拦截器】【struts2手动验证】
  2. 一次插入多条记录 [mysql]
  3. Linux基础※※※※如何使用Git in Linux(二)
  4. SQL Server DBA日常查询视图_数据库对象视图
  5. linux fork 进程后 主进程的全局变量
  6. TYVJ 1011 NOIP 2008&&NOIP 2000 传纸条&&方格取数 Label:多线程dp
  7. rabbitmq+haproxy+keepalived实现高可用集群搭建
  8. php开发环境配置 web UI模板
  9. 关于Java安全的书
  10. 使用OAuth2.0访问豆瓣API
  11. springmvc集成aop记录操作日志
  12. 算法:JavaScript两数之和
  13. python(pygame)滑稽大战(类似飞机大战) 教程
  14. Visual Studio连接到TFS
  15. mac 初次配置apache,及mac下安装mysql
  16. vue--vux框架的使用
  17. Win10手记-为应用集成SQLite(一)
  18. 面试:C++观察者模式实现
  19. AutoMapper之嵌套映射
  20. Spring源码分析(十七)循环依赖

热门文章

  1. 手把手教你写电商爬虫-第四课 淘宝网商品爬虫自动JS渲染
  2. angularjs开发遇到的坑
  3. Oracle的安装
  4. Codeforces Round #80 Div.1 D
  5. write() ,read();
  6. WordPress D8 主题当中截取文章首图并显示的函数
  7. PHP模块设计
  8. gcc向待编译源文件传入参数的方法
  9. POJ 1905 Expanding Rods 二分答案几何
  10. IOS7,做为开发者,你需要知道的变更