zoukankan      html  css  js  c++  java
  • shadowgun的飘扬旗帜shader

    MADFINGER-Lightmap-Unlit-Wind
    用于模拟布料和树被风吹的弯曲摆动效果

     这个来自于《GPU GEMS 3》中的 “Chapter 16 Vegetation Procedural Animation and Shading in Crysis” 一章16.1。
    但略微有点不同,在计算edge和branch的bend时,原文为:“Edge (xy) and branch bending (z)”,shadow gun里使用的是“Edge (xz) and branch bending (y)”,这里的edge指旗子的边缘和自身xz方向的震动,branch指的是旗子整体的y方向的上下移动。
    还有就是在做风的方向的整体偏移时,原文的方法稍微复杂点,只使用风的xy两个分量乘以一个与顶点z有关的缩放系数,加上该旗帜顶点位置的xy,作为新的顶点位置(z保持不变),将其单位化并赋予原来顶点在模型坐标系中的长度,就是新的顶点最终位置。
    shadowgun中,先做旗子自身的DetailBend,再在风的方向做MainBend,最后再把结果在风的方向上位移一定系数的距离。
    就我个人来讲,虽然shader代码很短,真正搞懂还是比较费劲的。

     
  • 相关阅读:
    export和import实现模块化
    Net Core
    DockerCon 2016
    NET Core 构成体系
    Cloud Engine
    JVM内存结构
    Signalr
    Rabbit.Rpc
    遍历指定包名下所有的类(支持jar)(转)
    httpd的简单配置(转)
  • 原文地址:https://www.cnblogs.com/yaukey/p/shadowgun_shader_vegetation_animate.html
Copyright © 2011-2022 走看看