blog

2019/08/25

MAX マクロを登録したい

ツイッターからそのまま借用。
大翔士さんには頭が上がりませんね。

-----
ツールバーやショートカットに登録できるマクロスクリプトにするには macroScript スクリプト名 Category:"Scripts" ( 処理内容 ) でCtrl + Eするとカスタマイズインターフェースに追加される。
-----

一回通り過ぎると一瞬で忘れるのでメモしておかないと。。

2018/10/25

リファレンスのデフォーム

mayaの話。

リファレンスしたオブジェクトにデフォーマかけると"~Deformed"て名前になって、alembic出力した時に名前がマッチしなくて困ったのでメモ。

単純な話だと、Deformedを名前から消してリネームすれば良い。

根本から解決するには元シーンのShapeノードのoutMeshから何かしらに接続しておけば回避できる。
polyUniteを使うとアウトライナも汚れず便利。
polyUniteノードのNodeStateをHasNoEffectにして計算を切っておけば動作が重くなることもないらしい。

どっちにしてもなんか不便だなぁ・・・。

2015/07/23

MAXscript リセットオールトランスフォーム的な

SIでいう「Ctrl+Shift+R」
リセットオールトランスフォームが欲しかっただけなのです。
標準機能で無さそうだったのではぢめてのMAXscriptとなりました。

こんな感じ
oSel = selection.count;

if oSel == 0 then (
    print "何も選択されていません";
)else if val == 1 then (
    in coordsys parent $.pos = [0,0,0]
 in coordsys parent $.scale = [1,1,1]
 in coordsys parent $.rotation = (quat 0 0 0 0)
)else(
 in coordsys parent $selection.pos = [0,0,0]
 in coordsys parent $selection.scale = [1,1,1]
 in coordsys parent $selection.rotation = (quat 0 0 0 0)
)

何とか動いてるっぽいからとりあえずコレでいいや(´・ω・`)
こいつをショートカット登録したかったのでマクロスクリプトとやらにして

macroScript Reset_Transform
category:"My_Tools"
toolTip:"Reset_Transform"
(
 oSel = selection.count;
 
 if oSel == 0 then (
  print "何も選択されていません";
 )else if val == 1 then (
  in coordsys parent $.pos = [0,0,0]
  in coordsys parent $.scale = [1,1,1]
  in coordsys parent $.rotation = (quat 0 0 0 0)
 )else(
  in coordsys parent $selection.pos = [0,0,0]
  in coordsys parent $selection.scale = [1,1,1]
  in coordsys parent $selection.rotation = (quat 0 0 0 0)
 )

)

ひとまず完成。