Houdini 18.5

hapi package

HAPI APIのPythonラッパー。

On this page

hapiパッケージには、Houdini Engine C APIをPythonでラップしたクラスと関数が含まれています。

Houdini Engineとは、Houdiniデジタルアセットをホストアプリケーションの内部で直接使用できるようにするAPIです。 これによって、アーティストは自分が最も快適に作業できる環境下でHoudiniのパワーを直接活用することができます。

技術的な観点では、Houdini Engineはバイナリ互換のために設計されたC APIです。 コンパイラの選択やバージョンが違っても、Houdini Engineをホストアプリケーションに統合することができます。 例えば、Houdini EngineはネイティブのC++アプリケーションだけでなくC#やPythonなど両方で管理された環境に統合することができます。

最後にC++ HDKを比較すると、Houdini Engineは学習が簡単になるように平坦で小さなAPIになっています。

Tip

エンジンのインテグレーションを作成する場合、HARSの代わりにインタラクティブHoudiniのライブセッションに接続する方が非常に便利です。 これはHoudini Engine SessionSyncを使用して行なうことができます。

Tip

Houdini Engine C APIドキュメントは、Python APIを使用する時でも、同じ概念と関数が当てはまるので役に立ちます。

はじめよう

To...Do this

セッションを作成する

セッションはHARS実行可能ファイル(完全にヘッドレスのHoudini)のインスタンスです。 HARSを自動的に起動してそれに接続することができます。

import hapi
options = hapi.ThriftServerOptions()
process_id = hapi.startThriftSocketServer(options, 9090)
session = hapi.createThriftSocketSession('localhost', 9090)

セッションに接続する

セッションはHARS実行可能ファイル(完全にヘッドレスのHoudini)のインスタンスです。 SessionSyncをアクティブにして実行中されているHoudiniインスタンスをセッションにすることも可能です。 名前付きパイプ(Named Pipe:例えば、/tmp/hapi)またはTCPソケット接続(例えば、localhost:9090)を使用してセッションに接続することができます。

import hapi
session = hapi.createThriftSocketSession('localhost', 9090)
cook_options = hapi.CookOptions()
hapi.initialize(session, options)

HDAを読み込む

HDAファイルがサーバーにアクセス可能であれば、hapi.loadAssetLibraryFromFileを使ってそのHDAを読み込むことができます。 HDAファイルがクライアントにしかアクセスできないのであれば、hapi.loadAssetLibraryFromMemoryを使ってそのHDAをバイトとして送信することができます。

# myhda.hdaを送信できるようにするために、そのHDAをメモリに読み込みます。
hda_bytes = open('/tmp/myhda.hda', 'rb').read()
lib_id = hapi.loadAssetLibraryFromMemory(session, hda_bytes,
    len(hda_bytes), True)

ノードを作成する

# `MyType`というSOPタイプを定義したアセットが読み込まれていると仮定します。
node_id = hapi.createNode(session, -1, 'Sop/MyType')

# その新しいノードのhapi.NodeInfoを取得します。
node_info = hapi.getNodeInfo(session, node_id)

# 文字列を取得するために2つの手順を踏みます。
str_len = hapi.getStringBufLength(session, node_info.nameSH)
node_name = hapi.getString(session, node_info.nameSH, str_len)

print('Created {}'.format(node_name))

シーンデータをファイルに保存する。

シーンの問題をデバッグする時にそのシーンのhipファイルをユーザが保存できれば非常に便利です。

hapi.saveHIPFile(session, '/tmp/debug.hip')
hapi.saveGeoToFile(session, node_id, '/tmp/debugGeo.bgeo.sc')

次のステップ

APIリファレンス

classes

  • hapi.AssetInfo

    hapi.getAssetInfoが返すHDAに関するメタデータ。

  • hapi.AttributeInfo

    アトリビュートを表現したメタデータ。

  • hapi.BoxInfo

    ボックスパートのデータ。

  • hapi.CookOptions

    ノードがクックされる方法に影響を与えるオプション。

  • hapi.CurveInfo

    カーブメッシュに関連付けられているメタデータ(同じタイプのカーブの数)を示します。

  • hapi.GeoInfo

    SOPノードのメタデータ。

  • hapi.HandleBindingInfo

    ハンドルパラメータとアセットパラメータをマッピングしたバインド情報が含まれています。

  • hapi.HandleInfo

    ハンドルのタイプ(translate, rotate, scale, softxformなど)や現行ハンドルがバインドされているパラメータの数などのハンドル情報が含まれています。

  • hapi.ImageFileFormat

    hapi.getSupportedImageFileFormatsで使用される画像フォーマットを示します。

  • hapi.ImageInfo

    hapi.getImageInfoやhapi.setImageInfoで使用される画像のデータ。

  • hapi.Keyframe

    単一キーフレームのデータ。

  • hapi.MaterialInfo

    hapi.MaterialInfoクラス。

  • hapi.NodeInfo

    Houdiniノードのメタデータ。

  • hapi.ObjectInfo

    OBJノードのメタデータ。

  • hapi.PDG_EventInfo

    PDGイベント関連のデータ。

  • hapi.PDG_WorkitemInfo

    PDGワークアイテムの情報。

  • hapi.PDG_WorkitemResultInfo

    PDG File Resultのデータ。

  • hapi.ParmChoiceInfo

    コンボボックス/選択パラメータのメタデータ。

  • hapi.ParmInfo

    名前、ラベル、タイプ、サイズなどのパラメータ情報が含まれています。

  • hapi.PartInfo

    ジオメトリパートを表現したメタデータ。

  • hapi.Session

    セッションを調べます。

  • hapi.SessionSyncInfo

    Houdiniと他のアプリケーション間の一般的なSessionSync状態を同期化するための情報が含まれています。

  • hapi.SphereInfo

    球パートのデータ。

  • hapi.ThriftServerOptions

    HARCから起動されるThriftサーバーを設定するオプション。

  • hapi.TimelineOptions

    hapi.setTimelineOptionsで使用されるグローバルタイムラインのデータ。

  • hapi.Transform

    クォータニオン回転によるトランスフォーム。

  • hapi.TransformEuler

    オイラー回転によるトランスフォーム。

  • hapi.Viewport

    Houdiniと他のアプリケーション間でビューポートを同期化するための情報が含まれています。

  • hapi.VolumeInfo

    これは、ボリュームプリミティブを表現していますが、実際のボクセル値は含まれていません。ボクセル値はタイル基準で取得することができます。

  • hapi.VolumeTileInfo

    hapi.VolumeTileInfoはボリュームの3次サブ配列を表現します。

  • hapi.VolumeVisualInfo

    ボリュームの視覚的設定を示します。

functions

  • hapi.addAttribute

    アトリビュートを追加します。

  • hapi.addGroup

    指定したタイプと名前のグループを入力ジオメトリに追加します。

  • hapi.bindCustomImplementation

    新しく実装したDLLをカスタムセッションスロットのどれかにバインドします。

  • hapi.cancelPDGCook

    PDGクックオペレーションをキャンセルします。

  • hapi.checkForSpecificErrors

    ノードのエラーコードから特定のエラーを再帰的にチェックします。

  • hapi.cleanup

    メモリをクリーンアップします。

  • hapi.clearConnectionError

    接続エラーをクリアします。

  • hapi.closeSession

    セッションを閉じます。

  • hapi.commitGeo

    クックエンジンの現行入力ジオメトリを確定します。

  • hapi.commitWorkitems

    保留中のワークアイテムを確定します。

  • hapi.composeChildNodeList

    指定したフィルターに基づいて子ノードのリストを作成します。

  • hapi.composeNodeCookResult

    指定したノードのクック結果文字列(エラーと警告)を生成します。

  • hapi.composeObjectList

    指定した親ノードIDに基づいて子オブジェクトノードのリストを作成します。

  • hapi.connectNodeInput

    2つノード間を接続します。

  • hapi.convertMatrixToEuler

    4×4行列をTRS形式に変換します。

  • hapi.convertMatrixToQuat

    4×4行列をTRS形式に変換します。

  • hapi.convertTransform

    hapi.TransformEuler構造体で表現されたトランスフォームを色々なトランスフォーム順と回転順に変換します。

  • hapi.convertTransformEulerToMatrix

    hapi.TransformEulerを4×4トランスフォーム行列に変換します。

  • hapi.convertTransformQuatToMatrix

    hapi.Transformを4×4トランスフォーム行列に変換します。

  • hapi.cookNode

    このノード上でクックを開始します。

  • hapi.cookPDG

    PDGのクックオペレーションを開始します。

  • hapi.createHeightFieldInput

    Height Field入力に必須のノード階層を作成します。

  • hapi.createHeightfieldInputVolumeNode

    Height Fieldに使用可能なボリューム入力ノードを作成します。

  • hapi.createInProcessSession

    インプロセスで新しいセッションを作成します。

  • hapi.createInputNode

    ジオメトリ入力を受け取ることができる単純なジオメトリSOPノードを作成します。

  • hapi.createNode

    ノードネットワーク内にノードを作成します。

  • hapi.createThriftNamedPipeSession

    Windowsの名前付きパイプ(Named Pipe)またはUNIXのドメインソケットをトランスポートとして使用してThrift RPCセッションを作成します。

  • hapi.createThriftSocketSession

    TCPソケットをトランスポートとして使用してThrift RPCセッションを作成します。

  • hapi.createWorkitem

    指定したノードから新しい保留ワークアイテムを作成します。

  • hapi.deleteAttribute

    入力ジオメトリからアトリビュートを削除します。

  • hapi.deleteGroup

    指定したタイプと名前のグループを入力ジオメトリから削除します。

  • hapi.deleteNode

    ノードネットワークからノードを削除します。

  • hapi.dirtyPDGNode

    指定したノードをDirty(変更あり)にします。

  • hapi.disconnectNodeInput

    ノード入力を接続解除します。

  • hapi.disconnectNodeOutputsAt

    ノードの出力インデックスでのすべての出力を接続解除します。

  • hapi.extractImageToFile

    レンダリングした画像をファイルに抽出します。

  • hapi.extractImageToMemory

    レンダリングした画像をメモリに抽出します。

  • hapi.getActiveCacheCount

    現在アクティブなキャッシュの数を取得します。

  • hapi.getActiveCacheNames

    現在アクティブなキャッシュの名前を取得します。

  • hapi.getAssetDefinitionParmCounts

    アセットライブラリに含まれているアセットパラメータの数、パラメータのint/float/stringの数、選択した値の数を取得します。

  • hapi.getAssetDefinitionParmInfos

    指定したアセットライブラリ内の指定したアセットのパラメータ情報でhapi.ParmInfo構造体の配列を埋めます。

  • hapi.getAssetDefinitionParmValues

    指定したアセットライブラリ内の指定したアセットのパラメータのint/float/string値と選択した値でパラメータの配列を埋めます。

  • hapi.getAssetInfo

    ノードからasset_info構造体を埋めます。

  • hapi.getAttributeFloat64ArrayData

    配列アトリビュートの64ビット浮動小数点データを取得します。

  • hapi.getAttributeFloat64Data

    64ビットアトリビュート浮動小数点データを取得します。

  • hapi.getAttributeFloatArrayData

    配列アトリビュートの浮動小数点データを取得します。

  • hapi.getAttributeFloatData

    アトリビュートの浮動小数点データを取得します。

  • hapi.getAttributeInfo

    名前で指定されたアトリビュートからアトリビュート情報の構造体を取得します。

  • hapi.getAttributeInt64ArrayData

    配列アトリビュートの64ビット整数データを取得します。

  • hapi.getAttributeInt64Data

    アトリビュートの64ビット整数データを取得します。

  • hapi.getAttributeIntArrayData

    配列アトリビュートの整数データを取得します。

  • hapi.getAttributeIntData

    アトリビュートの整数データを取得します。

  • hapi.getAttributeNames

    アトリビュートオーナーを指定してアトリビュート名のリストを取得します。

  • hapi.getAttributeStringArrayData

    配列アトリビュートの文字列データを取得します。

  • hapi.getAttributeStringData

    アトリビュートの文字列データを取得します。

  • hapi.getAvailableAssetCount

    アセットライブラリに含まれているアセットの数を取得します。

  • hapi.getAvailableAssets

    アセットライブラリに含まれているアセットの名前を取得します。

  • hapi.getBoxInfo

    ジオメトリパート(これがボックスなら)のボックス情報を取得します。

  • hapi.getCacheProperty

    現行Houdiniコンテキスト内のメモリキャッシュ別に特定のプロパティを検査することができます。

  • hapi.getComposedChildNodeList

    以前のhapi.composeChildNodeListコールから構成された子ノードIDのリストを取得します。

  • hapi.getComposedNodeCookResult

    単一ノードのクック結果文字列メッセージを返します。

  • hapi.getComposedObjectList

    hapi.ObjectInfo構造体の配列を埋めます。

  • hapi.getComposedObjectTransforms

    hapi.Transform構造体の配列を埋めます。

  • hapi.getConnectionError

    接続エラーメッセージを返します。

  • hapi.getConnectionErrorLength

    接続エラーメッセージが格納された文字列バッファの長さを返します。

  • hapi.getCookingCurrentCount

    現行セッションで既にクックされたノードの現在の数を取得します。

  • hapi.getCookingTotalCount

    現行セッションでクックする必要のあるノードの総数を取得します。

  • hapi.getCurveCounts

    パート内の各カーブの頂点数を取得します。

  • hapi.getCurveInfo

    カーブに関するメタデータ(カーブのタイプ、階数、周期性を含む)を取得します。

  • hapi.getCurveKnots

    このパート内のカーブのノットを取得します。

  • hapi.getCurveOrders

    カーブの階数が可変する場合にパート内の各カーブの階数を取得します。

  • hapi.getDisplayGeoInfo

    Objectノード内のディスプレイジオメトリ(SOP)ノードを取得します。

  • hapi.getEnvInt

    バージョン番号など特定の環境整数を取得します。

  • hapi.getFaceCounts

    フェースの配列を取得します。その配列内のn番目の整数は、n番目のフェースが所有している頂点数です。

  • hapi.getFirstVolumeTile

    8×8×8区画のボリュームに基づいてそのボリュームをループします。

  • hapi.getGeoInfo

    SOPノード上のジオメトリ情報の構造体(::HAPI_GeoInfo)を取得します。

  • hapi.getGeoSize

    指定した書式でジオメトリの現行状態をメモリにキャッシュ化し、そのサイズを返します。

  • hapi.getGroupCountOnPackedInstancePart

    指定したパックインスタンスパートのグループ数を取得します。

  • hapi.getGroupMembership

    グループメンバーシップを取得します。

  • hapi.getGroupMembershipOnPackedInstancePart

    パックインスタンスパートのグループメンバーシップを取得します。

  • hapi.getGroupNames

    ジオメトリ全体のグループ名を取得します。

  • hapi.getGroupNamesOnPackedInstancePart

    パックインスタンスパートのグループ名を取得します。

  • hapi.getHIPFileNodeCount

    .hipファイルを読み込んだ結果として作成されたノードの数を取得します。

  • hapi.getHIPFileNodeIds

    HAPI_HIPFileIdで指定されたHIPファイルを読み込んだ結果として作成されたノードのHAPI_NodeIdsの配列を取得します。

  • hapi.getHandleBindingInfo

    指定したノード上の特定のハンドルのバインドに関する情報でhapi.HandleBindingInfo構造体の配列を埋めます。

  • hapi.getHandleInfo

    ノード上に露出されたすべてのユーザ操作ハンドルに関する情報でhapi.HandleInfo構造体の配列を埋めます。

  • hapi.getHeightFieldData

    地形ボリュームのHeight Fieldデータを平坦な浮動小数点高さの2D配列として取得します。

  • hapi.getImageFilePath

    この画像の保存先となるファイル名を取得します。

  • hapi.getImageInfo

    解像度やデフォルトファイルフォーマットなどのレンダリングされた画像に関する情報を取得します。

  • hapi.getImageMemoryBuffer

    抽出した画像バッファを割り当て先のバッファに埋めます。

  • hapi.getImagePlaneCount

    レンダリングされた画像の画像平面の数を取得します。

  • hapi.getImagePlanes

    レンダリングされた画像から画像平面の名前を取得します。

  • hapi.getInstanceTransformsOnPart

    指定したパートのこのインスタンサーオブジェクトのインスタンス毎のトランスフォームでhapi.Transform構造体の配列を埋めます。

  • hapi.getInstancedObjectIds

    Instance OBJノードによってインスタンス化されているオブジェクトのノードIDを取得します。

  • hapi.getInstancedPartIds

    このインスタンサーパートがインスタンス化しているパートIDを取得します。

  • hapi.getInstancerPartTransforms

    hapi.getInstancedPartIdsから取得したインスタンス化されるパートをインスタンス化する際のインスタンサーパートのトランスフォームのリストを取得します。

  • hapi.getManagerNodeId

    特定のネットワークタイプ(例えば、OBJ)のルートノードを取得します。

  • hapi.getMaterialInfo

    マテリアル情報を取得します。

  • hapi.getMaterialNodeIdsOnFaces

    フェース/プリミティブ単位でマテリアルIDsを取得します。

  • hapi.getNextVolumeTile

    8×8×8区画のボリュームに基づいてそのボリュームをループします。

  • hapi.getNodeInfo

    hapi.NodeInfo構造体を埋めます。

  • hapi.getNodeInputName

    ノードの入力の名前を取得します。

  • hapi.getNodeOutputName

    ノードの出力の名前を取得します。

  • hapi.getNodePath

    Houdiniノードネットワークの絶対パスまたは他のノードを基準とした相対パスでノードパスを取得します。

  • hapi.getNumWorkitems

    指定したノード上で利用可能なワークアイテムの数を取得します。

  • hapi.getObjectInfo

    OBJノードのオブジェクト情報を取得します。

  • hapi.getObjectTransform

    OBJノードのトランスフォームを取得します。

  • hapi.getOutputNodeId

    SOPネットワーク内の出力ノードのノードIDを取得します。

  • hapi.getPDGEvents

    収集されたPDGイベントを返します。

  • hapi.getPDGGraphContextId

    指定したTOPノードのPDGグラフコンテキストを取得します。

  • hapi.getPDGGraphContexts

    PDGグラフコンテキストの名前とそのIDの配列を返します。

  • hapi.getPDGState

    PDGグラフの状態を取得します。

  • hapi.getParameters

    アセットインスタンスノードからのパラメータ情報でhapi.ParmInfo構造体の配列を埋めます。

  • hapi.getParmChoiceLists

    アセットインスタンスノードからパラメータ選択リスト情報でhapi.ParmChoiceInfo構造体の配列を埋めます。

  • hapi.getParmExpression

    パラメータ名で整数または浮動小数点の単一パラメータエクスプレッションを取得します。

  • hapi.getParmFile

    パラメータ上のパスで指定されたファイルを抽出します。

  • hapi.getParmFloatValue

    パラメータ名で浮動小数点の単一パラメータ値を取得します。

  • hapi.getParmFloatValues

    浮動小数点パラメータ値の配列を埋めます。

  • hapi.getParmIdFromName

    どのパラメータAPIもHAPI_ParmIdが必要ですが、操作したいパラメータの名前が分かっているなら、この関数を使用することで、指定した名前からHAPI_ParmIdを取得することができます。

  • hapi.getParmInfo

    パラメータIDで指定されたパラメータのパラメータ情報を取得します。

  • hapi.getParmInfoFromName

    パラメータ名で指定されたパラメータのパラメータ情報を取得します。

  • hapi.getParmIntValue

    パラメータ名で指定された単一整数パラメータ値を取得します。

  • hapi.getParmIntValues

    整数パラメータ値の配列を埋めます。

  • hapi.getParmNodeValue

    Op Pathパラメータから単一パラメータのノードID値を取得します。

  • hapi.getParmStringValue

    パラメータ名で指定された単一文字列パラメータ値を取得します。

  • hapi.getParmStringValues

    文字列パラメータハンドルの配列を埋めます。

  • hapi.getParmTagName

    パラメータ上の指定したインデックスのタグ名を取得します。

  • hapi.getParmTagValue

    パラメータ上の指定したタグ名のタグ値を取得します。

  • hapi.getParmWithTag

    指定したタグ名(固有な名前が理想)を持つ最初のパラメータを取得します。

  • hapi.getPartInfo

    特定のパート情報の構造体を取得します。

  • hapi.getPreset

    指定したアセット用のプリセットを生成します。

  • hapi.getPresetBufLength

    すべてのパラメータ値の現行状態からプリセットの塊を生成し、それをキャッシュ化して、そのサイズ(単位はバイト)を返します。

  • hapi.getServerEnvInt

    サーバープロセスから環境変数を整数として取得します。

  • hapi.getServerEnvString

    サーバープロセスから環境変数を文字列として取得します。

  • hapi.getServerEnvVarCount

    サーバー環境のプロセス内に存在する環境変数の数を取得します。

  • hapi.getServerEnvVarList

    サーバーのプロセス内のすべての環境変数のリストを取得します。

  • hapi.getSessionEnvInt

    使用中の現行ライセンスタイプなど特定のセッション特有の環境整数を取得します。

  • hapi.getSessionSyncInfo

    HoudiniとHoudini Engineインテグレーション間でSessionSync状態を同期化するためのhapi.SessionSyncInfoを取得します。

  • hapi.getSphereInfo

    (ジオメトリパートが球の場合に)ジオメトリパート上の球情報を取得します。

  • hapi.getStatus

    特定のステータスタイプのステータスコードを取得します。

  • hapi.getStatusString

    ステータスの文字列メッセージを返します。

  • hapi.getStatusStringBufLength

    ステータスの文字列メッセージが格納された文字列バッファの長さを返します。

  • hapi.getString

    指定した文字列ハンドルの値を取得します。

  • hapi.getStringBatch

    指定した文字列ハンドルの値を取得します。

  • hapi.getStringBatchSize

    指定した文字列ハンドルをNull区切りしたすべての値を格納するのに必要なバッファの長さを取得します。

  • hapi.getStringBufLength

    指定したハンドルの文字列長を取得します。

  • hapi.getSupportedImageFileFormatCount

    対応しているテクスチャファイルフォーマットの数を取得します。

  • hapi.getSupportedImageFileFormats

    対応している画像ファイルフォーマットのリスト(フォーマットの名前、説明、認識される拡張子のリスト)を取得します。

  • hapi.getTime

    シーンのグローバル時間を取得します。

  • hapi.getTimelineOptions

    現行グローバルタイムラインオプションを取得します。

  • hapi.getTotalCookCount

    指定したノード(指定があれば子ノードを含む)の合計のクック回数を取得します。

  • hapi.getUseHoudiniTime

    Houdiniセッションがデータをクックして取得する際にHoudiniの現行時間を使用するかどうかを返します。

  • hapi.getVertexList

    頂点ポイントを含んだ配列(この配列内のi番目の要素がi番目の頂点に関連付けられているポイントインデックス)を取得します。

  • hapi.getViewport

    SessionSyncでビューポートを同期化するためのhapi.Viewport情報を取得します。

  • hapi.getVolumeBounds

    ボリュームの境界値を取得します。

  • hapi.getVolumeInfo

    ボリュームプリミティブに関するメタデータ(トランスフォーム、位置、スケール、テーパー、解像度を含む)を取得します。

  • hapi.getVolumeTileFloatData

    タイルが示すボクセルの浮動小数点値を取得します。

  • hapi.getVolumeTileIntData

    タイルが示すボクセルの整数値を取得します。

  • hapi.getVolumeVisualInfo

    ボリュームのビジュアライゼーション用メタデータを取得します。

  • hapi.getVolumeVoxelFloatData

    指定したインデックスにおけるボクセルの浮動小数点値を取得します。

  • hapi.getVolumeVoxelIntData

    指定したインデックスにおけるボクセルの整数値を取得します。

  • hapi.getWorkitemDataLength

    ワークアイテムデータメンバーの長さを取得します。

  • hapi.getWorkitemFloatData

    ワークアイテムメンバーから浮動小数点データを取得します。

  • hapi.getWorkitemInfo

    IDで指定されたワークアイテムの情報を取得します。

  • hapi.getWorkitemIntData

    ワークアイテムメンバーから整数データを取得します。

  • hapi.getWorkitemResultInfo

    ワークアイテム結果の情報を取得します。

  • hapi.getWorkitemStringData

    ワークアイテムメンバーから文字列IDsを取得します。

  • hapi.getWorkitems

    指定したノードのワークアイテムIDsのリストを取得します。

  • hapi.initialize

    アセットマネージャを作成し、環境変数をセットアップして、メインのHoudiniシーンを初期化します。

  • hapi.insertMultiparmInstance

    マルチパラメータのインスタンスをinstance_positionの前に挿入します。

  • hapi.interrupt

    クックまたはロードの操作を中断します。

  • hapi.isInitialized

    ランタイムが既にhapi.initializeを使用して初期化されているかどうかを確認します。

  • hapi.isNodeValid

    ノードのインスタンスが実際にまだHoudiniシーン内に存在しているかどうか確認します。

  • hapi.isSessionValid

    hapi.Session.idで指定されたセッションがhapi.Session.typeで指定された実装で開かれた有効なセッションなのかどうかを確認します。

  • hapi.loadAssetLibraryFromFile

    .otlファイルからHoudiniアセットライブラリ(OTL)を読み込みます。

  • hapi.loadAssetLibraryFromMemory

    メモリからHoudiniアセットライブラリ(OTL)を読み込みます。

  • hapi.loadGeoFromFile

    ファイルからジオメトリを読み込んで、その内容をSOPノードに格納します。

  • hapi.loadGeoFromMemory

    メモリからジオメトリを読み込んで、その内容をSOPノードに格納します。

  • hapi.loadHIPFile

    メインのHoudiniシーンに.hipファイルを読み込みます。

  • hapi.loadNodeFromFile

    指定したファイルを読み込んで、以前に保存されたノードとそのすべての内容を生成します。

  • hapi.mergeHIPFile

    メインのHoudiniシーンに.hipファイルを読み込みます。

  • hapi.parmHasExpression

    パラメータがエクスプレッションを持っているかどうかを確認します。

  • hapi.parmHasTag

    パラメータが特定のタグを持っているかどうかを確認します。

  • hapi.pausePDGCook

    PDGクック操作を中止します。

  • hapi.pythonThreadInterpreterLock

    Pythonインタープリターのロックを確保または解放します。

  • hapi.queryNodeInput

    他のノードの入力に接続されているノードを照会します。

  • hapi.queryNodeOutputConnectedCount

    指定したノードの出力インデックスに現在接続されているノードの数を取得します。

  • hapi.queryNodeOutputConnectedNodes

    指定したノードの出力インデックスに現在接続されているノードのIDsを取得します。

  • hapi.removeCustomString

    指定した文字列をサーバーから削除し、そのハンドルを無効化します。

  • hapi.removeMultiparmInstance

    instance_positionで指定されたマルチパラメータのインスタンスを削除します。

  • hapi.removeParmExpression

    エクスプレッション文字列を削除し、そのパラメータの値をそのエクスプレッションの現行値で残します。

  • hapi.renameNode

    作成したノードの名前を変更します。

  • hapi.renderCOPToImage

    後工程用にCOPから単一テクスチャを画像に書き出します。

  • hapi.renderTextureToImage

    後工程用に単一テクスチャのみを画像に書き出します。

  • hapi.resetSimulation

    アセットのシミュレーションキャッシュをリセットします。

  • hapi.revertGeo

    このジオメトリに確定されたすべての変更を削除します。

  • hapi.revertParmToDefault

    パラメータ名で指定された単一パラメータをデフォルトに戻します。

  • hapi.revertParmToDefaults

    パラメータ名で指定されたパラメータのすべてのインスタンスをデフォルトに戻します。

  • hapi.saveGeoToFile

    ジオメトリをファイルに保存します。

  • hapi.saveGeoToMemory

    キャッシュ化されたジオメトリをメモリのバッファに保存します。

  • hapi.saveHIPFile

    現行Houdiniシーンの.hipファイルを保存します。

  • hapi.saveNodeToFile

    ノードとそのすべての内容をファイルに保存します。

  • hapi.setAnimCurve

    露出されたノードのパラメータにアニメーションカーブを設定します。

  • hapi.setAttributeFloat64Data

    64ビット浮動小数点アトリビュートデータを設定します。

  • hapi.setAttributeFloatData

    浮動小数点アトリビュートデータを設定します。

  • hapi.setAttributeInt64Data

    64ビット整数アトリビュートデータを設定します。

  • hapi.setAttributeIntData

    整数アトリビュートデータを設定します。

  • hapi.setAttributeStringData

    文字列アトリビュートデータを設定します。

  • hapi.setCacheProperty

    現行Houdiniコンテキスト内の別々のメモリキャッシュの特定のプロパティを変更することができます。

  • hapi.setCurveCounts

    パート内の各カーブの頂点数を設定します。

  • hapi.setCurveInfo

    カーブメッシュにメタデータ(カーブのタイプ、階数、周期性を含む)を設定します。

  • hapi.setCurveKnots

    このパート内のカーブのノットを設定します。

  • hapi.setCurveOrders

    カーブの階数を可変させる場合、パート内の各カーブの階数を設定します。

  • hapi.setCustomString

    指定した文字列を文字列テーブルに追加して、そのハンドルを返します。

  • hapi.setFaceCounts

    フェースの配列(この配列内のn番目の整数はn番目のフェースが持っている頂点の数です)を設定します。

  • hapi.setGroupMembership

    グループメンバーシップを設定します。

  • hapi.setHeightFieldData

    平坦な浮動小数点の2D配列の値で地形ボリュームのHeight Fieldデータを設定します。

  • hapi.setImageInfo

    解像度やファイルフォーマットなどの画像情報を設定します。

  • hapi.setNodeDisplay

    指定したノードのディスプレイフラグを設定します。

  • hapi.setObjectTransform

    個々のオブジェクトのトランスフォームを設定します。

  • hapi.setParmExpression

    エクスプレッション文字列を設定(プッシュ)します。

  • hapi.setParmFloatValue

    パラメータ名で指定された単一浮動小数点パラメータの値を設定します。

  • hapi.setParmFloatValues

    浮動小数点パラメータ値の配列を設定(プッシュ)します。

  • hapi.setParmIntValue

    パラメータ名で指定された単一整数パラメータの値を設定します。

  • hapi.setParmIntValues

    整数パラメータ値の配列を設定(プッシュ)します。

  • hapi.setParmNodeValue

    Op PathパラメータのノードIDパラメータ値を設定します。

  • hapi.setParmStringValue

    文字列値を設定(プッシュ)します。

  • hapi.setPartInfo

    メインのパート情報の構造体(::HAPI_PartInfo)を設定します。

  • hapi.setPreset

    指定したプリセットを特定のアセットに設定します。

  • hapi.setServerEnvInt

    サーバープロセス用の整数型の環境変数を設定します。

  • hapi.setServerEnvString

    サーバープロセス用の文字列型の環境変数を設定します。

  • hapi.setSessionSync

    SessionSyncモードを有効または無効にします。

  • hapi.setSessionSyncInfo

    HoudiniとHoudini Engineインテグレーション間でSessionSync状態を同期化するためのhapi.SessionSyncInfoを設定します。

  • hapi.setTime

    シーンのグローバル時間を設定します。

  • hapi.setTimelineOptions

    グローバルタイムラインオプションを設定します。

  • hapi.setTransformAnimCurve

    露出されたノードにT,R,S値を設定するための特別な便利関数。

  • hapi.setUseHoudiniTime

    Houdiniセッションがデータをクックして取得する際にHoudiniの現行時間を使用するかどうかを設定します。

  • hapi.setVertexList

    頂点ポイントを含んだ配列(この配列内のi番目の要素がi番目の頂点に関連付けられているポイントインデックス)を設定します。

  • hapi.setViewport

    SessionSyncでビューポートを同期化するためのhapi.Viewport情報を設定します。

  • hapi.setVolumeInfo

    ジオメトリ入力のジオメトリのボリューム情報を設定します。

  • hapi.setVolumeTileFloatData

    浮動小数点タイルの値を設定します: このタイルは8×8×8区画のボリュームです。

  • hapi.setVolumeTileIntData

    整数タイルの値を設定します: このタイルは8×8×8区画のボリュームです。

  • hapi.setVolumeVoxelFloatData

    ボリューム内に浮動小数点ボクセルの値を設定します。

  • hapi.setVolumeVoxelIntData

    ボリューム内に整数ボクセルの値を設定します。

  • hapi.setWorkitemFloatData

    指定したノードの保留PDGワークアイテムデータメンバーに浮動小数点データを追加します。

  • hapi.setWorkitemIntData

    指定したノードの保留PDGワークアイテムデータメンバーに整数データを追加します。

  • hapi.setWorkitemStringData

    指定したノードの保留PDGワークアイテムデータメンバーに文字列データを追加します。

  • hapi.startThriftNamedPipeServer

    Windowsの名前付きパイプ(Named Pipe)またはUnixのドメインソケットでクライアントにサービスを提供するThrift RPCサーバープロセスをローカルホスト上で起動し、そのサービスを開始するのを待機します。

  • hapi.startThriftSocketServer

    TCPソケットでクライアントにサービスを提供するThrift RPCサーバープロセスをローカルホスト上で起動し、そのサービスを開始するのを待機します。

types

Houdini 18.5

はじめよう

Houdiniの使い方

  • ジオメトリ

    Houdiniがどのようにジオメトリを表現し、どのように作成・編集するのか説明します。

  • コピーとインスタンス

    コピー(実形状)とインスタンス(読み込みのみ、もしくはレンダリング時に作成される形状)の使い方。

  • アニメーション

    Houdiniでのアニメーションの作成とキーフレームの方法。

  • デジタルアセット

    デジタルアセットは既存ネットワークから再利用可能なノードとツールを作成することができます。

  • インポートとエクスポート

    Houdiniでのシーン、オブジェクト、他のデータのインポートとエクスポートの方法。

  • PDG/TOPsを使ってタスクを実行する方法

    TOPネットワークを使用して、ディペンデンシーとスケジューラタスクを定義する方法。

  • MPlayビューア

    Houdiniのスタンドアローン画像ビューアの使い方。

Character FX

  • キャラクタ

    Houdiniでのキャラクタのリギングとアニメーションの方法。

  • 群衆シミュレーション

    Houdiniでのキャラクタの群衆の作成とシミュレーションの方法。

  • HairとFur

    ヘアーとファーを作成、スタイリング、ダイナミクスを追加する方法。

ダイナミクス

  • パーティクル

    パーティクルシミュレーションの作成方法。

  • ダイナミクス

    Houdiniのダイナミクスネットワークを使用したシミュレーションの作成方法。

  • Vellum

    Vellumは、布、ヘアー、粒、ソフトボディオブジェクトに対してPosition Based Dynamicsの手法を使用します。

  • Pyro

    煙、炎、爆発のシミュレーションの方法。

  • 流体

    流体とオーシャンのシミュレーションをセットアップする方法。

  • 破壊

    色々なタイプの材質を破壊する方法。

  • Grains(粒)

    (砂のような)粒状の材質をシミュレーションする方法。

  • Finite Elements(有限要素)

    変形可能なオブジェクトを作成してシミュレーションする方法。

ノード

  • OBJ - オブジェクトノード

    オブジェクトノードはシーン内で、キャラクタ、ジオメトリオブジェクト、ライト、カメラなどのオブジェクトを表示します。

  • SOP - ジオメトリノード

    ジオメトリノードはGeoオブジェクト内で存在し、ジオメトリを生成します。

  • DOP - ダイナミクスノード

    ダイナミクスノードは物理シミュレーション用に条件とルールを設定します。

  • VOP - シェーダノード

    VOPノードは、ノード同士を接続することで(シェーダなどの)プログラムを定義することができます。そしてHoudiniは、そのノードネットワークを、実行可能なVEXコードにコンパイルします。

  • LOP - USDノード

    LOPノードは、キャラクタ、プロップ、ライティング、レンダリングを記述したUSDを生成します。

  • ROP - レンダーノード

    レンダーノードは、シーンをレンダリングしたり、レンダーディペンデンシーネットワークをセットアップします。

  • CHOP - チャンネルノード

    チャンネルノードは、チャンネルデータの作成、フィルタリング、制御をします。

  • COP2 - コンポジットノード

    コンポジットノードはフィルターを作成し、画像データを操作します。

  • TOP - タスクノード

    TOPノードは、データをネットワークに送り込んで"ワークアイテム"に変換し、色々なノードでそれを制御するワークフローを定義します。たいていのノードは、ローカルマシンまたはサーバーファーム上で実行可能な外部プロセスを表現しています。

ライティング, レンダリング, コンポジット

  • Solaris

    Solarisとは、Universal Scene Description(USD)フレームワークに準拠して、Houdiniのシーン構築、レイアウト、レンダリングをするツール群の総称のことです。

  • レンダリング

    3Dシーンから画像とアニメーションをレンダリングする方法。

  • HQueue

    HQueueは、Houdiniの無料の分散レンダリング/シミュレーションマネージャです。

  • マテリアル

    マテリアルの割り当てとシェーディング用のカスタムマテリアルを作成する方法。

  • コンポジット

    Houdiniのコンポジットネットワークはレンダーなどの画像を作成し処理することができます。

リファレンス

  • メニュー

    メインメニュー内のそれぞれの項目について説明します。

  • ビューア

    ビューアペインタイプ。

  • ペイン

    色々なペインのオプションを説明します。

  • ウィンドウ

    色々なユーザインターフェースウィンドウのオプションを説明します。

  • スタンドアローンのユーティリティ

    Houdiniには便利なコマンドラインユーティリティプログラムがたくさんあります。

  • Pythonスクリプト

    PythonとHoudini Object Modelを使用してHoudiniのスクリプトを記述する方法。

  • エクスプレッション関数

    エクスプレッション関数は、パラメータの値を計算することができます。

  • HScriptコマンド

    HScriptはHoudiniのレガシースクリプト言語です。

  • VEX

    VEXはシェーダの記述などのHoudiniのほとんどの場所で使われているハイパフォーマンスなエクスプレッション言語です。

  • プロパティ

    プロパティはレンダリング、シェーディング、ライティング、カメラといったパラメータを柔軟で強力な階層構造でセットアップすることができます。

  • ギャラリー

    Houdiniに含まれている既製マテリアル。

  • Houdiniパッケージ

    プラグイン、ツール、アドオンが異なる環境変数定義ファイルを複数作成して、それらを組み合わせる方法。

  • Houdini Engine

    Houdini EngineのCとPythonのAPIs、SessionSyncユーティリティについて説明しています。

  • SideFX Labs

    SideFX Labsは新しいツールをテストする場です。SideFX GitHubリポジトリから直接これらのツールをアップロードすることができます。

  • 環境変数一覧