【Python】USDにおいて、アセットパスAからアセットパスBへの相対パスの作り方について

   337   0   0
User Avatar
Member
15 posts
Joined: July 2018
Online
アセットのディレクトリ構成を、

assetRoot
 |- Geometry
   |- house.usd
 |
 |- Material
   |- material.usd

上記の階層構造としたときに、Pythonを用いて、 house.usd が material.usd をリファレンスしたいとします。(中身のシーングラフは割愛)
このリファレンスの関係を相対的に行いたいので、これを解決する方法をどなたかご教示頂きたいです。
例えばこの場合は、house.usdを起点において、"../Material/material.usd" というパスが欲しいです。

自分が困っている点は、これが固定の階層構造であれば 絶対パスだったり、"../Material/material.usd" と相対を決め打ちで書けば良いのですが、
今回のケースだと
「ユーザーが階層構造を任意で決めることが出来る」であったり、「作ったUSDをルートディレクトリ以下ごと他者へ共有する」といった設計であるため、
絶対パスや決め打ちの相対パスでは上手くいかず困ってしまいました。

自分が検索した限りだと、AssetResolver なるものや、Arモジュールで解消が出来そうですが、
いかんせん英語しかない点と、自分には内容がかなり難解だったため、読み解くことが出来ませんでした。

Houdiniの質問というより、USDの質問になってしまいますが
以上、何卒よろしくお願い致します。
Edited by kurosaba - Nov. 5, 2024 10:38:37
  • Quick Links