LoginSignup
3
4

More than 3 years have passed since last update.

【Houdini】ランダムな形状を持つローポリクリスタルの自動生成

Last updated at Posted at 2019-05-31

はじめに

Unityでゲームを作ろうと思った場合に、複数のバリエーションを持った3Dモデルをたくさん用意したい、というシチュエーションがあると思います。
今回は無料のHoudini Apprenticeを使ってローポリのクリスタルを複数まとめて出力させる、ということをやってみました。

環境

Houdini Apprentice 17.0
Windows 10

成果物

以下はクリスタルのOBJファイルを6個まとめて出力し、Unityに入れたものになります。
image.png

作り方

クリスタルを一括生成するノードは以下のような感じになりました。

ノード解説

ノードその1: Sphere(球体を作る)

Sphereノードを使ってクリスタルのベースとなる、ローポリの球体を作成します。

ノードその2: UV Unwrap(UV展開)

モデルにテクスチャを貼り付けることができるようにするため、UV展開をします。
モデルを変形させるにUV展開をしてところがポイントです。
変形させた後にUV展開をするとUVが汚くなりやすいです。

image.png

UVを確認してみる

SceneViewにマウスポインタを乗せて、Space+5を押してUVを表示させると以下のようになっています。

SceneViewにマウスポインタを乗せて、Space+1を押すとSceneViewをPerspective Viewportに戻せます。

ノードその3: Transform(スケーリングをかける)

クリスタルっぽさを出すために、Y方向に1.5倍のスケーリングをかけます。
image.png

ノードその4: Point Jitter(モデルを変形)

Point Jitterで頂点をランダムに動かします
ネットワークの最後(ROP Geometry Outputノード)でOBJを出力する時のフレーム番号$Fを乱数シード値として利用し、フレーム毎に異なる変形が行われるようにしています。
image.png

ノードその5: Normal(法線の再計算)

モデルの法線の再計算を行います。
image.png

ノードその6: ROP Geometry OUTPUT(モデルの一括出力)

ROP Geometry OUTPUTノードにはOBJファイルの情報を設定します。
OBJファイルの出力先にUnityのAssets以下のパスを指定しておくと、すぐにUnity上で確認できて便利です。
image.png

Save to Diskをクリックするとファイルが出力されます。
image.png

出力されたOBJファイル群をUnity上で表示させると以下のようになっています。
image.png

おまけ : HDRP環境のUnityに入れてみる

HDRP環境のUnityに取り込んで、マテリアルを設定してみました。
image.png

image.png

3
4
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
3
4