给Three.js对象添加属性

Add Attribute to Three.js Object

本文关键字:添加 属性 对象 js Three      更新时间:2023-09-26

我想与我正在创建的形状保持一些信息。我使用HTML画布作为纹理,因此我知道可以将值保存在画布的元素属性数组中。我想知道,有没有一种更直接的方式来维护属性,不管它们是如何构造的,都适用于所有的Three.js形状?

Javascript的优点(或问题)是您可以用对象做几乎所有事情。您可以随时添加甚至删除属性。

因此,您可以通过简单地给它一个值来为THREE对象添加您想要的任何属性:

 myThreeObject.myProperty = myValue ;

要小心,如果你还没有给属性赋值,这个属性还不存在,因此,不要忘记在读取它之前检查这个值是否存在:

if( "undefined" !== typeof myThreeObject.myProperty )
    // ...

为了明确正确的答案,prisoner - er849在他对另一个回答的评论中提供了正确的答案:使用THREE.Mesh.userData属性