【问题标题】:Offsetting the rendered result of a camera in Unity在 Unity 中偏移相机的渲染结果
【发布时间】: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


【解决方案1】:

您可以设置视口 rect/orthosize 以使其偏移,或者您可以渲染到渲染纹理并将其渲染为具有偏移或比例差异的叠加层。

干杯

【讨论】:

    猜你喜欢
    • 2021-01-12
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 2023-03-19
    • 1970-01-01
    • 2014-10-03
    相关资源
    最近更新 更多