如何设置相机与缩放对象的距离?

水质

我的相机必须聚焦在GameObject可以随时间缩放的图像上。如何计算相机位置,使其始终与此保持相同距离GameObject我已经尝试做类似的事情

camera.position.y += object.scaleFactor / 2;
camera.position.z -= object.scaleFactor / 2;

但是对象变得越大,其作用就越小。我正在考虑使用边界框,您认为它可以工作吗?

非常感谢 !

Jinjinov

用这个:

// compute this when scale is 1.0f
Vector3 originalPosition = camera.position;
Vector3 originalDistance = camera.position - gameObject.position;

// then use:
camera.position = originalPosition + originalDistance * gameObject.scaleFactor;

如果这不起作用,请更详细地描述您的情况,我将编辑答案

例如:如果您希望相机与物体保持一定距离,则必须使用BoundingSphere.radius

// compute this when scale is 1.0f
Vector3 originalPosition = camera.position;
Vector3 temp = camera.position - gameObject.position;
Vector3 originalDirection = temp.normalized;
float originalDistance = temp.magnitude - boundingSphere.radius;

// use this when object is scaled:
camera.position = originalPosition + originalDirection * (boundingSphere.radius + originalDistance);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章