unity lookat导致物体颠倒怎么解决_Unity草地交互的实现

本文介绍了解决Unity中lookat导致物体颠倒问题的方法,并展示了如何实现草地与角色交互的效果。通过向Shader传递物体坐标,计算顶点方向,控制影响范围,使草地在物体经过时产生散开的视觉效果。同时,结合风吹草动的顶点动画,创建更加真实的交互体验。在优化方面,建议使用两种Shader,一种带交互,一种不带,根据角色位置动态切换,提高性能。
摘要由CSDN通过智能技术生成

2d8ba35154e34d2ed9b3a695f0c72391.gif

上一篇文章(草地的顶点动画实现风吹草动)中我们通过模型的顶点动画来模拟了风吹草动的效果。今天我们在给他加上一个交互的效果,就是有角色或者其他物体在草地上走过时,草地会向周围散开。我们先看下草不动的时候向周围散开的样子。

621470cf5cda16fe71c43aa603406c19.png

其实实现方法也很简单,只要向Shader传递一下物体的坐标信息,然后在shader中用草的顶点坐标减去传递进来的物体坐标就可以得到草每个顶点散开的方向了。然后再通过一个半径的范围值来控制交互影响的范围,当然还是要通过UV的V方向的值来控制根部不动。

v2f vert (appdata v)
            {
                v2f o;
                float4 worldPos = mul(unity_ObjectToWorld, v.vertex);
                //得到物体和草模型顶点之间的距离
                float dis = distance(_PlayerPos, worldPos);
                //通过影响范围,还有强
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值