2017-05-04 7 views
0

録音アルゴリズムがどのように機能するのだろうか。ゲーム録画アルゴリズムのUnity3D

私の最初の考えは、テクスチャをからLateUpdate()すべてのフレームから取得しています。

ターゲットフレームレートが30fpsで、ゲームが60fpsで実行され、最初の30fpsしかキャプチャしなかったとすると、いくつかのフレームが失われるという問題があります。

私のゲームが20fpsで実行されている場合、30fpsビデオには十分なフレームがないので、20番目のフレームの10倍をコピーする必要がありますか?

開始のチュートリアルはありますか?私はオンラインで検索しましたが、関連する良いチュートリアルはほとんど見つかりませんでした。

+0

に役立つ "記録アルゴリズムの作業を行う方法について説明します。"どのアルゴリズムを参照していますか?自分のビデオ録画機能を最初からあなたのゲームに書き込もうとしていますか?もしそうなら、[あなたはアセットストアから無料のプラグインを考えたのですか?](https://www.assetstore.unity3d.com/en/#!/content/75653)? –

+0

ええ、無料のものを使用する代わりに、アルゴリズムを理解したいと思っています。 – ywj7931

+1

ゲームがビデオと同じフレームレートで実行されていない場合、正解は次のとおりです。つまり、ゲームが60 fpsで実行されていて、30で録音している場合、* 1フレームおきに**ドロップ**最初の30を記録せず、2番目の30を捨ててください。 [2ページ目](http://www.digitalcinemasociety.org/downloads/FrameRateConversionSimplified-N.pdf) – Draco18s

答えて

0

固定キャプチャフレームレートを使用する場合は、ユーザFixedUpdate()を使用できます。あなたは、フレームレートをキャプチャdermineするFixedDeltaTime値を設定することができます。

[Range(1,60)] 
public int capturingFrameRate = 30; 

void aStart() 
{ 
    Time.fixedDeltaTime = 1/capturingFrameRate; 
} 

void FixedUpdate() 
{ 
    //capture frame 
} 

参考:FixedDeltaTime

希望これは

+0

私の質問はもっと似ています:私のゲームが60fpsで動作し、最初の30fpsしかキャプチャしなかった場合、問題はいくつかのフレームを失うことです。 ゲームが20fpsで実行されている場合、30fpsビデオ用に十分なフレームがないので、20番目のフレームの10倍をコピーする必要がありますか? – ywj7931

関連する問題