1

我正在使用three.js,我设置了第二个场景和相机并添加了一个圆柱体。现在我设置了一个渲染目标,我想在一个精灵(HUD-Sprite 可以这么说)上显示这个渲染场景,但是精灵没有显示出来。我在原始场景中添加了一个平面,它完美地显示了渲染目标。

我已经检查过的内容:

1)当使用 rtTexture 作为 MeshLambertMaterial 的贴图时,它工作得非常好

2) 当使用ImageUtils为 sprite 加载图像并将其用作 SpriteMaterial 的贴图时,它工作得很好,并且样条线显示在它应该在的位置!

我有一种我忽略了一些东西的感觉。如果有人可以帮助我会很酷。

好的,伙计们,我创建了一个 jsFiddle,也许这会有所帮助!

我的 RenderTarget Sprite 问题的小提琴

如您所见,rendertarget 正确显示在平面上,并且其中有一个带有屏幕空间坐标的精灵,但它不显示 renderTarget。

rttMaterial = new THREE.SpriteMaterial( { color: 0xFF0000, map: rtTexture, 
                                         alignment: THREE.SpriteAlignment.topLeft,
                                         useScreenCoordinates: true}  );

先感谢您

4

1 回答 1

2

您必须在后台WebGLRenderer执行此操作,因为它不受支持。

sprite.material.map.__webglTexture = rtTexture.__webglTexture;

小提琴:http: //jsfiddle.net/Pk85y/47/

三.js r.61

于 2013-09-21T21:43:28.003 回答