BooleanMod - superclass: modifier; super-superclass:MAXWrapper - 15:0 - classID: #(2076314029L, 29076573L); creatable: true
3ds Max 2024 の新機能: BooleanMod モディファイヤにより、[ブール演算] (Boolean)モディファイヤ機能が公開されます。
resetMaxFile #noprompt
s = sphere()
s2 = sphere pos:[15,15,0] radius:15
s3 = sphere pos:[-15, 0, 0] radius:15
s4 = sphere pos:[15, -15,0] radius:15
b = BooleanMod()
addModifier s b
b.appendOperand #single operandNode:s2 operationType:#subtraction
b.appendOperand #single operandNode:s3 operationType:#attach
b.appendOperand #single operandNode:s4 operationType:#union
<BooleanMod>.disableInteractiveUpdates BooleanClass default: false -- boolean
オペランドの変換中にビューポートの更新を無効にするかどうかを指定します。
<BooleanMod>.displayShading Integer default: 2 -- integer
オペランドの表示方法を指定します(.DisplayType
に応じて異なります)。値は次のとおりです。
<BooleanMod>.DisplayType Integer default: 2 -- integer
表示内容を指定します。値は次のとおりです。
<BooleanMod>.doDeterministicEdgeSort BooleanClass default: true -- boolean
各評価でエッジの並べ替えを実行するかどうかを指定します。これは、3ds Max 2024.1 Update 以降では既定で true ですが、旧バージョンには存在しないか、false になっています。これにより、[ブール演算] (Boolean)モディファイヤを使用するジオメトリ上での頂点ペイントの問題が解決されます。このプロパティは MAXScript にのみ公開されており、UI には表示されないことに注意してください。
<BooleanMod>.doTinyFragmentCleanup BooleanClass default: true -- boolean
残りの三角形、および閉じた三角形または四角形のペアをクリーンアップするかどうかを指定します。
このプロパティは MAXScript にのみ公開されており、UI には表示されないことに注意してください。
<BooleanMod>.hideBooleanOnCreate BooleanClass default: true -- boolean
[ブール演算] (Boolean)モディファイヤの UI の[ブール演算を非表示](Hide Boolean)チェックボックスの状態を取得/設定します。これにより、ユーザがオブジェクトを作成(Create Objects)ボタンをクリックしたとき、または下記の CreateObjects()
が呼び出されたときに、元のブール演算オブジェクトを非表示にするかどうかが指定されます。
<BooleanMod>.hideReference BooleanClass default: true -- boolean
オペランドがオペランド リストに追加されたときに、オペランドを自動的に非表示にするかどうかを指定します。
<BooleanMod>.method Integer default: 0 -- integer
ブール演算の計算方法を取得/設定します。値は次のとおりです。
<BooleanMod>.operandItems ArrayParameter default: #() -- paramBlock2 array; SubAnim
ブール演算のオペランドの配列を格納します。
<BooleanMod>.Operands ArrayParameter default: #(ReferenceTarget:ParamBlock2) -- paramBlock2 array; SubAnim
<BooleanMod.Operands[1]>.SeamSize Float default: 0.0 -- animatable
<BooleanMod>.operationVersion Integer default: 5 -- integer
[ブール演算] (Boolean)モディファイヤの内部バージョンを取得します。
<BooleanMod>.pivotAlign BooleanClass default: false -- boolean
オペランドを選択したときに、オペランドの基点を基本オブジェクトの基点に位置合わせするかどうかを指定します。この設定を有効にするには、.useLiveReference
も true である必要があります。
<BooleanMod>.preserveNormalData BooleanClass default: false -- boolean
オペランドの明示的な法線を保持するかどうかを指定します。
<BooleanMod>.retainNonPlanarFaces BooleanClass default: true -- boolean
オペランドの平面でない面を保持するかどうかを指定します。
<BooleanMod>.selectedOpacity Float default: 0.15 -- float
選択したオペランドがシェーディングとして表示される場合、またはワイヤおよびシェーディングとして表示される場合に、選択したオペランドの不透明度を取得/設定します。
このオプションは、UI 内で公開されていません。
<BooleanMod>.toleranceFactor Float default: 3.0e-8f -- animatable; worldUnits
内部で使用します。ブール演算の計算で内部的に使用されます。ブール演算オペランドのバウンディング ボックスの最長の寸法にこの値が乗算され、指定された演算に対するブール演算の交差の許容値が決定されます。通常、値が小さいほど結果の精度は上がりますが、0.0 に近い値を指定すると、数値の不正確さが原因でエラーが発生することがあります。既定値は 3.0e-8f、範囲は 0.0 ~ 1.0e-3f です。
<BooleanMod>.Transform ArrayParameter default: #() -- maxObject array; SubAnim
ブール演算のオペランドに対する変換の配列を格納します。
<BooleanMod>.unselectedOpacity Float default: 0.05 -- float
選択されていないオペランドの不透明度を取得/設定します。
<BooleanMod>.useLiveReference BooleanClass default: false -- boolean
オペランドのシーン ノードを保持して、これが選択されたときに「ライブ」参照として変換するかどうかを指定します。true の場合、オペランドはライブ参照として扱われます。オブジェクトは元のノードに残り、ノードの変換を使用してオペランドの位置と方向を決定します。ノードはシーン内に残りますが、非表示になります。false の場合、オペランド オブジェクトのジオメトリはブール演算に組み込まれ、ノードはシーンから削除され、オペランドは修正されたオブジェクトに対する相対的な位置と方向を取得します。両方のオプションでオペランドのジオメトリとモディファイヤ スタックを操作できますが、「ライブ」参照の計算量が多くなるため、オペランドのノードまたは修正されたオブジェクトのノードが変換された場合、再評価が必要になります。
<BooleanMod>.useOperandMaterial BooleanClass default: true -- boolean
ブール演算の結果でオペランドのマテリアルを使用するかどうかを指定します。これは、オペランドが最初に選択されたときにのみ行われます。オペランドのマテリアルが評価されます。修正されたオブジェクトのマテリアルと異なるマテリアル(単一またはマルチ/サブオブジェクト)が含まれている場合、修正されたオブジェクトのマテリアルはオペランドのマテリアルを含むマルチ/サブオブジェクト マテリアルに更新され、オペランドのマテリアル ID は新しいマテリアルに対応するマテリアル ID を使用するように再マッピングされます。
<BooleanMod>.voxelSize Float default: 1.0 -- animatable; worldUnits
ブール演算メソッドが OpenVDB の場合、このプロパティはメッシュをボリュームにエンコードする場合の精度をコントロールします。ボクセル サイズが小さいほど、結果はシャープになります。サイズが大きいほど、丸みのあるフィーチャが生成されます。
ボクセル サイズが小さいほど、オブジェクトの格納に使用されるメモリが多くなります。ボクセル サイズを極端に小さくすると、コンピュータがメモリ不足になる可能性があります。
<integer>GetNumOperands()
ブール演算内のオペランド数を返します。この数には、フォルダ内の基本オブジェクトとオペランドが含まれますが、フォルダは含まれません。
<boolean>GetRootOperandName <index>operandIndex <&string>nameout
nameout is Out parameter
nameout
参照パラメータ内の operandIndex
の位置にあるオペランドの名前を取得します。このメソッドでは、インデックスはルート レベルの項目にのみ適用され、フォルダ内の項目はインデックスから除外されます。
<boolean>SetRootOperandName <index>operandIndex <string>name
operandIndex
の位置にあるオペランドの名前を、指定した name
に設定します。このメソッドでは、インデックスはルート レベルの項目にのみ適用され、フォルダ内の項目はインデックスから除外されます。
<boolean>GetFlatOperandName <index>operandIndex <&string>nameout
nameout is Out parameter
nameout
参照パラメータで返される、フラット インデックス operandIndex
の位置にあるオペランドの名前を取得します。「フラット インデックス」は、フォルダ内の項目がトップレベルの一部とみなされるように平坦化されたオペランド リスト内のインデックスです。たとえば、インデックス位置 2 にあるフォルダ内の最初のオペランドは、フラット インデックスが 3 になります。
<boolean>SetFlatOperandName <index>operandIndex <string>name
フラット インデックス operandIndex
の位置にあるオペランドの名前を name
に設定します。「フラット インデックス」は、フォルダ内の項目がトップレベルの一部とみなされるように平坦化されたオペランド リスト内のインデックスです。たとえば、インデックス位置 2 にあるフォルダ内の最初のオペランドは、フラット インデックスが 3 になります。
<boolean>GetFolderOperandName <index>operandIndex <index>subOperandIndex <&string>nameout
nameout is Out parameter
operandIndex
内のオペランドまたはサブフォルダの名前を取得します。ここで、subOperandIndex
はフォルダ内の項目の位置を表し、nameout
参照パラメータで名前を返します。
<boolean>SetFolderOperandName <index>operandIndex <index>subOperandIndex <string>name
フォルダ operandIndex
内のオペランドの名前を設定します。ここで、subOperandIndex
はフォルダ内の項目の位置です。操作が成功した場合は true を返します。
<boolean>GetRootOperandType <index>operandIndex <&enum>type
type enums: {#modified|#single|#folder}
type is Out parameter
operandIndex
の位置にあるオブジェクトのタイプを取得し、type
参照パラメータで返します。タイプは次のいずれかになります。
#modified
: 修正された基本オブジェクト#single
:オペランド オブジェクト#folder
: フォルダ <boolean>GetNumFolderOperands <index>operandIndex <&integer>count
count is Out parameter
operandIndex
の位置にあるフォルダ内のオペランドの数を、count
参照パラメータで返します。
<boolean>GetOperationType <index>operandIndex <&enum>type
type enums: {#union|#intersection|#subtraction|#merge|#attach|#insert|#split}
type is Out parameter
operandIndex
の位置にあるオペランドまたはフォルダの操作タイプを取得し、type
参照パラメータで返します。
<boolean>SetOperationType <index>operandIndex <enum>type
type enums: {#union|#intersection|#subtraction|#merge|#attach|#insert|#split}
operandIndex
の位置にあるオペランドまたはフォルダの操作タイプを、指定した type
に設定します。
<boolean>GetOperationOption <index>operandIndex <&enum>option
option enums: {#none|#imprint|#cookie}
option is Out parameter
operandIndex
の位置にあるオペランドの操作オプションを取得し、option
参照パラメータで返します。
<boolean>SetOperationOption <index>operandIndex <enum>option
option enums: {#none|#imprint|#cookie}
operandIndex
の位置にあるオペランドの操作オプションを option
に設定します。
<boolean>GetDisable <index>operandIndex <&boolean>disable
disable is Out parameter
operandIndex
の位置にあるオペランドの無効なステータスを取得し、disable
参照パラメータで返します。
<boolean>SetDisable <index>operandIndex <boolean>disable
operandIndex
の位置にあるオペランドの無効なステータスを disable
値に設定します。ここで、true は無効、false は有効です。操作が成功した場合は true、その他の場合は false を返します。
<boolean>RemoveOperand <index>operandIndex
operandIndex
の位置にあるオペランドを削除します。操作が成功した場合は true、その他の場合は false を返します。
<boolean>AppendOperand <enum>operandtype operandNode:<node> operationType:<enum> operationOption:<enum>
operandtype enums: {#modified|#single|#folder}
operandNode default value: undefined
operationType enums: {#union|#intersection|#subtraction|#merge|#attach|#insert|#split}
operationType default value: #union
operationOption enums: {#none|#imprint|#cookie}
operationOption default value: #none
オペランドをブール演算に追加し、成功した場合は true、失敗した場合は false を返します。オペランドはオペランド リストの末尾に追加されます。
operandType
は、オペランドが修正された基本オブジェクト、単一オペランド、または他のオペランドを含むフォルダのいずれであるかを指定します。
operandNode
は、オペランドとして追加するシーン ノードを指定します。これは、operandType
が #folder
の場合は必要ありません。
operationType
は、実行するブール演算のタイプを指定します。
operationOption
はブール演算の追加オプションを指定します。#cookie
は、オペランドの面がブール演算メッシュに追加されず、メッシュ内に穴が切り取られることを意味します。#imprint
は、新しいエッジがブール演算メッシュに追加され、オペランドが基本オブジェクトと交差することを意味します。
操作が成功した場合は true、その他の場合は false を返します。
<boolean>InsertOperand <enum>operandtype <index>where operandNode:<node> operationType:<enum> operationOption:<enum>
operandtype enums: {#modified|#single|#folder}
operandNode default value: undefined
operationType enums: {#union|#intersection|#subtraction|#merge|#attach|#insert|#split}
operationType default value: #union
operationOption enums: {#none|#imprint|#cookie}
operationOption default value: #none
ブール演算内の既存のオペランド間の、where
で指定されたインデックスの位置にオペランドを挿入します。成功した場合は true、失敗した場合は false を返します。
operandType
は、オペランドが修正された基本オブジェクト、単一オペランド、または他のオペランドを含むフォルダのいずれであるかを指定します。
operandNode
は、オペランドとして追加するシーン ノードを指定します。これは、operandType
が #folder
の場合は必要ありません。
operationType
は、実行するブール演算のタイプを指定します。
operationOption
はブール演算の追加オプションを指定します。#cookie
は、オペランドの面がブール演算メッシュに追加されず、メッシュ内に穴が切り取られることを意味します。#imprint
は、新しいエッジがブール演算メッシュに追加され、オペランドが基本オブジェクトと交差することを意味します。
操作が成功した場合は true、その他の場合は false を返します。
<boolean>RemoveFolderOperand <index>operandIndex <index>subOperandIndex
operandIndex
の位置にあるフォルダ内の位置 subOperandIndex
のオペランドを削除します。操作が成功した場合は true、その他の場合は false を返します。
<boolean>AppendFolderOperand <index>operandIndex <node>operandNode
オペランド operandNode
をフォルダ内のオペランドのリスト(operandIndex
の位置)に追加します。操作が成功した場合は true、その他の場合は false を返します。
<boolean>InsertFolderOperand <index>operandIndex <index>where <node>operandNode
オペランド operandNode
を、フォルダ内の位置 where
の operandIndex
の位置に挿入します。操作が成功した場合は true、その他の場合は false を返します。
<boolean>AlignPivot <index>operandIndex
フラット インデックス operandIndex の位置に「ライブ」オペランドが含まれているノードの基点を、基本オブジェクトの基点に位置合わせします。「キャプチャされた」オペランドには影響しません。操作が成功した場合は true、その他の場合は false を返します。
<boolean>ExtractAsObject <index>operandIndex
指定した operandIndex
の位置にあるオペランドをオブジェクトとして抽出します。操作が成功した場合は true、その他の場合は false を返します。
<boolean>CutOperand()
現在選択されているオペランドを切り取ります。操作が成功した場合は true、その他の場合は false を返します。
<boolean>PasteOperand <index>operandIndex
クリップボードのオペランドを、operandIndex
で指定された位置に貼り付けます。操作が成功した場合は true、その他の場合は false を返します。
<boolean>PasteToNewModifier()
クリップボードのオペランドを新しい[ブール演算] (Boolean)モディファイヤに貼り付けます。操作が成功した場合は true、その他の場合は false を返します。
<boolean>ExtractSeams <index>operandIndex
operandIndex
の位置にあるオペランドのシームから新しいシェイプを作成します。操作が成功した場合は true、その他の場合は false を返します。
<boolean>CreateObjects <&node array>createdNodes
createdNodes is In and Out parameter
ブール演算からオブジェクトを作成し、createdNodes
参照パラメータで返します。操作が成功した場合は true、その他の場合は false を返します。
このインタフェースは、[ブール演算] (Boolean)モディファイヤを使用してシーンの下位互換性を提供します。
.SaveFinalResult : boolean : Read|Write
3ds Max 2024.1 Update 以降では、[ブール演算] (Boolean)モディファイヤにキャッシング メカニズムが使用されるため、これらのバージョンで作成されたシーンは 3ds Max 2024 で開くことができません。保存する前にこのプロパティを false に設定すると、キャッシュがオフになり、シーンが 3ds Max 2024 と互換性を保つようになります。