我有一个游戏的想法,你的角色的视觉完全基于环境中的运动。
我只对这个想法的原型感兴趣并看到结果,但是我不知道如何接近“基于运动的视觉”算法。
我感谢任何关于从哪里开始研究的指导,就像对解决方案的直接答案一样。
提供有关问题的详细信息;
-The角色的视觉仅限于环境中的运动。如果球在锥体内移动,只有球的运动是可见的,其他一切都是黑暗的。
-If角色旋转,因为从参考锥体的角度来看,整个场景看起来像是在移动,只要保持旋转,角色就会看到整个环境。当它停止旋转时,一切都应该回到黑色。同样,如果角色移动到任何方向,也同样适用。只要平台体移动,环境就会根据平台体的参考视图而运动,从而实现运动。
所以想一想,问题的简化版本是(?)向播放器显示屏幕中的任何更新,并使其他所有内容变暗。
正如我已经说过的,我只对它的原型感兴趣,我还没有真正想过游戏会是怎样的。然而,如果你对游戏的可玩性有任何先见之明,我也很想听听你的意见。
提前谢谢你。
PS:我不确定标签,所以如果你可以添加相应的标签来提问,我真的很感激。
发布于 2016-12-12 15:43:21
好主意!使用Unity5.4中引入的 pass。它可能站在那里的运动模糊的目的,但可能是一个伟大的适合你的原型。
简单地将美景渲染与未饱和的运动向量值相乘的自定义过程就可以做到这一点。
请带着任何进展回来!
可以阅读更多关于Optical Flow和OpenCV的一般信息。
发布于 2016-12-22 19:25:16
从您的描述来看,您似乎对motion detection而不是motion estimation/tracking/optical flow感兴趣。
在某种意义上,您总是可以从运动估计技术获得运动检测,但结果将花费更长的时间进行估计(光流技术尤其是众所周知的缓慢)。此外,当您放松问题时,某些方法是可用的。
话虽如此,你的项目的一个有趣的灵感来源可能来自编码方面……也许是你没有考虑过的事情。
如果您的系统对视频使用了合理的编码器,例如h264、h265、vp8或vp9,那么您可能拥有您正在寻找的信息……免费的。该运动是视频高效传输的一部分。如果你能破解接收端的解码器,你可能会得到信息和生成的帧。然后,您可以“轻松”删除更改因子较小的补丁。这样做的好处是,您将需要不可更改的cpu或内存资源,并且延迟时间基本上为零(光流则不是这种情况)。
缺点是许多解码器中固有的运动对于编码以外的任何事情都是相当不可靠的,但这可以通过一些智能信号处理技巧来克服。
祝你好运,好主意:)
https://stackoverflow.com/questions/41069036
复制相似问题