Unity 实现人物触屏旋转:简单教程和代码示例
Unity 实现人物触屏旋转:简单教程和代码示例
本教程将引导您使用 Unity 实现人物触屏旋转功能。通过代码示例,您将学会如何使用 OnMouseDrag 和 OnMouseDown 方法来实现人物的旋转和移动。
一、实现步骤
- 新建一个 Unity 项目,在 Hierarchy 面板创建一个 Cube,设置成长宽高都是 1,并将其位置放置在场景中心,命名为 Player;
- 在 Inspector 面板中,将 Cube 的 Layer 设置为 Player;
- 创建一个脚本,取名为 PlayerController,将脚本挂载在 Cube 上;
- 在 PlayerController 脚本中,添加一个让 Cube 支持旋转的
OnMouseDrag方法:
void OnMouseDrag()
{
float rotX = Input.GetAxis("Mouse X") * rotSpeed * Mathf.Deg2Rad;
float rotY = Input.GetAxis("Mouse Y") * rotSpeed * Mathf.Deg2Rad;
transform.RotateAround(Vector3.up, -rotX);
transform.RotateAround(Vector3.right, rotY);
}
- 将
rotSpeed设置为可调节的变量,添加到 PlayerController 脚本中,以便调节 Cube 的旋转速度; - 在新建的脚本中,添加一个
OnMouseDown方法,用于支持 Cube 的移动:
void OnMouseDown()
{
Vector3 v3;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
v3 = hit.point;
v3.y = 0.5f;
transform.position = v3;
}
}
- 运行游戏,点击 Cube 并移动鼠标,可实现人物触屏旋转的效果。
二、实现效果

原文地址: https://www.cveoy.top/t/topic/lgF4 著作权归作者所有。请勿转载和采集!