взаимодействовать с 3D-моделью внутри SceneView без ArCore - PullRequest
1 голос
/ 05 июля 2019

Я бы хотел загрузить 3D-объект в Sceneview без Camera и ArCore.Поэтому я создал простой XML-макет примерно так:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.google.ar.sceneform.SceneView
        android:id="@+id/scene"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

и загрузил 3D-объект примерно так:

   private fun renderObject() {
    ModelRenderable.builder()
        .setSource(this, R.raw.andy)
        .build()
        .thenAccept {
            it?.let {
                node = Node().apply {
                    setParent(scene)
                    localPosition = Vector3(0f, 0f, -1f)
                    localScale = Vector3(3f, 3f, 3f)
                    name = "Andy"
                    renderable = it
                }

                scene.addChild(node)
            }
        }
        .exceptionally {
            val builder = AlertDialog.Builder(this)
            builder.setMessage(it.message)
                .setTitle("error!")
            val dialog = builder.create()
            dialog.show()
            return@exceptionally null
        }
}

, и я получил свой 3D-объект, как и ожидалось: enter image description here

Теперь проблема в том, как взаимодействовать с этим 3D-объектом, вращать, масштабировать и выбирать элемент?Я вижу, что при использовании ArCore существует TransformableNodes , но как я могу использовать его без ArCore?

...