unity添加相机角度代码
时间: 2024-09-21 21:09:36 浏览: 46
在Unity中添加自定义相机角度的代码通常涉及到创建一个`GameObject`并附加一个`Camera`组件。以下是一个简单的示例,展示如何创建一个新的跟随相机(Follow Camera):
```csharp
using UnityEngine;
public class CustomCameraController : MonoBehaviour
{
public Transform target; // 需要跟随的目标
private void Start()
{
// 创建一个相机
Camera newCamera = gameObject.AddComponent<Camera>();
// 设置相机的基本属性,如清晰度、近裁剪面和远裁剪面等
newCamera.clearFlags = CameraClearFlags.Nothing;
newCamera.nearClipPlane = 0.1f;
newCamera.farClipPlane = 100f;
// 获取当前相机位置和朝向,然后计算新的视角方向
Vector3 cameraPosition = transform.position;
Vector3 cameraForward = transform.forward;
newCamera.transform.position = cameraPosition + cameraForward * (target.position - cameraPosition).magnitude;
// 使用Lerp平滑地跟踪目标
StartCoroutine(SmoothTrack(target));
}
IEnumerator SmoothTrack(Transform target)
{
while (true)
{
float smoothness = 0.1f; // 平滑度,可以根据需要调整
newCamera.transform.position = Vector3.Lerp(transform.position, target.position, smoothness);
yield return new WaitForSeconds(smoothness);
}
}
}
```
在这个例子中,我们首先创建了一个新的`Camera`组件,并设置了初始的位置和视图设置。然后,我们计算了相机应该看向的目标位置,并通过`SmoothTrack` coroutine实现平滑的跟随效果。
阅读全文