sceneform-android-sdk
sceneform-android-sdk copied to clipboard
Unable to Update Line after dragging TransformableNode
Hi, I have successfully drawn line between two TransformableNode. But when i drag the Node i am unable to update the drawn line. Below is my code .
`
arFragment.setOnTapArPlaneListener(
(HitResult hitResult, Plane plane, MotionEvent motionEvent) -> {
if (andyRenderable == null) {
return;
}
Anchor anchor = hitResult.createAnchor();
AnchorNode lastAnchorNode = new AnchorNode(anchor);
lastAnchorNode.setParent(arFragment.getArSceneView().getScene());
TransformableNode transformableNode = new TransformableNode(arFragment.getTransformationSystem());
transformableNode.setParent(lastAnchorNode);
transformableNode.setRenderable(andyRenderable);
transformableNode.select();
transformableNode.addTransformChangedListener(new Node.TransformChangedListener() {
@Override
public void onTransformChanged(Node node, Node node1) {
}
});
addLineBetweenHits(transformableNode);
});`
Below is my code to draw the lines.
` private void addLineBetweenHits(TransformableNode transformableNode) {
if (this.transformableNode != null) {
Vector3 point1, point2;
point1 = this.transformableNode.getWorldPosition();
point2 = transformableNode.getWorldPosition();
final Vector3 difference = Vector3.subtract(point1, point2);
final Vector3 directionFromTopToBottom = difference.normalized();
final Quaternion rotationFromAToB = Quaternion.lookRotation(directionFromTopToBottom, Vector3.up());
MaterialFactory.makeOpaqueWithColor(getApplicationContext(), new Color(0, 255, 244))
.thenAccept(
material -> {
ModelRenderable model = ShapeFactory.makeCube(
new Vector3(.01f, .01f, difference.length()),
Vector3.zero(), material);
Node node = new Node();
node.setParent(this.transformableNode);
node.setRenderable(model);
node.setWorldPosition(Vector3.add(point1, point2).scaled(.5f));
node.setWorldRotation(rotationFromAToB);
}
);
this.transformableNode = transformableNode;
} else {
this.transformableNode = transformableNode;
}
}`
@sanidhya09 any action on this?