うにてぃブログ

UnityやUnreal Engineの記事を書いていきます

【Unity】ShaderGraph で Cube の境界を表示するシェーダ

この記事では、ShaderGraphを使ってキューブオブジェクトの境界線を強調して表示するシェーダの作成手順を紹介します。 このシェーダにより、キューブのエッジが明確に表示され、境界線が視覚的に強調されます。以下、ShaderGraphの各ステップについて詳しく説明していきます。

ShaderGraph

キューブの位置とサイズの取得

まず、PositionノードとScaleノードを使用してキューブの位置とサイズを取得します。Object Spaceを指定することで、キューブのローカル座標での計算が可能になり、境界に関する情報を精度よく取得できます。

キューブの境界検出

次に、SubtractやSplitノードを活用し、キューブの各軸(X, Y, Z)ごとの境界までの距離を算出します。この計算では、キューブの中心点から各面までの距離を求めることで、エッジ部分を検出するための基準が作られます。

絶対値による距離の統一化

Absoluteノードを用いて、求めた距離の絶対値を取得し、正負の方向を問わず一貫した距離情報を生成します。これにより、キューブの全ての面に対して均一に境界線を表示できる基盤が整います。

ステップ関数による境界表示設定

Stepノードを利用して、キューブのエッジに沿った境界線表示の条件を定義します。このノードでは、設定した閾値に基づき、キューブのエッジ部分が視覚化されるように制御されます。

SSだと見ずらい場合があるのでこちらからShaderGraphをDLしてください

結論

このShaderGraphを使用することで、キューブのエッジを強調して視覚的に明確な境界線を表示することが可能です。 またスケールが変わったとしても正しく表示されるようになっています

本記事を参考にして、キューブの境界線表示を実現するShaderGraphの構造とその意図を理解しやすくなれば幸いです。 また、さらなる効果やカスタマイズについても、ぜひ挑戦してみてください。