找到右/左球员

  • 本文关键字: c# unity-game-engine
  • 更新时间 :
  • 英文 :


我想做的是找到一种方法来知道是否有东西在播放器的左边/右边,但由于某种原因,我的代码不工作。

Vector3 rayDirection = new Vector3();
switch (currentCameraSide)
{
case CameraSide.Left:
rayDirection = -transform.right;
break;
case CameraSide.Right:
rayDirection = transform.right;
break;
}
// Start the ray pos from the player's head
Vector3 playerStartPoint = transform.position + (transform.up * 1.5f);
// The direction of the ray (left/right)
Vector3 playerEndPoint = playerStartPoint + rayDirection;
if (Physics.Raycast(playerStartPoint, playerEndPoint, out RaycastHit raycastHitA, sideCameraRayLenght, aimColliderMask))
{
Debug.Log($"Hitting: {raycastHitA.transform.name}");
}

基本上不管玩家面对哪个方向,击中的方向总是向左的(可能是世界坐标?)

Raycast的使用形式

  • a startposition

你给它两个位置…

→简单地使用rayDirection本身作为第二个参数

相关内容

  • 没有找到相关文章