【发布时间】:2016-04-29 07:17:05
【问题描述】:
我正在尝试让我的视角“相机 A”渲染的所有内容都高出 100 点。这是因为我的 App 上面有一个开放空间的界面。
我的应用使用人脸检测将人脸运动模拟成游戏中的头像。为此,我计算“模型视图矩阵”以将其设置为相机的“worldToCameraMatrix”。
到目前为止效果很好,但是一切都以中心为原点进行渲染,现在我想将此中心原点“向上”移动一定距离,以使其与我的界面相匹配。
有没有办法告诉 Unity 偏移渲染的相机结果?
我想到的另一种方法是渲染成纹理,然后我可以移动纹理本身,但我认为必须有更简单的方法。
顺便说一句,我的主相机是正交的,我用这个来渲染相机纹理。在这种情况下,只需向上移动渲染游戏对象即可。
我找到了一个名为“pixelRect”的属性,描述说:
以像素坐标渲染的相机在屏幕上的哪个位置。
然而,向上移动中心似乎缩小了我的对象。
【问题讨论】:
-
不确定我得到你想要得到的东西,但尝试更改相机组件的 Viewport rect 中的值。也许这就是你想要的。
-
视口似乎改变了渲染的比例。我想要的只是让东西在屏幕上看起来更高(而不是在 3d 世界上)
-
是的,camera rect 并不完美,因为它不会超出实际屏幕区域。您只需通过调整相机的
orthographicSize值来补偿缩放。或者在你的worldToCameraMatrix计算中构建偏移调整,就像你说的使用纹理 -
事实上,调整 orthographicSize 对您想要的方式没有帮助。我有一种感觉,你要得到你想要的唯一方法是在 LateUpdate 中调整相机的 localPosition.y
标签: unity3d unity5 perspectivecamera