Butadiene Works

ジンジャエールが飲みたいです@twitter:butadiene121

Houdiniなんもわからんマンが、Houdini初心者になるまで

はじめに

みなさんこんにちは。ブタジエンです。みなさん、Houdiniというソフトをご存知でしょうか?Houdiniは3DCGソフトウェアの一つで、「プロシージャルなモデリング」等を得意とする(らしい)ソフトです。僕もしばしば名前をよく聞いていて興味はあったのですが、日本語のチュートリアル等も(Blenderとかと比べると)少ない印象があり、なかなか手が付けられずにいました。

ところがこの夏ひょんなことから機運がわき、多少触ってこれぐらいのアウトプット(下に貼ったやつ)が出せるぐらいにはなったので、「Houdiniってなんだ?」状態の僕が、初心者になってちょっとした作品を出せるようになるまでの過程をまとめてみました。

f:id:butadiene:20191103200025p:plain

Houdiniの使い方、というよりは、ド素人がどんなふうに学習フローを組んだのか、という感じの記事になると思います。よろしくお願いします。

僕について

まず、Houdiniをやろうと思ったころ(2019年7月から8月)の僕のステータスをまとめておきます。

  • 僕(ブタジエン ブタジエン (@butadiene121) | Twitter

  • 地方の大学の3年生(専攻は物理っぽいところ 非情報系)

  • プログラミング歴一年弱(扱えるのはShaderのみ Unityのc#は少しだけ触れる)

  • VRChatのため、という用途のみ(すなわちc#スクリプトを書かない)でUnity歴1年

  • Blenderを少しだけ触ったことがある。(初心者用のサイトのチュートリアルを一周した程度)

  • 比較的強めのPCを持っている(いわゆるVRReadyと呼ばれるもの 具体的にはメモリ16G、CPU i7-7700HQ、GPU GTX1070)

  • 絵は一切書けない

  • インターネット上の知り合いでHoudiniを使ってる人が複数人いる

Houdiniについて

次に、Houdiniというソフトについて(僕の理解の範囲内で)まとめておきます

  • 3DCGソフト

  • プロシージャルなモデリングや、シミュレーションが得意

  • ノードベースでネットワークを作ってモデリングをしたりエフェクトを作ったりする

  • プログラムを使って自分でノードを作れたりいろいろできる。

  • HoudiniエンジンでUnityやUE4との連携が可能

諸々・・・

Houdiniに興味を持ったきっかけ

2019年の春ごろからHoudiniの名前をよく聞いていて、「プログラミングを使ってモデリングができる」みたいな話を聞いていて、とても興味がありました。

触ろうかなあと思っていた時にtanittaさんのVJを見る機会がありました。それがめちゃくちゃかっこよくて、話を聞いてみるとHoudiniを使って動画を作っているという話だったので、よし、やろうということになりました。2019年の7月とかの話だったと思います。

とりあえずインストール

Houdiniは無料版(Houdini Apprentice)があるとのことだったのでとりあえずインストールしてました。(Houdiniには機能はほぼ全部使えるが、出力画像にウォーターマークがついたり、FBX等が出力できないHoudini Apprenticeという名前の無料版がある) note.mu

チュートリアルを探せ

次に、チュートリアルを探しました。

自分がBlenderを勉強したときは、日本語のチュートリアルサイトを見て勉強したので、Houdiniでも日本語のチュートリアルサイトがあるのだろうと思い、探してみたのですが、これがなかなか見つかりませんでした・・・。

動画ベースなら、公式が大変丁寧なチュートリアルを出しています。

www.sidefx.com

ですが、自分はテキストで読んでいきたいタイプで、動画タイプのチュートリアルは苦手だったので、チュートリアルサイト的なのを探したのですがなかなか見つからず・・・。

どうにもなりそうになかったのですが、Houdiniを触ったことのあるシェーダーアーティストのやぎりさんから解説本はいいぞみたいな話を聞き、アマゾン等を漁るとHoudiniの解説本がたくさん見つかりました。これならば、と思い、やぎりさんのおすすめであるこちらの本であるこれを購入しました。

Houdini ビジュアルエフェクトの教科書

買った本を進める

この本は、Houdiniを初めて触る人でも扱える本で、たくさんの作例とそれの作り方と解説が、技術をきちんと習得していけるような順番で載っているタイプの本でした。

そのため、この本の最初から作例を丸写しするという形で進めていきました。

この本で扱ってるHoudiniのverとインストールしたHoudiniのverが違ったので(ちゃんと気を付けましょう)丸写しでうまくいかないこともまれにありましたが、基本的には本の内容を読んで、理解した「つもり」になって丸写しするだけで進めていくことができました。8月の上旬から中旬のことです。

この時期は夏休みのインターンと重なっていたので、インターンの業務が終わって家に帰ってから一日1時間みたいなペースで進めてました。

f:id:butadiene:20191007215438p:plain
買ったHoudini本に載っていた作例を丸写しして自分で作ったやつ①

f:id:butadiene:20191007215748j:plain
買ったHoudini本に載っていた作例を丸写しして自分で作ったやつ②

8月下旬はインターンが忙しくなってしまったので、Houdiniはお休みしてました。

プログラミングを書きたい

9月に入っても上に書いた本を進めていたのですが、この本を進めるだけではいつまでたってもプログラミングを書く機会がないことに気づきました。もともとHoudiniには「プログラミングでモデリングができるらしい」ということで興味を持っていたのですが、全然出てこない。で、よくよく調べてみると、HoudiniではVEXというプログラミング言語を使って様々なことができるらしいのですが、上の本はVEXを扱っていない、ということが分かりました。これは完全に僕のリサーチ不足です。(VEXが載っていない以外についてはすごくわかりやすく、良い本でした)

この時点で、上の本は半分強ぐらい終わっていて、基本的な操作やちょっとしたオブジェクトの作り方は一応わかるようになっていたので、ここから先はVEXを学ぼうと思い、再びインターネットの海をさまよいました。

ところが、でてこない。

VEXをわかりやすく説明した日本語のサイトが見つかりませんでした・・・(これは実際に「ない」のか私のググり力が弱いせいなのか、どちらかはわかりません。)

そこでツイッターでVEXの書き方のいいチュートリアルを尋ねたところ、とある本がおすすめだと教えてもらいました。

これは正直言って迷いました。この時期あんまりお金がなくて、上のチュートリアル本の時点ですでに4000円したんですよね。で、このVEXの書き方が載っている本は6000円以上します・・・。

が、やっぱりプログラミングがしてみたかったので買ってしまいました。

こちらの本です。

VEXの練習

こちらの本は、最初にHoudiniの使い方の説明をして、そのあとにプログラミングの基本的な話を説明、そのあとVEXの説明をした後で、VEXを使った作例がたくさん載っている、という感じの本でした。

Houdiniの使い方と、プログラミングの基本的な話は分かっていたので飛ばして、数時間ぐらいVEXの説明についてのんびり眺めました。 そのあとは、後ろにあるVEXを使った作例の中で楽しそうな奴を適当に選んで解説を読みながら丸写していきました。3つぐらいの作例について丸写しを行ったと思います。

9月入ってもインターンは続いていたので、インターンから帰った後の1~2時間ぐらいを使って書いてました。

f:id:butadiene:20191007223556j:plain
買ったHoudini本に載っていた作例を丸写しして自分で作ったやつ③

正直に言うと、考え方がShaderに似ていたのでかなり楽でした。実際に作例を通じて手を動かしながら、VEXをどのように扱えばいいかについて、何となくわかったような気がしました。

オリジナル作品を作ってみる

VEXの作例は3つぐらい作ったところで飽きたので(この時点で9月中旬ぐらい)、オリジナルの作品を一つ適当に作ってみることにしました。この作品は、某何かで使いそうだったので、ここでライセンスを買う必要が出てきました。(先ほども言った通り、Houdini Apprenticeでは出力にウォーターマークがついてしまう)

そこで、Houdini Indieというものを購入しました(1年で$269、2年だと$399で利用可能)。ウォーターマークはこれで取れます。また、制限付きですが商用利用も可です。詳しくはここ

また、Houdiniではデフォルトで「mantra」というレンダラーを使用します。これは優秀なのですが、CPUでレンダリングを行うので少し遅いんですよね。そこでGPUレンダリングができるRedShiftというものを購入しました($500)。

(この時点で先ほどの解説本なんか比にならないぐらいにお金突っ込んでるんですよね・・・ 9月下旬にインターンのお給料が入ったのでそれを突っ込みました。)

VEXのチュートリアル本で得た、形状をプログラミングで作成する技術と、最初に使った本に載っているボリューム周りの技術を組み合わせてこのような作品を2週間ぐらいで制作し、10月上旬ごろに完成しました。

以上がHoudiniで自作の作品を作るまでの大まかな記録になります。

思ったこと

  • Houdiniの解説本はいいぞ -少なくとも上にあげた2冊に関して言えば、最新版よりもhoudiniのverが古い以外に困ることはあまりありませんでした。初心者でもわかりやすいように情報がまとまっており、個人的にはGoogleの海に飛び込むよりはるかに楽でした。少々高いですが買う価値はあると思います。

  • 質問できる存在がいるのは本当にありがたい -Houdiniの勉強をするにあたって何を使えばいいのかわからないときにお勧めの本やサイトを教えてくれた人の存在は本当にありがたかったです。ありがとうございます。とくにtanittaさんには自作の作品を作る際、どうしてもわからないことがあった時にも頼らさせていただきました・・・。本当に助かりました。

  • Houdiniはいいぞ -ノードとコードでモデリングしていく感じは本当に楽しいです。プリレンダで扱いやすいという条件の付いたGLSLでのレイマーチングのコーディング、という感じもしました。めっちゃ楽しい。

  • RedShift早え -RedShift、高かったですが(mantraと比べて)早くて助かりました。 ただし、その分レンダリングに関する情報は自分で集めなければいけなくなったのでそれは大変でした。

  • PC大事 -Houdiniそのものはそこまで重くはないのですが、少しでも複雑なことをしようとするとPCのリソースを相当食いました。少々とはいえ、強めのPCを持っておいてよかったと思います。自分のPCでとくにきつかったのはメモリです。最後の宇宙船の作品はオブジェクトについてかなりポリゴン量増やしたこともあり、自PCの16Gのメモリでは少し厳しかったです。

終わりに

ここまで読んでいただきありがとうございます。なにかありましたらTwitterブタジエンまでお願いします。