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


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

    一、足迹贴图的准备

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

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

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

    二、和角色动作结合

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

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

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

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

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

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

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

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

    Unity引擎制作雪地效果

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

  • 相关阅读:
    【M365运维】给从本地同步到O365的DL添加 Send As权限
    DataX二次开发——(9)新增s3reader和s3writer模块
    如何在CubeIDE环境下查看或生成汇编文件
    C++ - 使用标准库实现事件和委托,信号和槽机制
    【vim 学习系列文章 8 -- vim中 has 函数和 let g:介绍】
    除氨氮树脂T-42H性能测试
    ansible角色部署haproxy实现站点轮询
    基于LSTM+FCN处理多变量时间序列问题记录
    【scikit-learn基础】--『预处理』之 标准化
    聊聊设计模式——命令模式
  • 原文地址:https://blog.csdn.net/liweizhao/article/details/134322232