【Maya】最近開いたファイルをホットキーで開くプラグイン

わざわざメニューバーからFiles>RecentFilesと辿るのがめんどいので、こんなやつがホットキー(キーボードショートカット)で開くやつを作ります!

【Maya】ファイルロードが異様に遅くなったので解決した話

Mayaでファイルとして書き出してあるコントローラファイルを読み込むようなツールを管理しているのですけど、この読み込みが異常に重い環境がありました。 一体何が悪いんや…と色々調べた結果、どうやら「startupMainWindowState」というprefsのmainWindowSt…

【CEDEC2017】テクニカルアーティストにおすすめのセッション

去年に続き、CEDECに参加してきたのでTAおすすめセッションのまとめです。 Technical Artist Bootcamp 2017 vol.1 「Automation for TA」 Technical Artist Bootcamp 2017 vol.2 「Math for TA」 Maya + Python でインハウスツールを作ろう! Pixar USD 入門…

【Unity】ARCoreでUnityちゃんを召喚する

ARCore出ましたね!TangoさんRIP。というわけで早速サンプルをいじってUnityちゃんを召喚してみます。 動作環境について 現状はドキュメントに書いてある通り、動作を確認する場合PixelかGalaxyS8が必要です。 一応すり抜ける術もいくつかあるようなので一応…

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

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

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

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

【Maya】不明なプラグインをシーンファイルから消す

Mayaでシーンを開いたとき、「RuntimeError: file line 1: プラグイン "vsMaster" は MAYA_PLUG_IN_PATH には見つかりません。 」みたいなエラーが出ることがあります。 エラーメッセージの通りその環境に該当のプラグインがないためエラーが出ていて、実際…

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

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

【Maya】ファイルタイプからFBX Exportが消えて困った話

FBXの書き出しを以下のような感じでmaya.cmdsのfile関数を使って行っているコードがありまして。 cmds.file(path, pr=True, es=True, f=True, type="FBX export") prフラグってFBXエクスポートのとき意味あるんだろうかみたいな疑問はありつつもそれはおいて…

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

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

GoogleスライドからGASを実行する

GAS

おしごとで進捗報告のためにGoogleスライドを使っていて、URL変わるのがダルいので毎週同じスライドを更新、ただし更新前に議事録も兼ねてコピーするという面倒なフローになってます。スプレッドシートなら簡単にGAS(GoogleAppsScript)を呼べるのでどうに…

【Unity】指定したTypeを持つオブジェクトをHierarchyで選択する

あんまり使うシーンないとは思いつつ。指定したTypeを持つオブジェクトをHierarchyで選択するエディタ拡張です。 ソースコードは以下。 gist.github.comSelection.activeGameObjectに選択したいGameObjectを突っ込むことで、Hierarchyでこのオブジェクトをク…

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

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

【CEDEC2016】テクニカルアーティストにおすすめのスライド

CEDECに初参加してきました。 TAに関係がありそうなセッションとスライドのまとめです。 多文化のテクニカルアーティストチームの力の発揮の仕方 「国の文化の違い」、「プログラマーとアーティストの文化の違い」、「ゲームと映画の映像制作の文化の違い」…

【Unity】エディタ拡張でパフォーマンスを落とさずにScrollViewに大量の要素を表示させる

特定の条件に合致するアセットのリストをEditorWindowに表示させてごにょごにょする系の拡張を作ることがちらほらあるんですけど、アセットはまあ運用すればするほど増えていくわけで、その数が数千数万になっていくと単純に表示するだけだとUnityが悲鳴を上…

【Unity】Sceneビューやカメラのレイヤー表示を切り替える

普通にGUI上からいじれますが、どうしてもスクリプトでやりたいでござる…!というときのために。以下のようにTools.visibleLayersを編集することで実現できます。 // UIレイヤーを非表示 Tools.visibleLayers &= ~(1 << LayerMask.NameToLayer ("UI")); // U…

【Unity】SceneViewのカメラを特定のオブジェクトに向ける

Hierarchyでオブジェクトをダブルクリックしたときと同じ挙動をScriptから再現するやつ。 public class FocusSceneViewCamera : MonoBehaviour { [SerializeField] GameObject focusTarget; void Awake () { SceneView.onSceneGUIDelegate += InitializeScen…

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

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

【Unity】Unityに出力可能なエフェクトエディタ「SPARK GEAR」

sparkgear.net UnityとCocos-2Dxに対応しており、大量のテクスチャやエフェクトのバンドル、簡単なモデルの作成、スマホ実機にリアルタイムで変更が反映できる、などが売りの新しいエフェクトエディタ。 ドローコールの削減など、負荷削減に関する対策もされ…

【Unity】MayaとUnityで通信する

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

【Unity】アセットの読み込みでシンボリックリンクを使う

Mayaで作業をしててFBX書き出しをしてUnity上で確認したいんだけど、FBXファイルをUnityの該当プロジェクトのAssets配下に置きたくないみたいなこと、ありませんか! あんまりないと思いますけど、なんやかんやであったので覚書です。ぱっと思い浮かぶのはMa…

【Unity】UniRxを使ってuGUIのイベントを監視する

こういうのをつくります。 ざっくり言うと、InputFieldに入力されたディレクトリに存在するFbxファイルをDropDownに列挙するものです。 Hierarchyはこんなかんじ。 InputFieldとDropDownを作り、DropDownはOptionsを初期値の1つだけにしておきます。次に以下…

【Unity】同じMaterialが指定されているかチェックする

Rendererに同じMaterialが指定されているかチェックしたいという要件がありまして。より具体的に言うとFBXとそこから作られたPrefabのMaterialに差分がないかチェックするという感じだったのですけど、ブログに載せる用のFBXファイルを用意するのもアレだな…

【Unity】Alfred+AppleScriptで楽々Unity複数起動

小ネタ。AlfredのPowerpack(有料版)を使っていればシェル起動ができるのでいいんですけど、無料版を使ってる場合はそうもいかないので、Unityを複数起動するときいちいちターミナルを開いてました。が、いよいよめんどくさくなってきたので、AppleScriptを…

【Unity】エディタ拡張でUniRxを用いてコルーチンを実行する

Unityさんのエディタ拡張をしているとコルーチンを利用したいみたいなシーンがたまに出てくるのですけど、エディタスクリプトではコルーチンが利用できません。 EditorApplication.updateを利用すればそれっぽいことが出来ますが、ハンドリングも大変だなー…

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

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

【Unity】ProjectViewっぽいWindowをつくる

若干盛った感じのタイトルですけど、見た目的にそれっぽい感じのWindowをつくってみます。 こんなかんじ。基本的には割とありふれた記述で済むんですけど、Unityにもともと入ってるテクスチャ使ったり、それをいい感じにリサイズしたりする資料があんまり見…

【Unity】uGUIのプレハブをインスタンス化する

昔ハマった内容をメモっておくシリーズ。大した話じゃないんですけど、uGUIのオブジェクトをプレハブ化して、こいつをScriptでインスタンス化するとき、以下のようにしてハマりました。 var instance = Instantiate (buttonPrefab); instance.transform.SetP…

【Unity】テクスチャインポーターをつくる

インポーターはざっくり言うとアセットのインポート時にフックして、インポート設定や該当アセットに関する何らかの処理を行うことができるものです。 作成は簡単で、AssetPostprocessorを継承したクラスを作成し、処理を行いたい対象に適したメソッドを記述…

【Unity】AnimatorControllerにScriptからStateMachineBehaviourをアタッチする

StateMachineBehaviourを継承したクラスをAnimatorControllerにアタッチすると、Animatorの状態遷移を受け取って処理を実行できるようになります。詳細はこのあたりを。 qiita.comGUI上でアタッチする場合はAnimatorウィンドウで任意のレイヤーにD&Dするだけ…

スポンサーリンク