Houdiniかんたんレシピ 22 ~ コピー&ペーストのしくみ ~


~基本的すぎてあまり紹介されない、ちょっと便利なTips紹介~

『Houdiniかんたんレシピ』は、Houdiniを使っていく上で、基本的なことですが、基本すぎてチュートリアル等で紹介されないような、ちょっとしたTipsやニッチな機能を紹介していくシリーズです。

今回はコピー&ペーストのしくみについてです。

Houdiniでは、Ctrl+C、Ctrl+Vでそれぞれノードのコピーとペーストをすることができます。その時、ネットワークの場所によって種類の違うノードをそれぞれコピーし、ペーストすることができるようになっています。

例えば、/objレベルでCtrl+CでコピーしたGeometryノードは、/objレベルでCtrl+Vするとペーストすることができます。

同様に、/obj/geometryレベルでCtrl+CでコピーしたSopノードは、別の/obj/geometryレベルでペーストできます。

/imageレベルでも、COPノードをコピー&ペーストできます。その後、/objレベルでCtrl+Vすると前に/objレベルでコピーしたノードをペーストすることができます。

Houdiniを落としても、コピーされたノードは保持されているので、新しくHoudiniを立ち上げても以前コピーしたものをペーストすることができます。
また複数のHoudiniを立ち上げて、複数のHoudiniをまたいだコピー&ペーストもできます。さらに、バージョンが違うHoudini同士でもコピー&ペーストできます。

尚、ペーストされる位置はカーソルの位置になります。

このコピー&ペーストがどういう仕組みで動いているかというと、Ctrl+Cでコピーした時、$TEMPフォルダにネットワークごとにcpioアーカイブの形で別々に保存されていて、Ctrl+Vでそれぞれのファイルを読み込んでくるという仕組みになっています。
なので、複数のHoudiniをまたいだコピー&ペーストも簡単にできるというわけです。

これらのファイルを別にコピーしておくと、コピーしたノードをバックアップしておくことができます。

※「$TEMP」はHoudiniが使用するテンポラリフォルダのことで、コピー&ペーストしたファイル以外にも、Houdiniが落ちた時のバックアップファイルや、レンダリング時の一時ファイル等が保存されるフォルダです。
デフォルトではC:¥Users¥ユーザ名¥AppData¥Local¥Temp¥houdini_temp(Windowsの場合)になります。環境変数$HOUDINI_TEMP_DIRを設定することで、場所を変更することが出来ます。上記キャプチャではG:¥Tempに設定されています。

 

テキストコピーをする際の注意点を紹介します。
Houdiniは、ノードのコピー&ペーストと、テキストフィールドに入力したテキストのコピー&ペーストの両方を、同じCtrl+CとCtrl+Vで行います。
テキストをCtrl+Cでコピーした場合は、OSで一般的に使うクリップボードにコピーされます。
Ctrl+Vで、クリップボードにコピーされたテキストをテキストフィールド内にペーストできるのですが、テキストをコピーした後にノードのコピーをしようとしてCtrl+Cを押すと、クリップボードのテキストがノードの名前で上書きされてしまいます。

ノードをコピーした時にその名前をクリップボードに保存したくない場合は、Preferencesのオプションで設定を変更します。メニュー/Edit/Preferences/Network Editor,Nodes,and Trees/Copy Paths to Clipboard when Copying Nodeのチェックを外します。

こうすることで、ノードをコピーしてもノード名でクリップボードが上書きされることはありません。