我正在使用three.js,我设置了第二个场景和相机,并为其添加了一个圆柱体。现在我设置了一个rendertarget,我想在一个精灵上显示这个renderedScene(HUD-Sprite就这么说),但精灵没有显示出来。我在原始场景中添加了一个平面,它显示了rendertarget非常好。
我已经检查过:
1) 当使用rtTexture作为MeshLambertMaterial的地图时,它可以很好地工作
2) 使用 ImageUtils 为sprite加载图像并将其用作SpriteMaterial的地图时,它的效果非常好,并且样条曲线显示在它应该的位置!
我觉得我忽略了一些东西。 如果有人可以帮助我,那会很酷。
好的,伙计们,我创造了一个jsFiddle,也许这有帮助!
My Fiddle for RenderTarget Sprite Problem
正如你在那里看到的那样,rendertarget正确显示在平面上,并且有一个带有屏幕空间坐标的精灵,但它没有显示renderTarget。
rttMaterial = new THREE.SpriteMaterial( { color: 0xFF0000, map: rtTexture,
alignment: THREE.SpriteAlignment.topLeft,
useScreenCoordinates: true} );
先谢谢你
答案 0 :(得分:2)
你必须在WebGLRenderer
的背后做这件事,因为它不受支持。
sprite.material.map.__webglTexture = rtTexture.__webglTexture;
小提琴:http://jsfiddle.net/Pk85y/47/
three.js r.61