我正在使用以下渲染循环,以便将一个立方体附加到" head"一行(BuffGeometry line
)。
当我将行geometry.SetDrawRange
设置为(0,drawRange)时,我得到了很好的反应。
line1.geometry.setDrawRange( 0, drawCount );
line2.geometry.setDrawRange( 0, drawCount );
//blahblah
var positioning = buffGeometry2.getAttribute('position');
if (drawCount%3 == 0){
cube.position.x = positioning.array[drawCount*3 + 0];//(line1.geometry.attributes.position.array[drawCount]);
cube.position.y = positioning.array[drawCount*3 + 1];//(line1.geometry.attributes.position.array[drawCount + 1]);
cube.position.z = positioning.array[drawCount*3 + 2];
}
但是当我想限制线的长度:geometry.SetDrawRange(drawRange-20, drawRange)
时,立方体的位置与线的头部位置不同步。为此,我已将setDrawRange
的2行替换为:
if (drawCount > 20){
line1.geometry.setDrawRange( drawCount-20, drawCount );
line2.geometry.setDrawRange( drawCount-20, drawCount );
}
else{
line1.geometry.setDrawRange( 0, drawCount );
line2.geometry.setDrawRange( 0, drawCount );
}
我离开了别的地方。现在,每当达到绘制限制(20个步骤)时,立方体就会停留在线条路径上,但是不能连接到线条上。步伐。
由于
答案 0 :(得分:1)
我刚刚发现了我的BUG。
由于我找不到关于setDrawRange的正确文档,我遇到了一个教程,向我解释了以下内容:
setDrawRange(<start>, <count>)
并不是
setrDrawRange(<start>, <finish>)
正如我想的那样......