【发布时间】:2021-06-14 08:29:58
【问题描述】:
我的问题是如何渲染面部投影。
我尝试使用 Reflector,但它的大小和位置很棘手,因此它只捕捉我想要的面部,并显示侧面。
我还看到我可以使用单独的画布进行渲染(我想象使用正交相机),但我希望所有内容都在同一个画布中。我看到一个例子有多个视图,但似乎不能放在后面。
那么,有没有办法做到这一点?
【问题讨论】:
标签: three.js
我的问题是如何渲染面部投影。
我尝试使用 Reflector,但它的大小和位置很棘手,因此它只捕捉我想要的面部,并显示侧面。
我还看到我可以使用单独的画布进行渲染(我想象使用正交相机),但我希望所有内容都在同一个画布中。我看到一个例子有多个视图,但似乎不能放在后面。
那么,有没有办法做到这一点?
【问题讨论】:
标签: three.js
解决问题的一种可能方法:
设置正交相机,使其平截头体包围立方体。然后,您可以将相机定位在立方体的每一侧前面,使用lookAt( cube.position ) 正确定位它,然后将场景渲染到渲染目标中。每侧需要一个渲染目标。然后,您可以将其用作相应平面网格的纹理。
有一个官方的实时示例演示了如何使用three.js 完成 RTT(渲染到纹理)。尝试将其用作您自己应用的代码模板。
【讨论】:
left、right、top 和 bottom 属性可以从立方体的大小得出。
visible设置为false。无法渲染到渲染目标并将其用作同一渲染调用中的纹理。当Reflector 渲染场景时,它也使自己不可见(参见github.com/mrdoob/three.js/blob/…)。