Math オブジェクトには、いくつかの役立つ包括的な数学関数が含まれています。
関連サンプル コード
その他の関連リファレンス項目
![]() |
box_intersects_frustum ( pose, half_dimensions, frustum_planes, frustum_corners ) : boolean![]() 配置されたバウンディング ボックス(pose および half_dimensions パラメータによって指定される)がフラスタムを交差するかどうかを示します。
|
pose : | ボックスの中心の位置および回転です。 | |
half_dimensions : | ローカルの右、上、および前方軸に沿った、サーフェスの中心に対するボックスの中心からの距離です。 | |
frustum_planes : | any(stingray.Vector3, number)* | フラスタムの 6 つのプレーン。Vector3 と number パラメータ、フラスタム プレーンの外側を指す法線ベクトルとこの法線の沿ったプレーンの位置にある番号のペアとして示します。 any(...) 表記は、この項目が括弧内に示されている任意のタイプのインスタンスであることを示しています。 * の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。 |
frustum_planes : | any(stingray.Vector3, number)* | フラスタムの 8 つのコーナー。近接平面が ABCD、遠方平面が EFGH で、AE、BF、CG、DH が側面エッジになるように指定します。 any(...) 表記は、この項目が括弧内に示されている任意のタイプのインスタンスであることを示しています。 * の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。 |
boolean |
ボックスが完全にフラスタムの内側にある、または交差している場合は true を返し、完全にフラスタムの外側にある場合は false を返します。 |
フラスタムはその 8 つのコーナーと 6 つのプレーンによって指定されます。それぞれは、プレーンの法線を定義する(フラスタムから外側を向く) Vector3 値と法線に沿ったプレーンの位置を指定する浮動小数点値のペアです。
![]() |
box_in_frustum ( pose, half_dimensions, n, o, additional_planes ) : boolean![]() 回転したバウンディング ボックス(pose および half_dimensions パラメータによって指定される)フラスタム内に完全に囲まれているかどうかを示します。
|
pose : | ボックスの中心の位置および回転です。 | |
half_dimensions : | ローカルの右、上、および前方軸に沿った、サーフェスの中心に対するボックスの中心からの距離です。 | |
n : | フラスタムから外側を向く、フラスタムの 1 つのプレーンの法線です。 | |
o : | number | 法線 n に沿ったフラスタム プレーンの位置です。 |
additional_planes : | any(stingray.Vector3, number)* | n および o と同様に、より多くの Vector3 および number パラメータのペアを追加することで、フラスタムにより多くのプレーンを設定できます。 any(...) 表記は、この項目が括弧内に示されている任意のタイプのインスタンスであることを示しています。 * の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。 |
boolean |
ボックスが完全にフラスタムの内側にある場合は true、それ以外の場合は false を返します。 |
フラスタムは一連のプレーンによって指定されます。それぞれは、プレーンの法線を定義する(フラスタムから外側をむく) Vector3 の値と法線に沿ってプレーンの位置を指定する浮動小数点値のペアです。フラスタムに複数のプレーンを設定するため、これらのペアを必要な数だけ指定することができます。
![]() |
is_valid ( inputs ) : boolean![]() すべての入力が有効な数値かどうかを示します。
|
inputs : | number* | テストする number 値の数です。 * の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。 |
boolean |
すべての入力が有効な数である場合は true、いずれかのコンポーネントが #NaN または #INF の場合は false が返されます。 |
![]() |
merge_boxes ( pose, half_dimensions, additional_boxes ) : stingray.Matrix4x4, stingray.Vector3![]() 回転した一連のバウンディング ボックスを、すべての入力ボックスを囲む単一の回転したバウンディング ボックスに結合します。
|
pose : | ボックスの中心の位置および回転です。 | |
half_dimensions : | ローカルの右、上、および前方軸に沿った、サーフェスの中心に対するボックスの中心からの距離です。 | |
additional_boxes : | pose および half_dimensions と同様に、Matrix4x4 および Vector3 パラメータのより多くのペアを追加することで、より多くの結合するボックスを設定できます。 any(...) 表記は、この項目が括弧内に示されている任意のタイプのインスタンスであることを示しています。 * の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。 |
結合されたボックスの位置および回転です。 | |
ローカルの右、上、および前方軸に沿った、結合されたボックスの中心からそのサーフェスの中心までの距離です。 |
各ボックスはその位置および回転を含む Matrix4x4 および寸法を含む Vector3 という値のペアによって指定されます。これらのペアは必要な数だけ入力できます。
結果のボックスは、入力内の最初のボックスと同じ軸を持つことになります。つまり、この関数は、囲むための最小のバウンディング ボックスを返しません。
![]() |
next_random ( seed, first_bound, second_bound ) : integer, number![]() 指定された seed の値に基づいて、乱数および新しいシードを生成します。
|
seed : | integer | 乱数を生成するためのシードです。 |
first_bound : | integer? | 生成された数の最初のバウンドです。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
second_bound : | integer? | 生成された数の 2 番目のバウンドです。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
integer |
新しいシード値です。 |
number |
生成された乱数です。 |
再現性ある一連の乱数をクエリーする場合は、stingray.Math.random() の代わりに、この関数を使用します。
![]() |
point_in_box ( point, pose, half_dimensions ) : boolean![]() 点(point パラメータによって指定)が回転したバウンディング ボックス(pose および half_dimensions パラメータによって指定)の内部に配置されているかどうかを示します。
|
point : | テストする点です。 | |
pose : | ボックスの中心の位置および回転です。 | |
half_dimensions : | ローカルの右、上、および前方軸に沿った、サーフェスの中心に対するボックスの中心からの距離です。 |
boolean |
点がボックス内部にある場合は true、それ以外の場合は false を返します。 |
![]() |
random ( first_bound, second_bound ) : number![]() 乱数を生成します。
|
first_bound : | integer? | 生成された数の最初のバウンドです。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
second_bound : | integer? | 生成された数の 2 番目のバウンドです。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
number |
生成された乱数です。 |
この関数は、標準の Lua math.random() 関数とほとんど同様に動作します。標準の Lua 乱数ジェネレータではなく、Stingray に組み込まれている乱数ジェネレータを使用する点のみが異なります。
関連サンプル コード
その他の関連リファレンス項目
![]() |
ray_box_intersection ( from, dir, pose, half_dimensions ) : number![]() 線(from および dir パラメータによって指定)と回転したバウンディング ボックス(pose および half_dimensions パラメータによって指定)の間の交差を計算します。
|
from : | 線の開始点です。 | |
dir : | 線の方向です。 | |
pose : | ボックスの中心の位置および回転です。 | |
half_dimensions : | ローカルの右、上、および前方軸に沿った、サーフェスの中心に対するボックスの中心からの距離です。 |
number |
線がボックスの内部から開始するか外部から開始するかに関わらず、線の開始点からボックスのサーフェスに対して最初に衝突する点までの距離です。線がボックスに衝突しない場合は、-1 を返します。 |