blog

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

2020/04/24

3ds max マテリアルの整理整頓

不要なマテリアルやら画像をシーン内から消して、更にシーンマテリアルをサンプルスロットに並べたい。と思いネットを徘徊。

このスレッドのスクリプトと、
https://forums.cgsociety.org/t/how-do-you-remove-all-unused-materials-from-the-scene-in-max-2015-by-script/1734054/12

こちらの動画のスクリプトを合体させて、
https://www.youtube.com/watch?reload=9&v=MF7akYH00bg

(
with undo off
(
    for j = 1 to 24 do meditmaterials[j] = standard()
    
    for j = scenematerials.count to 1 by -1 do deleteitem scenematerials j
    
    for j = 1 to (sme.getnumviews()) do
    (
        view = sme.getview j
        view.selectall()
        view.deleteselection()
    )
    savenodes #() ""
)
    if scenematerials.count > 24 then oMtlcount = 24 else oMtlcount = scenematerials.count 

    for i=1 to oMtlcount do
    (
        meditMaterials[i] = scenematerials[i]
    )
)



こんな具合に。
世界の先輩たちの力で生かされている。感謝。
もしお会いしたらビールを奢らせていただきたい。

2019/08/25

MAX マクロを登録したい

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

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

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

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)
 )

)

ひとまず完成。