python

【Maya】2022から使える新しい2D Overlaysをしらべる

この記事はMaya Advent Calendar 2021の16日目の記事です。みなさん!Maya2022!つかってますか!!僕はまだ使ってないんですが気づけば2022.3が出てました。はやい。いくつか気になるところはあるんですが、ツール製作者としては2022.1から使えるようになっ…

【Maya】ノードのコピペの仕組みと活用

この記事はMaya Advent Calendar 2020の10日目の記事です。 はじめに Mayaでこんな感じのシーンがあったとして… pSphere1とpCube1をコピーしてペーストすると… このようになります。 グループが新規作成され、その下に「pasted_」接頭辞がついた形でコピーし…

【Maya】内製PythonツールをMaya2020対応するためにやったこと

内製のツールを試しにMaya2020で使おうとしたら動かない…! というわけで対応した内容のまとめです。 PySide2のエラーその1 PySide2のエラーその2 PySide2のエラーその3 typingのエラー おわり

【PySide】動的に生成したWidgetのシグナルに接続する

ボタンのクリック時に特定の処理を実装するとき、ボタンの数が決まっている場合はそのボタンの数だけ接続するメソッドを書けばよいだけです。 が、ボタンの数が不定で実行するまで分からない場合はどうでしょうか。 上の画像においてボタンの数が不定で動的…

【Maya】スクリプトからメッシュを結合する

こんな感じで子に複数のメッシュを持つグループを1つのメッシュに結合するシーンについて考えてみます。 スクリプトで実行 期待した挙動をしないケース 問題があるケースを事前に検出してから結合する

【Maya】最近のツール配布構成

はじめに この記事はMaya Advent Calendar 2019の20日目の記事です。昨日はyamahigashiさんの「maya のメニュー登録を題材にメタプログラミング・デコレータの紹介」でした。今年はいくつかツールを作って配布したりしたので、今回はそのツールの構成につい…

【Maya】MayaRecentFilesPlus(v1.0.1)リリース

午前中にv1.0.0リリースしたという記事を書いた直後でアレですが、v1.0.1をリリースしました github.com 変更点 「Open」ボタンを押したとき、保存確認をするように変更 Altキーを押しながら「Open」ボタンを押したとき、保存確認をせずに開く機能を追加 ツ…

【Maya】MayaRecentFilesPlus(v1.0.0)リリース

MayaRecentFilesPlusのv1.0.0をリリースしました🎉以前こんな感じのツールを作って、なんだかんだ自分が一番日常的に使ってるので、改善&切り出してリリースしてみました。 tm8r.hateblo.jp 機能 インストール方法 おわり 追記(2019.10.29 19:55)

【Maya】FBXエクスポートでクリップ分割、クリップ名変更を行う

GameExporterを利用すると以下のような感じでTimeEditorと連携するなどして複数クリップを定義し、FBXのクリップを分割することができます。が、GameExporterのUIを使わずにクリップ分割したい、というシーンもあるかと思います。というわけでやっていきまし…

【Maya】QtでTreeWidgetなどでノード選択後にViewPortのショートカットが効かない

TreeWidget、ListWidgetなどで項目選択時にそのノードを選択する、って時々やりますよね?よね?このとき、特に設定をしないと選択直後に「F」キーを押したりしても対象ノードにViewPortがフィットしません。 ので、この場合はMayaのメインウィンドウを一度…

【Maya】スクリプトで頂点カラーをテクスチャからインポートする(+ブレンドシェイプを持つ場合の注意点)

この記事はMaya Advent Calendar 2018の6日目の記事です。 頂点カラーをブレンドシェイプを持つShapeに適用する ターゲットに伝播した頂点カラーを削除する 自動化する おわり 頂点カラーをブレンドシェイプを持つShapeに適用する こんな感じでスフィアが3つ…

【Maya】HumanIKのリターゲットをスクリプトから実行する際のハマりどころ

HumanIKを使ったリターゲットをわざわざ手動でぽちぽちやるのが面倒なのでいざ自動化! と思ったら一箇所詰まったので覚書です。「scripts/others/hikGlobalUtils.mel」あたりにHumanIK関連のスクリプトがあり、どうやらSourceの指定は「hikSetCurrentSource…

【Maya】Mayaでsubprocessを使う(クロスプラットフォーム対応)

より正確に言うとsubprocessをGUIアプリケーションからクロスプラットフォームで使う方法です。 とはいえ実際のところMacだと特に困らないので、以下の内容はWindows向けの対応方法になります。 「ハンドルが無効です」エラーに対応する 実行の度にウィンド…

【Maya】Mayaの相対パスの挙動とファイルの実際のパスを取得する方法

Mayaでテクスチャの参照があるシーンを作成時と異なるパスに配置した状態で開く、みたいなことってあると思うんですが、このときプロジェクトがちゃんとセットされていれば相対パスでテクスチャが参照されますよね。 このときの挙動の詳細や、それによって起…

【Unity】【Maya】FBXのカスタムプロパティのアニメーションをUnityで使う

Unity2017.2からサポートされたanimated custom propertiesの使用方法など

【Maya】PySideで検索つきのTableViewをつくる(+小ネタ)

この記事はMaya Python Advent Calendar 2017の14日目の記事です。前回がアレだったので今回はもうちょっと実用的なネタを書きます!よ! 今回作るもの メニューボタンをクリックすると表示が切り替わる機構を作る 表示が切り替わる機構を作る メニューボタ…

【Maya】コマンド入力でアンロックするダイアログを作る

この記事はMaya Python Advent Calendar 2017の6日目の記事です。 枠が余っていたのでネタで埋めていくスタイル。 こういうのを作っていきます。 準備 作り方を考える やっていく 呼び出してみる 補足 おわり

【Maya】Maya2018でconfirmDialog+QFileDialogが動かない話

Maya2018でcmds.confirmDialogの結果を受け取った直後にQFileDialogでファイラを開いたときにファイラがすぐに閉じてしまうという現象に遭遇しまして。 具体的には以下のようなコード。 from Qt import QtWidgets,QtCore from maya import cmds def main(): …

【Maya】FBXの再生範囲をチェックする

保存済みのFBXをmayapyで開いて色々いじったのち、再度FBXで書き出すようなバッチを作る機会がありまして。FBXをオープンしたときはシーンをオープンしたときと違って、再生範囲が復元されません。 つまり、デフォルトの1-120の範囲になり、この状態で書き出…

【Maya】読み込んだファイルで追加されたトップノードを取得する

ツール経由でファイルをインポートしたりした際に追加されたノードに対して何かしたい、みたいなときに何かそれっぽいコールバックがあればいいんですけど、Mayaさんには存在しなさそうなので無理矢理やるやつです。

【Maya】GUIのレイアウトの状態を確認する

MayaでUIの調整をしていて、なんか思ったレイアウトにならんなーというとき、各レイアウトの範囲がどうなってるか色分け出来たら捗りそうだなーと思って、適当に書いてみました。

【Maya】カラーコードをMayaのUIで利用できる形式に変換する

MayaのUIはカラーを bgc=[0.29, 0.75, 0.42] みたいな形式で指定するんですけど、この形式で書くのめんどいですよね。 というわけでカラーコードまたはカラーピッカーで指定した色をこの形式に変換するやつを作りました。

Qt.pyを使ってQtDesignerのuiをMaya2017対応させる

Qt.pyとは PySideとPySide2、PyQt4とPyQt5のコードの違いを吸収してくれるものです。 ざっくり言うと、一つのソースコードで両バージョンに対応することが出来るようになります。 fredrikaverpil.github.io

GAでMayaのプラグイン利用状況を計測する

この記事はMaya-Pythonアドベントカレンダー2016の12月22日の記事です。 はじめに 社内で開発したMayaプラグインをアーティストさんに使ってもらう、みたいなケースにおいて、 どのツールがどのくらい使われているか 例外がどこでどのくらい出ているか どん…

【Maya】プラグイン配布の構成を考える

Mayaのプラグインを作ったんだけどどうやって共有したらいいのかわからないよ! というわけで色々試して今自分なりにこんな感じかなーと思ってる構成について書いてみます。

【Maya】作成したツールの設定を保存する

Mayaのツールを作ったものの、その設定を次回起動時も引き継ぐためにはどうしようか、jsonか、csvか、どこに保存しようか、と思ってたらどうやらoptionVarという便利メソッドがあるようで。help.autodesk.com import maya.cmds as cmds saveKey='myToolWindo…

【Unity】MayaとUnityで通信する

色々方法はあると思いますが、今回はUDPを用いて通信してみます。 今回はMayaで開いているシーンファイルの場所をMayaから送信し、これをUnity上で表示するものを考えてみます。

【Maya】pythonで指定されたフェースの頂点数を取得する

ポリゴンの情報を取得するpolyInfoってメソッドがありまして。 適当なフェースを選択してこいつを実行すると以下のような結果が得られます。 import maya.cmds as cmds cmds.polyInfo(fv=1) # 結果: [u'FACE 7: 8 12 13 9 \n'] # はい。どれが何なのかよくわ…

スポンサーリンク