説明:ワールド位置オフセットを使用して頂点を操作するためのマテリアル関数。 SEO-Description: ワールド位置オフセットを使用して頂点を操作するための、Unreal Engine のマテリアル関数 Version: 5.5 Engine-Concept: Designing Visuals, Rendering, and Graphics Skill-Family: Foundation Parent: designing-visuals-rendering-and-graphics/materials/material-functions/reference Type: Reference Topic-image: designing-visuals-rendering-and-graphics/materials/material-functions/reference/WorldPositionOffset.png Track: Architecture Track: Manufacturing Track: Film & Television Track: Virtual Production Track: Games Tags: Materials Tags: Shaders Course:creating-pbr-materials?lang=ja|PBR マテリアルの作成|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fcreating-pbr-materials%2FHighresScreenshot00006-1920x1050-2c0180460478cd00327494c6e5717e227be4926d.png?resize=1&w=1400|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fcreating-pbr-materials%2FCreating-PBR-Materials-1000x1000-0d34ec4bfc3eeb466ce5a981a867921f72464e77.png?resize=1&w=300 Course:getting-to-know-materials-for-design-visualization?lang=ja|デザイン ビジュアライゼーションでのマテリアル入門|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fgetting-to-know-materials-for-design-visualization%2FIntro_to_Materials_003-1919x1079-f32638266c469a6fa2b9b2f3515e5766e8177b22.png?resize=1&w=1400|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fgetting-to-know-materials-for-design-visualization%2FGetting-to-Know-Materials-for-Design-Visualization-1000x1000-8cd1670f84e0111e39d4a3faa1e7a6ba29a30bfe.png?resize=1&w=300 Course:materials---exploring-essential-concepts?lang=ja|マテリアルの基礎概念|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fmaterials---exploring-essential-concepts%2FMaterialEssentialConcepts-1920x1080-1920x1080-2414bb5cf0b0c3bd7ac4b993e725d2acedd45334.png?resize=1&w=1400|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fmaterials---exploring-essential-concepts%2FMaterials--Exploring-Essential-Concepts-1000x1000-9546cdc254e6659ce73211b5955ab9d886921256.png?resize=1&w=300 Course:materials---understanding-the-production-workflow?lang=ja|マテリアルの制作ワークフロー|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fmaterials---understanding-the-production-workflow%2FMaterialWorkflow_ThumbnailFull-1920x1080-1920x1080-638fea6d7e3b7b299a4f433096336ce1caf662d0.png?resize=1&w=1400|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fmaterials---understanding-the-production-workflow%2F104-Materials-Production-Workflow%402x-1000x1000-ae1ba588a367d239fbe513da38bb793360c9eecf.png?resize=1&w=300 Course:materials-master-learning?lang=ja|マテリアル マスターラーニング|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fmaterials-master-learning%2FMaterialMaster_1920x1080-1920x1080-212f85045980310d6985557f84d0217e6423b709.png?resize=1&w=1400|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fmaterials-master-learning%2FMaterials-Master-Learning-1000x1000-56fd0b66f6e798313f79737126d9215cbd4a3ff9.png?resize=1&w=300
WorldPositionOffset カテゴリには、World Position Offset 入力を使用して、メッシュの頂点を操作するための特別な関数が含まれます。 これらの関数はエフェクトを追加するためにチェーンでつなげることができます。
SimpleGrassWind
SimpleGrassWind 関数は、フォリッジに基本的な風の演算子を適用し、ウェイト マップと風の強度を指定できるようにします。これは、フォリッジにごく一般的な動きを与える、指向性のない風です。これは、追加する最後の WPO ノードである必要があります。
| 入力 | 説明 |
|---|---|
| WindIntensity (Scalar) | 風がメッシュに影響を及ぼす度合いを制御します。 |
| WindWeight (Scalar) | メッシュの頂点が風に反応する度合いを制御するグレースケール マップです。 |
| WindSpeed (Scalar) | これは風速を制御します。 |
| AdditionalWPO (Vector3) | ワールド位置オフセットの追加のネットワークまたは関数を受け取ります。 |
これはエフェクトがどのように実行されるのかを示します。
SplineThicken
SplineThicken 関数は、非常に薄いポリゴンをレンダリング時に厚く見せる方法を提供します。これはケーブル、髪、草などのオブジェクトに最適です。
この関数を使用するオブジェクトは、極端に薄く、UV レイアウトが正規化されています。 「Remove Degenerate Triangles (縮退するトライアングルを除去)」を無効にして、オブジェクトをインポートする必要があります
| 入力 | 説明 |
|---|---|
| WidthBase (Scalar) | 単一ポリゴン オブジェクトの根元での幅を設定します。 |
| WidthTip (Scalar) | ポリゴン オブジェクトの先端での幅を設定します。 |
| WorldPosition (Vector3) | World Position は、既存の任意のワールド位置オフセット関数を受け取り、この関数をそれに追加します。 |
| UVs for Projection (Vector2) | スプラインの拡張に使用するテクスチャ座標です。 |
| UVs for Thickness (Vector2) | Thickness マッパに使用するテクスチャ座標であり、U から投影する場合は、厚みのブレンド処理用に指定された UV インデックスの Y 成分になります。 |
| UVs for texturing (Vector2) | テクスチャリング用の UV チャンネルです。3D 視差補正を行う場合と同じ UV チャンネルが必要です。 |
| Expand U or V UV Channel (StaticBool) | メッシュを U または V のどちらに拡張するかを設定します。デフォルトは true であり、U を意味します。 |
| DriveNormalZ (Boolean) | DeriveNormalZ を使用して、完全な円形の法線マップを作成します。 |
| AngleCorrectedNormal (Boolean) | DerivedNormalZ を使用して、完全な円形の法線マップを作成します。中央のテッセレーション頂点が必要であり、それがない場合は、面全体で Z の値が 0 になり、強烈なライティングになります。 |
| AdditionalNormal (Vector3) | 法線マップのトランスフォームに垂直なテクスチャを追加します。 |
| FlattenPixelNormal (Boolean) | |
| UVs For NormalShading (Vector2) | |
| 出力 | |
| Normal | 調整されたジオメトリの外向き法線。 |
| WorldPositionOffset | 他のワールド位置オフセットの計算に加算できる出力。 |
| UVs with Parallax |
CameraOffset
CameraOffset 関数を使用すると、カメラ空間にあるオブジェクトを動かしてカメラに近づけたり遠ざけたりできるため、深度によるソートに非常に役立ちます。
| 入力 | 説明 |
|---|---|
| OffsetAmount (Scalar) | モデルをカメラ方向にオフセットする値として正または負の数値を入力します。正の値では、モデルがカメラに近づきますが、メッシュがモデルのバウンディング ボックスを大幅に超えた場合に、レンダリング エラーが発生することに注意してください。 |
| Clamp Padding (Scalar) | クランプされたオフセット値がカメラにクリップしないようにするためのパディングの量。 |
| WorldPosition (Vector3) | モデルの頂点のワールド位置を入力します。デフォルト値は World Position です。 |
| 出力 | |
| Clamped Camera Offset | すぐにカメラと交差しないように Camera Offset がクランプされます。カメラと交差しないように確保されたスペースの量を変更するためにパディングを調整します。 |
| Camera Offset | この値を他のワールド位置オフセットのコードに追加するか、マスター マテリアルのワールド位置オフセットに直接入力して、メッシュのオフセットを設定します。 |
このグラフの Offset パラメータがマテリアル インスタンス エディタでオーバーライドされると、球体は動いて、カメラに近づき、または離れます。
ObjectPivotPoint
ObjectPivotPoint 関数は、ワールド空間でのオブジェクトのピボット ポイントを返します。これはピクセル シェーダーには対応していません。
| 出力 | 説明 |
|---|---|
| Object Pivot Location | ワールド空間でのオブジェクトのピボット ポイントを返します。これは頂点シェーダーでのみ動作し、ピクセル シェーダーには対応していません。 |
このグラフでは、最小限のロジックで Object Pivot Point 関数を使用し、マテリアル インスタンス エディタでスカラー パラメータを使用して、オブジェクトをそのピボット ポイントからスケーリングしています。次のデモで結果を確認できます。
ObjectScale
ObjectScale 関数はオブジェクトの XYZ スケールをまとめて返すか、個別に返します。これはピクセル シェーダーには対応していません。
| 出力 | 説明 |
|---|---|
| Scale XYZ | オブジェクトの XYZ スケールに等しい float3 値を返します。これはピクセル シェーダーには対応していません。 |
| Scale X | オブジェクトの X スケールに等しいスカラー値を返します。これはピクセル シェーダーには対応していません。 |
| Scale Y | オブジェクトの Y スケールに等しいスカラー値を返します。これはピクセル シェーダーには対応していません。 |
| Scale Z | オブジェクトの Z スケールに等しいスカラー値を返します。これはピクセル シェーダーには対応していません。 |
次の映像では、ScaleXYZ 出力は Emissive 入力の乗数として使用されます。 球体のサイズを大きくすると、エミッシブ値も増え、球体はより明るく輝きます。
PivotAxis
PivotAxis 関数は任意の軸上に、共通のピボット位置を作成します。これはフラグの動きを作成するときに役に立ちます。フラグの一番上に近いところで単一の回転軸を使用するのではなく、Z 位置を共有し、固有の X と Y 位置データを使用することで、フラグの横方向がリアルにつながっているように表現できます。
このシェーダー ノードは一様なスケーリングのみをサポートします。 さらに軸周りの回転では、Pivot Axis/Pos による回転を同時に利用できません。
| 入力 | 説明 |
|---|---|
| Pivot Axis/Pos (Vector3) | ローカル軸のライン軸と位置として使用する数値を入力します。モデルをピボット付近のローカル Z 軸に固定する場合は、(0,0,1) を入力します。モデルの上部を固定する場合は、モデルの高さを (0,0,モデルの高さ) として入力します。 |
| 出力 | |
| Pivot | これは、Rotate About Axis ノードの PivotPoint 入力として使用できます。 |
RotateAboutWorldAxis_cheap
RotateAboutWorldAxis_cheap 関数は、ワールド軸の周りでオブジェクトを低い負荷で回転させます。使用する角度を入力し、出力をワールド位置オフセットにつなぎます。
| 入力 | 説明 |
|---|---|
| Rotation Amount (Scalar) | この値が 1 であれば、1 回のフル回転に等しくなります。 |
| PivotPoint (Vector3) | ピボット ポイントのワールド空間での位置。デフォルト値はモデルのピボット ポイントです。 |
| WorldPosition (Vector3) | 個々の頂点のワールド空間での位置。通常は WorldPosition ノードが使用されます。 |
| 出力 | |
| X-Axis | ワールドの X 軸の周りでオブジェクトを低い負荷で回転させます。 |
| Y-Axis | ワールドの Y 軸の周りでオブジェクトを低い負荷で回転させます。 |
| Z-Axis | ワールドの Z 軸の周りでオブジェクトを低い負荷で回転させます。 |
下の映像では、キューブをそれ自体の回転軸で回転させるサンプル マテリアルを示します。 3 つの出力ピンのそれぞれが使用されるとき、回転軸がどのように変わるのかに注意してください。
StaticMeshMorphTargets
StaticMeshMorphTargets 関数は、3ds Max の Morph Packer MAXScript を介して追加されたモーフィング ターゲット データを抽出します。
| 出力 | 説明 |
|---|---|
| Morph Target 1 Normals | モーフ ターゲット 1 と関連付けられているサーフェス法線。 |
| Morph Target 1 WPO | モーフ ターゲット 1 のワールド位置オフセット。 |
| Morph Target 2 WPO | モーフ ターゲット 2 のワールド位置オフセット。 |
Wind
Wind 関数は、風の強度、時間を乗算した風速、および正規化された風ベクターを個別に出力します。
| 入力 | 説明 |
|---|---|
| WindActor (Vector4) | Wind アクタ (開発中) を受け取ります。現時点では、Vector4 を使用して風の向きと強度を指定できます。 |
| 出力 | |
| Normalized Wind Vector | 0 ~ 1 の範囲に正規化された風ベクター。 |
| WindStrength | 風の強度を返します。風ベクターから原点までの距離によって算出される、風ベクターの大きさ。 |
| WindSpeed | 時間を乗算した風速。 |
| WindActor | 標準 WindActor ノード。 |
