blog

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するとカスタマイズインターフェースに追加される。
-----

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

2018/10/25

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

mayaの話。

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

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

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

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