• Register
    • Login
    ZBrush for iPad日本語対応
    ZBS 2022 アーカイブ
    Maxon User Meeting ZBrush Day アーカイブ
    インタビュー記事
    インタビュー記事
    インタビュー記事
    インタビュー記事
    インタビュー記事
    インタビュー記事

    Starworshipperの裁縫箱

    ZBrushチュートリアル
    macro
    1
    52
    88356
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • star0worshipper
      star0worshipper @star0worshipper last edited by star0worshipper

      セーブされない設定をスタートアップ時にセットするマクロ



      追記:

      この投稿に関しては、現在も色々実験中です。2021-10-15
      一時非公開がないので公開されてますが、冗談半分の気持ちでお読み下さい。

      ちょっと色々実験してたら、一気に大量のブラシの設定をすると、
      ブラシのアルファとかが飛ぶ時があるみたいです。
      タイマーなどで調整する必要がありそう

      また、editmodeに入ってないと、基本的にブラシの設定ができないようです。
      スタートアップ時に空のドキュメントを開く設定のZBrushだと、
      editmodeになっており、仮のメッシュが存在するドキュメントを開く必要があります。

      ここの環境に応じて、追加の設定が色々必要です。



      セーブされないセッティングってありますよね。
      一番よく思い当たるのは、ブラシのチョイスかと思います。

      例えば、起動した瞬間、
      「MaskLassoで、SmoothStrongerで、KnifeCurveになっていて欲しい。」
      なんてことがマクロで出来ます。

      https://www.zbrushcentral.com/t/setting-up-a-macro-to-run-on-startup/205347?u=star0worshipper
      英語できる方は、普通にこっちを見ましょ 🙂


      デフォルトでインストールした際の例ですが、まず、
      C:\Program Files\Pixologic\ZBrush バージョン\ZScripts\DefaultZScript.txt
      を、「DefaultZScript.txtbak」のように書き換えてバックアップした上で、

      [If,1,
      	[IPress,Macro:Macros:Misc:StartupMacro]
      ]
      [pd]
      

      という内容の、新しいDefaultZScript.txtに書き換えます。


      次に、
      C:\Program Files\Pixologic\ZBrush バージョン\ZStartup\Macros\Misc
      のところに、「StartupMacro.txt」ファイルを作成し、
      ここに、設定ではセーブされないけど、予めセットアップしておきたい処理を記述していく感じです。

      (マクロで録画した [Ipress] の塊を、
      以下の「マクロで録画した好きな処理」あたりのコメントの場所にコピペしましょう。)

      [IButton]じゃないぞ。

      その中に入ってる [IPress] の塊だぞ。


      以下は、一例のStartupMacro.txtです。

      [IButton,???,"start up config",
      	[IShowActions,0]
      	[IConfig,2021]
      	
      	
      	[IKeyPress, 13, //ダイアログが出る系のブラシは、この処理の中に入れて、ダイアログを飛ばす 13はEnterキーのASCII
      		[IPress,Brush:MaskLasso]
      	]
      
      	//例えば
      	[IPress,Brush:ContrastTarget] 
      	[IUnPress,Draw:Rgb]//例えば コントラストターゲットのRGBをオフにしておく
      
      	[IKeyPress, 13, //スネークフックみたいな、ダイアログ出すブラシはこんな感じ
      		[IPress,Brush:SnakeHook]
      	]
      	[IUnPress,Draw:Rgb] //RGBをオフにする
      
      
      	//ここにマクロで録画した好きな処理を追記していく
      	//ここにマクロで録画した好きな処理を追記していく
      	//ここにマクロで録画した好きな処理を追記していく
      	//ここにマクロで録画した好きな処理を追記していく
      //[sleep,5,/*処理*//*処理*//*処理*/,1]//大量設定でブラシのアルファなどが飛ぶ時は、タイマー式のスリープで調整する?
      
      
      //サブメニューオープン系 の例
      	[IMaximize, Macro:Macros:, 1]  //マクロのサブメニューを開く 
      	//(サブメニューって起動時閉じてるんですよね。これを書いておくと、起動した瞬間から指定したサブメニューが開いてくれているので、起動時の見栄えが安定します)
      	//自動で2つ以上のサブメニューは閉じちゃう設定の方には関係ない設定ですね。
      
      //以下辺りに、最初に選んでおいて欲しいブラシなんかを置く
      	[IKeyPress, 13, 
      		[IPress,Brush:Smooth] //スムースに戻しておく
      	]
      	[IPress,Brush:Move]
      
      ]
      
      

      余談:
      DefaultZScript.txtに直接書かないのは、「やらかさないように」のためではないでしょうか。😂
      star0worshipper 1 Reply Last reply Reply Quote 0
      • star0worshipper
        star0worshipper @star0worshipper last edited by star0worshipper

        Command Referenceに乗ってないコマンドの一つ

        「Zスクリプト→コマンドのエクスポート」には存在するが、
        http://docs.pixologic.com/user-guide/customizing-zbrush/zscripting/command-reference/
        サイトには載ってないコマンドがちらほら。

        一例として
        「サブツールの可視性、ブーリアン、ポリペイントのON/OFF状態を、
        正確にSet、Getしてくれるスクリプト」等。

        (マクロでサブツールの可視性を記録しても、[IModSet,Tool:SubTool:pm3d_sphere3d_2,56]のように、ほぼ使用不可能な状態で記録されてしまって普通には使えない。 こういう難儀する箇所に限ってサイトに載ってないのってちょっと辛かった)
        [SubToolGetStatus,Subtool Index (zero based).  If omited then use the currently selected subtool.]
        Returns the status of a subtool
        Output: Returns the status (Subtool Eye=0x01, Folder Eye=0x02,UnionAdd=0x10,UnionSub=0x20,UnionClip=0x40,UnionStart=0x80,ClosedFolder=0x400,OpenedFolder=0x800) .
        
        [SubToolLocate,Unique Subtool ID]
        Locates a subtool by the specified unique ID
        Output: Returns the index of the located subtool or -1 if error.
        
        [SubToolSelect,Subtool Index (zero based).]
        Selects the specified subtool index
        Output: Returns zero if OK, -1 if error.
        
        [SubToolSetStatus,Subtool Index (zero based).  If omited then use the currently selected subtool.,New Value (Subtool Eye=0x01,Folder Eye=0x02,UnionAdd=0x10,UnionSub=0x20,UnionClip=0x40,UnionStart=0x80,ClosedFolder=0x400,OpenedFolder=0x800)]
        Sets the status of a subtool
        
        
        //現在のサブツールを非表示にする例
        	[VarSet,st,[SubToolGetStatus]] //現在のサブツールのステータスをstに入れて
        
        	[IF, [Val,st] & 0x01==0x1, //1ビット目(サブツールの可視性のフラグ)が「1」だったら、
        		[SubToolSetStatus,,st-0x1] //1ビットを引いた値を新しくセットすることで、サブツールが非表示になる。
        	]
        
        

        他にも色々「[MergeUndo]:Merge the next undo with the previous undo」とか。
        増えたスクリプトの差分が載ってる所ないのかしら。

        star0worshipper 1 Reply Last reply Reply Quote 0
        • star0worshipper
          star0worshipper @star0worshipper last edited by star0worshipper

          MAHmask Bias風 Z-modelerの設定

          https://www.zbrushcentral.com/t/in-memoriam-of-mahlikus-the-black/444308
          本家のMAH Biasはこちら。
          以下は旧記事:


          私はこの設定のZ-modelerを、リスペクトを込めつつ勝手に「Z-MAHmask Bias」と呼んでいます。😤
          画像のようにZModelerを設定して、マスクしたいところでドラッグするだけ。

          MAHmaskとの違いは、MAHmaskはブラシを当てところだけを塗るのに対して、こっちは一気に面を掌握します。ハードサーフェス様のパリッとした造詣にはこっちの方が向いてる気も。

          デメリットとしては、「同一平面」をドラッグに応じて一気にマスクするので、
          カーソルを当てたつもりのない同一平面上にもマスクが当たってたりします。

          Zmodelerって基本的にクリックで作業するブラシなのに、
          「平面アイランド」「平面内部」「平面外部」みたいな一部の機能だけ、
          ドラッグでの作業もできるって、意外と気づきにくいと思うの・・・。🤔
          0_1643445691148_upload-19236701-80c6-4b64-ba48-59c4c19624ec

          他にも、代替としてTranspose SmartMaskがあるんですけど。

          やっぱり直感的に塗り塗りできるのは強いですよね。
          普通のTransposeとマスクって同時に使うことが多いと思うので、ブラシ側でマスクできるのは便利かなと思います。🤪

          star0worshipper 1 Reply Last reply Reply Quote 0
          • star0worshipper
            star0worshipper @star0worshipper last edited by star0worshipper

            ポリフレームカラーをトグルするマクロ

            Zmodelerでチマチマやってるときに、ポリグループの色によってポリフレームが見にくい時がままあると思います。
            4色にポリフレームをトグルできるマクロなんてどうでしょう。

            黒->白->赤->緑。
            なんでこの色?私が見やすいと思ったから 🙂

            マクロが嫌な人は、
            「環境設定→ ドロー→ Pfカラー」で、ポリフレームのカラー変えられますよ。

            0_1648990221133_ZBrush Document.png

            以下のスクリプトをコピーして、PolyframeColorChange.txtとか、PfC.txtみたいに好きな名前をつけて、
            マクロフォルダに突っ込めば動きます。

            //ZBRUSH MACRO - Recorded in ZBrush version 2022
            [IButton,???,"Toggle PolyFrame Color. ( Black-> White-> Red-> Green )",
            	[IShowActions,0]
            	[IConfig,2022]
            
            	//[note,
            	// [IGet,Preferences:Draw:Pf Color]  // black 0  white 255.999985  red 255.2668 green 104.997131
            	// ]
            	 
            	[IF, [IGet,Preferences:Draw:Pf Color]==0,
            	//If
            		[ISet,Preferences:Draw:Pf Color,255.999985]
            	, //Else
            		[IF, [IGet,Preferences:Draw:Pf Color]==255.999985,
            		//If
            			[ISet,Preferences:Draw:Pf Color,255.2668]
            		, //Else
            			[IF, [IGet,Preferences:Draw:Pf Color]==255.2668,
            			//If
            				[ISet,Preferences:Draw:Pf Color,104.997131]
            			, //Else
            				[IF, [IGet,Preferences:Draw:Pf Color]==104.997131,
            				//If
            					[ISet,Preferences:Draw:Pf Color,0]
            				, //Else
            					[ISet,Preferences:Draw:Pf Color,0]
            				]
            			]
            		]
            	]
            
            ]
            //色の指定方法については、Command Referenceの [RGB, Red, Green, Blue]の項目参照
            
            
            ifの入れ子・・・
            star0worshipper 1 Reply Last reply Reply Quote 0
            • star0worshipper
              star0worshipper @star0worshipper last edited by star0worshipper

              メモ
              ZAdjustor2.1 for ZBrush4R7 x64 (2023/11時点で多分最新版)が載った記事へのリンク
              http://archive.zbrushcentral.com/showthread.php?182163/page8#post1130126

              star0worshipper 1 Reply Last reply Reply Quote 0
              • star0worshipper
                star0worshipper @star0worshipper last edited by

                IMMを設置中にスペースバー押し続けると、いちいちギズモにいかなくても位置変えられるって知らなかった🤯
                https://www.zbrushcentral.com/t/set-a-custom-pivot-point-for-an-insertmesh-brush/366439/5

                1 Reply Last reply Reply Quote 0
                • star0worshipper
                  star0worshipper last edited by star0worshipper

                  ギズモの位置をサブツール間でコピペするマクロ


                  まず最初に。

                  Nick toolsにあります。

                  https://www.zbrushcentral.com/t/my-zbrush-plugin/308580/72


                  以下旧書き込み(回転が保持されないバグあり):

                  GizCpでギズモコピー、GizPstでギズモペースト。
                  https://cdn.discordapp.com/attachments/1010060802746749020/1099812653720936478/GizCp.7z

                  1 Reply Last reply Reply Quote 0
                  • star0worshipper
                    star0worshipper last edited by star0worshipper

                    キーボードショートカットの探し方

                    新しいキーボードショートカットを作るとき、
                    「すでに割り当てられている」
                    なんて言われて、何に割り当てられているか分からなかったりすることありますよね。

                    以下の「The full list as a printable pdf – download here」のところからPDFをダウンロードし、
                    文字検索して引っかかってくれれば、まずは良し。
                    https://docs.pixologic.com/user-guide/keyboard-shortcuts/

                    ・・・なのですが、それでも引っかからない場合、つまり、
                    追加したアドオンにキーボードショートカットが割り当てられていたり、
                    自分が昔に設定したキーボードショートカットを忘れたりした場合は、
                    「環境設定 ->ホットキー ->保存」
                    が使えます。

                    テキストを保存すると、以下のように、後ろ半分に人間が読める形のコメントを出力してくれるので、
                    キーボードショートカットの重複チェックをしたい方や、前のショートカットを思い出したい方は、
                    こちらも合わせて文字検索すると間違いが減ると思われます。

                    0_1703174787263_upload-f17fe6bd-3954-4106-b884-05dc498b06db

                    1 Reply Last reply Reply Quote 0
                    • star0worshipper
                      star0worshipper last edited by star0worshipper

                      Tabの作業領域拡大をちょっと補正するマクロ

                      Tabを押すとクイックメニューが隠れて作業領域が広がりますが、サイドパネルもそのままで、更にドキュメント自体も大きくならないので、
                      使い勝手がいまいちと思ってる方は少なくないと思います。
                      (実の所、Preferences:Interface-> Float Menuにショートカットが当たってるだけなんですよね)

                      最初から付属してるマクロに左右のサイドパネルを閉じるマクロがあったので、
                      ワンボタンで両方閉じるようにマージし、ドキュメントをちょっとだけ拡大する処理を追記しました。

                      ドキュメントをシンプルに1.2倍に拡大するだけなのでジャギなどが出ますが、
                      Zmodelerなどで、ちょっとした細かい作業をしたいときなどは十分な動作かと思われます。

                      以下をコピーして、「お好きな名前の.txt」に保存して、マクロフォルダに打ち込むと動作します。

                      DocumentToggle.txt

                      [RoutineDef,bothTrayToggle,
                      	
                      	//left tray
                      	// Script will compare the location of the tray position and keep clicking till it changes
                      	[VarSet,StartPosition,[IHPos,1000,1]]
                      
                      	[Loop,5,
                      		[VarSet,CurrentPosition,[IHPos,1000,1]]
                      		[If,CurrentPosition=StartPosition,
                      			[IClick,1000]
                      		,
                      			[LoopExit]
                      		]
                      	]
                      	
                      	//righttray
                      	// Script will compare the location of the tray position and keep clicking till it changes
                      	[VarSet,StartPosition,[IHPos,1001,1]]
                      
                      	[Loop,5,
                      		[VarSet,CurrentPosition,[IHPos,1001,1]]
                      		[If,CurrentPosition=StartPosition,
                      			[IClick,1001]
                      		,
                      			[LoopExit]
                      		]
                      	]
                      	// Float Menuを正確にトグルする。
                      	[If, [IGet, "Preferences:Interface:Float Menu"],
                      		[IUnPress, "Preferences:Interface:Float Menu"]
                      		[ISet,Document:Zoom,1.2]
                      	,
                      		[IPress, "Preferences:Interface:Float Menu"]
                      		[ISet,Document:Zoom,1]
                      	]
                      
                      ]
                      
                      [IButton,???,"Toggles the Trays Open or Closed.",
                      	[IShowActions,0]
                      	[IConfig,4.8]
                      	//[IFreeze,
                      		[RoutineCall,bothTrayToggle]
                      	//]
                      ,,1/2,,,]
                      

                      普段左パネルだけ閉じてる人、右パネルだけ閉じてる人、ドキュメントを1倍以外で使ってる人、
                      等には向かない作りの雑なマクロです。

                      普段から両方のパネルを引き出しており、
                      かつドキュメントは基本的に等倍の人ならきちんと動作するはずです。

                      star0worshipper 1 Reply Last reply Reply Quote 0
                      • star0worshipper
                        star0worshipper @star0worshipper last edited by star0worshipper

                        ZNote Interfaceのサンプル

                        ZBrushって、割とボタンだらけになりませんか?
                        こうやって別ウインドウメニューを呼び出せるマクロボタンを作り、
                        あまり使わないものなどをまとめておくと、UIが少しスッキリするんじゃないかなぁなんて思います。

                        先に言っておきますと、
                        https://docs.pixologic.com/user-guide/customizing-zbrush/zscripting/interfaces/note-interface/
                        上のコーヒーメーカーのサンプルスクリプトで全部分かる人には全く役に立たない書き物です。

                        コーヒーメーカーは、ループ処理とか画像の更新とか、やりたいこと全部入りのサンプルなので、
                        もっとミニマルに、2箇所書き換えるだけでいいサンプルに削ぎ落としてみました。

                        0_1708928486437_upload-5592cd0e-6961-47f9-bf2a-0e4e7bb1fe7a

                        /*--必要最低限いじるのはここだけ--*/
                        が2箇所あります。
                        まず、ボタンの名前を修正し、
                        次に、ボタンの番号に対応したIF文内に、マクロを切り貼りするだけ、
                        の2ステップでメニューが完成します。

                        「適当な名前.txt」で以下をマクロフォルダにぶち込むと動作します。

                        /*--必要最低限いじるのはここだけ--*/
                        //これで検索した2箇所だけを置き換えれば、少なくともこの例の場合、6つのボタンが置ける。
                        
                        // YesNo Note Interface Example
                        //***********************************************************************************************
                        
                        // Variables definition
                        [VarDef, result, 0]
                        [VarDef, PosX, 50] //縦一列のボタンを想定した例のための、ボタン位置の変数
                        [VarDef, PosY, 50]
                        [VarDef, hSize, 200]//ボタンサイズ。小さすぎると、テキストや画像が欠ける
                        [VarDef, vSize, 35]
                        
                        // Routines
                        
                        [RoutineDef, YesNoInterface,
                        	[IFreeze,
                        		//背景(Disableされたボタンで実装されている)---------------------------------
                        		// Draw the interface 背景 result=1
                        		//ボタンは置いた順に、上に描画されていく。
                        		//背景をEnableにすると、背景を押されたときのデフォルト的な挙動もセットできる
                        
                        		[NoteIButton,/*BackGround*/,
                        			/*Image Path*/, 
                        			0,1, //pressed?, disabled? デフォルトで押された状態か。非押下のボタンにするか。
                        			1,1,//PosY, PosX ボタンの設置開始位置
                        			300,300, //hSize, vSize 背景のサイズ
                        			,, //color,text color 背景の色、テキストの色
                        			1,1,1 //opacity, text opacity, image opacity ボタン、テキスト、画像の透明度0~1
                        		]
                        		
                        		//メインボタンたち---------------------------------
                        
                        		// ↓/*--必要最低限いじるのはここだけ--*/
                        		
                        		//ボタン、置いた順に、2、3、4、5・・・
                        		//ボタンのサイズの数だけ下にずらしている。シンプルな例
                        		//計算は普通の四則計算ではなく、()くくりだけを優先して、左から順に計算される。1+2*3=9、1+(2*3)=7の世界。
                        		[NoteIButton, "Yes", /*img*/ ,
                        			, , PosX, PosY+(#vSize+4*0), hSize, vSize] //result2
                        		[NoteIButton, "No", ,
                        			, , PosX, PosY+(#vSize+4*1), hSize, vSize] //result3
                        		[NoteIButton, "End", ,
                        			, , PosX, PosY+(#vSize+4*2), hSize, vSize] //result4
                        		[NoteIButton, "1", ,
                        			, , PosX, PosY+(#vSize+4*3), hSize, vSize] //result5
                        		[NoteIButton, "2", ,
                        			, , PosX, PosY+(#vSize+4*4), hSize, vSize] //result6
                        		[NoteIButton, "3", ,
                        			, , PosX, PosY+(#vSize+4*5), hSize, vSize] //result7
                        
                        		
                        //		[NoteIButton,/*テキストボタンにしたいならここに文字を書く*/,
                        //		/*画像ならここにパスを指定する、絶対でも相対でもよい。マクロを実行したフォルダがカレントになるはず tmp/test.png/ */, 
                        //		0,1, //pressed?, disabled? デフォルトで押された状態か。非押下のボタンにするか。
                        //		1,1,//PosY, PosX ボタンの位置
                        //		300,300, //HSize, VSize ボタンのサイズ
                        //		,, //color,text color ボタンの色、テキストの色
                        //		1,1,1 //opacity, text opacity, image opacity ボタン、テキスト、画像の透明度0~1
                        //		]
                        
                        
                        		// Get result これを呼び出すことで、上のノートインターフェイスの値がresultに格納される
                        		[VarSet, result, [Note, ""]]
                        
                        
                        		// ↓/*--必要最低限いじるのはここだけ--*/
                        
                        		// Process result //背景を押された処理を追加したいなら、背景をEnableにしたうえで、result=1の処理を書く
                        		[If, result == 2,
                        			[Note, "\CFF0000You clicked Yes!\n", , 2, , , 180] 
                        			//バクスラCの次にhexカラーコードを置くと、NoteやNotebarで表示する文字の色を変えることができる。
                        		]
                        		[If, result == 3,
                        			[Note, "\C0000FFYou clicked No!\n", , 2, , , 180]
                        		]
                        		[If, result == 4,
                        			[Note, "\C00FF00You clicked End.\n", , 2, , , 180]
                        		]
                        		[If, result == 5,
                        			//ここにこんな感じで起動したい処理を書いていく。
                        			//録画したマクロでもなんでも。
                        		]
                        		[If, result == 6,
                        			//ここにこんな感じで起動したい処理を書いていく。
                        			//録画したマクロでもなんでも。
                        		]
                        		[If, result == 7,
                        			//ここにこんな感じで起動したい処理を書いていく。
                        			//録画したマクロでもなんでも。
                        		]
                        
                        	]//ifreeze
                        ]
                        
                        // Button for launching interface
                        [IButton, "???","NoteInterFace Test",
                        	[RoutineCall, YesNoInterface]
                        ]
                        
                        

                        ボタンを6個以上に増やしたかったり、2列にしたかったら、
                        IF文を増やして、ボタンのPosX、PosY等の値をあれこれ調整すれば、
                        手動で追加もできるかと思います。

                        star0worshipper 1 Reply Last reply Reply Quote 0
                        • star0worshipper
                          star0worshipper @star0worshipper last edited by

                          サブツールやフォルダのON/OFFを切り替えるルーチン

                          https://www.zbrushcentral.com/t/imodset-tool-subtool-error/411109/4?u=star0worshipper

                          例えば、以下のコードは名前が"test"のフォルダを可視状態にします。
                          [RoutineCall,ToggleFolder,"test",1]

                          以下の書き方なら、"mysubtool"の可視状態をオンにします。
                          [RoutineCall,ToggleSubTool,"mysubtool",1]

                          マクロに組み込むと色々便利ですね。

                          マーカスさん、もう退社されてしまいましたが、残されたスクリプト達にこうやって今も助けていただいてます。ただただ感謝。
                          1 Reply Last reply Reply Quote 0
                          • star0worshipper
                            star0worshipper last edited by

                            ベータ時代のボタン説明を見る

                            Ctrl+Shift押しながらボタンの上をホバーすると、「Beta Info」なる、詳しい説明が見れるというメモです。
                            表示されないボタンは表示されませんが、簡単な見分けなどに役立つかもしれません。
                            cc4a3dba-d2f5-49dc-bb48-e7e812cbc765-image.png

                            1 Reply Last reply Reply Quote 0
                            • 1
                            • 2
                            • 3
                            • 3 / 3
                            • First post
                              Last post

                            ツイート

                            Tweets by @MaxonZBrushJP
                            Pixologic宛にツイートする

                            © 2024 Maxon Inc · サポート · ZBrushの購入 · ZBRUSHCENTRAL.COM · Privacy