LoginSignup
2
1

ゲームエフェクトによく使うメッシュの作り方と便利なノード

Posted at

こんにちは。今回はこの、スラッシュエフェクトなどによく使われるメッシュをHoudiniで制作します。またその過程で、ゲームエフェクト制作に役立つ基本的なノードやVEXを紹介します。
image.png

最終的なノードはこのような構成です。いたってシンプルです。
image.png

目次

1. Sweepのためのパーツを作成する
1.1. Resample
1.2. Sweep
2. マテリアルで使用するVertex-Colorを設定する
2.1. Arrtibute Wrangle

1. Sweepのためのパーツを作成する

基本的な形状はSweepで制作するので、そのためのバックボーンとクロスセクションをCircleで作成します。
バックボーン
image.png
image.png

クロスセクション
image.png
クロスセクションはTransformで少しつぶしておきます
image.pngimage.png

1.1. Resample

Resampleノードは、任意のジオメトリの分割数を変えるのに便利なノードです。ゲーム開発ではポリゴン数をうまく制御する必要があるので、見栄えや用途によってカーブの分割数を調整します。
これをバックボーン、クロスセクション双方に適用します。
image.png

1.2 Sweep

Sweepノードは見ての通り、二つのカーブに基づいてメッシュを制作するノードです。
image.png
このノードの便利なところは、UVも生成してくれるところかなと。このように四角くフィットしたUVを一発で生成してくれます。
image.png

2. マテリアルで使用するVertex Colorを設定する

ゲームエンジン内のマテリアルで透明度に乗算するためのVertex Colorを制作します。

Arrtibute Wrangle

Attribute Wrangleは、Houdini内の言語、VEX codeを書くためのノードです。
まず、バックボーンのカーブにAttribute Wrangleを追加し、以下のコードを書きます

//ポイント番号を0-1の範囲にフィットさせたものを@rowとする
@row = fit(@ptnum,0,@numpt-1,0,1);

image.png

次に、クロスセクションのカーブに以下のようにコードを書きます

//ポイント番号を0-1の範囲にフィットさせたものを@colとする
@col = fit(@ptnum,0,@numpt-1,0,1);

image.png

上記二つのVEXは、バックボーン、クロスセクションそれぞれの端から端までのポイントに0-1の値を振り分けるためのものです。ジオメトリスプレッドシートを見ると、colとrowの二つのアトリビュートが追加されています。
image.png
そして、Sweepの後にさらにAttribute Wrangleを追加し、以下のVEXを書きます
image.png

//U方向のグラデーションを設定
float red_col = chramp("red_col",@col,0);
//V方向のグラデーションを設定
float red_row = chramp("red_row",@row,0);
@Cd.r = red_col*red_row;
@Cd.g = 0;
@Cd.b = 0;

コードを確定したあと、この右上のマークをクリックするとグラフが出てきます
image.png
グラフをいい感じに調整してグラデーションを作ります
image.png

image.png
その後、Normalを追加し不要なアトリビュートを削除し、FBX outputで出力します
(ここまで書いて、Apprenticeバージョンはアウトプットができないことを思い出しました・・・すみません)

このメッシュに、ゲームエンジン内でVertex Colorを透明度に乗算するマテリアルを適用すると、テクスチャをマスクアウトしなくてもフチが出ないメッシュができます。
image.png
image.png

このワークフローを覚えていれば、いろいろな形状のメッシュをプロシージャルに制作できます。必要な機能をHDA化するのもいいですね。
image.png

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1