首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自动计算相机的新位置后,我们增加我们的棋盘大小,但希望它仍然在镜头中

自动计算相机的新位置后,我们增加我们的棋盘大小,但希望它仍然在镜头中
EN

Stack Overflow用户
提问于 2020-04-27 09:44:02
回答 1查看 30关注 0票数 0

假设我的相机绕X轴旋转60度,俯视一个9x9的棋盘。当我们调整棋盘大小时,我想缩小相机。假设相机的位置是(4,20,-7),就像这样,整个棋盘都是可见的,占据了整个屏幕。

如果我调整我的电路板大小,比如说11x11块,我现在将需要缩小相机。比方说,我想保持相同的60度角,并且希望棋盘像以前一样充满屏幕。相机的新位置应该是什么,你是如何计算的?

X部分很简单,因为您只需将相机的X位置设置为棋盘的中间位置即可。不过,我不确定如何计算新的Y和Z位置。

任何建议都很感谢。谢谢。

编辑:如果我想改变相机的角度和缩小,可以计算吗?这并不重要,因为我可能会坚持相同的角度,但我有兴趣知道它背后的数学原理。

EN

回答 1

Stack Overflow用户

发布于 2020-04-27 09:52:06

Transform.Translate()方法将根据旋转移动变换。所以你不必担心你的相机所看的方向,只要

代码语言:javascript
运行
复制
yourCamera.transform.Translate(Vector3.forward * moveAmount);

将使您的相机前移,这意味着放大。如果要缩小,只需将值的符号更改为减号即可。

当我不知道这一点时,我使用Mathf.Sin()Mathf.Cos()来计算每个y和z世界坐标,这很糟糕。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61450464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档