2016-12-09 23 views
0

我有一個遊戲理念,你的角色的視覺完全基於環境中的運動。如何根據環境中的運動渲染視覺?

我只是想對這個想法進行原型設計並看到結果,但我不知道如何接近「基於運動的視覺」算法。

我體味到哪裏開始研究不亞於直接回答解決任何指導。

提供有關問題的詳細信息;

-The字符視力僅限於在環境中的運動。如果一個球在平截頭體內移動,只有球的運動可見,其他一切都將是黑暗的。

- 如果角色旋轉,由於從截錐的參考視角來看,整個場景看起來像是在移動,只要角色持續旋轉,角色就會看到整個環境。當停止旋轉時,所有東西都應該回到黑色。如果角色向任何方向移動,也是如此。只要平截體移動,環境將根據平截體的參考視圖移動,從而實現運動。

所以要想一想,問題的簡化版本是(?)在屏幕上向玩家展示任何更新,並將所有其他東西變暗。正如我所說的,我只對原型設計感興趣,我沒有真正考慮過遊戲的結果會如何。但是,如果您對遊戲玩法的荒謬性有任何預見性,我也希望從您那裏獲悉。

預先感謝您。

PS:我不知道有關的標籤,因此,如果您可以添加相應的標籤問題,我真的很感激。

回答

1

好主意!使用Renderer.motionVectors通過Unity 5.4引入。它可能代表運動模糊的目的,但可能非常適合您的原型。

定製通,簡單地乘以美容與去飽和的運動矢量值渲染可以做的伎倆。

請回來與任何進步!

一般可以在Optical FlowOpenCV上看到更多。

+0

克服如果物體是靜態的並且相機移動,我認爲這不起作用,對吧?也許閱讀屏幕上的所有像素,然後與前一幀的像素進行比較?我知道這是一個非常緩慢的操作,但也許這是一條值得探索的道路。 –

+0

@JonasGrumann很好,它說「除了默認的相機重建運動矢量」。每個對象似乎指出,可以將每個對象的整個效果都包含/排除在外。 **繼續嘗試**。無論如何,如果有效的話,從不遲到移動整個場景而不是相機。 – Geri

+0

@JonasGrumann像素比較:這是光流的作用,以及什麼運動矢量備用。 :) – Geri

0

從你所描述的聽起來像你有興趣motion detection不在motion estimation/tracking/optical flow。從某種意義上說,你總是可以從運動估計技術中獲得運動檢測,但結果估計需要更長的時間(特別是光流技術已知很慢)。另外,當您放鬆問題時,可以使用某些方法。這樣說,你的項目的一個有趣的靈感來源可能來自編碼方...也許你沒有考慮過的東西。

如果您的系統正在使用合理的視頻編碼器,例如h264,h265,vp8或vp9,您可能會收到您正在尋找的信息...免費。該議案是視頻高效傳輸的一部分。如果您可以在接收端破解解碼器,則可能會將這些信息與生成的幀一起獲取。然後,您可以「輕鬆」刪除變化因素較小的修補程序。這樣做的好處是你需要可忽略的cpu或內存資源,並且延遲時間基本上爲零(光流不會這樣)。

不足之處是,在很多解碼器固有的運動是爲別的比編碼相當不可靠,但可能有一些聰明的信號處理技巧

好運,很酷的想法:)