ON-BLOG

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

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勉強 その十(終)

それでは、最後に前回作成したセレクターに ボタンの処理となんとなく選択しているボタンの視認性を変更してみて 最後にします。まずはコード。 import os import sys from PySide import QtCore, QtGui from PySide.QtUiTools import QUiLoader from maya.a…

Pyside勉強 その九

前回の記事をベースに矩形選択で取得した ボタンの挙動を実装してみます。 まずは、ここでコントローラーのセレクトをしたいので こちらの 3dfiggins.com スパイダーマンリグをお借りしました。 ありがとうございます。 ちなみにここのサイトでリグ何個か買…

Pyside勉強 その八

次は、読みこんだUIに、マウスイベントを入れてみます。 色々手法はあるみたいですが とりあえず、Filterを使ってWidgetのイベントを オーバーライドする形にしてみます。 まぁはじめこの部分すんごいはまりましたw まずはマウスイベントだけですが なかな…

Pyside勉強 その七

今回はQtdesignerを使って簡単な画像付のUIを作成し それをMAYAとリンクさせるところまでやってみたいと思います。はじめにUIファイルを作成します。 こんな感じの簡単なやつでいきます。 内容的にも簡易です。 widget作って、今回はQLabelを配置。 名前を【…

Pyside勉強 その六

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

PySide勉強 その五

次は、前回作ったUiを改良して UIに変化を追加する流れを見て見ます。 新たにLISTを作成して、そこにパラメータを追加するという 流れにしてみます。 #-'''- coding: utf-8 -'''- from PySide.QtCore import * from PySide.QtGui import * from maya.app.gen…

Pyside勉強 その四

いままでのツールで一点おかしな部分があります。 それはウィンドウがMAYA画面の後ろにいってしまう点です。 なんでこんなことがおきるんでしょうか?その原因はMAYAのウィンドウがPySideで 作成されているのが、起因になっています。 前の記事でも書いてま…

Pyside勉強 その参

次は Pysideの肝になる継承を含んだ例です。 こちらも前前回の記事に載っているものですね。 #-'''- coding: utf-8 -'''- from PySide.QtCore import * from PySide.QtGui import * class Form(QDialog): def __init__(self, parent=None): super(Form, self…

Pyside勉強 その弐

続き。ハローワールドのスクリプトはこれぐらいにして 続いてプッシュボタンについて。 これも前回記載したサイトに載っているものです。 こちらはイキナリMAYAに落とし込んだコードです。↓ # -'''- coding: utf-8 -'''- import sys from PySide.QtCore impo…

Pyside勉強 その壱

Pyside自体は今までも使ってきました。 が、その場しのぎでずっと使ってきました。数日前に数見たらPysideで作ったスクリプトが20個ほど。 ただ、これらはいろんなサンプルから作っただけなので 基本で躓くことが多く、結構時間が掛かってしまってました。ち…

Jiggleについて

使おう使おうと思って、中々手が出なかった【Jiggle】デフォーマ。 今日というかさっき、テストしたので メモ代わりに記載。初めに【Jiggle】とは? →揺れに当たる。 私はこれを見て、やりたいなぁと思いました。 これは直ジオメトリですが、骨などにも使え…

膝パーツの組み方

よくある事例なんですが、いつも接続で?ってなるのでメモ。画像みたいに、ひざにパーツがついてる時があります。 特にメカ系なんかに多いんですが… これを足の骨だけでそのまま回すと こうなるかと思います。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ このままだと、硬い物等で違…

NameSpaceをすべて削除

リグ組んでたり、アニメーションを読み込みしてたりすると 偶にネームスペースが邪魔になることがある。 その都度一々、ネームスペースエディタを開いていたら 面倒なので、マクロを作りました。 ※家用。 # -*- encoding: utf-8 -*- import maya.cmds as cmd…

カメラを作成

スクリプトからカメラを作るコード。 これ自体はなんら意味のないものですが これに色々載せると、自由なカメラリグに。というか、Aimカメラの作り方がわからなかったので それを実行しただけですが… def Normal_Camera(self): cameraName = cmds.camera() c…

名前変更

まぁよくあるやつ。 何回書いたことか…って事で今後ググらないように、雛形をここにメモ。 import os import glob #パス指定 path = "D:/demo" #拡張子FBXだけ取得 files = glob.glob(path + '/*.fbx') for f in files: #例題 #player_mot_0000.fbx #↓↓↓↓↓↓↓…

animCurveについてメモ

animCurveについてメモ。 いつもいつもあれ?なんだっけ? ってなるんで、メモ代わりに残こそうかと。ヘルプを見るとこれだけあります。 animCurve animCurveTA animCurveTL animCurveTT animCurveTU animCurveUA animCurveUL animCurveUT animCurveUU 以下…

小物メモ2

続き選択のコンストレイントを削除するやつ。 ツール作るまではこれで、コンストを削除してました。 import maya.cmds as cmds def SelAll_Const_Del(): sel= cmds.ls(sl=True,type="constraint") for i in sel: cmds.delete(i) 続いて、これは入力した文字…

小物メモ

MacBookAirのデスクトップに放置してた、スクリプトをメモ代わりにここに残そうかと。●SpeedChange FPSを簡単に変えるスクリプト。 モーション作成時に、一々変更するのが 面倒だったので作ったと思います。 # -*- encoding: utf-8 -*- import maya.cmds as …

色々バックアップするツール

ちょいと用があり、昨日書いたスクリプトです。 こんなやつです。 シーンファイル、Xgenファイルをテキストベースのメモを残してバックアップするツールです。 Xgenはお知り合いからの要望で含めてます。 処理は簡易です。 セーブして、そのファイルをコピー…

蛇みたいな構造体を作る

どっかのサイトで見た蛇みたいなリグを作る方法。 スパイン使うよりも簡単で、何よりも軽いのが特徴。こんなやつ↓ hebi from tommy_on on Vimeo.やり方は超簡単。 sphereを原点に出して、それを複製して横にずらします。 この時、オブジェクト同士が重なり合…

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

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

sphinxについて

必要になったのでメモ。 ※もう半年前のやつですが… 実際仕事では、バンバン使ってるのでsphinx自体の説明は割愛。 要はドキュメント生成ツールとだけ。 sphinx-users.jp まずはインストールから。 前段階だが、Pythonをインストールももちろんしておく。 ※バ…

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