ラベル MEL の投稿を表示しています。 すべての投稿を表示
ラベル MEL の投稿を表示しています。 すべての投稿を表示

2025年12月29日月曜日

matchとgmatchの正規表現

 よく特定の文字列をざっくりとしたパターンでフィルタリングしたい時に正規表現を使うかと思いますが、よく似た動作をする matchコマンドと gmatchコマンドでは正規表現の使い方にちょっとした違いがあるようです。

2025年12月22日月曜日

MELで四捨五入

 数値を表示しようとしたとき、少数をある桁数で区切りたいと思う事があります。いわゆるROUND関数というヤツです。

2024年6月10日月曜日

タイムスライダのブックマークマネージャを自作する

 maya2020より タイム スライダ ブックマーク という機能が追加されました。
 似た機能としては、ゲームエクスポータのアニメーションクリップタブでしょうかね。しかしクリップの範囲を確認するには、わざわざレンジスライダの範囲を切換える必要があったりするので、タイムスライダ上にバーが表示されて視覚的に確認できるのは、とても嬉しい機能だったりします。

2024年4月22日月曜日

ロードされたプラグインをチェックする

 mayaはプラグインを使って機能を追加することがあります。
 バージョンアップでの新機能の中にも、新機能専用のノードやアトリビュートがプラグインによって作成されて実装されているものもあります。

2024年3月25日月曜日

シンMELの多言語対応

 以前紹介した MELの多言語対応 で使用していたのは、uiResコマンドと displayStringが羅列された .res.melファイルだったのですが、ふと、mayaのUIで日本語訳を調べるために .res.melファイルを検索してみたのですが、全くと言って良いほどヒットしなくなっていました。

 どうやら最近は、uiResコマンドや .res.melファイルではなく、setPluginResourceコマンドと .pres.melファイルを使用するように変わっているようです。

2024年2月19日月曜日

メニューがどこに在るのかを探す

 Mayaの操作を教える場合、実行するコマンドがメニューのどこに在るのかを調べたい場面に遭遇することが、たまにあります。
 Maya2020の Helpメニューの中には Find Menu(メニューの検索)というメニューの場所を探すツールが有りましたが、Maya2022からは機能強化により Search(検索)というツールへ置き換わってしまいました。

2024年1月22日月曜日

MAYAのファイル名をクリップボードに書き込む。いわゆるコピーのこと

 Mayaを使っていると現在開いているシーンの名称を使用したいときが、たまにあります。
 例えば、こんなような場面


 Game Exporterを使って FBXを出力するとき、出力ファイル名にシーン名を使いたいときなどです。

2023年6月26日月曜日

不明なプラグインを削除するスクリプト

 当時は mentalrayに限定していましたが、maya2016くらいの頃に作成した 不要なプラグインを除去するツールを改めて作成してみました。

 tryRemovePlugin.mel

2022年5月9日月曜日

BVHファイルのMAYA用インポートスクリプト

 2022年の4月も終わるころ、GitHubにバンダイナムコ研究所よりモーションキャプチャのデータが公開されたようです。※ニュースリリース
 そのキャプチャデータのファイル形式が今では珍しい(?)BVH形式を採用していました。

 10年くらい昔、Perfumeのダンスモーションが配布された頃には色んなツールへのインポートスクリプトの記事が見られましたが、今回はどうでしょうかね、BVHは古い規格なのでそんなに需要もなさそうですし、当時のものを使う感じになるんでしょうか。


2021年6月14日月曜日

splineIk用のコントローラ名を作成する。

 スプラインIKでスパン数を指定して作成し、MELで扱い易いようクラスターのリストを作成するようなスクリプトを作成しました。
  参考:spineIkを設定する

 そしたら、今度はクラスタを拘束するコントローラの作成です。

2021年3月29日月曜日

spineIkを設定する

 splineIkを操作するためには、普通のIKのようにIKハンドルを移動させたりするのではなく、splineIk のNURBSカーブの Control Vertex を移動させて操作します。

黄色いのがCV(Control Vertex)

 ただ、Control Vertex を選択したりするのは難があるため、クラスターで拘束してコントローラー代わりにします。

 こちらの方が操作しやすいですね。
 最近 splineIkをいくつも作っていて、このクラスターを作るのがとても面倒くさく感じました。

2021年2月24日水曜日

リグコントローラのピッカーを作る

  リグコントローラを選択するためのツールとして「ピッカー」というものが有るようです。
  「シノプティックビュー」とか「セレクター」とか、いろいろ呼び方が有るようで、どれが一般的な呼び方なんでしょうかね?
  でも、HumanIkの「キャラクタ リプリゼンテーション」は意味不明すぎます・・・。

  mayaで自作のリグを組むと、たいていピッカーも自作しないといけないので、リグを組んだら何となく流れで作成してしまいます。

2021年2月18日木曜日

addAttrコマンドの便利なフラグ

  「カプセル型のコントローラを作成してみる」で作ったようなリグの場合、複数の制御用コントローラがあるわけなのですが、アニメーションさせるとなると、関連したコントローラ全部にキーフレームを設定するときなどでかなり面倒に思うはずです。

  キーフレームの設定を忘れるノードも出そうなので、できれば1つのノードで集中管理したい。

  そんなことを実現してくれる機能が addAttrコマンドに存在します。

  最終的には、こんな感じのノードグラフになります。


2021年2月4日木曜日

MELの保存されているパスを調べる

  むかし、MELの保存先を調べるとか書いたのですが、スクリプトごとに記述しているため、なんか冗長なんですよねぇ。

  なので、もう少し簡略化できないかと書き換えてみることにしました。

2021年1月21日木曜日

vector型の怪

  スクリプトエディタで、ベクトル型に値を設定せずカンマだけで宣言し、結果を表示してみます。

  なんか、カラのはずなのに何か値が出てきました。
  しかも、会社の maya と自宅の mayaLT で、出てきた値が違っています。

2020年12月17日木曜日

fileコマンドでuiConfigurationScriptNodeを回避する

  uiConfigurationScriptNode を作らせなくするためには、Preferences の UI Elements から、Panel Configurations の項目を編集しなければいけません。※参照

  このノードを作成させなくするために、スクリプトで対処しようとしてグローバル変数なんかをいじったりもしていましたが、もっと簡単に回避する方法があったようです。


2020年11月9日月曜日

Go to Bind Pose

  リグの組み方は色々あると思うんですが、どういった作り方をしていたとしても、基本的にはリグコントローラからバインドしているジョイントへは、コンストレイントを使ってアニメーションを転送するというのが簡単で広く知れ渡っているという感じでしょうか。

  ただ、scaleConstraint だけは上手くスケールを拘束できないようで、worldMatrix から decomposeMatrixを使ってアトリビュートを接続することがあったりします。


2020年11月2日月曜日

pickWalk 使ってますか?

 pickWalk と聞いてピンと来ない人も居るかもしれませんが、mayaのDAG階層は「矢印キー」で選択を変更することができるようになっています。

 プレビューウィンドウだけで作業が完結するようなモデラーさんには馴染みはないかもしれませんが、アウトライナを使うような古いアニメーターさんなんかは知っている人が居るかもしれません。

2020年9月28日月曜日

gameFbxExporterを改造する

FBXファイルの出力に便利な Game  Exporter ですが、当然、FBXExport コマンドを使用しています。 Model Export なら問題ありませんが、Animation Clips を出力するとなると問題が出てきます。こちらを参照。

タイムレンジを設定できたり、複数クリップを1ファイルに保存するとか、自前で用意するのは中々大変なので有効活用したいところです。


なにより、シーンファイルに FBXの出力設定を保存できるのでヒューマンエラーが格段に減らせられるのは魅力的です。