今天分享个小Demo
在Unity 场景中实现Player (玩家) 跟随鼠标转动
1.首先创建你的 Player (玩家) ,再来个地面 Plane
那么你的场景视图中展现的是不是这样的啊
哈哈, 当然你可以做的比这个更好, 我这是一个简单的Demo 嘛
干货来了
private void FixedUpdate()
{
Ray ray = _camera.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
// 从摄像机发出射线 起点 终点 距离 层 LayerMask
if (Physics.Raycast(ray,out hit, 100,1<<8))
{
Vector3 temp = new Vector3(hit.point.x, transform.position.y, hit.point.z);
temp = temp - transform.position;
transform.rotation = Quaternion.LookRotation(temp);
}
}
切记你的Camera 奥, 场景中的MainCamera
要注意的后边的层 1<< 8 指的是Plane 的 Layer, 也可以为 LayerMask.GetMask("cube"), 两者意义一致
点击 Add Layer
点击运行
是不是达到效果啦
哈哈, 感谢欣赏