タイトルの通りです。
最初はジョイントにコンストレインの設定をしていたからだとも思っていたのですが、それも違っていました。Ikとかも設定していません。
モデルとジョイント以外は特にコンストレインも行っておりません。同様の症状が起きた時はバインドポーズが頭部と体で別々だったから起きたこともありましたが、今回の事象ではバインドポーズも一つのみです。
ウエイトの途中のためジョイントに回転値が入っていればモデルも変形すると思うのですが、なぜだかモデルそのものも変形しておりません。
やはりこれはバグでしょうか?バインドポーズをショートカットキーに登録しているのですがそのせいでしょうか?
ちなみに使用しているmayaは2020の最新verです。
申し訳ありませんがデータは職務で使用しているため提供はできません。
ご回答お待ちしております。
解決済! 解決策の投稿を見る。
回答者: Suto_Tama. 解決策の投稿を見る。
@yamato_maya さん
お疲れ様です。
トランスフォームアトリビュートの回転に数値が入るという事でしょうか?
そうするとバインドポーズに戻すとオブジェクトも変形してしまうという事ですよね。
IKなど入れてるなら多少の変化はありそうですがそれもないとなると
ジョイントが勝手に動くのは見たことがないですね・・・
追加情報よろしいでしょうか。
1.バインドポーズをショートカットキーに登録とはどの様な状態の事でしょうか?
2.問題が発生しているのは特定のモデルだけでしょうか?それともすべてで起こっていますか?
3.ジョイントに回転制限など入っていますでしょうか?
4.MAYAのバージョンを2024などに上げた場合はどの様な挙動になりますか?
質問ばかりですいませんが、どの様な状態か現状だとわからないのでよろしくお願いします。
後全てのシーンで発生していて簡易的なモデルでも同じでしたらそのデータを共有いただけないでしょうか。
こちらでも確認してみます。
Suto
Freelance
Twitter(X)
回答有難うございます。
返答させて頂きます。
トランスフォームアトリュビュートに回転値が入るということです。しかし何故かモデルは変形せずにそのままなのです。特にモデルも変形せずにウエイトも継続できるのですが、ジョイントのアトリビュートに回転値が入ってしまうのです。
追加情報についての返答です。
1 バインドポーズですがホットキーエディターに登録している状態です。ウエイトペイント中に頻繁に使用するのでそれが原因かと感じて記述しました。
2・3に関して記憶が曖昧ですが、もしかしたらジョイントに補助ジョイントを配置して、尚且つコンストレインを行い回転値を制御しているとそのような症状が起きやすいです。全てのモデルではないと感じております。
また回転制御を行っております。
4に関してはまだ試しておりません。今度やってみます。
情報が曖昧ですがもし何か原因と対策が分かれば回答の程宜しくお願い致します。
@yamato_maya さん
お疲れ様です。
返信ありがとうございます。
1.バインドポーズを登録している事は関係なさそうですね。
2.特定のモデルだけでしたらどこかに原因がありますね…ならないモデルと比較して地道に原因を究明するしかないかも…
3.バインドポーズはジョイントの制限以内の回転に収まってますよね?
4.もしバージョン違いで問題が起こらないならそのバージョン特有の可能性があるのでバグかと思います。
◆提案
コンストレインなどが入ってるとの事ですので1点提案としまして
ウェイト作業中はIK、コンストレイン、エクスプレッションをカットする方法はいかがでしょうか。
【修正>ノード評価>IKソルバ、コンストレイン、エクスプレッション☐】
Suto
Freelance
Twitter(X)
@yamato_maya さん、こんにちは。コミュニティのご利用ありがとうございます。
その後、状況はいかがでしょうか?
Suto_Tama さんから再度返信が来ていますので、お手すきの際にご確認ください。
返信で問題が解決、または解決に至らなくとも参考になった場合は、その返信の右下に表示されている「解決策として承認」ボタンを押してください。
同じ問題を抱えた方の参考になりますので、ご協力のほどよろしくお願いいたします。
引き続き問題を抱えていましたら、返信でお知らせください。
返信ありがとうございます。
連絡が遅くなってしまい申し訳ございません。
特定のモデルではないです。またバインドポーズもジョイントの制限以内の回転に収まっている状態です。
原因と対策を見つけるのは難しいと思いますが、回転値が入った場合すぐに気付けるような方法はありますでしょうか?
現状ウエイトがてきようされているのにも関わらず、モデルは変形せずになぜかジョイントに回転値が入っている症状が起きております。
ご都合のいいタイミングで構いませんのでご返信お待ちしております。
@yamato_maya さん
お疲れ様です。
回転がいつ入るかがわかりませんのでそれを察知する方法は私にはわかりません。
ちなみにジョイントに回転が入っているかどうかPythonスクリプトで確認はできます。
import maya.cmds as cmds
# シーン内のすべてのジョイントを取得
joints = cmds.ls(type='joint')
for joint in joints:
# ジョイントの回転値を取得
rotation = cmds.getAttr(joint + '.rotate')[0]
# 回転値が0でないかどうかをチェック
if any(value != 0 for value in rotation):
# ジョイントの名前を表示
print(joint)
# ジョイントを選択
cmds.select(joint, add=True)
pythonで実行すれば回転が入っているジョイントが選択されます。
シェルフに登録して、気になった時に押せば、その都度チェックできるかと思います。
Suto
Freelance
Twitter(X)