unity 摄像头跟着鼠标移动_Unity3D里摄像机Camera跟随角色移动

Unity3D里摄像机Camera跟随角色移动,主要有2个简单的途经,通过对位置的计算进行移动

有两种方式

1.直接将两者之间的Vector3相减

此方法的前提条件是2D,角色在Z轴的0,此方法优点是简单,缺点是不能控制速度,且必须角色在2D的z轴0位置上.

void Start()

{

camera = GetComponent();

offset = transform.position - player.transform.position;

}

// Update is called once per frame

void Update()

{

camera.orthographicSize = (Screen.height / 100f) / 4f;

if (player)

{

transform.position = player.transform.position + offset;

}

}

2.用Vector3的Lerp,来计算移动距离

此方法的优点是可以控制移动的速度, 因为Lerp的第三个参数范围是0到1,如果是0在原地不动,如果是1就直接到目标位置, 中间的值就是移动到的一个范围,如果是0.5就只移动一半.这样在实际的运行的时候,摄像机的移动就有了一个由快到慢的逐渐减速的过程,但是此方法好像比较消耗计算,且理论上无限接近. 另外由于角色在z轴0处,摄像机不能移动z轴,所以最后z轴的数值要减去.摄像机的z轴初始值为-10,所以最后加上new Vector3(0, 0, -10)

void Start()

{

camera = GetComponent();

}

// Update is called once per frame

void Update()

{

camera.orthographicSize = (Screen.height / 100f) / 4f;

if (player)

{

transform.position = Vector3.Lerp(transform.position, player.transform.position, 0.1f) + new Vector3(0, 0, -10);

}

}

相关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值