2016-10-04 9 views
0

Unity3Dでは、視野に入れない限り、オブジェクトはレンダリングされないように指示されています。これは明らかに最適化のための方法です。しかし、それはまだ遮蔽されているためにプレイヤーに見えないメッシュをレンダリングします。私はこれを解決したいと思いますし、すでにそうする方法があるのか​​、それとも自分でやらなければならないのかと疑問に思っていました。Unity3Dで見えない三角形のレンダリングを防ぐには?

ここに私の要点を説明するための写真があります。 enter image description here

私の唯一の本当のアイデアはカリングを使用していますが、まだそれは必ずしも目に見える範囲ではありません。

https://docs.unity3d.com/ScriptReference/Camera-layerCullDistances.html

私は私が知っている必要があり、基本的に何を推測するシーンが生成されるので、シーンが開始した後、それは既成のではありませんオクルージョンカリングを行う方法です。興味を持っている人のため

答えて

0

は、私が

いいえ、それは不可能だ4時間前・Bunny83で統一コミュニティ

回答を求めました。少なくともUnityが使用するシステムを のカリングオクルージョンではない。 から見える部分の計算は非常に複雑で、 エディタであらかじめ計算しておく必要があります。したがって、手続き的に生成されたレベルでは機能しません。

何か必要な場合は、独自のソリューションをロールバックする必要があります。 私はVisPortalsソリューション をDoom3(基本的にほとんどのIDテックエンジン がどのように動作するか)で使用されているものと似たように実装しました。これはすぐに使えるソリューションよりも概念の証明です。

通常、私はドロップボックスにWebplayerデモをアップロードしますが、ちょうど はDropboxが最終的に直接HTMLページを表示できないことを認識しました 私のパブリックフォルダを外しました。彼らは今、 がすべてを壊すページのダウンロードを強制します。だからあなたがそれを試してみたい場合は、 プロジェクトをダウンロードする必要があります。

もちろん、Visポータルはすべての状況で機能しません。彼らは完璧な 密閉された環境のために別々の領域にうまく分割することができます。 もちろんこのエリアへの分割とvisporalsの作成は現在手作業で行われています。 したがって、この を自動化する必要があります。

静的なバッチ処理に注意してください。 領域が別々に有効になるようにする必要があるため、システムを破壊する可能性があります。

関連する問題