MeshProjIntersect - superclass: ReferenceTarget; super-superclass:MAXWrapper - 0:0 - classID: #(1266304708, 865233301)
このクラスは、投影マッピング ツールで、1 つのメッシュ ポイントの別のメッシュへの投影を見つけるために使用するインタフェースを公開します。
交差を実行するノードを設定します。複数のノードを、同じ交差インタフェースのインスタンスに追加できます。この交差に追加されたノードのうちどれが衝突したのかを調べるには、GetHitNode() メソッドを使用します。
高速交差の内部データ構造を構築します。このメソッドは、ノードを追加した後に呼び出す必要があります。
triIndex 引数は、0 を基数とする面インデックスです。
triBary 引数は、面内のポイントの重心座標を指定します。
成功した場合は true、有効な投影を実行できなかった場合は false を返します。
投影マッピングを実行するときには、低解像度の作業用モデルと高解像度のリファレンス モデルが使用されます。作業用モデルの周囲にはケージが定義されます。これは、リファレンス モデルを完全に囲んでいる必要があります。高解像度のリファレンス モデル上にあるすべてのポイントは、低解像度の作業用モデル上の点に対応します。1 つの作業用モデルで複数のリファレンス モデルを使用することもできます。
低解像度の作業用モデルを渡す場合は SetNode() を呼び出し、高速実行用データを生成する場合は Build() を呼び出します。これには、投影モディファイヤが適用されている必要があります。
ProjectionFace() メソッドを、面のインデックスと作業用モデルのサーフェス上の任意のポイントの重心座標を指定して呼び出します。
この結果、 ProjectionFace() メソッドにより、参照用モデルに衝突する内部値が設定されます。 getHitNode() メソッドは衝突した参照モデル、 getHitFace() はフェース インデックス、 getHitPos() は衝突の位置というように値を返します。詳細はこのページの説明を参照してください。
<boolean>ClosestFace <point3 by value>point dir:<point3 by value>caged:<boolean> doubleSided:<boolean> dir default value: [0,0,0] caged default value: false doubleSided default value: false
オプションの dir: キーワード パラメータを[0,0,0]以外に指定すると、指定した方向の最近接面が検出されます。
オプションの doubleSided: キーワード パラメータを true に指定すると、正面と背面の両方が考慮されます。
最近接面が見つかった場合は true、見つからなかった場合は false を返します。
警告 |
---|
現在、 ClosestFace() メソッドを呼び出す前に、少なくとも 1 回は IntersectRay() メソッドを呼び出す必要があります。最近接面の計算に必要な内部構造体には、交差を実行したときにのみ初期化されるものがあるためです。 ただし、 IntersectRay() 呼び出しの結果には信頼性がありません。このページの例を参照してください。 |
オプションの hitIndex: キーワード引数を指定しないか -1 に指定すると、最近接衝突が返されます。このキーワード引数を正の整数に指定すると、インデックス指定した衝突までの距離が返されます。
警告 |
---|
ClosestFace() メソッドを呼び出した後、次のメソッドを呼び出すときに hitIndex: オプション パラメータは指定しないでください。有効な最近接面は 1 つしかなく、-1 以外の値を渡そうとすると、不安定になったり不正な結果が生じる可能性があります。 |
オプションの hitIndex: キーワード引数を指定しないか -1 に指定すると、最近接衝突のノードが返されます。このキーワード引数を正の整数に指定すると、インデックス指定した衝突のノードが返されます。
ClosestFace() 呼び出しの後のデータの取得について、上記の警告を参照してください。
オプションの hitIndex: キーワード引数を指定しないか -1 に指定すると、衝突した最近接面が返されます。このキーワード引数を正の整数に指定すると、インデックス指定した衝突の面が返されます。
ClosestFace() 呼び出しの後のデータの取得について、上記の警告を参照してください。
オプションの hitIndex: キーワード引数を指定しないか -1 に指定すると、最近接衝突の重心座標が返されます。このキーワード引数を正の整数に指定すると、インデックス指定した衝突の重心座標が返されます。
ClosestFace() 呼び出しの後のデータの取得について、上記の警告を参照してください。
オプションの hitIndex: キーワード引数を指定しないか -1 に指定すると、衝突した最近接背面が返されます。このキーワード引数を正の整数に指定すると、インデックス指定した背面衝突の面が返されます。
ClosestFace() 呼び出しの後のデータの取得について、上記の警告を参照してください。
オプションの hitIndex: キーワード引数を指定しないか -1 に指定すると、最近接衝突の位置が返されます。このキーワード引数を正の整数に指定すると、インデックス指定した衝突の位置が返されます。
ClosestFace() 呼び出しの後のデータの取得について、上記の警告を参照してください。
<boolean>IntersectRay <point3 by value>point <point3 by value>dir doubleSided:<boolean> doubleSided default value: false
dir パラメータで指定されたベクトルの方向において、point パラメータで定義されたワールド空間位置から、 SetNode() で設定されたノードを使用してレイの交差を実行します。
オプションの doubleSided: キーワード パラメータを true に指定すると、面の正面と背面の両方で交差が実行されます。
レイが面に衝突した場合は true、交差がなかった場合は false を返します。