2012-02-09 2 views
1

three.js로 그래프를 만들고 THREE.Line과 노드를 연결하고 싶습니다. 노드 중 하나를 마우스로 이동 한 후 노드가 새 좌표 인 가장자리 (THREE.Line)를 다시 작성해야합니다. 어떻게 만들 수 있습니까?Three.js가 THREE.Line..etc를 다시 정의합니다.

내 코드보기를 업데이트하지 않습니다

function render(){ 

    newEdge.vertices.push(new THREE.Vertex(inNode.position)); 
    newEdge.vertices.push(new THREE.Vertex(outNode.position)); 

    var newLine = new THREE.Line(newEdge, new THREE.LineBasicMaterial({ 
     color: 0xff0000, 
     opacity: 0.9 
    })); 

    scene.objects[edgePos] = newLine; 

    renderer.render(scene, camera); 

} 

감사 어떤 제안에 대한 많은!

답변

2

이와 같이 지오메트리를 직접 변경하면 렌더 루프가 실행되지 않습니다. newEdge.__dirtyVertices = true;을 사용하여 꼭지점에 dirty 플래그를 지정해야합니다. newEdge.dynamic = true;도 필요할 수 있습니다. 섹션 9 here을보십시오.