kick the base

Houdiniと、CG技術と、日々のこと。

書評: Houdiniではじめる3Dビジュアルエフェクト

今回は書籍「Houdiniではじめる3Dビジュアルエフェクト」について。 僕は今年からHoudiniをはじめたのですが、本書を学習の起点とさせていただきました。 Houdiniの基礎を体系的に学ぶ第一歩としておすすめできる本当に素晴らしい書籍です。

また本記事ではHoudini16が発表された現在において、どのように本書を活用していけばよいのかについてお話できればと思います。

(注) 上述の通り私はHoudiniをはじめて3ヶ月の初学者ですので、本記事には理解不足や認識違いが含まれている可能性があります。ご容赦ください。

何度も読み返す価値のある一冊です

f:id:kickbase:20170323133935j:plain

ぼくは技術書を読む時、カバーを外して読む派です。書籍の内容が自身の血となり肉となり、読み返すことが少なくなった時カバーを掛けなおして本棚に並べて行きます。

このビジュアルエフェクト本、何回読み返したことでしょう。全体的に印刷がはげているのが見てとれます。ぼくにとってHoudiniのバイブルであり、本書からは多くの学びをもらいました。

ぼくもご縁があって工学社様より「はじめてのZBrush」という書籍を執筆させていただいたのですが、その校閲よりも読み込んだんじゃないでしょうか。(いま自分が書いた本を本棚から引っ張り出してカバーを外してみましたが、明らかにビジュアルエフェクト本のほうが読み込まれた跡がありました)

本書は読み返すたびに新たな発見があり、再読に耐えうる素晴らしい内容です。以下では本書の特徴などに触れていきたいと思います。

ターゲット層について

本書はHoudiniにはじめて触れるユーザーもターゲット層にしており、僕自身その立場であったため実にスムーズに読み進めることができました。

しかし、本書ははじめて3DCGに取り組む層にはターゲティングしていないように思われます。予備知識の章はあっさりしていて、たとえば「ジオメトリとは何か」や「サブディビジョンサーフェスとはなにか」などの詳しい説明は省かれています。

それはきっと正しい構成です。Houdiniというソフトウェアの特性上、3D技術そのものの学習がすんでいない場合、他のソフトを経験してからのほうが良いと思われます。

他の3DCG統合ソフトが丁寧に覆い隠している部分を開放し、深いところまでユーザーが介入できるHoudiniだからこそ、基本的な考え方や用語などは他のソフトで学ぶのが良いのではないでしょうか。

本書の第一章、予備知識の項目で「難しいな」と感じたら、一度他のソフトで勉強してから再度取り組むと良いかもしれません。

第二章、SOPについて

本書はタイトル通りビジュアルエフェクトにフィーチャーした書籍ですが、第二章にSOPの解説を配したところが素晴らしいと思います。

「Houdini」を有効に使いこなすためには、「SOP」の理解が必要不可欠です。 - 引用 p.30

とあるように、DOPより先にSOPについての解説を置いたことが、最も本書の価値を高めているように思えます。 前述のように本書は何回も読み返しましたが、特にこの章はより繰り返して熟読しました。 本章で学べることをまとめると下記のとおりです。

  • Houdiniにおけるコンポーネント、アトリビュートの考え方
  • パラメータにExpressionを適用する方法
  • ローカル変数の利用方法
  • Houdiniにおけるグルーピングの概念
  • オリジナルのアトリビュートを作成する方法
  • 上記アトリビュートを参照する方法

実に重要なポイントのオンパレードです。上記はエフェクト制作にとどまらず、ゲームなどのリアルタイム系アセット開発にHoudiniを採用したいと考えている方にも十分な学びがあるでしょう。

本章の内容をパラパラめくりながら自身でノードを組めるようになっただけでも、インターネット上の多くの情報を理解する手助けになると思います。

Pointについて

第四章粒子の解説において、ダイナミクスよりも先にシミュレーションを使わない粒子の制御について触れているのも構成の妙と言えましょう。

Houdiniの強力な機能のひとつとして「Pointそのものに様々な方法でアクセスできる」というのがあると思いますが、ここで「雨に似たエフェクトを計算だけで行う」という興味深い作例が紹介されます。

その実現方法としてもAttribute VOPと剰余を使ったもので、今後末永くお世話になる手法なのではないでしょうか。(ここはぼくのHoudini歴が短いため憶測となってしまいますが)

また第六章煙の解説においても

  1. ダイナミクスで煙を作成
  2. ポイントを作成して上記データを転写
  3. ポイントを変形させてボリュームに再変換

などの方法が紹介されており、Houdiniの魅力を十分に味わえる作例となっています。 経験の浅いぼくからすると、えらいトリッキーな感じがしますが、Houdiniの哲学からすると至極普通な手法なのでしょう。まだまだ勉強が必要です。

プロシージャルの導入として

本書では全編を通してプロシージャルな手法をとっており、大変参考になります。実務においては破壊的な作業を行わなければいけない場面も出てくると思いますが、やはりHoudiniの面白さを感じるにはプロシージャルが一番なのではないでしょうか。

特にジオメトリ作成においてのプロシージャル手法は勉強になり、第五章で登場する「液体を流すための筒」の制作はなるほどとうなりました。難しいことは一切していませんが、ポリゴンモデラの切った貼ったで育ったぼくとしては目からウロコでした。

シェルフを利用しない構成

Houdiniではシェルフにあるアイコンをクリックするだけでド派手なエフェクトを生成する機能がありますが、本書ではシェルフを用いず単機能のノードを組み合わせて説明されている点が素晴らしいです。

今後Houdiniと長い付き合いをすることを決めた人にとって、細かいチューニングができるようになること、イメージどおりの調整ができるようになることは必須でしょう。

その際、いちからノードを組める能力を育てることは大切かと思います。実務でシェルフを使う時が来ても、その中身を理解した上で使いたいものです。

Houdini16と本書の活用方法

上記のように素晴らしい内容の書籍ですが、本書はHoudini15を元に執筆されており、本日現在Houdiniのバージョンは16です。(以下H16と略します)

バージョン15を操作しながら本書で勉強を進め、読了した後16にバージョンアップするというのが個人的に最もオススメな流れですが、はじめてHoudiniを使うのであれば最新版でトライしたいと思うのが心情というもの。そんなあなたの為にバージョン16で躓きがちな箇所をピックアップしてみました。ご参考になれば幸いです。

(注) 本記事を書くためH16で一通りすべての作例を制作しましたが、認識の間違いやよりよい方法などあるかもしれません。つどアップデートしていこうと思います。

ノードの見た目の変化について

特に初めてHoudiniを学ぶ方はノードの見た目が変わると混乱するもととなるかと思います。その際は

ネットワークエディタのメニュー > View > Show Custom Node Shapes

のチェックを外すと良いでしょう。

f:id:kickbase:20170323133939g:plain

p.26 ノードの接続解除(ワイヤ操作)

H16ではワイヤを選択してDelキーで接続解除ができるようになりました。またYキーを押すことではさみツールを起動することができ、その状態でワイヤを横断すると連続的に接続を解除できるようになりました。

p.44 Copy SOP

本書で使用しているCopy SOPはCopy Stamp SOPで同様の操作ができます。

p.46 ノード入力のインフォメーション

ノード入力のインフォメーションは中クリックで表示されていましたが、H16からマウスオーバーだけで下部に表示されるようになりました。

f:id:kickbase:20170323133938g:plain

p.48 Group SOP

本書で使用しているGroup SOPはGroup Expression SOPで同様の操作ができます。

p.123 Point SOP

本書で使用しているPoint SOPはPoint - Old SOPで同様の操作ができます。

p.131 Mountain SOP

Mountain SOPにFrequencyパラメータが見当たらない?

こちらH15のシェルフからH16のシェルフへの移植方法を教えていただきました。はじめてHoudiniを学習する際には敷居が高いと思いますので、一通り読了した後、二週目以降でトライすると良いかもしれません。

p.142 SHOPコンテキストとMATコンテキスト

H16ではSHOPコンテキストが撤廃され、MATコンテキストで管理されるようになりました。よって/shop/matに読み替えると良いでしょう。

p.174 Display Optionsの変更

H16ではHDR Renderingの項目が移動されました。Sceneタブ内にあります。

f:id:kickbase:20170323133937j:plain

p.180 Group SOP

本書で使用しているGroup SOPはGroup Expression SOPで同様の操作ができます。 それに伴いパラメータ名が変更になり、EntityをGroup Typeに読み替えると良いでしょう。

p.189 レコードデータのiアイコン

H16では「i」アイコンの表示がなくなった模様です(僕の認識不足で表示する方法があるかもしれません)

f:id:kickbase:20170323133936j:plain

p.191 Point SOP

本書で使用しているPoint SOPはPoint - Old SOPで同様の操作ができます。

p.198 Copy SOP

本書で使用しているCopy SOPはCopy Stamp SOPで同様の操作ができます。

まとめ

H16と見た目が違うから、ノードの種類や操作法が変わったからといってスルーするにはあまりに惜しい良書なので、これからHoudiniを始める皆さんにぜひおすすめしたいです。