2
두 개의 움직이는 꼭지점 사이에 선을 그리려합니다. 버텍스의 그림은 이라는 변수에 저장되며, 인 position
이 있습니다.움직이는 물체 사이에 선 그리기
선은 thusly 히 생성됩니다
var Line = function(scene, source, target){
var geometry = new THREE.Geometry();
geometry.dynamic = true;
geometry.vertices.push(source.object.position);
geometry.vertices.push(target.object.position);
geometry.verticesNeedUpdate = true;
var material = new THREE.LineBasicMaterial({ color: 0x000000 });
var line = new THREE.Line(geometry, material);
scene.add(line);
return line;
};
이
이 ..., 소스 및 대상은 정점과 정점 통해 업데이트받을 곳 : 이제
vertex.object.position.add(vertex.velocity);
, 나는에 source.object.position
및 target.object.position
할당 line.geometry.vertices[0]
과 line.geometry.vertices[1]
을 업데이트하려면 다른 버전을 업데이트해야합니다. 그러나 대신 정점 위치가 선 위치와 크게 다릅니다. 꼭짓점은있는 위치이지만 선은 꼭지점에 연결되지 않습니다.
선을 정점과 함께 움직이게하려면 어떻게해야합니까?
불행히도, 그 트릭을하지 않았다. 나는 line.verticesNeedUpdate = true를 가지고있다; 그러나 선은 아직도 도처에있다. 또한 이전 참조를 남길 수있는 위치 벡터에 아무 것도 할당하지 않았습니다. –
'.verticesNeedUpdate'는'THREE.Line()'객체가 아닌'THREE.Geometry()'의 속성입니다. jsfiddle 예제를 보셨습니까? – prisoner849
죄송합니다, 예. 그것이 내가 의미했던 바입니다. line.geometry.verticesNeedUpdate. 나는 당신의 jsfiddle 예제를 연구하고있다. 그것은 매력처럼 작동합니다. 제가 코드에서 다시 만들 수 있는지 봅니다. –