バックアップのあれこれ その2

さて、Houdiniが落ちた時バックアップファイルを作ってくれるのはいいんだけど、
変なパラメータを入れたりして落ちた時、そのバックアップファイルを読み込んだ時点で落ちてしまうということがあります。
そのノードが原因で落ちてるので、読み込み直した時点で同じノードの処理で落ちてしまう訳です。
そのときの解決方法をいくつか。

・一番手っ取り早いのは、ネットワークビューをフル表示にしてから読み込む。
そうするとViewport表示をしない=ノードの計算をしないので落ちません。
その状態でパラメータを直すなりノードを削除すれば大丈夫です。
正規のファイルネームで保存するのを忘れずに。

・Cookのタイミングを手動にする方法。
一番右下のメニューでCookタイミングを設定できます。

Bup06

デフォルトではAutoUpdate、ネットワークが自動的に更新されます。
これをManualにしとくと、メニューの左側の更新ボタンを押さないと更新されません。
なので、Manualでバックアップファイルを読み込んでおかしいノードを削除してやればOKです。

・コマンドラインでhbatchでなんとかする。
だいぶ敷居が高くなりますが、hbatchでhscriptベースでファイルを読み込んで、いらないノードを削除、保存する方法です。

Bup07

それでも対処できない時がごくたまにあります。
あるノードが原因だとわかっているんだけど、読み込んだ時点で落ちてしまう時。

そんな時は最終手段としてhipファイルを展開して、いらないノードを削除して、元に戻すという方法があります。
バックアップファイルが保存の時に壊れてしまっているときはどうしようもないですが。

hipファイルを展開・アーカイブするにはコマンドラインでhcpioを使います。

hipファイルは実はネットワークの構造そのものをunix系のcpioというファイルアーカイバでアーカイブしたものなんですね。
なのでhcpioで展開すると、ネットワークの構造がそのままフォルダ・ファイルの構造となります。
そこでいらないノードのファイルを消すか、ファイルの中身を修正するかして、またhcpioでアーカイブしてやるわけです。
簡単に手順を。

Bup10

hipファイルのあるフォルダに展開されるので、展開用にフォルダを作ってそこにhipファイルをコピーして作業した方がいいでしょう。

最初に、アーカイブ用にファイルリストを作っておく。
 hcpio -i -t -I untitled.hip > namelist

untitled.hipを展開する。
 hcpio -i -d -I untitled.hip

これでフォルダ構造が出来上がります。

Bup12

この中からいらないノードを削除したり、パラメータを修正したり(.parmファイルを修正)します。
ノードを削除したときは namelist の中身も修正すること。

それをアーカイブする。
 hcpio -o -O untitled2.hip < namelist

Bup11こんな感じ

このブログのこの辺この辺も参照。

cpioについて詳しくはwikiってね。

未分類

Posted by naniwa_cg