# Calculator リファレンス

Arborの組み込みCalculatorのリファレンスです。

## Bool

クラス名 | 説明
--- | ---
Bool.And | Bool値をAnd演算する。
Bool.Not | Bool値をNot演算する。
Bool.Or | Bool値をOr演算する。

## Bounds

クラス名 | 説明
--- | ---
Bounds.Compose | Boundsを作成する。
Bounds.Contains | Boundsに設定した位置が、バウンディングボックスに含まれているか判定する。
Bounds.Decompose | Boundsを中心とサイズに分解する。
Bounds.EncapsulateBounds | 位置やバウンズを含むように、拡大・縮小する。
Bounds.EncapsulateVector3 | 設定した位置を含むように拡大する。
Bounds.ExpandFloat | 設定した amount によってサイズを大きくする。
Bounds.ExpandVector3 | 設定した amount によってサイズを大きくする。
Bounds.SqrDistance | 設定したポイントとの最小距離の 2 乗されたものを返す。

## Collider

クラス名 | 説明
--- | ---
Collider.AttachedRigidbody | ColliderにアタッチされているRigidbodyを出力する。
Collider.Bounds | ワールド座標でのColliderの Bounds 情報
Collider.ClosestPointOnBounds | 設定した位置から一番近い、Bounds オブジェクトの最近接点を求める。

## Collider2D

クラス名 | 説明
--- | ---
Collider2D.AttachedRigidbody | Collider2DにアタッチされているRigidbody2Dを出力する。
Collider2D.Bounds | ワールド座標でのCollider2DのBounds情報
Collider2D.OverlapPoint | 空間上でColliderがある地点を含むかチェックする。

## Collision

クラス名 | 説明
--- | ---
Collision.Collider | CollisionからヒットしたColliderを出力する。
Collision.GameObject | CollisionからヒットしたGameObjectを出力する。
Collision.RelativeVelocity | 衝突した2つのオブジェクトの相対速度を出力する。
Collision.Rigidbody | CollisionからヒットしたRigidbodyを出力する。
Collision.Transform | CollisionからヒットしたTransformを出力する。

## Collision2D

クラス名 | 説明
--- | ---
Collision2D.Collider | Collision2DからヒットしたCollider2Dを出力する。
Collision2D.GameObject | Collision2DからヒットしたGameObjectを出力する。
Collision2D.RelativeVelocity | 衝突した2つのオブジェクトの相対速度を出力する。
Collision2D.Rigidbody | Collision2DからヒットしたRigidbody2Dを出力する。
Collision2D.Transform | Collision2DからヒットしたTransformを出力する。

## Component

クラス名 | 説明
--- | ---
Component.GetGameObject | ComponentのGameObjectを出力する。
GameObject.GetComponent | GameObjectからComponentを出力する。

## Float

クラス名 | 説明
--- | ---
Float.Add | floatを加算する。
Float.Compare | floatを比較する。
Float.Div | floatを除算する。
Float.Mul | floatを乗算する。
Float.Negative | floatの符号を反転する。
Float.Sub | floatを減算する。
Float.ToInt | floatをintに変換する。
Float.ToLong | floatをlongに変換する。

## Int

クラス名 | 説明
--- | ---
Int.Add | intを加算する。
Int.Compare | intを比較する。
Int.Div | intを除算する。
Int.Mul | intを乗算する。
Int.Negative | intの符号を反転する。
Int.Sub | intを減算する。
Int.ToFloat | intをfloatに変換する。

## Long

クラス名 | 説明
--- | ---
Long.Add | longを加算する。
Long.Compare | longを比較する。
Long.Div | longを除算する。
Long.Mul | longを乗算する。
Long.Negative | longの符号を反転する。
Long.Sub | longを減算する。
Long.ToFloat | longをfloatに変換する。

## Mathf

クラス名 | 説明
--- | ---
Mathf.AbsFloat | floatの絶対値を求める。
Mathf.AbsInt | intの絶対値を求める。
Mathf.Acos | acosを計算する。
Mathf.Asin | asinを計算する。
Mathf.Atan | atanを計算する。
Mathf.Atan2 | atan2を計算する。
Mathf.Ceil | 値以上の最小の整数を計算する。
Mathf.CeilToInt | 値以上の最小の整数を計算する。
Mathf.Clamp01 | 0と1の間に値を制限する。
Mathf.ClampFloat | MinとMaxの範囲に値を制限する。
Mathf.ClampInt | MinとMaxの範囲に値を制限する。
Mathf.ClosestPowerOfTwo | 値にもっとも近い2のべき乗値を計算する。
Mathf.Cos | cosを計算する。
Mathf.DegToRad | 度からラジアンに変換する。
Mathf.DeltaAngle | 与えられた2つの角度（単位は度）間の最小の差を計算する。
Mathf.Exp | e (ネイピア数) を指定した乗数を計算する。
Mathf.Floor | 値以下の最大の整数を計算する。
Mathf.FloorToInt | 値以下の最大の整数を計算する。
Mathf.GammaToLinearSpace | ガンマ (sRGB) からリニアの色空間へ値を変換する。
Mathf.InverseLerp | FromからToの範囲内で補間する値を生成する補間パラメーターを計算する。
Mathf.Lerp | FromからToの範囲内で値を線形補間する。
Mathf.LerpAngle | FromからToの範囲内で角度を線形補間する。
Mathf.LinearToGammaSpace | リニアからガンマ (sRGB)の色空間へ値を変換する。
Mathf.Log | 対数を計算する (底 e) 。
Mathf.Log10 | 指定した数の底が10の対数を計算する。
Mathf.LogBase | 対数を計算する。
Mathf.MaxFloat | 2つのfloat値から最大値を計算する。
Mathf.MaxInt | 2つのint値から最大値を計算する。
Mathf.MinFloat | 2つのfloat値から最小値を計算する。
Mathf.MinInt | 2つのint値から最小値を計算する。
Mathf.MoveTowards | Current から Target まで、MaxDelta の速さで移動する移動量を計算する。
Mathf.MoveTowardsAngle | Current から Target まで、MaxDelta の速さで移動する移動量を計算する。
Mathf.NextPowerOfTwo | Value以上のもっとも近い2のべき乗を計算する。
Mathf.PerlinNoise | 2Dのパーリンノイズを生成する。
Mathf.PingPong | 補間パラメータTにより0からLengthの間を往復させる。
Mathf.Pow | ValueのPower乗の値を計算する。
Mathf.RadToDeg | ラジアンから度に変換する。
Mathf.Repeat | 補間パラメータTにより0からLengthの間をループさせる。
Mathf.Round | Valueに最も近い整数を計算する。
Mathf.RoundToInt | Valueに最も近い整数を計算する。
Mathf.Sign | Valueの符号を計算する。
Mathf.Sin | sinを計算する。
Mathf.SmoothStep | FromとToの間で制限したスムージングで補間する。
Mathf.Sqrt | 平方根を計算する。
Mathf.Tan | tanを計算する。

## Quaternion

クラス名 | 説明
--- | ---
Quaternion.Angle | 2つのQuaternion間の角度を計算する。
Quaternion.AngleAxis | Axisの周りをAngle度回転するQuaternionを作成する。
Quaternion.Dot | 2つのQuaternionの内積を計算する。
Quaternion.Euler | オイラー角からQuaternionを計算する。
Quaternion.EulerAngles | Quaternionからオイラー角の値を計算する。
Quaternion.FromToRotation | FromDirectionからToDirectionへのQuaternionを作成する。
Quaternion.Inverse | 逆Quaternionを計算する。
Quaternion.Lerp | FromとToの間でQuaternionを線形補間する。
Quaternion.LookRotation | ForwardへのQuaternionを作成する。
Quaternion.Mul | Quaternionを乗算する。
Quaternion.MulVector3 | Vector3にQuaternionを乗算する。
Quaternion.RotateTowards | FromからToへのQuaternionを計算する。
Quaternion.Slerp | FromとToの間でQuaternionを球面線形補間する。
Quaternion.ToAngleAxis | Quaternionを回転軸と角度に変換する。

## Random

クラス名 | 説明
--- | ---
Random.Bool | ランダムなbool値を出力する。
Random.InsideUnitCircle | 単円内のランダムな点を出力する。
Random.InsideUnitSphere | 単球内のランダムな点を出力する。
Random.OnUnitSphere | 単球上のランダムな点を出力する。
Random.RangeColor | Graient内のランダムな時間の色を出力する。
Random.RangeColorSimple | 2色間のランダムな色を出力する。
Random.RangeFloat | 2値間のランダムなfloat値を出力する。
Random.RangeInt | 2値間のランダムなint値を出力する。
Random.RangeQuaternion | 2値間のランダムなQuaternion値を出力する。
Random.RangeVector2 | 2値間のランダムなVector2値を出力する。
Random.RangeVector3 | 2値間のランダムなVector3値を出力する。
Random.Rotation | ランダムな回転を出力する。
Random.RotationUniform | 一様分布のランダムな回転を出力する。
Random.SelectComponent | リストからランダムに選択したComponentを出力する。
Random.SelectGameObject | リストからランダムに選択したGameObjectを出力する。
Random.SelectString | リストからランダムに選択したstringを出力する。
Random.Value | ランダムなfloat値を出力する。

## RaycastHit

クラス名 | 説明
--- | ---
RaycastHit.BarycentricCoordinate | 衝突したメッシュの三角形における重心座標
RaycastHit.Collider | 当たったCollider
RaycastHit.Distance | 原点からヒットしたオブジェクトの距離
RaycastHit.LightmapCoord | 衝突したライトマップのUV座標
RaycastHit.Normal | 衝突した際の面の法線
RaycastHit.Point | 衝突したオブジェクトのワールド座標
RaycastHit.Rigidbody | ヒットしたColliderにアタッチされているのRigidbody。
RaycastHit.TextureCoord | 衝突した UV テクスチャの座標
RaycastHit.TextureCoord2 | 衝突したセカンダリ UV テクスチャの座標
RaycastHit.Transform | 衝突したColliderまたはRigidbodyのTransform
RaycastHit.TriangleIndex | 衝突したメッシュの三角形におけるインデックス

## RaycastHit2D

クラス名 | 説明
--- | ---
RaycastHit2D.Centroid | キャストに使用されるプリミティブの重心
RaycastHit2D.Collider | 当たったCollider2D
RaycastHit2D.Distance | 原点からヒットしたオブジェクトの距離
RaycastHit2D.Fraction | レイで衝突が発生した地点の、距離に対する割合
RaycastHit2D.Normal | レイにより衝突された表面の法線ベクトル
RaycastHit2D.Point | 衝突したオブジェクトのワールド座標
RaycastHit2D.Rigidbody | ヒットしたCollider2DにアタッチされているのRigidbody2D。
RaycastHit2D.Transform | 衝突したCollider2DまたはRigidbody2DのTransform

## Rect

クラス名 | 説明
--- | ---
Rect.Center | 矩形の中心座標
Rect.Compose | Rectを作成する。
Rect.Contains | PointがRectの内側にあるかどうか。
Rect.Decompose | Rectを位置とサイズに分解する。
Rect.MinMaxRect | MinとMaxからRectを作成する。
Rect.NormalizedToPoint | 正規化座標を指定して長方形内部の位置を計算する。
Rect.Overlaps | 矩形同士が重なっているかどうか。
Rect.PointToNormalized | ポイントに対応する正規化座標を計算する。

## RectTransform

クラス名 | 説明
--- | ---
RectTransform.AnchoredPosition | アンカー基準点に対する RectTransform の相対的なピボットの位置
RectTransform.AnchoredPosition3D | アンカー基準点に対する RectTransform の相対的なピボットの 3D の位置
RectTransform.AnchorMax | 右上の角をアンカーした親 RectTransform で正規化された位置
RectTransform.AnchorMin | 左下の角をアンカーした親 RectTransform で正規化された位置
RectTransform.Get | GameObjectにアタッチされているRectTransformを取得する。
RectTransform.OffsetMax | 右上のアンカーを基準にした矩形の右上角のオフセット
RectTransform.OffsetMin | 左下のアンカーを基準にした矩形の左下角のオフセット
RectTransform.Pivot | 周囲を回転させるこのRectTransformの正規化された位置
RectTransform.Rect | Transform のローカル空間で計算された矩形
RectTransform.SizeDelta | アンカー間の距離と比較した RectTransform のサイズ。

## Rigidbody

クラス名 | 説明
--- | ---
Rigidbody.AngularDrag | オブジェクトの回転に対する抵抗
Rigidbody.AngularVelocity | Rigidbody の角速度ベクトル
Rigidbody.CenterOfMass | Transform の原点に対する質量の中心
Rigidbody.ClosestPointOnBounds | アタッチされたColliderのバウンディングボックスにもっとも近い位置
Rigidbody.Drag | オブジェクトの抵抗
Rigidbody.Get | GameObjectにアタッチされているRigidbodyを取得する。
Rigidbody.GetPointVelocity | ワールド座標における、Rigidbody オブジェクトの速度を取得します
Rigidbody.GetRelativePointVelocity | ローカル座標における、Rigidbody オブジェクトの相対的速度を取得します
Rigidbody.InertiaTensor | 質量の中心に対する、相対的な対角慣性テンソル
Rigidbody.InertiaTensorRotation | 慣性テンソルの回転角度
Rigidbody.Mass | Rigidbody の質量
Rigidbody.MaxAngularVelocity | Rigidbody の最大角速度。
Rigidbody.Position | Rigidbody の位置
Rigidbody.Rotation | Rigidbody の回転
Rigidbody.SolverIterationCount | ソルバーの反復回数。
Rigidbody.Velocity | Rigidbody の速度ベクトル
Rigidbody.WorldCenterOfMass | ワールド座標による質量の中心値

## Rigidbody2D

クラス名 | 説明
--- | ---
Rigidbody2D.AngularDrag | オブジェクトの回転に対する抵抗
Rigidbody2D.AngularVelocity | Rigidbody2D の角速度
Rigidbody2D.CenterOfMass | Transform の原点に対する質量の中心
Rigidbody2D.Drag | オブジェクトの抵抗
Rigidbody2D.Get | GameObjectにアタッチされているRigidbody2Dを取得する。
Rigidbody2D.GetPoint | 指定されたリジッドボディのグローバル空間での Point からローカル空間ポイントを取得する。
Rigidbody2D.GetPointVelocity | ワールド座標における、Rigidbody2D オブジェクトの速度を取得します
Rigidbody2D.GetRelativePoint | リジッドボディのローカル空間において指定された RelativePoint のグローバル空間ポイントを取得する。
Rigidbody2D.GetRelativePointVelocity | ローカル空間における RelativePoint でのリジッドボディの速度。
Rigidbody2D.GetRelativeVector | リジッドボディのローカル空間において指定した RelativeVector のグローバル空間ベクトルを取得する。
Rigidbody2D.GetVector | 指定されたリジッドボディグローバル空間 Vector のローカル空間ベクトルを取得する。
Rigidbody2D.GravityScale | オブジェクトが重力により影響を受ける度合い
Rigidbody2D.Inertia | リジッドボディの回転慣性
Rigidbody2D.Mass | Rigidbody の重さ
Rigidbody2D.Position | Rigidbody オブジェクトの位置
Rigidbody2D.Rotation | Rigdibody の回転
Rigidbody2D.Velocity | Rigdibody の線形速度
Rigidbody2D.WorldCenterOfMass | グローバル空間でのリジッドボディの質量の中心を取得する。

## String

クラス名 | 説明
--- | ---
String.Concat | 文字列を連結する。
String.Join | 文字列を連結する。各要素の間には区切り記号を挿入する。

## Transform

クラス名 | 説明
--- | ---
Transform.EulerAngles | オイラー角としての角度
Transform.Forward | ワールド空間の Transform の青軸
Transform.Get | GameObjectにアタッチされているTransformを取得する。
Transform.InverseTransformDirection | ワールド空間からローカル空間へ Direction を変換する。
Transform.InverseTransformPoint | ワールド空間からローカル空間へ Point を変換する。
Transform.InverseTransformVector | ワールド空間からローカル空間へ Vector を変換する。
Transform.LocalEulerAngles | 親の Transform オブジェクトから見た相対的なオイラー角としての回転値
Transform.LocalPosition | 親の Transform オブジェクトから見た相対的な位置
Transform.LocalRotation | 親の Transform オブジェクトから見た相対的な回転値
Transform.LocalScale | 親の Transform オブジェクトから見た相対的なスケール
Transform.LossyScale | オブジェクトのグローバルスケール
Transform.Parent | Transform の親
Transform.Position | ワールド空間の Transform の位置
Transform.Right | ワールド空間の Transform の赤軸
Transform.Root | 階層の一番上の Transform
Transform.Rotation | Quaternion として保存されるワールド空間での Transform の回転
Transform.TransformDirection | ローカル空間からワールド空間へ Direction を変換する
Transform.TransformPoint | ローカル空間からワールド空間へ Point を変換する。
Transform.TransformVector | ローカル空間からワールド空間へ Vector を変換します。
Transform.Up | ワールド空間の Transform の緑軸

## Vector2

クラス名 | 説明
--- | ---
Vector2.Add | Vector2を加算する。
Vector2.Angle | FromとToの間の角度を計算する。
Vector2.ClampMagnitude | 大きさを MaxLength に制限したベクトルを計算する。
Vector2.Compose | Vector2を作成する。
Vector2.Decompose | Vector2を分解する。
Vector2.Distance | AとBの間の距離を計算する。
Vector2.Div | Vector2をfloatで除算する。
Vector2.Dot | 2つのベクトルの内積
Vector2.Lerp | FromとToのベクトルの間を補間パラメータTで線形補間する。
Vector2.Magnitude | ベクトルの長さ
Vector2.Max | 2つのベクトルで各成分の一番大きな値を使用してベクトルを作成する。
Vector2.Min | 2つのベクトルで各成分の一番小さな値を使用してベクトルを作成する。
Vector2.MoveTowards | 現在の位置CurrentからTargetに向けて移動するベクトルを計算する。
Vector2.Mul | Vector2をfloatで乗算する。
Vector2.Negative | Vector2の符号を反転する。
Vector2.Normalize | Vector2を正規化したベクトル
Vector2.Scale | 2 つのベクトルの各成分を乗算する。
Vector2.SqrMagnitude | ベクトルの 2 乗の長さを計算する。
Vector2.Sub | Vector2を減算する。
Vector2.ToVector3 | Vector2をVector3に変換する。

## Vector3

クラス名 | 説明
--- | ---
Vector3.Add | Vector3を加算する。
Vector3.Angle | FromとToの間の角度を計算する。
Vector3.ClampMagnitude | 大きさを MaxLength に制限したベクトルを計算する。
Vector3.Compose | Vector3を作成する。
Vector3.Cross | 2つのベクトルの外積
Vector3.Decompose | Vector3を分解する。
Vector3.Distance | AとBの間の距離を計算する。
Vector3.Div | Vector2をfloatで除算する。
Vector3.Dot | 2つのベクトルの内積
Vector3.Lerp | FromとToのベクトルの間を補間パラメータTで線形補間する。
Vector3.Magnitude | ベクトルの長さ
Vector3.Max | 2つのベクトルで各成分の一番大きな値を使用してベクトルを作成する。
Vector3.Min | 2つのベクトルで各成分の一番小さな値を使用してベクトルを作成する。
Vector3.MoveTowards | 現在の位置CurrentからTargetに向けて移動するベクトルを計算する。
Vector3.Mul | Vector3をfloatで乗算する。
Vector3.Negative | Vector3の符号を反転する。
Vector3.Normalize | Vector3を正規化したベクトル
Vector3.OrthoNormalize | ベクトルが正規化され他のベクトルと直交するように計算する。
Vector3.OrthoNormalize2 | ベクトルが正規化され他のベクトルと直交するように計算する。
Vector3.Project | ベクトルを別のベクトルに投影する。
Vector3.ProjectOnPlane | 平面に垂直な法線ベクトルによって定義される平面上にベクトルを射影する。
Vector3.Reflect | 法線で定義された平面でベクトルを反射する。
Vector3.RotateTowards | 現在の位置Current からTargetに向けてベクトルを回転する。
Vector3.Scale | 2 つのベクトルの各成分を乗算する。
Vector3.Slerp | FromとToのベクトルの間を補間パラメータTで球面線形補間する。
Vector3.SqrMagnitude | ベクトルの 2 乗の長さを計算する。
Vector3.Sub | Vector3を減算する。
Vector3.ToVector2 | Vector3をVector2に変換する。