title: how to group multiple 3d objects as one using AR core
body: <p>here i am displaying multiple 3d object in scene (check below pic ) 
  <a href="https://i.stack.imgur.com/pi51A.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/pi51A.jpg" alt="enter image description here"></a></p>
  
  <p>and here i am having 3 3d model objects and now is it possible to to group the the 3d model objects ex. if i move one 3d object then other 2 3d objects also needs to move .Is it possbile to achieve this with out using the unity &amp; cloud anchors </p>
  
  <p>below is my code </p>
  
  <pre><code>package com.google.ar.sceneform.samples.hellosceneform;
  
  import android.app.Activity;
  import android.app.ActivityManager;
  import android.content.Context;
  import android.os.Build;
  import android.os.Build.VERSION_CODES;
  import android.os.Bundle;
  import android.support.v7.app.AppCompatActivity;
  import android.util.Log;
  import android.view.Gravity;
  import android.view.MotionEvent;
  import android.widget.Toast;
  import com.google.ar.core.Anchor;
  
  import com.google.ar.core.HitResult;
  import com.google.ar.core.Plane;
  import com.google.ar.sceneform.AnchorNode;
  import com.google.ar.sceneform.rendering.ModelRenderable;
  import com.google.ar.sceneform.ux.ArFragment;
  import com.google.ar.sceneform.ux.TransformableNode;
  
  
  public class HelloSceneformActivity extends AppCompatActivity {
    private static final String TAG = HelloSceneformActivity.class.getSimpleName();
    private static final double MIN_OPENGL_VERSION = 3.0;
  
    private ArFragment arFragment;
    private ModelRenderable andyRenderable;
  
    @Override
    @SuppressWarnings({"AndroidApiChecker", "FutureReturnValueIgnored"})
  
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
  
      if (!checkIsSupportedDeviceOrFinish(this)) {
        return;
      }
  
      setContentView(R.layout.activity_ux);
      arFragment = (ArFragment) getSupportFragmentManager().findFragmentById(R.id.ux_fragment);
  
      // When you build a Renderable, Sceneform loads its resources in the background while returning
      // a CompletableFuture. Call thenAccept(), handle(), or check isDone() before calling get().
      ModelRenderable.builder()
          .setSource(this, R.raw.andy)
          .build()
          .thenAccept(renderable -&gt; andyRenderable = renderable)
          .exceptionally(
              throwable -&gt; {
                Toast toast =
                    Toast.makeText(this, "Unable to load andy renderable", Toast.LENGTH_LONG);
                toast.setGravity(Gravity.CENTER, 0, 0);
                toast.show();
                return null;
              });
  
      arFragment.setOnTapArPlaneListener(
          (HitResult hitResult, Plane plane, MotionEvent motionEvent) -&gt; {
            if (andyRenderable == null) {
              return;
            }
  
            // Create the Anchor.
            Anchor anchor = hitResult.createAnchor();
            AnchorNode anchorNode = new AnchorNode(anchor);
            anchorNode.setParent(arFragment.getArSceneView().getScene());
  
            // Create the transformable andy and add it to the anchor.
            TransformableNode andy = new TransformableNode(arFragment.getTransformationSystem());
            andy.setParent(anchorNode);
            andy.setRenderable(andyRenderable);
            andy.select();
          });
    }
  
  
    public static boolean checkIsSupportedDeviceOrFinish(final Activity activity) {
      if (Build.VERSION.SDK_INT &lt; VERSION_CODES.N) {
        Log.e(TAG, "Sceneform requires Android N or later");
        Toast.makeText(activity, "Sceneform requires Android N or later", Toast.LENGTH_LONG).show();
        activity.finish();
        return false;
      }
      String openGlVersionString =
          ((ActivityManager) activity.getSystemService(Context.ACTIVITY_SERVICE))
              .getDeviceConfigurationInfo()
              .getGlEsVersion();
      if (Double.parseDouble(openGlVersionString) &lt; MIN_OPENGL_VERSION) {
        Log.e(TAG, "Sceneform requires OpenGL ES 3.0 later");
        Toast.makeText(activity, "Sceneform requires OpenGL ES 3.0 or later", Toast.LENGTH_LONG)
            .show();
        activity.finish();
        return false;
      }
      return true;
    }
  }
  </code></pre>