告知
2024 年 10 月 17 日(木)午後 2 時から午後 3 時(日本標準時)頃まで定期メンテナンスを実施します。この間、オートデスク コミュニティをご利用いただくことはできません。ご不便をおかけいたしますが、あらかじめご了承ください。
コミュニティ
Maya - 日本語
製品テクニックや情報を共有、質問、解答したり、情報を検索など使い方は様々です。お役立てください。
キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Maya 2020以降のバージョンでエクスプレッションが動作しません

4件の返信4
解決済み
返信
メッセージ1/5
ozzy_n
480 件の閲覧回数, 4 件の返信

Maya 2020以降のバージョンでエクスプレッションが動作しません

2016以前では動いていたエクスプレッションが

私の環境で確認できる範囲では2020以降のバージョンで動作しません。

 

例えば以下のようなエクスプレッションです。

float $x = `getAttr pSphere1.tx`;
setAttr pCube1.tx $x;

 

この場合、内容的には単純にpCube1.tx = pSphere1.tx;と同じで

その書き方なら問題なく動作するのですが

遅れて追従する動きをエクスプレッションで再現したいためmelコマンドを使いたいのですが

最近のバージョンのmayaだと上手く動いてくれません。

 

どこかのタイミングで仕様変更があったのでしょうか?

タグ(2)
4件の返信4
メッセージ2/5
SOTOMEA
次のアカウントへの返信: ozzy_n

こんにちは。

 

実際にどのようなエクスプレッションなのか分からないので何とも言えないのですが、もし大きな仕様変更があれば多くのユーザに影響が出そうです。
使用しているコマンドに以前は問題があり、それが修正されたためとかでしょうか。

 

いずれにしても実際にやりたいことのサンプルがあれば、もう少し詳しい情報が得られるかもしれません。



Sotome
メッセージ3/5
ozzy_n
次のアカウントへの返信: ozzy_n

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

サンプルシーンを添付致します。

maya2016では正常に動作しますが、2023で開くとエラーが出て動作しません。

 

参考にしたのは↓こちらのサイトの下段の方に記載されているエクスプレッションです。

https://dftalk.jp/?p=17634

 

//pCube0のアニメーションをpCube1~pCube9が1フレームずつ遅れて追従するエクスプレッション

for($i=1; $i<9; $i++){
float $valT[] = `getAttr -t (frame - $i) pCube0.translate`;
float $valR[] = `getAttr -t (frame - $i) pCube0.rotate`;
float $valS[] = `getAttr -t (frame - $i) pCube0.scale`;
setAttr ("pCube" + $i + ".translate") $valT[0] $valT[1] $valT[2];
setAttr ("pCube" + $i + ".rotate") $valR[0] $valR[1] $valR[2];
setAttr ("pCube" + $i + ".scale") $valS[0] $valS[1] $valS[2];
}

メッセージ4/5
SOTOMEA
次のアカウントへの返信: ozzy_n

こんにちは。

 

サンプルありがとうございます。
プリファレンスの設定 > アニメーション > 評価モード をDGにすると動作するようです。
内部処理の変更による影響かもしれません。



Sotome
メッセージ5/5
ozzy_n
次のアカウントへの返信: ozzy_n

こんにちは。

教えて頂いた設定で問題なく動作しました!

とても助かりました、ありがとうございます!

お探しの情報が見つからないときは、コミュニティで質問しましょう。困っている人がいたら、情報を教えてあげましょう。

フォーラムに投稿  

State of Design & Make 2024

EE RESOURCES