BlogKLabは、多くのスマートフォン向けゲームを開発・提供しています。このブログでは、KLabのクリエイターがスマートフォン向けのゲームを制作・運営していく中で培った様々な技術や挑戦とそのノウハウについて紹介していきます。導入編カテゴリ:EffectHoudiniTweetこんにちは。クリエイティブR&Dグループ所属のsasaと申します。「R&Dグループってなんぞや?」という方はコチラ↓http://klabgames.creative.blog.jp.klab.com/archives/14399176.html本日はR&Dグループで使用しているHoudiniというツールの紹介及び、これからHoudiniを学んでいきたいという方向けの導入編を展開したいと思います。HoudiniとはHoudiniとは、SideFX社(https://www.sidefx.com/)より販売されているDCCツールで、映画やゲーム、最近は建築なんかでも使用されている3DCGIのソフトウェアです。近年非常に注目されているツールですので、名前は知っているという方も多いのではないでしょうか。大きな特徴としては非破壊(プロシージャル)で作業できるということ、ソフトウェア内の言語や考え方が柔軟で強力だということ、ツールが時代に即して常に進化し続けているといった所で、総じて今の時代及びこれからの時代のクリエイティブに必要な考え方・機能を備えたツールといった感じです。ちなみに今回の記事のサムネイル用画像も幾つかの機能の検証を兼ねてHoudiniで作成致しました。サムネイル画像の元となった動画はコチラ↓でもHoudiniって難しいんでしょ?「Houdiniは難しい」とよく言われています。私自身2度挫折して3度目に学び始めてからようやく最初の壁を越えてHoudinistとして歩き始めることができました。この記事を読んでいる方の中には私のように挫折した経験をお持ちの方、或いはこれからHoudiniを始めたいけど何をどう覚えていけば分からないという方もいらっしゃるかと思います。本記事はHoudini導入編となっておりますので、そういった方にも私自身の経験を踏まえて「Houdiniをどうやったら覚えられるか?」の道筋をご紹介できればと存じます。Houdiniは難しくないいきなり結論から言いますが、Houdiniは難しくないです。ユーザーが勝手に難しいツールだと考えているだけで、この呪縛がHoudiniの勉強や導入を阻む理由の最たるものだと私は考えています。理由としてはQ1:Houdiniをやるならプロシージャルモデリングからエフェクト、プログラミング等のあらゆる機能を理解しなければならない。A1:そんなことはありません。普段Mayaや3dsMax、その他DCCツールをお使いの方は自分がそれらのツールの全てを把握してその機能を使い切っているか考えてみてください。殆どの場合は自分が必要な機能だけを覚えれば業務をこなしたりアートを作ったり出来ているはずです。Houdiniも同じで、まずは自分に必要な機能を覚えるだけで十分だと思います。Q2:プログラミングができないとHoudiniって満足に使えないんじゃないの?A2:そんなことはありません。そもそもHoudiniは元々はSOPVOPといったノードベースのツールであり、直接コードを書けるwrangleの方が後付けされたものです。事実として、マテリアルのオペレータはVOPベースなのでノードに触れないと逆に上手く扱うことができません。プログラミングができるに越したことはありませんし、プログラマーさん等はそちらからの方が入りやすいかもしれませんが、アーティスト側が過度に最初からプログラミングを意識する必要はありません。上記2点の考え方がHoudiniの修学を阻む大きな壁だと私は考えており、そこのマインドセットさえ再設定できればHoudiniを学び始めるという事はそう難しいことではないと思います。実際のHoudiniの勉強法まず大前提として「自分の得意分野から勉強する」事を心がけましょう。Houdiniだからといっていきなり未知の分野や難しい分野を学ぼうとすると、「新しいツール」と「未知の分野」という二つの事を同時に扱うことになりHoudiniを挫折し易くなります。私の場合は元々エフェクト・コンポジットアーティストとして3dsMaxと各種VFXプラグイン、RealFlow、AfterEffectsと各種主要プラグインを主に扱っていたのでエフェクトから勉強するのが非常に捗りました。専門用語が多くなってしまって申し訳ありませんが、例としては・炎や煙はベースとなる考え方はどのツールでも基本的に同じなので、Houdini内でFumeFXの各種パラメータに該当するものを探して覚えるだけ。・流体メッシュの形状調整はRealFlowでは元々の形状を詰めすぎずにvolumefilterで調整するのが主ですが、Houdini内でも同じ考え方が通用するしノードやパラメータを見てもRealFlowと同じ考え方をしているので理解しやすい。・ショックウェーブ作りも基本的にはsmoke等のvelocityをparticleに与え、乗算マテリアルでレンダリングするという考え方。これは3dsMaxで普段行っているFumeFXのvelocityをParticleFlowに与え、KrakatoaのForceAdditiveでレンダリングするのと同じこと。...といった感じです。Houdiniは優しいツールですので実は初心者向けのチュートリアルは非常に充実しています。ここでは私が実際にHoudiniを勉強した際に役に立ったチュートリアル等をご紹介致します。Houdiniは公式サイトからかなり初心者向けに丁寧なチュートリアルが提供されています。これだけ丁寧な公式は私の知る限り他にはUnrealEngine位です。https://www.sidefx.com/ja/learn/getting_started/・無料で公開されているCGWORLDのHoudini導入講座。これ以降の有料チュートリアルもどれもおススメです。https://tutorials.cgworld.jp/set/444/con/386・講師もされている佐久間氏によるHoudini本。最初の方の基礎解説はとても丁寧なので一読の価値があります。それ以降は数学とプログラミングの内容が多めの応用書のようになっているのでプログラマーやTAの方以外が何の知識もなしに読み進めていくと高確率でHoudiniを挫折する可能性があります。ご自身の理解度に合わせて読み進めていくと良いでしょう。https://www.borndigital.co.jp/book/6342.html・フリーランスのHoudiniアーティストの北川氏によるエフェクト本。エフェクトアーティスト及びエフェクトをやろうという方は高確率で手に取る本だと思います。Houdiniの進化は早いので既にこの本で紹介されている手法の一部もレガシーなアプローチになっていたりしますが、それでも解説が丁寧でHoudiniのエフェクトに慣れるという点でも非常に有用な資料です。https://books.mdn.co.jp/books/3217303011/・海外でハリウッド映画等のVFXで活躍されているMasayaSugimura氏が年1回開催しているオンラインワークショップ。私はエフェクトアーティストということもあり、実際に映画のVFXの最前線でHoudiniを使っている方がどういった考え方や手法で作業をされているかを知ることが出来て非常に有意義でした。http://sugi-iggy.blogspot.com/p/workshop3.htmlhttps://twitter.com/sugiggy・YoutubeやVimeo等のTips。Houdiniはツールの進化が早く、本やネット記事等の知識が過去のものになりがちなので時代に応じてフレキシブルに動画サイトで最新のチュートリアルを漁るのは非常に有効です。他にも色々ありますが、ひとまずこれ位でしょうか。繰り言になりますが大事なのは自分の得意分野から学んでいくということです。Houdini移行のタイミングとは?Houdiniを使っていると、「あ、これ便利だなぁ。他のツールではこれはできないからHoudiniでやるか」「Houdiniで簡単にできたことが他のツールで難しいor出来ない」「しばらくHoudiniばかり触っていたら他のツールが凄い使い辛く感じる」と、いったように他のツールよりHoudiniでやった方が良い・便利だと感じる場面が増えてきます。いった要素から徐々にHoudiniで作業するようにしていくと、最終的には自然とHoudini移行や一部作業はHoudiniでといったスタイルにできると思います。私がそういった気付きを得たタイミングをいくつかご紹介いたします。・ジオメトリスプレッドシートが使いやすく感じた時。Houdiniユーザーの多くが重要だと口を揃えて言うジオメトリスプレッドシートですが、最初の内は「なんだこれ?何が重要なの?」って感じかと思います。Houdiniを使っているうちに全情報が分かりやすく表示されている利便性の高さに次第に気づき、自然とよく見るようになります。そこに至るとHoudiniユーザーの多くがジオメトリスプレッドシートが重要だと言っている意味を実感し、逆に全情報を素早く確認しアクセスできない他のツールにストレスを感じるようになりました。・軽量で使いやすく強力なマルチフィジクスソルバの存在。Houdiniにはvellumというクロスシミュレーション等に使用する軽量で使いやすいマルチフィジクスソルバがあるのですが、考えてみると同レベルで使いやすく軽量なツールは中々無く、しかもネイティブに実装されているものとしては唯一無二だと気づいた時。・サブステップ無しのオブジェクトベースで、’’velocityで元のオブジェクトを伸縮させず’’に’’形状をvelocityベースのように伸縮させる’’火花系のパーティクルが簡単に作れると知った時。エフェクトアーティスト的な項目で恐縮ですがコレは個人的にかなり重要でした。上記画像は何気ないパーティクル画像ですが、この手のものを上述した考え方で作ろうとすると中々難しいです。私の知る限り3dsMaxのthinkkingParticlesで色々と仕込めばできるかと思いますが、そもそもthinkingParticlesは3dsMaxのネイティブツールではないので会社や環境で使用の有無が左右されてしまいます。完全にオブジェクトベースでサブステップ無しで形状調整や細かい調整ができ、且つ伸縮がvelocityではない形でvelocityのような挙動を簡単に作れるツールというのは中々ありませんし、それでいて取り回しやすいのでコレはHoudiniの明確な利点で使う理由になりえると実感しました。・Houdiniネイティブで、3dsMaxでプラグイン込みで作るショックウェーブと同じものが作れた時。ショックウェーブの作成手順は3dsMaxでもHoudiniでも同じなのですが、3dsMaxの場合はFumeFX・Krakatoaというプラグインがほぼ必須で、これまた会社や環境で使用の有無が左右される不安定さと、3dsMax・FumeFX・Krakatoaという実質三つのツールを跨ぐ煩わしさがあります。これがHoudiniだと一つのツール、一つの考えの元に作業出来て非常にスームーズで「Houdini良いなぁ」と実感しました。・レンダリング設定が楽。レンダーレイヤーや複数のレンダリング設定的なものが手軽に分かりやすく作れるので、これに慣れると他のツールのレンダリング設定周りが煩わしく感じるようになります。・Houdiniなら画像のようなオブジェクトを非破壊でサクサク作れるが、他のツールでは同じことが同じようにはできないと感じたとき。非破壊なので元のオブジェクトを自在に変更できるし、実際やっていることは同じような作業を少しずつ手法を変えて繰り返しているだけなので仕組み自体は簡単で調整しやすいのですが、これを同じように非破壊で調整しやすい仕組みでMayaや3dsMaxで作るのは難しいだろうと感じ、Houdiniの明確な利点を実感しました。以上、私がHoudiniを「良いなぁ」と感じ、気付きを得られたポイントを一部ですがご紹介いたしました。私はエフェクト周りが主な生業なのでエフェクト関係で気づきを得る機会が多かったですが、他の業種の方もそれぞれ「Houdini良いなぁ」と感じるポイントがあるかと存じます。Houdiniをゲームの仕事でどう使うか?実際に有効活用された例として、GDC2019でのインソムニアック・ゲームズ様のカンファレンスがタイムリーですのでご紹介させて頂きます。https://game.watch.impress.co.jp/docs/news/1175860.htmlhttps://www.famitsu.com/news/201903/22173643.htmlまた、エフェクト作成においてどういった活用法があるかという点に関しましてはSEGA様のHoudiniプロフェッショナルの伊地知氏が紹介して下さっておりますのでこちらもあわせてご紹介させて頂きます。http://techblog.sega.jp/entry/2018/01/25/100000http://techblog.sega.jp/entry/2019/02/28/180000上記で紹介した内容はHoudiniならではの手法ですが、無論従来通りのレガシーな手法にもHoudiniは当然使うことが出来ます。レガシーな手法はやはり確実で実績があるアプローチなので未だ使用される機会も多いですが、そればかりでは時代に対応できずに埋もれていってしまうので時代に即したアプローチもできなければなりません。Houdiniはレガシーと最先端の双方に対応、或いは時にそれらをミックスして使うことのできる柔軟性を持ち、ツールの進歩も早く将来性も見込めるという点が非常に大きなメリットであり、メインツールとして使う理由になり得ると思います。終わりに私自身、Houdiniは2回挫折して3度目に覚悟を決めて学び直し初めてようやくHoudinistとしてのスタートを切ることができたので、最初の一歩に躓く方の気持ちはよく分かります。公式tutorialはとても丁寧ですが、初めてやった時は「だから何?」「これ実際仕事でどう使うの?」といった感じであまり身につかずに終わったのを覚えています。挫折しながらもそうやって少しずつ知識を蓄積していったからか、3度目に学び直し初めてからはスムーズに最初の何も分からない状態を脱することができました。マインドセットの影響も大きく、「Houdiniだからといって何もかもを覚える必要はない」「自分の得意分野から覚える」「アーティストにはアーティストの勉強法がある」と、思考を定めてからはグイグイHoudiniを覚えていくことができました。今回は導入編として私のそういった思考の変遷も含めてご紹介した次第でございますがいかがだったでしょうか?次の機会がございましたら、今度はより実践的なTipsやテクニックをご紹介できれば良いなと存じます。最後までお目通し頂きありがとうございました。