方法1: RaycastHitのpointプロパティを使用する方法 Raycastを実行した後、RaycastHit構造体のpointプロパティを使用して衝突した位置を取得することができます。
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
Vector3 hitPoint = hit.point;
Debug.Log("衝突位置: " + hitPoint);
}
方法2: RaycastHitのtransformプロパティを使用する方法 RaycastHit構造体のtransformプロパティを使用すると、衝突したGameObjectのTransformコンポーネントを取得することができます。その後、Transformのpositionプロパティを使用して位置を取得します。
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
Transform hitTransform = hit.transform;
Vector3 hitPosition = hitTransform.position;
Debug.Log("衝突位置: " + hitPosition);
}
方法3: RaycastHitのcolliderプロパティを使用する方法 RaycastHit構造体のcolliderプロパティを使用すると、衝突したGameObjectのColliderコンポーネントを取得することができます。その後、Colliderのboundsやcenterプロパティを使用して位置を計算することができます。
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
Collider hitCollider = hit.collider;
Vector3 hitPosition = hitCollider.bounds.center;
Debug.Log("衝突位置: " + hitPosition);
}
これらの方法を使用することで、Raycastが衝突した位置を取得することができます。具体的な使用方法はゲームの要件やシナリオによって異なる場合がありますので、適宜選択してください。