06:40Houdini初級編:エクスプレッション&スクリプティングHoudiniは、プロダクションレベルのソリューションであり、スクリプティングは最終的には作業においてある役割を果たすことを意味します。アーティスが普段単純にエクスプレッションで済ます一方、テクニカルディレクターがそれらのテクニックにより多くの時間を費やします。Houdiniには、Hscript、Python、およびVEXのサポートが含まれています。アニメーション、ビジュアルエフェクト、ゲーム開発は高度な技術基盤の上に成り立つ創造的分野であり、芸術的願望と技術的ノウハウのバランスをとることが重要です。Houdiniのノードベースワークフローは、CG技術をよりアーティストに簡単に使用できるように設計されている一方、好きな事を形作るための柔軟性を提供します。スクリプティングとエクスプレッションは、より深いレベルのコントロールを提供することによって、クリエイティブなプロセスを強化する別の方法を提供します。エクスプレッションHScriptはエクスプレッションを書くために使用できる情報の収集や操作のための高速で簡潔な方法として設計されています。エクスプレッションは、通常、単純な文字列または数値ではない任意の値です。これは、変数、数式またエクスプレッション関数のような単純なものにすることができます。フィールドに入力するだけで、エクスプレッションをパラメータに直接入力することができます。Enterキーを押すと、フィールドが緑色でハイライト表示されます。パラメータ名をクリックすると、エクスプレッションとエクスプレッションの結果を切り替えることができます。References」を選択します。Dataを選択することで、同じ結果を得ることができます。これにより、他のオブジェクトやノードからデータを選択できるパネルが開き、エクスプレッションが作成されます。この方法は、複数のパラメーターでエクスプレッションを設定することができます。エクスプレッションエディタ関数の複雑さやパラメータのタイプによっては、エクスプレッションエディタを使用することもできます。Eを押すことで開くことができます。PYTHONPythonは、組み込みと標準化をサポートするCG業界でよく知られている一般的なスクリプト言語です。ツール開発に最適です。Model(HOM)上に構築されています。このモデルは、Pythonスクリプト言語を使用してHoudiniから情報を取得し、制御するAPIです。Pythonでは、houパッケージが、HOMを定義するモジュール、関数、クラスの階層の最上位です。houモジュールは、パラメータエディタとhythonコマンドラインシェルでエクスプレッションを記述するときに自動的にインポートされます。Houdiniでエクスプレッションを書くときにも使うことができます。これを行うには、ノードのパラメータペインの上部にあるエクスプレッション言語オプションを変更します。Panelもあります。Shellにインポートして、既存のPythonベースのスクリプトにHoudiniを統合することもできます。ツールシェルフシェルフツールもPythonを使って設定されています。Toolを選択すると、コードを見ることができます。Editorペインでは、PySide2またはPyQt5インターフェイスを作成、編集、および削除できます。Panelのインタフェースメニューの項目と、Houdiniペインのタブメニューの項目を管理することもできます。パネルには、試すことができるサンプルコードが付属しています。VEXVEXは、Houdiniの多くの場所で使用される高性能なエクスプレッション言語です(シェーダの作成など)。++コードに近いパフォーマンスを提供します。VEXはスクリプティングの代替手段ではなく、むしろ、シェーダとカスタムノードを作成するための、より小さく、より効率的な汎用言語です。++やRenderManシェーディング言語からアイデアを取り入れています。SOPでは、ポインアトリビュートを操作するカスタムサーフェスノードを作成できます。これは、ポイントを移動したり、速度を調整したり、色を変えたりすることができます。ポイントをグループ化したり、他の多くの便利なタスクを実行することができます。Mantraはすべてのシェーディング計算にVEXを使用します。これにはライト、サーフェス、ディスプレイスメント、フォグシェーダが含まれます。COPを使用すると、複雑なカスタムCOPをVEXに書き込むことができます。COPより1000倍高速に実行されます。CHOPを使用すると、カスタムCHOPを作成できます。CHOP機能は、任意の数の入力チャンネルを操作し、任意の方法でチャンネルデータを処理することができます。++コードより速く実行できます。プロシージャルなファーの挙動はVEXで実装されています。VOPSVEXを使用したいけどコードを書きたくない場合は、VOPコンテキストを使用してノードベースのインタフェースを使用することができます。VOPノードの中に入り、VEXコードを作成するためにVOPコードを使用することで、SOPコンテキストで行うことができます。パラメータvopsを使用して、SOPレベルで使用可能なフロートスライダなどのインタフェース要素を構築できます。これにより、VOPレベルに戻ることなくVEXコードを実行することができます。WrangleのようなWrangleノードを使用することもできます。このWrangleノードは、VEXに精通しているプログラマーがアトリビュートを調整できるようにする低レベルノードを提供します。チャネル、ボリューム、およびデフォメーションを処理するためのWrangleノードもあります。wrangleノードを使って作業する方法を学ぶことに興味をお持ちの場合、Entagma.comをご参照ください。多くの素晴らしいチュートリアルがあります。一般的なコンテンツを作成するより技術的なアプローチですが、アーティスト的な発想です。コンパイルブロックジオメトリネットワーク[SOP]では、ネットワークの一部をコンパイルブロックの中に置くことができ、コードを記述した場合と同じくらい効率的に機能します。この方法は、ネットワークの仕組みにいくつかの制限を課しますが、適切な状況では潜在的に大きな利益をもたらす可能性があります。++ライブラリと同じ包括的セットであるHDKを使用することです。HDKを使用すると、Houdiniインターフェイスのさまざまな領域をカスタマイズするプラグインを作成できます。開発キットでできることのいくつかの例を以下に示します。[HDK]を選択します。サポートまでお問い合わせ下さい。