Unity3d 模拟视锥的实现

Teleglitch视锥模拟
本文介绍了一个独立游戏Teleglitch中使用的视锥模拟技术。通过将黑色多边形从墙壁向远离玩家的方向挤出,产生视线遮挡的阴影效果。文中详细解释了如何根据视线与法线的角度来调整挤出距离,以达到逼真的视觉效果。

一个独立游戏 Teleglitch 使用了一种欺骗手法来模拟视锥,效果如下:

 

博主看了看了看提示

Actually, the line of sight shadows aren’t done with perspective. They are just black polygons extruded from the walls away from the player. The math is similar to black 3d walls extruding towards the camera, but if you really look at them, they aren’t.

原理和卡通渲染挤出边是一样的,

就是把物体沿着视线(玩家)向外挤出一定距离来产生阴影的感觉,

博主没调距离之前的实现效果:


关于距离的调法,不能单单只调整挤出的距离,那样的话阴影会脱离物体,博主根据视线到物体方向与法线进行角度比较,也就是点积,来线性改变这个距离,离得远的拉伸的长,近的基本不动,

最终效果:

 



 

 

另外注意,方向上的比较是世界空间的比较,需要把物体顶点位置变为世界空间的位置。

 

博主近期渲染:

近期渲染

 

 

                              ---- by wolf96

 

 

 

 

 

转载于:https://www.cnblogs.com/zhanlang96/p/5398045.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值