0

私の MaxScript ツールでは、シーン オブジェクトのタイプが editable_mesh または editable_poly である必要があり、オブジェクト タイプに応じて、GUI コントロールが有効または無効になります。

コールバックを使用する#selectionSetChangedと、ユーザーが選択したオブジェクトを変更したときにロールアウトを正常に更新できますが、オブジェクトを変換すると、オブジェクトを操作するために選択を解除して再度選択する必要があります。

ユーザーがオブジェクトの型/クラスを変更/変換するときに呼び出されるようにするには、callbacks.addscript にどのようなコールバック型名を指定する必要がありますか?

4

2 に答える 2

1

NodeEventCallbackを呼び出してノードイベントシステムを使用し、modelstructuredプロパティに関数を提供しました。

これは、標準のイベントコールバックシステム上でレイヤーを操作し、いくつかの新しいイベントがありますが、3dsMax2009以降でのみ使用できます。

于 2011-06-08T16:18:22.983 に答える
0

私が認識しているようなコールバック イベントはありません。ここでは when コンストラクトでさえ機能しません。それを達成する1つの方法は、ロールアウトでタイマーを使用し、各ティックで選択したオブジェクトのクラス/スーパークラスをチェックすることですが、そもそもそれが実際に必要かどうかはわかりません.

オブジェクトを変換する必要があることをユーザーに警告したい場合は、ユーザーの協力を得て実行する方法がたくさんあります。たとえば、選択時に queryBox をポップアップして、「クリックされたオブジェクトは編集可能なメッシュではありません。 1?" または、[編集可能なポリゴンに変換] /[編集可能なメッシュに変換]/[破棄] オプションを含むカスタム クエリボックス。

または、問題のすべてのコントロールをデフォルトで無効にし、大きな Pick Node ピックボタンのみを有効にする昔ながらの方法ですらあります。これには、編集可能なノードのみを選択できるフィルター関数が付属していました。

于 2011-06-05T23:34:30.080 に答える