如何在Unity3d中创建超声波视觉?(蝙蝠视觉)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Unity3d中创建超声波视觉?(蝙蝠视觉)相关的知识,希望对你有一定的参考价值。
我的想法是创建一个游戏,你会看到一切像蝙蝠。有一些 人 其中已经实现了类似的东西。
问题是我想有另一种类型的 "蝙蝠视觉",这很难解释,但如果我看向一个方向,然后旋转角色,我仍然会看到一些我之前看的东西。这是很难解释的,但是如果我看向一个方向,然后旋转角色,我仍然会看到我之前看的东西。
解释与时间戳。
- 第0秒,我正在看A点,一个物体在300米外。
- 第1秒:我旋转到B点,看到100米外有一个物体。
- 第二节:我同时看到了物体A和B
- 第3节:我仍然看到对象B
用图片进行解释。大家可以看到,玩家首先射出的是超声波。a 首发 A 而后波澜不惊 b 关于 B. 他们两个同时回来,所以两个物体同时被看到。
如果你不明白为什么我看到的物体是延迟的。大家都知道,声音的传播速度大约是13公里,所以一个300米远的物体会在2秒后被看到。所以一个300米远的物体在2秒后就会被看到。
我已经尝试拍摄 RayCasts
或 GameObjects
到的方向,他们越远,该位置的像素就越暗。但你可以想一想... 拍摄200万 RayCasts
每个Frame都不是很健康。我也在想 Shaders
但我不知道怎么可能还能看到。Shaders
同时又在寻找另一个方向。另外,我也没有什么经验 Shaders
并将需要帮助,无论如何。
如果有人有其他的想法,我将很高兴,我可以创建这个。
要实现这一点,最简单的方法是使用一个访问深度缓冲区的图像效果着色器。
- 根据定义,深度缓冲区中每个像素的值就是该像素在世界中到相机的距离。
- 你可以根据深度缓冲区给定的距离,每秒钟将每个像素的数值减少一些,并将数值设置为每X秒最大......这将使声音从该物体上弹回给你的播放器的效果。
https:/www.youtube.comwatch?v=OKoNp2RqE9A调整颜色以达到需要的效果
在我看来,也许你想复制你的玩家已经 "看到 "的任何网格和表面,并通过一些灰度的光线设置来保持这个视野。而 "真实 "的物体都是隐藏的,也就是说,它们的MeshRenderer组件都被禁用或移除。
如果玩家应看到一个像影子一样的物品在他面前,即使他移动,你可以让克隆的可见的复制物随着玩家移动一些时间,直到它们消失。
要找出要复制的东西,我相信你需要的raycasts会比为每个像素做的少很多。克隆网格,然后检查每个顶点的可见性,并在复制的顶点颜色和alpha中设置可见性。
以上是关于如何在Unity3d中创建超声波视觉?(蝙蝠视觉)的主要内容,如果未能解决你的问题,请参考以下文章