Unity 实现人物触屏旋转:简单教程和代码示例

本教程将引导您使用 Unity 实现人物触屏旋转功能。通过代码示例,您将学会如何使用 OnMouseDragOnMouseDown 方法来实现人物的旋转和移动。

一、实现步骤

  1. 新建一个 Unity 项目,在 Hierarchy 面板创建一个 Cube,设置成长宽高都是 1,并将其位置放置在场景中心,命名为 Player;
  2. 在 Inspector 面板中,将 Cube 的 Layer 设置为 Player;
  3. 创建一个脚本,取名为 PlayerController,将脚本挂载在 Cube 上;
  4. 在 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); 
    } 
  1. rotSpeed 设置为可调节的变量,添加到 PlayerController 脚本中,以便调节 Cube 的旋转速度;
  2. 在新建的脚本中,添加一个 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; 
        } 
    } 
  1. 运行游戏,点击 Cube 并移动鼠标,可实现人物触屏旋转的效果。

二、实现效果

实现效果

Unity 实现人物触屏旋转:简单教程和代码示例

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

免费AI点我,无需注册和登录