3dsmax,MaxScript,PySide2,Python,Tutorial

 その10で、更なる改善点を5つほど挙げました。そのうちの1つ目、入力欄を0に戻す「クリア」ボタンはすでにその10で実装済みなので、今回は「間隔の値には少数を入れられるようにする」と「タブストップ(タブキーでの入力欄の移動)を正しくす ...

3dsmax,MaxScript,PySide2,Python,Tutorial

 さて、その10からのその11ですが、実はその10まではMax2017用に書いたもののリライトで、内容的には2年半ぐらい空いての「その11」ということになります。そのため、ちょっと予定していた内容とズレた話になりますが、その10のラス ...

3dsmax,MaxScript,PySide2,Python,Tutorial

 前回まででツールの根幹は実装できました。実行上の問題はほとんどありませんが、改善できるポイントはまだまだありそうです。今回はその修正作業、いわゆるリファクタリングを行いながら、さらにアップグレードできそうな部分を見つけていきたいと思 ...

3dsmax,MaxScript,PySide2,Python,Tutorial

 前回はツールクラスを呼び出すmain()の準備をし、ファイルが直接実行された場合にmain()が呼び出される仕組みを作りました。

 今回はこのmain()を完成させます。

ツール本体のクラスを作る 3ツールクラスの ...

3dsmax,MaxScript,PySide2,Python,Tutorial

 前回はツール本体のクラスについて、コンストラクタの実装を行いました。今回はそのシグナルの接続先として指定した実行メソッドを書いていきましょう。

ツール本体のクラスを作る 2実行メソッドを仮実装する

 コンストラクタのコネク ...

3dsmax,MaxScript,PySide2,Python,Tutorial

 前回、ツール本体になるPythonファイル先頭のインポート部分までを書きました。今回はツール本体のクラス、およびそのクラスを呼び出す実行部分を実装していきます。

ツール本体のクラスを作る

 ツール本体のクラスは、QtDes ...

3dsmax,MaxScript,PySide2,Python,Tutorial

 前回までに、MaxScriptを使用した実行部分と、PySide2を使用したUI部分ができました。これらを使ってPySideのUIからMaxScriptの実行関数に情報を渡して動作させるツールを作成しましょう。

ツール本体のク ...

3dsmax,MaxScript,PySide2,Python,Tutorial

PySide2 でUIを作成するQtDesignerを起動する

 PySide2のUIを作成するQtDesignerというツールが以下の場所にあります。

(pythonインストールフォルダ)\Lib\site-package ...

3dsmax,MaxScript,PySide2,Python,Tutorial

 前回で実行部分のMaxScriptが仕上がったので、いよいよPythonでUIを作成します。

 が。3dsmaxに搭載されているPython環境にはUIを作成するためのツールが含まれていません。そのため、別途それを用意す ...

3dsmax,MaxScript,PySide2,Python,Tutorial

実行関数を磨く

 前回のラストで選択オブジェクトをX方向に1つ複製、移動するところまでの実装ができました。

 ここからこれを目的の動作に向けてブラッシュアップしていきます。

X方向の複製動作を実装する

 まずは、X ...