《Unity3D-鼠标控制游戏人物的方向的代码》

//1、首先需要进行射线检测 2.生成射线 3.进行检测

//1.1使用鼠标生成鼠标射线点的位置的信息

Ray ray =Camera.main.ScreenPointRay(Input.mousePosition);

//1.2获取鼠标与地面检测层的Index

private int groundLayerIndex=-1;  //设置地面层的layer的index

//1.3在void  start ()方法方法中为groundLayerIndex初始化

gourndlayerIndex=LayerMask.GetMask("Ground");  //这个就是地面的layer 需要和鼠标检测

//1.4生成RayCastHit  

RayCastHit hitInfo    //用来储存生成的射线是否射中的信息

//2.1生成射线

Physic.Raycast(ray,out hitInfo,200,groundLayerIndex);

//3.1检测碰撞设置主角面向目标点

if(Physic.Raycast(ray,out hitInfo,200,groundLayerIndex);){    //如果碰撞到了我们就让我们的主角面向我们碰撞到的点

  //3.2设置一个主角需要面向点的Vector3的信息定义为target

  Vector3 target= hitInfo.Point;  //设置碰撞点为目标的位置

  //3.3将目标位置赋予给我们需要面向的位置 应为Y轴不需要变化所以我们将本身Y轴的信息赋值给target的Y轴 的信息

  target.y=transform.position.y;

  //3.4让主角面向目标点

  transform.LookAt(target);

}

原文地址:https://www.cnblogs.com/ylllove/p/7199522.html