プログラマによる初めてのHoudini Apprenticeメモ
環境
Houdini Apprentice19.5.493
概要
Houdiniはノードを組み合わせてプロシージャルに色々できる。
自分は主にVFXの為に使用する。
Apprenticeは無料版。pythonで独自データ書き出しができる
インストール
実行ファイルはライセンス毎に分かれていない。インストール中に選ぶ方式
デフォルト状態で Install をクリック。
デフォルトじゃなく、「Automatically Install SideFxLabs」のチェックを入れる
【無料】Houdiniの始め方インストールから初回起動まで【2022年版】 - 渋谷ほととぎす通信
環境変数
PC>ドキュメント>HoudiniXXXの中にあるhoudini.envに追加
自分の環境の実際のパスはC:\Users\ユーザー名\OneDrive\ドキュメント\houdini19.5
以下2つを最後に追加
HOUDINI_BUFFEREDSAVE = 1
HOUDINI_UI_QUEUE_SIZE = 300000
レイアウト変更
レイアウトを使いやすく変更する
デフォルトは「Build」になっている。
普通のドッキングウィンドウのように簡単に配置換えできず、ビューを2つにして、片方を別のビューに変える方式。めんどい
Houdiniを始める前にやっておいたほうが良いかもしれない準備メモ - のぐそんブログ
日本語チュートリアル
Houdini Foundations 書籍 | SideFX
基本的な使い方
Houdini 基本を掘り下げる | Technical Artist Blog
Houdini超々入門 - KAYAC engineers' blog
SideFXLabs
VAT(ウォーターマークが入る)やFBXアーカイブノードが使えるようになる
サルにもわかる Houdini: SideFX Labs Install
Game Development Toolset
ImposterやMotionVectorテクスチャによるアニメーションサンプルがある
https://github.com/sideeffects/GameDevelopmentToolset
VFXToolBox
Unity公式のHoudini HDAを使って、Unity用のPointCache(.pcache)やVectorField(.vf)を出力する - fortyのブログ
python
8.2シェルフへの登録
ウィンドウの右上にある。pythonで作った関数を登録しておくところ。先に作っておく。画像のMyShelfは自分が事前に作っておいたもの
以下のリンクの内容以外にも「PythonScriptNode」というプログラムを書き込んで実行するノードがある
いや、8はこれを解説しているのか?
サルにもわかる Houdini: Using Python in Houdini
python外部モジュールの追加
「PythonScriptNode」を使用したファイル書き出し
http://astroukoff.blogspot.com/2018/05/data-from-houdini-to-unity-via-text-file.html
ボタンを押した時に書き出しするようにしたいのでNullノードにPythonコードとボタンの仕組みを作ります。
Nodeを右クリックした上記メニューで表示。ファイル選択やボタン等のUIを追加できる
HoudiniとUE4でCSVデータの入出力 | とあるデザイナーのテクニカルノート
Houdini:Python(SOP)に実行ボタン | No More Retake
アニメーションUSD
$の大文字、小文字に注意する
https://support.borndigital.co.jp/hc/ja/articles/13308533851929
※ Houdini Apprenticeライセンス所有者は、.usdncファイルに しか 書き出すことができません
意味なかった。ボーンデジタルめ!
Objファイル連番書き出し
Houdini ApprenticeからMayaにオブジェクトを読み込む裏ワザ!(修正済み)|Kei Iketani
出来ない。FileCacheは独自の2つのファイル形式しか選べない
FileNodeならobj書き出しができるので設定をしてPythonNodeから呼び出せばいけた
書き出すファイル名をoutput$F4.obj等にしておくと$F4が4桁のフレーム番号に置き換わる
node = hou.pwd() geo = node.geometry() # Add code to modify contents of geo. # Use drop down menu to select examples. startFrame = node.parm("startFrame").eval() endFrame = node.parm("endFrame").eval() hou.node('/obj/geo1/file1').cook(True, (startFrame, endFrame, 1))
Objファイルだと頂点カラーが出力されないのでPlyファイルの方が良いらしい
https://twitter.com/gam0022/status/1333453448633753601
Geometry SpreadsheetのCSV連番書き出し
「Geometry Spreadsheet」にはそのフレームにおけるGeometryの内容が表示されている。パーティクルならそのリスト
「Labs CsvExporter」シェルフを使用して設定する。Controlsボタンで表示するウィンドウにフレーム指定する場所があり、そのウィンドウのRenderボタンで出力される
python Fbx Sdk
現在のhoudiniのpythonのバージョンは3.9である。それに対応したfbx sdk
Dropbox - fbxsdk_py3.9_py3.10_.7z - Simplify your life
サルにもわかる Houdini: python py location
Python Fbx Sdk で立方体の作成 - テキトープログラム( ..)φメモ
Fbx出力
Houdini ApprenticeでFbx出力 - テキトープログラム( ..)φメモ
Exr
floatテクスチャを使用したVATを自作するために使用
[OpenEXR] WindowsでPython用OpenEXRをインストールする際の手順 #Python - Qiita
Archived: Python Extension Packages for Windows - Christoph Gohlke
自分の環境だとこれ。OpenEXR‑1.3.8‑cp39‑cp39‑win_amd64.whl
【Pythonライブラリ】「openexr」のサンプルコード | YuNi-Wiki
GitHub - tvogels/pyexr: One-line EXR IO-library
Houdini ApprenticeでVAT出力 - テキトープログラム( ..)φメモ
unityでカラースペースがgammaだとexrの負数の値を勝手に0にクランプするらしい
linearにすると直る。exrはlinear空間用でgamma時はImporterが値を修正している?
独自binaryで吐き出して、GraphicsBuffer経由でアクセスしたほうが良いか