[英]How do i make it into a smooth camera? (unity C# programming)
这就是我所得到的,为什么当我在上面进行了很好的说明时,该网站希望我提供更多的解释,我希望实现平滑的摄像机控制,如果鼠标位于中间但随着移动,则播放器位于摄像机的中间向一个方向,我希望摄像机稍微移动一下以显示地形(这里有两个问题:1.如果鼠标位于屏幕的0,0点并且我希望它成为中心,则摄像机不会移动相机2.相机朝那个方向漂移,它不会像我想要的那样停下来):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraController : MonoBehaviour {
// Camera cam = Camera.main.orthographicSize;
//Vector2 camcenter = new Vector2(cam * 2, camheight);
public GameObject mage;
private Vector3 offset;
public float mincam = 30f;
public float maxcam = 120f;
public bool mouse_smooth_cam = false;
// Update is called once per frame
void LateUpdate ()
{
offset = Input.mousePosition / 100 + transform.position - mage.transform.position;
transform.position = mage.transform.position + offset;
}
void Update()
{
HandleZoom();
}
private void HandleZoom()
{
float scrollValue = Input.mouseScrollDelta.y;
float newCamSize = Camera.main.orthographicSize - scrollValue*4;
Camera.main.orthographicSize = Mathf.Clamp(newCamSize, mincam, maxcam);
}
}
代替Input.mousePosition / 100
使用Camera.main.ScreenToWorldPoint(Input.mousePosition)
也总是在Update方法中使用Time.deltaTime
var PAN_SPEED = 30f;
var mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
offset = mousePos + transform.position - mage.transform.position;
transform.position = mage.transform.position + offset * Time.deltaTime * PAN_SPEED;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.