背景
我在做一个基于three.js的项目,其中有些模型的分组的命名中包含了小数点‘.’,因为希望这个分组的命名可以携带该分组的数据信息,但是之前没想到这个数据信息会是小数,只当它是整数来做的。当建模师按照要求把小数放进了分组的命名的时候,问题就出现了,在three.js的编辑器里可以看到分组名称中的小数点被自动去除了。
解决
我们先排查了是否是三维建模软件导出的时候,小数点被自动去除了。当在除three.js编辑器以外的三维软件中打开该模型时,可以看到小数点仍然存在。所以可以断定是模型被three.js打开时名称中的小数点就没了。
在网上也没查到three.js为什么要这样做,大模型给出的解释是three.js可能是防止’.'符号被误认为是JavaScript中的属性符号。
最后,我们修改了程序,符号‘.’存在时就用其他不会让three.js产生误判的特殊符号替代。
总结
写代码的时候一定要多想一点可能性啊。