Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在三个js中修改实例化缓冲区属性的数组_Javascript_Kotlin_Three.js - Fatal编程技术网

Javascript 在三个js中修改实例化缓冲区属性的数组

Javascript 在三个js中修改实例化缓冲区属性的数组,javascript,kotlin,three.js,Javascript,Kotlin,Three.js,我在修改three.js中InstancedBufferAttribute数组的内容时遇到问题-我可以将其设置得很好,网格会按预期渲染,但是运行以下代码来修改属性的内容 heights.set(x + y * params.patchWidth, height.toFloat()) heightAttribute.needsUpdate = true 什么都不做(请注意,这是kotlin编译为JS,用于解释toFloat()和其他特性)。在调试过程中,我可以看到

我在修改three.js中InstancedBufferAttribute数组的内容时遇到问题-我可以将其设置得很好,网格会按预期渲染,但是运行以下代码来修改属性的内容

        heights.set(x + y * params.patchWidth, height.toFloat())
        heightAttribute.needsUpdate = true

什么都不做(请注意,这是kotlin编译为JS,用于解释toFloat()和其他特性)。在调试过程中,我可以看到在设置needsUpdate之后,它会立即变得未定义,并且版本会增加。我还尝试将分配给属性的数组更改为包含修改值的新数组,但没有成功。最后,将属性设置为dynamic也没有帮助。

“设置needsUpdate后,它会立即变得未定义,并且版本会增加。”-这正是它应该如何工作的:从您的代码中,我们看不到
高度
高度属性
之间的联系。你能试着直接使用
heightsAttribute.array
吗?@Martin是的,我想这就是needsUpdate的工作原理。我将尝试直接修改heightsAttribute.array(heights是传递给属性构造函数的初始Float32Array),只是为了确认直接修改heightsAttribute.array不起作用work@Andy您能提供一个实时代码示例吗?或者更多的代码,其他人可以理解您尝试做什么和如何做。