1

Unity用のgoogle cardboard SDKを使用して、Android用のシンプルなVRアプリを開発しています。私はunity 5(無料)とunity用の最新バージョンの段ボールパッケージ(0.4.9)を使用しています.sony xperia z3 compact(lolipop)とsamsung galaxy note 3(kitkat)でテストしています。

私が抱えている問題は、アンチエイリアスをオンにできない、またはGoogle SDKパッケージが無効になっているように見えることです。少しギザギザの角は気にしませんが、十分に離れていると角がちらつくのが問題です。テクスチャを離してみましたが (ちらつきはオーバーラップの結果である可能性があるため)、問題は解決しません。

Unityが提供するストックカメラを使用して同じプロジェクト(Google Cardboard Unityパッケージ内で提供されるテスト例)をビルドすると、Cardboardメインゲームオブジェクトが挿入されて、AAが機能するため、Android用のUnityエクスポートの問題になることはありません。キューブと 1 つのカメラがあれば、それ以上に簡単にはなりません...プレーヤー設定で 32 ビット ディスプレイ バッファ オプションをオンまたはオフにしてみました。ウェブ全体で、成功しませんでした。

だから私の質問は、この同じ問題を抱えている他の誰かです。そして、それを修正する方法は?

私の質問と問題の説明が十分に詳細であることを願っています。

乾杯

4

4 に答える 4

4

Cardboard.cs クラスは、カメラがレンダリングする RenderTexture を保持し、レンズの歪み補正を使用して電話スクリーンに再レンダリングされます。これにより、Unity の画面への通常のレンダリングがバイパスされるため、プロジェクトの AA 設定は何の効果もありません。

Unity の AA 設定がどのような効果をもたらすかを確認するには、いくつかの異なることを行うことができます。

  1. Cardboard.SDK.nativeDistortionCorrection をオフにして、Unity が画面に直接描画するようにするか、または
  2. Cardboard.CreateStereoScreen() を編集し、そこに配置されている RenderTexture の設定を変更します。

ただし、歪みに対するネイティブ コードの再レンダリングでは、フレーム バッファーでアンチエイリアシングが使用されないため、#2 でどの程度の効果が見られるかはわかりません。そして、どちらの方法でも確実にパフォーマンスが低下します。

于 2015-04-15T03:40:18.167 に答える
0

歪み補正をオフにしたくない場合は、テクスチャの深度を 16 ビットから 32 ビットに変更し、テクスチャのフォーマットを ARGB32 に変更する必要があります。これを行うには、ファイルBaseVRDevice.csに移動し、 CreateStereoScreen関数を見つけて、次のように変更します。

public virtual RenderTexture CreateStereoScreen() {
    Debug.Log("Creating new default cardboard screen texture.");
    return new RenderTexture(Screen.width, Screen.height,32, RenderTextureFormat.ARGB32);
  }
于 2015-07-09T15:45:41.983 に答える
0

歪み補正をオフにすると、この問題が修正されました。次に、Unity プロジェクトのアンチエイリアス設定を最大 4x または 8x に設定できます。見栄えが良くなりました。iPhone 6 以降で表示しているときにギザギザがなくなりました。

Google Cardboard SDK v0.5 を実行する Unity 5 --

歪み補正をオフにするには: [階層] | [階層] に移動します。段ボールメイン | インスペクタで歪み補正のチェックを外します

Unity で 4x または 8x アンチ エイリアシングを有効にするには: [編集] | [編集] に移動します。プロジェクト設定 | 品質 | Inspector で Anti Aliasing を 4x または 8x Multi Sampling に設定します。

于 2015-06-06T06:26:21.973 に答える