毕业设计人物如下(资源来自游戏《玄乌》):
人物的剑始终指向鼠标所在位置,人物朝向则根据移动方向判定。
第一部分:剑旋转的实现
void MouseRotate()
{
Ray ray = camera.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
if (Physics.Raycast(ray, out hitInfo, 100, LayerMask.GetMask("Land")))
{
mousepoint = hitInfo.point;
mousepoint.y = sword.position.y;
StaticProperties.mousepoint = this.mousepoint;//更新全局变量
sword.LookAt(mousepoint);
}
}
摄像机向鼠标方向发出一个射线,然后进行射线检测从而获取到鼠标点对应的三维场景中的点。
这个方法需要在Update中每帧调用
第二部分:人物移动的实现
1.移动
//移动
motion = Vector3.zero;
if (Input.GetKey(KeyCode.A))