【maya python3限目】スクリプトからオプション設定とduplicateをしてみよう

mayapy03 python入門
過去セミナー再配信のお知らせ

過去2回のセミナーが期間限定でアンコール配信中です!
「MayaPython習得に苦しんだ過去の自分に教えてあげたい。。」調べてもわからなかったこと、教えて欲しかったことを、とことん詰め込みました。初心者の方はぜひご覧ください!

ツール作成の全体フローを最短距離で体験できます。スクリプト未経験の方におすすめ!
https://tutorials.cgworld.jp/set/2050

Mayaのオペレーションの自動化について徹底解説。様々な操作を自動化できるようになります
https://tutorials.cgworld.jp/set/2041

こんにちは!ビーバー@ゲーム業界歴約20年 です。
maya python初心者の方のために、カンタン・わかりやすい解説サイトを作っています。

maya pythonの学習情報って少ないですよね。(最初のころは本当に苦労しました。。)
自分が骨を折った経験をもとに、
maya python基礎を最速で習得できる10回のチュートリアル
を作ってみたので参考にしていただければ幸いです。

今回は、3回目。スクリプトからduplicateとオプション設定を行う方法を学んでいきます。

このチュートリアルでわかること
  • スクリプトからduplicateを行う方法
  • スクリプトからduplicateのオプション設定を行う方法
  • pythonコマンドにわたすデータの型について

>> Pythonの勉強方法を知りたい方はこちらをどうぞ

※当サイトで紹介する商品は、アフィリエイトプログラムを利用しています。

フラグって何?フラグの書き方を学ぼう

ピヨちゃん
ピヨちゃん

「○○のフラグが立ってる」とかいうけど、

フラグってなんなの?

duplicate_Option
duplicate □ オプション設定画面の例
ハムちゃん
ハムちゃん

GUIから実行する場合、オプションはこの画面で設定するよね。

それと同じことをフラグの指定でやるんだよ!

ピヨちゃん
ピヨちゃん

なあんだ、オプションだったのか~

ハムちゃん
ハムちゃん

スクリプトではもっと複雑なこともできるんだ。

まずは「オプション設定」と理解するとわかりやすいよ。

では、polySphereコマンドでオプション設定をしてみましょう。
半径4、tamaという名前のsphereを作成するには、下記のように入力します。

cmds.polySphere(radius=4,name="tama")

()の中の「radius」「name」これがフラグです。
書き方は「フラグ名=○○」、複数フラグがある場合は間を「,」カンマで区切ります。
○○の中身は、ヘルプにある「引数タイプ」の指定に沿って書きます。

フラグの書き方

cmds.「mayaコマンド名」(フラグ名=○○) 


polySpheereコマンド、radiusフラグをヘルプでみてみましょう。

radiusフラグ

help

radiusの列を右側にスクロールすると、「引数タイプ」の列に

help

とあります。これが、フラグ=○○の部分の記入方法を指定するものです。

ハムちゃん
ハムちゃん

「引数」は「ひきすう」と読むよ!コマンドに渡すデータのことを指すんだ。

アトリビュートの値には、TRS値のような数字や、visiblleのようにオンオフのものなどありますが、
そのデータ(引数)がどういったタイプなのかを指定しているのが、「引数タイプ」です。
一般的には、「データ型」と呼ばれます。

話を戻して、radiusフラグの場合は、「linear」というデータ型が指定されています。
linearは線形、の意ですがここでは数値をいれればOKです。

cmds.polySphere(radius=4)

半径4と指定をしました。続けて、名前をtamaとするフラグを確認します。

nameフラグ

help

引数タイプを確認します。

help

stringとは文字列のことです。
Hello,worldの演習で、文字列は「””」で囲ったものが文字として認識されると学習しましたね。
nameフラグの記入は文字列で行います。

cmds.polySphere(radius=4,name="tama")

先ほどのradiusフラグの後に追加するので、間をカンマで区切って追記します。
スクリプトを実行してみましょう。

半径4,名前は「tama」というsphereが作成できたと思います。

mayapy04_01
ピヨちゃん
ピヨちゃん

フラグ=○○の書き方はデータ型に合わせて書くんだね!

ハムちゃん
ハムちゃん

データ型のうち、主なものをまとめるから参考にしてね!

データ型について

コマンドに渡すデータ(引数)のタイプは、一般的にはデータ型と呼ばれます。
主なデータ型には以下のようなものがあります。

データ型情報のタイプ備考
int      整数         1個2個などものを数える時などの整数値    
float浮動小数点(数値)小数点を含む数値
string文字列ものの名前など文字列
boolean真or偽TrueかFalse、オンオフで認識されるもの
ピヨちゃん
ピヨちゃん

booleanっていうのはどうやって使うのかな?

ハムちゃん
ハムちゃん

次のduplicateコマンドの例で見ていこう!

duplicateコマンドでフラグに慣れよう

先ほどの「tama」をスクリプトからduplicateしてみましょう。

コマンドとフラグの説明

cmds.duplicate()

これが素の状態のduplicateコマンドです。名前をtama02に、
子ノードに固有の名前を割り当てるオプションを設定したいと思います。

dulpicate_Option

名前はsphereの時と同様に記入します。

cmds.duplicate(name="tama02")

次に「子ノードに~~」のフラグをヘルプから確認します。

フラグ名「renameChildren」とありました。
こちらの引数タイプは「boolean」です。boolean値はTrueかFalse、オンオフのデータ型です。
このフラグの場合のbooleanは「renameChildren」フラグをオンにしますか?しませんか?
の意味になります。

オンにしたいので、このように記述します。

cmds.duplicate(name="tama02",renameChildren=True)

「renameChildren」の後にboolean値のTrueを入れることでこのフラグがオンになります。
もう一度フラグの書き方を復習しましょう。

フラグの書き方

cmds.「mayaコマンド名」(フラグ名=○○) 

フラグ名はrenameChildren、引数タイプがboodeanなので、
○○の部分は引数タイプのデータ型に沿ってTrueと記入しました。

スクリプトを実行

それでは、「tama」を選択してスクリプトを実行します。

cmds.duplicate(name="tama02",renameChildren=True)

無事、名前がtama02、子ノードに固有の名前のsphereが作成されました。

mayapy04_02

まとめ

今回学習した内容のポイントをまとめます。

学習のポイント
  • コマンド名の後ろの「()」にはフラグを記入する
  • フラグの記入方法は ()の中に「フラグ名=○○」という形で記入
  • ○○の部分は、ヘルプに指定があるデータ型にのっとって記載する
  • フラグの詳細はヘルプの テクニカルドキュメント>pythonコマンドの中

この回では、コマンドの実行、フラグの記入、データ型を学びました。
次回は、階層内の骨だけを選択するスクリプトの作成を通して学習を進めたいと思います。

はじめてpython学習するなら!

はじめてプログラミングを勉強するとき、エラーはつきものですよね。
何時間もスクリプトが動かないこともしばしば。。
そんな時、くわしい人に教えてもらいたい、と思うことはありませんか?

侍テラコヤは、はじめてpythonを学習する方にピッタリのサービスです。
サブスク型オンラインスクールで、月¥2980~の良心的なお値段!

現役エンジニアのサポートが充実しており、
オンラインのマンツーマンレッスンとQ&A掲示板で即座に悩みを解決することができます

maya python基礎

本サイトの【まとめ】 maya python 基礎 入門!では、
10回シリーズでmaya pythonの基礎が習得できるコンテンツを発信しています。

  • ちまたのスクリプトを読んで、内容を理解したい
  • mayaのスクリプトリファレンスの読み方を習得したい
  • 自分で簡単なツールを書きたい
  • 基礎的なmayaコマンドをpythonで使えるようになりたい

など、mayaでpython基礎を身に着けたい方は、ぜひご活用ください♪

オススメの本。pythonが楽しく学べます☆

コメント

タイトルとURLをコピーしました