0

式のnodeNameを変更すると、その中の名前も変更されることをご存知ですか?さて、nodeNameが文字列内にあるpointPositionのようなものに対してこれをどのように行うのですか?

例えば:

vector $v = `pointPosition -world "outputCloth1.vtx[11]"`;

outputCloth1の名前をmyClothに変更すると、文字列にoutputCloth1と表示されたままになるため、式は機能しなくなります。

4

2 に答える 2

1

残念ながら、短い答えは、(簡単に) できないということです。ノード内のエクスプレッションは、Maya のアクティブに監視されているフレームワークの一部内に存在するため、Maya によって一種のハウスキーピングが可能です。Maya にとっては、スクリプトに指示するたびに読み取って処理するテキストの集まりにすぎないため、スクリプトについても同じことは言えません... 2 つのオプションが提示されます。

  1. (可能であれば) オブジェクトを動的に参照するようにエクスプレッションを書き直すことができます。

  2. PyMEL に移動します。この種のものは、オブジェクトを参照するという点で #1 に似ており、名前を変更してもオブジェクトへの参照は引き続き有効です。おそらく(大丈夫です)答えの範囲を超えていますが、最初にかなり良い例を示しているので、 PyMELの入門ドキュメントを見ることを強くお勧めします

また、Maya API を介して DG ノードを構築することも検討できます。スクリプト作成と比較すると、セットアップ作業がはるかに多くなりますが、標準の Maya フレームワーク (基本的にはカスタム ノードです) に適合するものを構築することになります。これは、Maya が自動的に行うすべての内部ハウスキーピングを利用できることを意味します。わーい!

于 2012-10-06T16:37:50.943 に答える
0

メッセージ属性を介して探しているものを達成できるかもしれないと思います。メッセージは Maya でノードをリンクするために使用され、ノードの名前が変更されると自動的に名前を更新するスクリプトの基礎を形成できます。

申し訳ありませんが、より具体的な atm の例はありませんが、メッセージを調べてください。正しい方向に進むはずです。

于 2011-03-23T20:40:07.687 に答える