Raycaster (LogiXノード)

From Neos Wiki
Revision as of 08:12, 15 February 2022 by Aesc (talk | contribs) (Created page with "=== 注意事項 === コライダの <code>Type</code>enumフィールドが <code>Trigger</code>, <code>HapticTrigger</code>, <code>HapticSampler</code> に設定されてい...")
Jump to navigation Jump to search
Other languages:
English • ‎日本語 • ‎한국어
Raycaster
'Raycaster' LogiX node
Inputs
  Float3 Origin
  Float3 Direction
  Float MaxDistance
  Bool HitTriggers
  Bool UsersOnly
  Slot Root
Outputs
  Bool HasHit
  ICollider HitCollider
  Float HitDistance
  Float3 HitPoint
  Float3 HitNormal
  Int HitTriangleIndex

Raycasterノードは、フレームごとに更新される入力プロパティでレイキャストを生成します。現在ヒットしているターゲットコライダーに関する詳細(存在する場合)を、出力から得ることができます。

== 使用方法

入力

Origin は、レイがキャストされるポイントを定義します。この値は、入力された Root スロットの ローカル座標空間からの相対値として扱われます。デフォルトは [0;0;0] です。


Directionは、レイがキャストされる方向ベクトルを定義します。この値は入力されたRootスロットのローカル座標空間からの相対値として扱われます。この入力は、デフォルトが[0;0;0]であるため、値を設定することが必要です。


MaxDistanceはレイキャストの最大長を制御します。レイキャストの実際の長さは、この入力と入力されたRootスロットのグローバルスケールの両方によって影響されます。デフォルト値は非常に大きい (~3.4×1038) ので、これを設定することが推奨されます。


HitTriggersは、コライダーTypeフィールドがTriggerまたはHapticTriggerとして設定されているコライダーコンポーネントのみを有効なヒットターゲットとしてみなすかを決定するものです。デフォルトはfalseです。


UsersOnlyは、アクティブなユーザーを持たないコライダーを有効なヒットターゲットとみなすかどうかを決定します。デフォルトはfalseで、この場合すべてのコライダーが有効なヒットターゲットとみなされます(他の要因に依存します)。しかし、trueに設定すると、アクティブなユーザーを持つ(つまり、ユーザーのスロット階層の下で子になっている)コライダーだけが、有効なヒットターゲットとみなされます。


Root は、Origin, Direction, MaxDistance が計算されるローカル座標空間の基準となるスロットを定義する入力項目です。

出力

HasHit 入力は、レイキャストが現在有効なヒットターゲットを持っているかどうかを出力します。


HitCollider の出力は、レイキャストのパスに沿ってヒットした最初の有効なターゲットコライダーを提供します。デフォルトは null です。


HitDistance は、レイキャストの原点と HitPoint の間のグローバルな距離を出力します。デフォルトは0です。


HitPoint の出力は、レイキャストが最初に HitCollider と交差する点のグローバル座標を提供します。デフォルトは [0;0;0] です。


HitNormal の出力は、レイキャストと HitCollider の交点に対する法線ベクトルを提供します。


HitTriangleIndexは、HitColliderMeshCollider (Component) である場合、ヒットしたメッシュのポリゴンのインデックスを出力します。

注意事項

コライダの Typeenumフィールドが Trigger, HapticTrigger, HapticSampler に設定されていなければ、通常レイキャストに対する有効なヒットターゲットとなります、詳細は HitTriggers入力を参照してください。コライダーは、コライダーコンポーネントの IgnoreRaycastsが true に設定されている場合、有効なターゲットとはなりません。

Examples

Node Menu

NodeMenu-Physics/ja