在 Unity 中实现点击一个物体,使另一个物体旋转 90 度,您可以按照以下步骤进行操作:

  1. 创建两个物体,分别为点击物体和旋转物体。
  2. 在点击物体上添加一个脚本,用于处理点击事件。
  3. 在脚本中使用 Raycast 进行点击检测,并判断是否点击到了点击物体。
  4. 如果检测到点击事件,获取旋转物体的 Transform 组件,并调用 Rotate 方法进行旋转。
  5. 在 Rotate 方法中传入一个旋转角度,比如 90 度,使用 Quaternion.Euler 方法将角度转换为四元数。
  6. 将得到的旋转四元数赋值给旋转物体的 Transform 组件的 rotation 属性,实现旋转效果。

以下是一个示例代码:

using UnityEngine;

public class ClickToRotate : MonoBehaviour
{
    public Transform rotatingObject;
    
    private void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit))
            {
                if (hit.collider.gameObject == gameObject)
                {
                    RotateObject();
                }
            }
        }
    }

    private void RotateObject()
    {
        rotatingObject.rotation *= Quaternion.Euler(0, 90, 0);
    }
}

在上述示例中,通过在 Update 方法中使用 Input.GetMouseButtonDown(0) 检测鼠标左键点击事件,并使用 Physics.Raycast 进行点击检测。如果点击到了点击物体,则调用 RotateObject 方法进行旋转。RotateObject 方法中通过修改旋转物体的 rotation 属性实现旋转效果。

Unity 点击物体旋转另一个物体:详细教程和代码示例

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

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