2017-01-18 1 views
1

私はUnity 5.5を使用しており、HololapsのHolomapsアプリケーションでどのように行われるかのようにマスク/クリッピングを複製しようとしています。円形でない場合でも、正方形/長方形のマスク。 HolomapsアプリケーションのYoutubeビデオはhttps://www.youtube.com/watch?v=8gpuYzWVP9wHolomapsのような円形の透かしマスク

でご覧になれます。地図は通常の長方形のメッシュですが、円形のポータルからしか見ることができません。

違いは、私はマップと建物と他のランドマークを含む別のメッシュを持つ基本平面を持っています。

私はDepthMasks(Unity Wikiから)とステンシルシェイダーを試しましたが、結果を達成できませんでした。

DepthMaskでは、マップのすべての面をカバーする4つのキューブを作成し、4つのキューブの間に小さな穴を残しました。しかし、建物の高さをカバーするには、立方体を建物よりも高くする必要があり、カメラがマスクキューブの内側に入ると、カメラの視点からマスクが無視されます。

ステンシルシェイダーを任意の3Dシェイプに適用すると、すべてのカメラアングルでマスクが透けて見えるようになり、マスクの形状が失われます。

私たちがマスク/クリッピングをどのように行うことができるかの指針はありますか?

+1

それは、中心までの距離に基づいて、黒にピクセルを設定するシェーダーが使用している可能性があります。黒は透明なのでマスクのように見えます。 – Everts

+0

ああ私も同様の答えを出しましたが、アルファ透明度を使用する代わりに実際にピクセルを破棄することを強くお勧めします。切り抜きはより効率的です。 – Nonameghost

+0

@エヴリズ今日、HoloLensが黒色にならないので、どのように動作するかを見るために、いくつかの黒いキューブを使って、同じようなものを試しました。それがどのように更新されます。 – mannu598

答えて

1

私はhttps://github.com/kwnetzwelt/unity3d-dissolve-shaderで正確な解を見つけることができました。これは球の形で一定の距離にあるワールドポイント(中心)からオブジェクトを切り取るシェーダです。

まさに私が探していたもの!アイデアのためのあなたの@Evertsと@Nonameghostため

感謝:)

0

https://en.wikibooks.org/wiki/Cg_Programming/Unity/Cutaways

あなたは、このようなカットアウトをやってみましたがありますか?私は中心と半径のパラメータを持つシェーダを想像することができます。半径よりも遠いピクセルは破棄されます。これは一般的に、アルファカットシェイダーがどのように機能し、このようなマスクで一般的に使用されるかです。

+0

これは有望そうです!私は黒い立方体のテストでやってみましょう、また、カットアウェイをテストし、ここで更新します。 – mannu598

関連する問題