Unity根据鼠标轨迹生成球体
时间: 2024-05-14 10:16:13 浏览: 12
可以使用Unity的Input类获取鼠标轨迹,并在每个鼠标位置上生成一个球体。
以下是一个简单的实现示例:
1. 创建一个空的游戏对象,命名为"BallGenerator",将以下脚本附加到该对象上:
```c#
using UnityEngine;
public class BallGenerator : MonoBehaviour
{
public GameObject ballPrefab; // 球体预制体
public float ballSize = 0.2f; // 球体大小
public float spacing = 0.05f; // 球体之间的间距
private Vector3 lastMousePos; // 上一个鼠标位置
private void Update()
{
// 获取当前鼠标位置
Vector3 mousePos = Input.mousePosition;
// 计算鼠标移动距离
float dist = Vector3.Distance(lastMousePos, mousePos);
// 如果鼠标移动距离超过一定阈值,生成一个球体
if (dist > spacing)
{
// 计算球体生成位置
Vector3 pos = Camera.main.ScreenToWorldPoint(mousePos);
pos.z = 0;
// 生成球体
GameObject ball = Instantiate(ballPrefab, pos, Quaternion.identity);
ball.transform.localScale = Vector3.one * ballSize;
// 记录当前鼠标位置
lastMousePos = mousePos;
}
}
}
```
2. 创建一个球体预制体,将其命名为"Ball",调整其大小和材质等属性。
现在,当你在Unity的场景视图中移动鼠标时,将会在每个鼠标位置上生成一个球体。