unity中一个类似纪念碑谷里的三角图形组成的海面效果

想要实现一个纪念碑谷中的海面效果,最初的设想是在vertex中,修改顶点坐标来实现,而且也实现出来了,代码:

v2f vert(a2v v) {
                v2f o;
                float4 offset;
                offset.xyzw = float4(0,0,0,0);

                float sinx = sin(_Frequency * _Time.y + v.vertex.x * _InvWaveLength + v.vertex.y * _InvWaveLength + v.vertex.z * _InvWaveLength);
                offset.y = sinx * _Magnitude;

                o.pos = UnityObjectToClipPos(v.vertex+offset);

                o.uv = TRANSFORM_TEX(v.texcoord,_MainTex);

                o.norm = sinx;

                o.worldPos =  mul(unity_ObjectToWorld,v.vertex).xyz;

                o.sinx = sinx;

                return o;
            }


但是效果看上去总是怪怪的:



想了老半天哪里怪,为啥跟想象中的不一样呢....我们看一下纪念碑谷中的效果:


这差距也太大了吧...很明显,没有光效啊,那好,加上光效看看效果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值