每当我更改`geometry.setDrawRange`属性时,同步就会停止

时间:2015-12-11 11:32:01

标签: javascript three.js

我正在使用以下渲染循环,以便将一个立方体附加到" 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个步骤)时,立方体就会停留在线条路径上,但是不能连接到线条上。步伐。

由于

1 个答案:

答案 0 :(得分:1)

我刚刚发现了我的BUG。 由于我找不到关于setDrawRange的正确文档,我遇到了一个教程,向我解释了以下内容:
setDrawRange(<start>, <count>) 并不是 setrDrawRange(<start>, <finish>)正如我想的那样......