【问题标题】:Unity : Keep gameobject in camera view no matter it's sizeUnity:无论大小,都将游戏对象保持在相机视图中
【发布时间】:2017-08-03 02:35:33
【问题描述】:

我正在开发一个小游戏,我在其中生成不同大小的房间,并希望这个随机生成的房间在屏幕上始终可见,而无需关心它的大小。相机处于顶视角(旋转 = 90,0,0)。

我尝试在它的大小和相机的 Y 轴位置之间建立关系,以使其始终可见,但没有成功。解决方案是将对象保留在屏幕的左下角,但如果对象太大,则相机只能看到其中的一部分。我真的不知道了^^

感谢您的帮助!

【问题讨论】:

  • 听起来您在更改 y 轴位置时走在了正确的轨道上——这当然是实现此目的的一种方法。另一种方法是更改​​ Camera.orthographicSize 相对于房间大小。把这段关系搞得一团糟,其中任何一个都应该有效。
  • 谢谢,我再试一次。

标签: c# unity3d


【解决方案1】:

我猜你正在使用正交相机。对于正交相机,大小是从相机中心到屏幕顶部/底部的单位数。然后宽度基于纵横比。所以,如果你知道物体有多大,那应该很容易!

您可以通过Camera.main.orthographicSize获取或设置主摄像头尺寸

然后使用Camera.main.aspect获取/设置纵横比(宽/高)

然后你可以用Camera.main.ResetAspect();重置它

【讨论】:

  • 谢谢你们两个!不知道正交相机,找了很久的解决方案,再次感谢:D
猜你喜欢
  • 1970-01-01
  • 2021-12-03
  • 1970-01-01
  • 1970-01-01
  • 2020-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多