Как настроить ViewRenderable в соответствии с размером AugmentedImage? - PullRequest
0 голосов
/ 20 сентября 2019

Я создаю небольшое приложение 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 имеют одинаковые размеры.

См. этот снимок экрана и обратите внимание, что обнаруженное изображение немного больше и выглядит так, как будто оно создает границу вокругболее четкое изображение?(Не относится к этому вопросу, но моя камера не выполняет автофокусировку, даже если я установил правильную настройку конфигурации)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...