No More Retake

3DCG屋さん向けTips&Referenceサイト

メニュー

Houdini Expression:opinputなんちゃら

Houdini回。

Houdiniにはopから始まるエクスプレッションがたくさんあります。
個人的に紛らわしいと思ってるのはopinput~とか、それに類するやつらです。
opinputとかopinputpathとか。
さらにはop:`opinputpath(“.”,0)`とか合わせ技っぽいのまで。
似たような名前と機能で、モヤモヤしてたのでスッキリさせようと思って取り上げました。


 

opinputpath

指定したノードの入力に接続されたノードのフルパスを取得できる。

opinputpath("参照ノードのパス", "幾つ目の入力か")

取得するデータは指定したノードじゃなくて、その入力ってのがポイント。
幾つ目かの入力の指定は0始まりなので、1番目の入力は0。2番目の入力は1。3番目は2と続く。

opinput_01

SOP内でDOPを使う場合、パーティクル等の発生元等の指定でもよく使う。

#自分自身の入力の1番目に接続しているノードのフルパスを取得
opinputpath(".", 0)

#上位ノードの入力の1番目に接続しているノードのフルパスを取得
opinputpath("..", 0)

 


 

opinput

指定したノードの入力に接続されたノードの名前を取得できる。
opinputpathはノードのフルパスを取得できたけれど、こっちは名前だけ。
実はあんまり使ったことないんですけどね。

opinput("参照ノードのパス", "幾つ目の入力か")

 

opfullpath

opinputなんちゃらじゃないけど、よく見かけるやつ。
指定したノードのフルパスを取得。

opfullpath("参照ノードのパス")

パスを取得するのにパスが必要ってどゆこと?
と思ったのですが、きっと相対パスで指定して絶対パスを取得するとか、そんな使い方かと。

#自分のフルパスを取得
opfullpath(".")

 

 

op:

他のと少し違うヤツ。
op:は、シーン外からファイルを読み込む代わりに、シーン内に存在するノードを参照するときに使う。

op:`opinputpath("..",1)`

opinput_04

上の例だと、Vop内のPoint Cloud Openノードが、その上位階層の2番目の入力をファイルの代わりに参照してるという意味。
point cloud open(VOP)でよく使う印象。(最近、ノードのコネクトで済むようになったから、あんまり使ってないかも)
ちなみに、op:で使用するパスは絶対パスでなければならないらしい。(先に紹介したopfullpathに使い道があった!)

op:`opfullpath('../../volume1')`

ファイルの代わりのノード参照用途なら、なんでもop:でイケるのかと思い、copで作ったイメージをAttribute from Map(SOP)に読み込んでみた。

opinput_05

イケた!

opinput_06

要するに、ファイルの代わりにノードを参照するときは、op:使うと。


opdigits

余談になります。
マニュアル見てて、面白いなとおもったのがopdigits。
ノード名の最後の数字を取得できるらしい。

opdigits(".")

“null999″って名前のノードだと”999″を取得できる。
「へ~、こんなのあるのか」と思いましてね。


 

以上! 間違い等ありましたらご指摘を!

関連記事

  1. 2015.09.14

    Houdini:Pyro_Ink

コメントをお待ちしております

このサイトについて

3DCG Tipsサイト。Houdiniの記事が多めです。

RSS

follow us in feedly

Archives

  • 2024 (4)
  • 2023 (2)
  • 2022 (9)
  • 2021 (14)
  • 2020 (46)
  • 2019 (17)
  • 2018 (33)
  • 2017 (29)
  • 2016 (36)
  • 2015 (64)
  • 2014 (54)
  • 2013 (60)
  • 2012 (55)

スポンサードリンク

言語切り替え

  • English (United States)
  • 日本語

スポンサードリンク

言語切り替え

  • English (United States)
  • 日本語

Houdiniを使えるようになる本