izhoudiniどうも篠島です。ついて説明したいと思いますす。izhoudini前回に引き続きネットワークエディタで使える便利な機能など説明します。izhoudiniどうも篠島です。前回に引き続きネットワークエディタの変更点を紹介していきます。izhoudiniこんにちは篠島です。H16のリリースの21日まであと僅かとなりました。そこでHoudini16での新機能の幾つかに注目してみたいと思います。今回は主にネットワークエディタの変更について説明します。izhoudiniHoudini14から一部ショートカットが変更されています。Houdini14では追加選択がShift+左クリック、選択解除がCtrl+左クリック、選択状態の反転がCtrl+Shift+左クリックになっています。Houdini13までは追加選択がCtrl+Shift+左クリック、選択解除がCtrl+左クリック、選択状態の反転がShift+左クリックでした。ループ選択の方法が変更されています。部分ループは、コンポーネントを選択してAキーを押したまま別のコンポーネントを左クリックします。全ループは、コンポーネントを選択してAキーを押したまま、ループさせる方向にある別のコンポーネントを中クリックします。=選択したオブジェクトのビューポートでのサブディビジョン表示を有効にします。Suraceへのショートカットです。選択したオブジェクトのビューポートでのサブディビジョン表示を無効にします。ハンドル表示を拡大します。ハンドル表示を縮小します。ジオメトリグループ選択モードになります。ショートカットを押す度に、前側ピック、後側ピック、両側ピックのモードに切り替わります。選択スタイルをボックスに切り替えます。選択スタイルをラッソに切り替えます。選択スタイルをブラシに切り替えます。選択スタイルをレーザーに切り替えます。ハンドルモードを逆方向に切り替えます(Yは順方向)。HScriptエクスプレッションを使用した際には、Ctrl+スペースで自動補完が機能します。Houdini13までは、HScriptエクスプレッションを使用した際に、”$”を入力して少し待てば、そのノードで使用可能な変数すべての一覧が表示されました。Houdini14からは、”$”を入力した後にCtrl+スペースを押すことで、そのノードで使用可能な変数すべての一覧が表示されるようになっています。izhoudiniデフォルトでのHoudiniの環境設定ファイルはホームディレクトリに格納されます。HOMEシステム環境変数を変更していなければ以下のフォルダが環境設定ファイルの保存場所になります。/Users/{ユーザー名}/Library/Preferences/houdini/{バージョン名}です。)Linuxの場合:/home/{ユーザー名}/houdini{バージョン名}に格納されます。Houdini14からは、その環境設定ファイルの場所を示すシステム環境変数HOUDINI_USER_PREF_DIRが追加されました。この環境変数を利用することで、Houdiniの環境設定ファイルの場所を変更することができるようになりました。設定ファイルの保存場所\__HVER__と定義します。C:\HoudiniSetting\__HVER__とかC:\HoudiniSetting\Houdini__HVER__などのように設定します。”__HVER__”を付けてください。__はアンダースコア2つです。Houdiniが自動的に”__HVER__”をHoudiniのバージョン番号に置換します。設定が終わりましたら、OSを再起動します。Houdiniを起動すると、HOUDINI_USER_PREF_DIRの場所に設定ファイルが生成されます。MacやLinuxはお使いのシェル環境に合わせて環境変数を設定してください。TerminalからHoudiniを起動させる必要があります。izhoudini配列や文字列の処理に関するVOPが増えています。steerweightアトリビュートでステアリングフォースを乗算して、合計のsteerweightで正規化します。ディスクファイルに保存したボリュームプリミティブのセットによって位置を移流させます。エージェントアトリビュートに読み込んだアニメーションクリップすべてを返します。エージェントのアニメーションクリップの長さ(秒)を返します。エージェントプリミティブの現行アニメーションクリップを返します。特定の時間でのエージェントのアニメーションクリップをサンプリングします。エージェントプリミティブのアニメーションクリップの現行時間を返します。エージェントプリミティブのアニメーションクリップのブレンドウェイトを返します。エージェントプリミティブのアニメーションクリップのトランスフォームをローカル空間とワールド空間で変換します。エージェントのレイヤーにある各形状とバインドされているトランスフォームを返します。エージェントの現行レイヤーや衝突レイヤーの名前を返します。エージェントプリミティブのレイヤーが参照する形状の名前を返します。エージェントプリミティブに読み込まれたレイヤーすべてを返します。エージェントプリミティブのリグのトランスフォームの子トランスフォームを返します。エージェントプリミティブのリグのトランスフォームのインデックスを検索します。エージェントプリミティブのリグのトランスフォームの親トランスフォームを返します。エージェントプリミティブのリグのトランスフォームの数を返します。エージェントプリミティブのリグの各トランスフォームの名前を返します。エージェントプリミティブの現行ローカルまたはワールド空間のトランスフォームを返します。項目を配列または文字列に追加します。ソートされた配列のインデックスのリストを返します。配列の長さを返します。CHOPに接続された4つの入力CHOPのどれかのサンプル値を返します。ユニコードのコードポイントをUTF8文字列に変換します。PBRを使用してライティングを評価します。配列や文字列から項目を検索します。浮動小数点値をMatrix2値へ変換します。浮動小数点値をVector2値へ変換します。配列から指定した項目を取得します。2×2のMatrix2コンポーネントを抽出します。Vector2コンポーネントを抽出します。ディスクに保存されたジオメトリからアトリビュート値を取得します。ディスクに保存されたポイントからアトリビュート値を取得します。ディスクに保存されたプリミティブからアトリビュート値を取得します。ディスクに保存された頂点からアトリビュート値を取得します。配列や文字列に挿入します。光線とジオメトリのすべての交差を計算します。文字列のすべての文字がアルファベットなら1を返します。文字列のすべての文字が数値なら1を返します。配列の文字列すべてを区切り文字を挿入して連結します。2×2のMatrix2を4つのコンポーネントに展開します。2×2のMatrixを3×3のMatrixへ変換します。2×2のMatrixを4×4のMatrixへ変換します。3×3のMatrixを2×2のMatrixへ変換します。4×4のMatrixを2×2のMatrixへ変換します。サブディビジョンハルのフェースの数を返します。サブディビジョンハルの指定したフェースで生成された最初のパッチの番号を返します。サブディビジョンサーフェスの境界上のPointアトリビュートを評価します。サブディビジョンハルのパッチの数を返します。シェーダネットワークの書き込み可能な出力変数となる入力を用意します。ヘアーのプライマリ反射のレンダリング用のBSDFを生成します。ヘアーのセカンダリ反射のレンダリング用のBSDFを生成します。ヘアーの透過のレンダリング用のBSDFを生成します。指定したジオメトリの境界ボックスの最小と最大のコーナーを意味する2つのベクトルを返します。ファイルから最近接ポイントのリストを返します。ファイルから半径を考慮した最近接ポイントのリストを返します。配列の最後の要素を削除して、その要素を返します。文字列から正規表現を検索します。文字列から正規表現の該当項目をすべて検索します。全体の入力文字列が正規表現に合致すると1を返します。検索した正規表現の該当項目を指定した正規表現で置換します。正規表現に基づいて文字列を分割します。配列から指定したインデックスの項目を削除します。配列から項目を削除します。配列や文字列の項目を並べ替えます。配列の順序を逆にします。最大角度の方向の範囲で、単円、球、超球の内側または表面をサンプリングします。エージェントプリミティブの現行アニメーションクリップを設定します。エージェントプリミティブのアニメーションクリップの現行時間を設定します。エージェントプリミティブのアニメーションクリップのブレンドウェイトを設定します。エージェントプリミティブの現行レイヤーまたは衝突レイヤーを設定します。エージェントプリミティブのトランスフォームを上書きします。指定したインデックスにエレメントを設定します。値をMatrix2のコンポーネントのどれかに割り当てます。値をVector2のコンポーネントのどれかに割り当てます。VOPネットワーク(VOPNET)で定義されたVEX関数のシグネチャに表示させるパラメータを作成します。文字列や配列のサブ文字列またはサブ配列をスライスします。昇順でソートされた配列を返します。文字列をトークンに分割します。文字列が指定した文字列で終わっていれば1を返します。文字列の長さを返します。文字列が指定した文字列で始まっていれば1を返します。UTF8文字列をコードポイントに変換します。文字列の先頭と後尾にある空白を取り除きます。親のVOPサブネットの入力を表現します。親のVOPサブネットの出力を表現します。ポイントカラーやカラーマップで付けられた色から基本カラーを生成します。Vector2のコンポーネントを並べ替えます。入力文字列をタイトル文字に変換します。入力文字列を小文字に変換します。入力文字列を大文字に変換します。定義しているものに応じてテクスチャ座標やジオメトリのs,t座標を返します。ベクトルをVector2に変換し、そのベクトルの3番目のコンポーネントを返します。Vector2を2つのコンポーネントに展開します。Vector2をベクトルに変換します。1組のVector2をVector4に変換します。vector4を1組のVector2に変換します。izhoudini群衆とGrain(粒)の処理に関するDOPが増えています。エージェントの頭が向くオブジェクト/位置を選択します。エージェントの頭がターゲットを向くように動かします。二足歩行のエージェントの足を地形に順応させます。エージェント/パーティクルポイントを地形に投影します。独自のステアリングフォースに基づいて群衆エージェントを更新し、アニメーションのクリップ再生を調整します。Stateを定義します。State間の移り変わりを定義します。Triggerを定義します。Triggerを組み合わせて複雑なトリガーを構築します。ワイヤーの数に関係なく、オブジェクトにデータを一度だけ追加します。カーブからフォースを生成します。DOPシミュレーションの終点としてマークします。液体シミュレーションの表面上にパーティクルを浮かせます。砂粒の相互作用をパーティクルに適用します。パーティクルにスピンを設定します。Velocityボリュームの渦度を利用してパーティクルをスピンさせます。エージェント/パーティクルに近隣と揃うようなフォースを適用します。エージェント/パーティクルに他のエージェント/パーティクルと衝突しないようにフォースを適用します。エージェント/パーティクルに近隣に近づくようなフォースを適用します。エージェント/パーティクルにVOPネットワークによるフォースを適用します。エージェント/パーティクルにStaticオブジェクトと衝突しないようにフォースを適用します。エージェント/パーティクルにパスカーブの方向に応じたフォースを適用します。エージェント/パーティクルにターゲットへ向かわせるフォースを適用します。エージェント/パーティクルにお互いを引き離すフォースを適用します。Solverで独自のステアリングフォースを統合するために内部的に使用されます。エージェントVelocityが現在の進行方向から特定の角度範囲内にしか向かないように拘束して、エージェントが逆戻りしないようにします。エージェント/パーティクルにランダムな動きをするフォースを適用します。パーティクルのVelocityを直接変更するノード。SOPジオメトリを使用してソフトボディオブジェクトをペアで一緒に拘束します。ジオメトリに基づいたスプリングリレーションシップを定義します。izhoudiniHoudini14で追加されたSOPノードの一覧です。VOPという名前に変更されております。エージェントプリミティブを作成します。エージェントプリミティブのプロパティを編集します。エージェントの頭が指定したオブジェクトや位置に向くように調整します。他の群衆ノードで使用する色々な共通Pointアトリビュートをエージェントに追加します。エージェントを別の表示に変更します。アトリビュートを削除します。アトリビュートを補間します。多様に分布したランダムなアトリビュート値を生成します。Houdini13のAttributeノードの事です。UVを使ってアトリビュートを転送します。