Unity中的输入有Input Manager和Input System两种方式。
本文以最基础的Input Manager为例说明如何实现屏幕触摸功能。
实现屏幕触摸有两种方法:一是通过坐标计算,二是通过射线检测。
方法一:屏幕坐标计算
通过 屏幕坐标 直接计算 Cube
在平面上的位置,并将屏幕点击位置转换为平面上的世界坐标。假设平面位于固定的 y
轴(例如 y = 0
),可以将屏幕点击位置转换为世界空间坐标,并手动设置 Cube
的位置,使其保持在平面上。
代码实现:
这里使用 Camera.main.ScreenToWorldPoint()
将屏幕坐标转换为世界坐标,同时保持 Cube
在 y=0
的平面上。
using UnityEngine;
public class CubeMoveOnPlaneWithoutRaycast : MonoBehaviour
{
public GameObject cube; // Cube的引用
public float planeY = 0f; // 平面的Y值,假设平面在y=0
void Update()