Version Icon
この記事はWindows10環境を前提にしております。
Houdiniは、マイナーバージョンを含め複数インストールしている方が多いと思います。
私は毎回スタートにピン留めしていますが、アイコンだけでは一目でバージョンが分かりにくく…
そこで、バージョン番号が書かれたアイコンを自動生成する仕組みを考えてみました。
バージョンアイコンの自動生成
手順としては、
です。
アイコン画像を用意する
まずはベースとなるHoudiniのアイコン画像を用意します。
私は「Quick Any2Ico」というフリーソフトを利用して、exeからico(アイコンファイル)を抽出していますが、そのあたりはご自由にどうぞ。
Python SOP でバージョンを取得する
後の互換性のため、今回はなるべく低いバージョンのHoudiniでhipを作ると良いかもしれません。
まず Python SOP を作って、現在起動しているHoudiniのバージョンを取得します。
ver_tuple = hou.applicationVersion() ver_string = ','.join(map(str,ver_tuple)) ver = ver_string.replace(',','.') #check print ver
applicationVersion()
では、メジャーバージョン、マイナーバージョンなどがタプルで返ってくるので、ここでは全て文字列に変換してつなげています。
得られたバージョンはいったんDetailのアトリビュートに入れます。
geo.addAttrib(hou.attribType.Global, 'version',"",create_local_variable=False) geo.setGlobalAttribValue('version', ver)
PythonではDetailのことを Global
と書くのでよくハマりました。
また、文字列の場合は addAttrib
の default_value が利用できないので、別途setしてやる必要があります。
COPでバージョン番号をアイコンに合成する
COP2 Network を作って、その中でアイコン画像を加工していきます。
File COP でベースになるアイコン画像を読み込み、
Font COP で、さきほどDetailに格納したバージョン番号を参照します。
`details("../../python1","version")`
文字列は detail
ではなく details
というようにsが必要なので、ここは expression のハマりポイントな気がします。
COPはあまり詳しくないですが、文字の色や位置を調整して、こんな感じ…?
最後に ROP File Output します。
出力するファイル名の末尾にもバージョン番号を入れると分かりやすいかもしれないですね。
$HIP/houdini_icon_`details("../../python1","version")`.png
ここで Render ボタンを押せばそのまま1枚出力されます。
次に、COPから出て再び Geometry階層に戻ります。
Python SOP をもう一つ作って、今度は ROP File Output の Render ボタンを押すノードを作ります。
n = hou.node('../cop2net1/rop_comp1') n.parm("execute").pressButton()
このノードをクックすると、画像が出力されます。
Hbatchでhipを実行する
※これ以降はライセンスを使用します。
ここで最初のpythonノードの前に、何かしらのメッシュを繋いでおきます。
このメッシュは全く使わないのですが、ジオメトリに実体が何も存在しないと、次のステップの時にエラーが出てしまいました。
いったんhipを保存して、次はバッチファイルを作成します。
テキストエディタを起動します。
mread "C:/test/make_icon.hip" opcook obj/geo1/python2 quit
mread
でコマンドラインからhipファイルをロードし、opcook
で指定ノードをクックします。
ファイル名やパス名は一例です。スラッシュの向きはWindowsと違うので注意が必要です。
このファイルは .cmd
形式で保存します。
このcmdファイルを、Houdiniパッケージに含まれている Command Line Tools で実行します。
Command Line Tools は、普通のコマンドプロンプトとは違い、Houdiniの各種スタンドアロンツールなどを、環境変数にパスを通したような状態で実行することができます。
Command Line Tools を起動したら、hbatch
の次にさきほどのcmdファイルを指定してリターンします。
hbatch C:\test\icon_gen.cmd
hbatch
はHoudiniをコマンドラインから実行するものです。(※ライセンスを使用します)
各バージョンに紐づいて実行されるので、バージョンごとの Command Line Tools で実行するたびに、それぞれのバージョンアイコンが生成されます。
これで各バージョンのアイコン画像ができましたので、前述の「Quick Any2Ico」などのツールを使って ico に変換します。
スタートメニューにピン留めされているショートカットの場所を開き、プロパティから新しいアイコンを指定したら完成です!
うわ~つぶれて見えない…!
…アイコンとしてはもう少し調整が必要そうです。
今ではPDGを使えばもっとスマートに色々できるかもですね。
ではまた。