質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2230閲覧

MAYA 選択したオブジェクトの名前[A]を参照して、新しく生成したロケーターの名前をリネームしたい

apri

総合スコア2

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/05/04 13:12

前提・実現したいこと

pythonの勉強を始めて5日目です。

選択したオブジェクトの名前[A]を参照して、新しく生成したロケーターの名前を[A_Rig]
にリネームしたいのですが、選択したオブジェクトの名前[A]までリネームされてしまいます。

該当のソースコード

import maya.cmds as cmds oriLoc=cmds.ls(selection=True) addName="_Rig" for duLoc in oriLoc: nameLsit=cmds.rename(duLoc,duLoc+addName) cmds.spaceLocator(name=nameLsit)

試したこと

oriLoc=cmds.ls(selection=True, type='transform')
など名前だけ取得できないか、リネーム直前にオブジェクトAを除外できないか
考えましたが上手くはいきませんでした。

補足情報(FW/ツールのバージョンなど)

MAYA2020

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

おはようございます。問題文読ませていただきました。

Maya使ったことないので、動作確認していませんが、恐らくこれでうまくいく気がするので、ご連絡させていただきました。

import maya.cmds as cmds oriLoc = cmds.ls(selection = True) addName = "_Rig" nameList = [] for duLoc in oriLoc: nameList.append(duLoc + addName) cmds.spaceLocator(name = nameList)

こちらの動画やドキュメントが参考になりますので是非ご覧ください。
Maya Python入門 #6 『renameコマンドを使って、名前を変更しよう!』
Maya Python入門 #2 『lsコマンドを使って、選択内容を取得しよう!』
Mayaドキュメント

投稿2021/05/04 21:33

編集2021/05/04 21:38
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

apri

2021/05/05 01:55

ご回答ありがとうございます。 上記のスクリプトを実行した所、 import maya.cmds as cmds oriLoc = cmds.ls(selection = True) addName = "_Rig" nameList = [] for duLoc in oriLoc: nameList.append(duLoc + addName) cmds.spaceLocator(name = nameList) # エラー: TypeError: file <maya console> line 8: フラグ 'name' の無効な引数です。string が必要ですが、[ str ] が使用されました # となりました。 cmds.spaceLocator(name=nameLsit)をstring にしておらず、 そもそも私の書いたものが根本的に間違っているようです・・・ もう少し悩んでみようと思います。 ありがとうございました。
退会済みユーザー

退会済みユーザー

2021/05/05 02:01

なるほど、nameはstring受付だったんですね〜。 ドキュメント読んでいませんでした、、失礼しました。 参考リンクとしてあげました、動画の方がすごくわかりやすいと思ったので、困ったら眺めてみるといいかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問