AKIRA .N

AKIRA_houdini

About Me

FX Pipeline TD at StealthWorks.
EXPERTISE
Technical Director

Connect

LOCATION
Osaka, Japan
WEBSITE

Houdini Skills

INTERMEDIATE
Mantra  | Lighting  | Fluids  | Destruction FX  | Python
BEGINNER
Solaris  | Karma

Availability

Not Specified

Recent Forum Posts

Windowsで発生するUSDの上書きエラーについて July 8, 2024, 12:10 a.m.

Ken Taki
これは、Houdini の問題というよりは Windows のファイル操作の挙動ではないでしょうか?
つまり、他のアプリケーション (Adobe Acrobat や Microsoft Excel など) でも、あるファイルを開いている際にそのファイルを別操作で削除したり名前を変えようとすればエラーになります。

返信ありがとうございます。

おっしゃるとおり、pdfファイルやxlsxファイルを他アプリケーションで開いている場合、ファイル名などの名前を変更しようとするとアクセス拒否になります。
しかし、USDファイルの場合はレンダリング中であってもファイル名の変更や移動などは可能でした。

USDファイルがネットーワークの共有フォルダにある場合は、削除以外のファイル名の変更や移動などは可能です。


Windowsのファイル操作の挙動の問題であるならば、Linux環境だとネットワークの共有フォルダにレンダリングされているUSDの上書きでエラーは起きないということでしょうか?

このエラーがWindows環境でしか起こらないものかどうかが気になります。

Windowsで発生するUSDの上書きエラーについて July 2, 2024, 9:24 p.m.

「USD ROP」で、既存のUSDを上書きする際にアクセス拒否によるエラーが発生することがあります。

このエラーは、
「ネットワークの共有フォルダに保存されているUSDがレンダリング中の状態で、そのUSDを上書きをする」
という状況で起こります。
ローカルで試した場合だと、今のところ上書きは問題ないです。
このエラーは再現性があったので、ネットワークの共有フォルダにあるのが原因と判断しています。

対策
レンダリングされているUSDファイルは、移動やリネームなどでアクセス拒否のエラーはでておらず、USDファイルを削除する場合にエラーがでています。
つまり、削除しなければよいということのようです。

自分が対策した方法としては、以下です。
  1. USDを書き出す際はTempフォルダを作成し、キャッシュはそちらに書き出す。
  2. 上書きするターゲットのファイルにTempフォルダに作ったファイルの内容をPythonで書き込む。
  3. TempのキャッシュファイルをPythonで削除。

これらをHDAとして、内部で処理するような形で現在は対応しています。


別のアイデアなどお持ちの方がいらっしゃいましたら、ご教授していただけると幸いです。


テスト環境
Windows 10 Pro
Houdini 20.0.688