Я создаю небольшое приложение AR на Android, чтобы обнаруживать GIF-файлы из снимка и накладывать фактический GIF с помощью AugmentedImages
, но я не могу получить размер ViewRenderable
, который бы соответствовал обнаруженному изображению, поэтомуон отлично накладывается.
Я отслеживаю образец AugmentedImages Sceneform от Google, меняя его на Kotlin и использую мои собственные изображения, добавленные в AugmentedImageDatabase
.
.Ниже приведен самый близкий, который я смог получить, но он все еще не совпадает полностью.gifView
устанавливается с ViewRenderable.builder()
и использует простой XML-файл, показанный после блока кода.Я использую Glide в .thenAccept
построителя, чтобы загрузить правильный GIF из URL.
AugmentedImageNode
private var gifView: ViewRenderable? = null
...
fun setImageToNode(image: AugmentedImage) {
anchor = image.createAnchor(image.centerPose)
gifView?.sizer = FixedHeightViewSizer(image.extentZ)
val pose = Pose.makeTranslation(0.0f, 0.0f, 0.0f)
val localPosition = Vector3(pose.tx(), pose.ty(), pose.tz())
val centerNode = Node()
centerNode.setParent(this)
centerNode.localPosition = localPosition
centerNode.localRotation = Quaternion(pose.qx(), 90f, -90f, pose.qw())
centerNode.renderable = gifView
centerNode.localScale = Vector3(image.extentX * 15f, image.extentZ * 30f, 1.0f)
}
R.layout.image_item
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/easy_button" />
Сообщения об ошибках не отображаются, но отображаемое изображение не соответствует размеру обнаруженного изображения.Я хотел бы, чтобы это было динамичным, поскольку, очевидно, не все GIF имеют одинаковые размеры.
См. этот снимок экрана и обратите внимание, что обнаруженное изображение немного больше и выглядит так, как будто оно создает границу вокругболее четкое изображение?(Не относится к этому вопросу, но моя камера не выполняет автофокусировку, даже если я установил правильную настройку конфигурации)