I am currently working on implementing ArrowHelpers to visualize and represent forces acting on an object. In my setup, the length of the vector indicates the strength of the force being applied. However, I have encountered an issue where changing the length of the arrowhelper does not actually result in any visible changes. Despite my efforts to update the length, all ArrowHelpers in the scene continue to maintain the length set during their creation. Interestingly, the direction of the vector is updated correctly. I am puzzled by this behavior and unsure of what I might be overlooking. Below is the snippet of my code:
// construction:
ARROW_GRAVITY = new THREE.ArrowHelper( dir, origin, length, 0xDD3377 );
SCENE.add( ARROW_GRAVITY );
// updating scene:
ARROW_GRAVITY.position.copy(BULLET.position);
var dirGrav = new THREE.Vector3( 0, -1, 0 );
dirGrav.normalize(); // deemed unnecessary in this particular case
ARROW_GRAVITY.setDirection(dirGrav);
var gravForce = PROJ_MASS * 9.8;
ARROW_GRAVITY.length = gravForce;
ARROW_GRAVITY.updateMatrix();
console.log(ARROW_GRAVITY.length); // operates as intended (displays gravForce)