zoukankan      html  css  js  c++  java
  • Unity3d 实现顶点动画

    在今年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

     













  • 相关阅读:
    12 Overlap Graphs
    11 Mortal Fibonacci Rabbits
    10 Consensus and Profile
    09 Finding a Motif in DNA
    08 Translating RNA into Protein
    07Mendel's First Law
    大数据面试题目录
    大数据面试题以及答案整理(一)
    工作流调度器之Azkaban
    VI编辑
  • 原文地址:https://www.cnblogs.com/zhanlang96/p/5411029.html
Copyright © 2011-2022 走看看