unity摄像机wasd移动代码
时间: 2024-10-09 10:15:29 浏览: 53
在Unity中使用WASD键控制相机移动,通常会涉及到Input系统和Transform组件。这里是一个简单的脚本示例:
```csharp
using UnityEngine;
public class CameraController : MonoBehaviour
{
public float speed = 5f; // 移动速度
private CharacterController cc; // 如果你在3D空间使用Character Controller
void Start()
{
if ( GetComponent<CharacterController>() != null )
cc = GetComponent<CharacterController>();
}
void Update()
{
// W/A/S/D控制相机移动
float horizontal = Input.GetAxis("Horizontal"); // 左右移动
float vertical = Input.GetAxis("Vertical"); // 上下移动
// 移动相机
Vector3 movement = new Vector3(horizontal, 0, vertical);
movement *= speed * Time.deltaTime;
if (cc) // 使用CharacterController
{
cc.SimpleMove(movement); // 避免穿透
}
else
{
transform.position += movement; // 直接移动
}
}
}
```
这个脚本假设你已经将"Camera Controller"组件附加到游戏对象上,并且该对象有一个Character Controller组件用于在3D环境中行走。如果没有Character Controller,它将直接修改相机的位置。
阅读全文