2013-12-15 60 views
10

从three.js r62Dev更新为r64或r64Dev后,我收到以下错误。THREE.SpriteAlignment显示为undefined

var radarMaterial = new THREE.SpriteMaterial({ map: radarTexture2, useScreenCoordinates: true, alignment: THREE.SpriteAlignment.topLeft }); 

未捕获TypeError:无法读取未定义的属性'topLeft'。

有没有人经历过这个?

回答

12

SpriteMaterial.alignmentSpriteMaterial.useScreenCoordinates已从Threejs中删除。查看发行记录:https://github.com/mrdoob/three.js/releases

精灵像现在任何其他物体一样在场景中呈现。

如果您想创建平视显示器(HUD),解决方法是叠加第二个精灵的场景,用正交相机渲染。

请参阅http://threejs.org/examples/webgl_sprites.html了解如何做到这一点的示例。

three.js r.64

+0

感谢您的更新。这种改变不会效率不高,因为它现在需要额外的渲染通道来实现相同的目标? – Kahless

+0

新方法更清洁。 – WestLangley

+0

仍然在更新Three.js不应该破坏现有的代码,如果该属性已被弃用不会仍然有效(即使它不是首选的方法)?它似乎完全从库中删除,这不符合我的理解为“已弃用”的含义 – ekcrisp