ON-BLOG

CGのこと、あれこれ書いてます。

maya.cmds

StudioLibraryをPythonコマンドでSAVE LOADしてみる

すんごい細かいメモ。 qiita.com ここのカバーとなります。 ほとんど書かれてますが…Saveは上記通りで大丈夫かと思います。 from studiolibrarymaya import animitem def LoadAnim(path,Selections): path = path animitem.load( path, objects=Selections, …

コンスト先とか元とか

昔作ったやつ 実行で、コンスト元を選択し Ctrl押しながらだと、コンスト先を取得する。 現状再帰的処理は入れていないし 色々不備はあるかと。今度修正。 # -*- encoding: utf-8 -*- import maya.cmds as cmds import sys def ConnectionList(KeyState,List…

Pyside勉強 その六

では次はもう少し実践を意識したツールを作ってみます。 前回のUIを意識して、リストに物を追加して 処理を行うものにします。 またボタンを追加して、リストに入っているものを コンストレインレインを行う。といったツールにします。 細かい処理はいれない…

親にグループを作ってあげる

タイトル通りで、急遽家でも必要になった為 作りました。 半端なやつですが、メモようにこちらにもアップ。リグ作るときに、トランスフォームを「0」にする為、親のオフセット値を入れるとおもいます。 それの自動化版です。 特になにもしてない、マクロです…

FormLayoutについて

FormLayout結構使ってるんですが、たまに意図しない配置になったりするので 昔書いた絵をサルベージしました。って書いてますが正直Help見ればいいですが… とりあえずその昔(MAYAを本格的に触り始めた10ヶ月前ぐらい)書いた絵を 要はアタッチ系がよくわかっ…

Pythonのメモ

こんな事できるなんて…と思ったのをメモに【リストを変数に個々に格納】 Sel1,Sel2,Sel3,Sel4 = ["polyShpere1","pTorus1","pCylinder1","pCube1"] print Sel2 結果↓ pTorus1 こんな事できたとは… あと、内包表記。 今まで少しだけ使ってたんですが、いろん…

キーワード引数のメモ

キーワード引数にリストを入れるとタプルになって 無理やり文字列操作でリストにしてたんですが 実は引数の前にアスタリスクを入れるだけでよかったという事が わかったのでメモ。 かなり初歩的な事っぽい。。 def testFunc(*args): print(args[0:]) nodelis…

続・オーダー変えるやつ

更新に時間がかかりました‥ 実際は8割り程度結構前にできてたんですが まぁ色々ありまして‥ と前置きはともかくいきなり完成コードを ↓ # -*- coding: utf-8 -*- import maya.cmds as cmds from functools import partial import re import ast def CreateLo…

オーダー変えるやつ

続けて次はアニメーションの結果を変えずに オーダーを切り替えるスクリプトを書いていきたいと思います。 SI時代にも作成していて、さらに昨年MAYA版も作ったんですが 色々あり、闇に消えてしまったので一から作り直してみたいと思います。 ※今回は色々時間…

完・続・スクリプト書いてみようかと

前回までで、UIとコマンドができたので、組み込みと テストをして、完成させたいと思います。では早速、まずは関数化していきます。ある程度前回の記事で仕様と、どうすればいいのか決まってるので それらを踏まえ、加筆しました。と書きましたが、まぁエラ…

新・続・スクリプト書いてみようかと

前回までで、書き出しと読み込みのコードが【とりあえず】できたので それらをテストも含めて、関数化してみます。まずは書き出し。 関数にする前に、一番はじめに書いた仕様を確認。 3.外部に保存するコマンドとそうではない、イテレーションが早いコマン…

続・スクリプト書いてみようかと

前回までで、選択したものの値などを外部に保存することまでできました。 今回は引き続きコードを書いていきたいと思います。次は、まず前回までで、できたものを整理します。 始めに現状だと一個のオブジェクトしか対応していないので それを対応する為 配…

スクリプト書いてみようかと

超久しぶりにブログ書きます。 というのも色々本当にありまして…… さておき では今回は割とガッツリスクリプトを書いてみようかと思います。はじめに仕様面を決めてみようかと思います。お題:ポーズセーブスクリプト 制作理由:MAYAデフォルトでポーズだけ…

フェースを表示トグルするツール

久しぶりに更新します。とある事で必要に駆られたので作りました。 ※WEBにもっといいやつありますし、あたらしいエクステンションには標準で搭載されてますが… ポリゴン表示をトグルです。 一応ルールがあります。 1.初めてフェースを非表示にする時は、オブ…

【覚書】maya python入門 其の十三

今回はmaya.cmdsを使ってXMLの簡単な例を書いてみたいと思います。SIではJSを使えば、結構簡単に出力、読み込みができましたが Pythonでやるのが、未経験だったのでメモに。今回は、シーンのディスプレイレイヤーを取得し それをXMLとして出力してみます。 …

argsってなんですのん?

会社の人に説明するときに、単純に【引数の事】でアーギュメントの略だよ。 と伝えても、うん? って感じだったので、コードと共に説明した事をメモ。 def test_code(*args): print args[0] print args[1] test_args1 = "code1" test_args2 = "code2" test_c…

【覚書】maya python入門 其の十二

今回もWEBで学んだことを書いていきます。(確かWEBだったはず…) 内容は頂点にモデルを配置するといった、簡単なモノです。 ここから、ランダムにしたり、計算によって配置したりできますね。 いきなりコードを… import maya.cmds as cmds if cmds.window("Ra…

【覚書】maya python入門 其の十一

かなり番外編ですが、11… とある理由でデータが壊れる事があったので、MAYAで自動バックを作成する ツールを作りました。 このスクリプトはセーブ実行時にそのデータを指定フォルダに コピーし、日時で細かく管理、バックアップするツールです。 誤ってセー…

【覚書】maya python入門 其の十

今回も動画で学んだコマンドを紹介。前回に続いて軽めのコードになります。 こんな感じのやつです。 シーン一覧をMAYAディレクトリから取得して 一覧表示し、選択後読み込みといったやつだったと思います。 ではコード import maya.cmds as cmds import os d…

【覚書】maya python入門 其の九

今回からは、動画とかで学んだ事書いていきます。 昔勉強で作成したモノになります。 リンクはすみません。忘れました。 今回スクリプトの内容はこんな感じ。 画像を読み込み→キューブを作成→入力されて名前にリネーム とこんな感じの簡単なツールです。 画…

【覚書】maya python入門 其の八

かなり番外編ですが、 折角なんで、タイトルは続けてみようと思います。 先日、大阪でGTMFと呼ばれるセミナーがあり、1セッションだけ受講したので その報告と同時にコードの紹介をしたいと思います。「Autodesk Maya;大人気!カスタム・グラフエディタと…

【覚書】maya python入門 其の七

今回は昔作った勉強用のスクリプトがあったので それを紐解いていきたいと思います。内容は、スライダーで設定された値を持って 球を作成するというモノになります。 こんな感じです。↓ では早速コード import maya.cmds as cmds if cmds.window("Obj_EditWi…

【覚書】maya python入門 其の六

続いて少しだけ数学をしたいと思います。 やっぱりスクリプトやるとなると、この辺り補っていかないと 後々苦労したり、無駄が増えてしまうので…と書きつつ詳しい事は説明しません。 ※できません汗なので、コード見つつこんな事ができるんだ…。 程度で進めて…

【覚書】maya python入門 其の四

肝心なことを書き忘れていたので、書いていきたいと思います。色々書いてもあれなので、まずはコードを書いてみたいと思います。 import maya.cmds as cmds oCube = cmds.polyCube(w=1,h=1,n="Cube_Make") cmds.polyCube(oCube[0],e=True,sx=1,sy=2,sz=3) oS…

【覚書】maya python入門 其の三

では続き。前回はSET側のコードで移動させたり、KEYを打ったりしてました。 今回はGET側をやってます。まず初めに前回の環境を作成します。 import maya.cmds as cmds cmds.polyCube( n='Cube_Move' ) cmds.move( 5, 1, 1 ) cmds.setKeyframe( at='translate…

【覚書】maya python入門 其の二

続いて値の設定について書いていきたいと思います。 SIと同じで、アトリビュートのGET,SETValueがあるみたいなんですが 値の設定だけならもっと簡単にできそうです。 今回はまず、SET側からみていきましょう。 import maya.cmds as cmds cmds.polyCube( n='C…

SOFTIMAGEとMAYAで使用するPythonスクリプト超入門②~番外編~※改訂版

今回は配列を見ていきましょう。 そもそもPythonでは配列に種類があり、それが下記の、 「list」 「tuple」 「dict」 の3つがあるみたいです。 それぞれ違う意味があるので、 一つ一つみていきましょう。「list」とは →あらゆるオブジェクトを複数要素を持つ…

SOFTIMAGEとMAYAで使用するPythonスクリプト超入門②~後編~※改訂版

では前回に引き続き超入門編の後編を。前回ではログから作成する手順とIF文を使用したスクリプトを紹介しましたが、 今回は反復処理(FOR文)の説明をしていきたいと思います。 そもそもFOR文とは?WIKIさん↓【 条件が真の間だけ与えられた文の実行を繰り返す …

SOFTIMAGEとMAYAで使用するPythonスクリプト超入門②~中編~※改訂版

次によく使うIF文の説明をしていきたいと思います。 そもそもIF分とは?WIKIさん↓【「もし~だったら」という条件を示す文。条件に合致する場合に処理される真文、条件に合わない場合に処理される偽文で構成されている。】 要は指定した事に対して、正解か外…

SOFTIMAGEとMAYAで使用するPythonスクリプト超入門②~前編~※改訂版

では前回に引き続きPythonのお勉強を。 今後は一週間おきに更新できればと思います。 早速スクリプトを作成していきたいと思います。 一番簡単な所から今回はキューブを出してみます。 コマンド的にはこんな感じ↓ Application.CreatePrim("Cube", "MeshSurfa…