LoginSignup
8
5

More than 5 years have passed since last update.

Houdiniのジャンプリストを設定する

Last updated at Posted at 2018-02-26

ジャンプリスト(Jump List)とは

$HIP$JOB のようなもの。
いわゆる環境変数(Environment Variables)みたいなもので、Linuxの $~ に相当する。

houdini_jump_list_new.PNG

どうやって設定すればいいのだろうか?

この $HIP$JOB 、かなり使い勝手がよく、アーティストからも使用を好まれる。
しかしながら、パイプライン上でこれを使用したい場合には $HIP$JOB 以外にも使いたい項目が増える場合がある。

そこで、設定するために使用するのが jump.pref

これを HOUDINI_PATHHOUDINI_USR_PREF_DIR の直下に置く。

ディレクトリわからない時には、Command Line Toolで hconfig -p と叩くと、設定されてるパスが表示される。
image.png

中身

例えば、

$SHOT
$TEXTURE

これらをパイプライン上で縛っておけば、パイプライン上の長いパスコントロールが可能になるので、気持ちくアーティストに使ってもらえると思う。

このファイルはHoudiniの起動時に呼ばれるので、編集したらHoudiniの再起動を行う。

ちなみに、HoudiniのFile Dialogウィンドウでもジャンプリストが作成可能だが、これの設定ファイルは基本 HOUDINI_USER_PREF_DIR の直下に作成されていく。

スクリプトでジャンプリストにパスを設定する

結果的に正攻法を書くと、現状では多分これ。

import os

project_root = 'E:/project_a'
shot = 's001'
cut  = 'c001'

shot_path = os.path.join(project_root, 'work', shot, cut).replace(os.path.seq, '/')
texture_path = os.path.join(shot_path, 'texture').replace(os.path.seq, '/')

cmd = 'setenv {}={}'.format('SHOT', shot_path)
hou.hscript(cmd)

cmd = 'setenv {}={}'.format('TEXTURE', texture_path )
hou.hscript(cmd)

これで、それぞれ次のところに変数が通る。
SHOT => E:/project_a/work/s001/c001
TEXTURE => E:/project_a/work/s001/c001/texture

実のところ、Houdini Object Modelにはちゃんと次の関数が用意されている。

しかしながら、ことこの変数設定に関してはHScriptの方を利用した方がいいと思う。

というのも、なぜかHOMを使った場合だとVariablesウィンドウ(Edit->Aliases and Variables...)に表示されないから。
ちゃんと値としては入っているので問題なく使えるのだが、「見えなくなる」というのは、それは恐怖であるもので。。 :sweat_smile:

image.png

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5