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