2015-12-03 11 views
5

Stackoverflowの質問Can I take a photo in Unity using the device's camera?で@Bartのコードを変更しました。しかし、結果は完全に黒い写真になっています。ウェブカメラを使用して写真を撮ると黒い出力が表示されます[Unity3D]

レンダラーを持つキューブにスクリプトが添付されていると付け加えたいと思います。 レンダラも廃止されましたので、同じものに対してはGetComponents()を使用しなければなりませんでした。

答えて

3

私はショットを撮った瞬間、レンダリングはフレームの後半で行われるので、レンダリングは行われないと思います。

あなたが最も可能性が高いコルーチンを使用し、フレーム

yield return new WaitForEndOfFrame(); 

の終了を待つか、プロセスをレンダリングしているカメラからのコールバックOnPostRenderを使用する必要があります。

+0

このコードをどこに追加すればいいか教えてください。理由をさらに詳しく説明してください。レンダリングの部分を理解できませんでした –

+0

スナップショットメソッドをコルーチンのIEnumeratorスナップショットに変え、StartCoroutineで呼び出します。メソッドの開始時に、フレームの終了を待つためにyieldを使用します。その後、残りのメソッドを実行します。私はそれがあなたのための解決策であると確信しているとは言えません。しかし、レンダリングはフレームの終わりに行われるので、待機するとそれを修正することができます。 – Everts

+0

答えをくれてありがとう、それは私を助けました....私はあなたの答えを詳細になるように編集します –

関連する問題