TreeWidget、ListWidgetなどで項目選択時にそのノードを選択する、って時々やりますよね?よね?
このとき、特に設定をしないと選択直後に「F」キーを押したりしても対象ノードにViewPortがフィットしません。
ので、この場合はMayaのメインウィンドウを一度クリックしたりしてから「F」を押す必要があります。
keyPressEventを乗っ取ったりしてなければCTRL+Fでうまくいったりもしますが、不親切感…😇
というわけで解決していきましょう。
続きを読むTreeWidget、ListWidgetなどで項目選択時にそのノードを選択する、って時々やりますよね?よね?
このとき、特に設定をしないと選択直後に「F」キーを押したりしても対象ノードにViewPortがフィットしません。
ので、この場合はMayaのメインウィンドウを一度クリックしたりしてから「F」を押す必要があります。
keyPressEventを乗っ取ったりしてなければCTRL+Fでうまくいったりもしますが、不親切感…😇
というわけで解決していきましょう。
続きを読むこの記事はMaya Advent Calendar 2018の6日目の記事です。
こんな感じでスフィアが3つあり、一番左の「pSphere1」が隣の2つのスフィアをターゲットとするブレンドシェイプを持つシーンがありまして。
この「pSphere1」に対してテクスチャに焼き込んでいた頂点カラーをインポートしたいシーンについて考えます。
普通にGUIで実行する場合はPaint Vertex Toolで以下のボタンを押す形になります。
これを実行するとpolyColorPerVertexがヒストリに追加されるので、ノンデフォーマーヒストリを削除します。
すると…
このようにブレンドシェイプのターゲットにも頂点カラーが伝播していまいます。
ファイルサイズも結構増えちゃうのでつらみ。
というわけで不要なターゲットの頂点カラーを消していきましょう。
HumanIKを使ったリターゲットをわざわざ手動でぽちぽちやるのが面倒なのでいざ自動化!
と思ったら一箇所詰まったので覚書です。
「scripts/others/hikGlobalUtils.mel」あたりにHumanIK関連のスクリプトがあり、どうやらSourceの指定は「hikSetCurrentSourceFromCharacter」というコマンドでできそうなんですが、実行しても微動だにしません。
Sourceは枠で囲った部分で、ようはoptionMenuをスクリプトで変えちゃえば動きそうです。
というわけでちょっと調べてみると、フォーラムに同じような内容の投稿がありました。
forums.autodesk.com
というわけで以下のようにしてとりあえず解決。
from maya import cmds from maya import mel _HUMAN_IK_SOURCE_MENU = "hikSourceList" _HUMAN_IK_SOURCE_MENU_OPTION = _HUMAN_IK_SOURCE_MENU + "|OptionMenu" def retarget(source, target): u"""リターゲットを実行 Args: source (unicode): ソースのキャラクター target (unicode): リターゲット先のキャラクター """ mel.eval('hikSetCurrentCharacter("{0}")'.format(target)) # hikSetCurrentSourceFromCharacterが動作しないので、optionMenuのアップデートで実現する # https://forums.autodesk.com/t5/maya-animation-and-rigging/pythonic-mel-way-to-retarget-hik/td-p/7609798 items = cmds.optionMenuGrp(_HUMAN_IK_SOURCE_MENU, q=True, ill=True) for i in xrange(0, len(items)): label = cmds.menuItem(items[i], q=True, l=True) # 空白が頭に入っているので除去 if label.lstrip() == source: cmds.optionMenu(_HUMAN_IK_SOURCE_MENU_OPTION, e=True, sl=i + 1) mel.eval('hikUpdateCurrentSourceFromUI()') mel.eval('hikUpdateContextualUI()') mel.eval('hikControlRigSelectionChangedCallback') break
つらみ。
Maya2017以降をMacで使っていると、通常シングルサインオン用の「AdSSO-v2」というプロセスが起動します。
(Maya2016だとAdSSO)
自分の環境だと一度Mayaを終了すると、どうやらこのプロセスが邪魔をしてMayaの起動が終わらなかったり、終了しなかったりということが頻繁に起こっていました。
続きを読む先日こんな記事を書きました。
tm8r.hateblo.jp
こちらではFBXからアニメーションクリップを取り出してカスタムプロパティをAnimatorControllerのプロパティから別のプロパティに差し替える、ということをしていました。
が、アニメーションクリップを取り出さずにFBXのままやりたい!ということもあると思うので、改めて調査してみました。
尚、利用環境はUnity2018.1.4f1です。
ShaderFXで作成されたMaterialのパラメーターを差し替えるツールを作る機会があったので、その際に利用したShaderFXのコマンドに関してまとめてみます。
スポンサーリンク