親子関係、制約、または別のオブジェクトへの接続を介してオブジェクトが依存しているかどうかを確認する方法はありますか? オブジェクトをペアレント化する前にこのチェックを行い、依存関係のサイクルが発生するかどうかを確認したいと思います。
3DsMax には、これを正確に実行するためのコマンドがあったことを覚えています。確認OpenMaya
しましたが、何も見つかりませんでした。ありますがcmds.cycleCheck
、これは現在サイクルがある場合にのみ機能し、使用するには遅すぎます。
注意が必要なのは、これら 2 つのオブジェクトがシーン階層のどこにでもある可能性があるため、直接の親子関係がある場合とない場合があることです。
編集
階層が問題を引き起こすかどうかを確認するのは比較的簡単です。
children = cmds.listRelatives(obj1, ad = True, f = True)
if obj2 in children:
print "Can't parent to its own children!"
ただし、制約または接続を確認することは別の話です。