• Unity地面交互效果——5、角色足迹的制作


    回到目录
      大家好,我是阿赵。
      之前几篇文章,已经介绍了地面交互的轨迹做法。包括了法线、曲面细分还有顶点偏移。Shader方面的内容已经说完了,不过之前都是用一个球来模拟轨迹,这次来介绍一下,怎样和角色动作结合,做出足迹(FootPrint)的效果。
    在这里插入图片描述

    一、足迹贴图的准备

      之前用球做效果的时候,是用RGB作为法线,然后A通道作为高度图的,所以这里准备一张脚印的贴图,也是同样的道理:

    在这里插入图片描述
    在这里插入图片描述

      由于我这张法线贴图是直接在Photoshop里面用灰度图转的,所以不是特别的准确。

    二、和角色动作结合

      在角色的脚部骨骼上,建2个面片,然后把刚才的脚印贴图赋上去
    在这里插入图片描述

      这个时候,脚印就会跟随这角色的脚步动作而已动。给这个脚印设置一个专门的Layer,这个Layer在主摄像机是看不到的,只有顶部拍摄的摄像机看得到。
      做完这一步之后,我们要修改角色的动画,因为脚印不可能一直看得到,只有角色踩在地上的时候,才会看到。
    在这里插入图片描述

      可以看到,只有踩下去的2-3帧,才会看到脚印,抬起来的脚,要把脚印隐藏掉。
      由于我这张法线图比较浅,所以有点难看得清,我用红框框起来。
    在这里插入图片描述
    在这里插入图片描述

      在角色动起来的时候,顶部摄像机就会拍摄到连续的法线和高度图,形成了脚印。

    Unity引擎制作沙地实时凹陷网格的脚印效果

    三、在雪地里面的特殊处理

      刚才的做法,是在平地或者沙地这张不会凹陷很深的地方,所以只需要一个脚印范围就行了,不过如果是凹陷比较深的雪地,只有2个脚掌来渲染脚印是不够的,会出现这样的情况:
    在这里插入图片描述

      这是因为,不止是脚底会碰到雪地,大腿腰部臀部其实也会对雪地造成影响。
      这时候需要做一下处理,把角色脚底的脚印放大一些,这样在雪地里面踩出来的脚印范围,大概和大腿的范围差不多,然后再在腰部加一圈,作为补充。
    在这里插入图片描述
    在这里插入图片描述

    Unity引擎制作雪地效果

      这样做完之后,就可以做出比刚才合理的效果了。如果角色细节还是不够,可以继续调整脚部和腰部的图,或者两者的深度图做成不一样,比如腰部的alpha浅一点,脚底的alpha深一点。这样也可以做出脚底的脚印踩得明显一点,腰部挤开的深度会没那么深的效果。
    在这里插入图片描述

  • 相关阅读:
    记录:2022-9-28 岛屿的最大面积 字母异位词分组 雪花算法实现 偏向锁 |锁升级 阻塞线程的方式
    ch32使用spi驱动vga
    Codeforces Round #809 (Div. 2)
    Ubuntu指令说明
    【ATT&CK】基于ATT&CK识别网络钓鱼攻防战法
    lintcode 3605 · 二维网格偏移 【数组相关,模拟即可】
    测试移动电源IC IP5306、IP5407
    JVM内存布局、类加载机制及垃圾回收机制详解
    智能合约:代币合约、普通合约
    一文带你迅速掌握python装饰器
  • 原文地址:https://blog.csdn.net/liweizhao/article/details/134322232