Unity_Lesson

Tangent(接線)とは?

3Dグラフィックスにおいて、tangent(接線) は頂点(vertex)の方向に関する情報を表します。接線は、通常、モデルの表面に沿った特定の方向(テクスチャのU方向)を示し、法線(normal)とビットangent(bitangent、テクスチャのV方向)とともに、Tangent Space(接線空間)を定義します。このTangent Spaceは、法線マップ(normal map)を使った凹凸表現(バンプマッピング)や、テクスチャの正しい向きのために必要です。

接線は以下のような3つのベクトルで構成されます:

  1. Normal(法線) - モデルの表面に対して垂直な方向。
  2. Tangent(接線) - テクスチャ空間のU方向に対応する表面に沿ったベクトル。
  3. Bitangent(副接線) - テクスチャ空間のV方向に対応するベクトルで、接線と法線に対して垂直です。

これにより、頂点の向きや法線マッピングが3Dモデルに正しく適用されます。


ShaderGraphとは?

ShaderGraphは、Unityで視覚的にシェーダーを作成するツールです。プログラミング言語を使わず、ノードベースのインターフェースでシェーダーを組み立てられます。シェーダーは、オブジェクトの見た目を制御する重要な要素で、色、光の反射、透明度などを制御します。


ShaderGraphのいじり方と主要ノード

ShaderGraphの基本的な操作は、ノードを繋げることによってシェーダーのロジックを構築していきます。まずShaderGraphの基本操作を説明し、その後によく使われるノードについて説明します。

ShaderGraphの始め方

  1. ShaderGraphの作成:
    1. Projectウィンドウで右クリックし、Create > Shader > PBR GraphまたはUnlit Graphを選択します。
    2. 作成したShaderGraphを開くと、ノードベースのインターフェースが表示されます。
  2. マテリアルに適用:
    1. ShaderGraphで作成したシェーダーを使ってマテリアルを作成します。
    2. 作成したマテリアルをオブジェクトに割り当てて、シェーダーの効果を確認できます。

主要なノードの解説

ShaderGraphにはさまざまなノードがあり、それらを組み合わせてシェーダーを作成します。ここでは、よく使われる基本ノードとその使い方を解説します。

1. Positionノード

2. Normal Vectorノード

3. Tangentノード

4. UVノード

5. Texture2Dサンプラーノード

6. Multiplyノード

7. Addノード

8. Sineノード

9. Lerpノード

10. Timeノード

11. Fresnel Effectノード

12. Voronoiノード

13. Noiseノード

14. Custom Functionノード


ShaderGraphでの作例: 簡単な波エフェクト

以下に、ShaderGraphを使った簡単な波エフェクトを作成する例を示します。これはオブジェクトの頂点を時間に基づいて上下に動かすエフェクトです。

作成手順

  1. Positionノード: 頂点位置を取得。
  2. Sineノード: Timeノードからの値に基づいて波の動きを生成。
  3. Multiplyノード: 波の振幅を調整。
  4. Addノード: 元の位置に波の動きを加算。
  5. Output: 頂点位置をシェーダーの頂点変形に適用。

ShaderGraphでは、ノードを組み合わせて視覚的にシェーダーを作成することができ、これにより複雑なエフェクトも直感的に構築できます。