ArCore Augmented Images будет располагаться горизонтально на стене. (Android Studio)

Обратите внимание, что я изменил ваш «атрибут» на действительный атрибут данных

Для JS мы должны убедиться, что мы выбираем только tr внутри tbody, но не первый tr, как и кнопка добавления.

Затем выполните if() в onclick, чтобы проверить, установлено ли display на none

document.getElementById('addSchoolBtn').addEventListener('click', () => {
  document.querySelectorAll('#schoolTableBody tr:not(.school-row)').forEach(tr => {
    if (tr.style.display !== "none") alert(tr.dataset.schoolidx)
  })
})

2
задан 16.01.2019, 08:24

3 ответа

AnchorNode следует позе AugmentedImage, и поэтому вы не можете изменить localRotation или localPosition на этом узле. Из AnchorNode.setLocalRotation : «Установите локальное вращение этого узла , если он не привязан. »

Вы можете изменить локальное преобразование, введя промежуточный Узел:

                    val base = AnchorNode()
                    base.anchor = augmentedImage.createAnchor(augmentedImage.centerPose)

                    val node = Node()
                    node.setParent(base)
                    node.localPosition = Vector3(0f, 0f, augmentedImage.extentZ/2)
                    node.localRotation = Quaternion.axisAngle(Vector3(1.0f, 0f, 0f), -90f)
                    node.localScale = Vector3(augmentedImage.extentX, augmentedImage.extentZ, 0f)

                    node.renderable = renderable
0
ответ дан 08.04.2019, 17:53
  • 1
    Решенная проблема с добавленным кодом, выше: – J. Piatt 26.01.2019, 05:50

Вы должны иметь возможность изменять ориентацию визуализированного изображения / вида / объекта с помощью setLocalRotation.

Например, в моем проекте я использовал приведенный ниже код, который делает визуализированное изображение лицом прямо наружу от обнаруженного изображения.

Node cornerNode;
localPosition.set(-0.0f * image.getExtentX(), 0.1f, +0.5f * image.getExtentZ());
cornerNode = new Node();
cornerNode.setParent(this);
cornerNode.setLocalPosition(localPosition);
cornerNode.setLocalRotation(Quaternion.axisAngle(new Vector3(-1f, 0, 0), 90f));
cornerNode.setRenderable(testViewRenderable);
0
ответ дан 08.04.2019, 17:53
  • 1
    Как кто-то, кто использовал " текст pipes" экстенсивно для передачи с z3 я могу засвидетельствовать, что производительность этого не плоха вообще. Кроме того, it' s довольно эластичный к изменениям версии, как z3 люди делают хорошее задание из хранения его стандарты совместимый. – Levent Erkok 23.01.2019, 04:24

Я понял это, создав собственный куб (плоский куб) и добавив изображение в качестве текстуры.

fun renderImage(arFragment: ArFragment, anchor: Anchor) {
    Texture.builder().setSource(BitmapFactory.decodeResource(arFragment.resources, R.raw.sample_image))
            .build()
            .thenAccept {
                MaterialFactory.makeOpaqueWithTexture(arFragment.context, it)
                        .thenAccept { material ->
                            val modelRenderable = ShapeFactory.makeCube(
                                    Vector3(0.84f, 0.01f, 1.12f),
                                    Vector3(0.0f, 0.0f, 0.0f),
                                    material)
                            addNodeToScene(arFragment, anchor, modelRenderable)
                        }
            }
}

private fun addNodeToScene(fragment: ArFragment, anchor: Anchor, renderable: Renderable) {
    val node = Node()
    node.renderable = renderable
    val anchorNode = AnchorNode(anchor)
    anchorNode.addChild(node)

    fragment.arSceneView.scene.addChild(anchorNode)
    Toast.makeText(fragment.context, "Added", Toast.LENGTH_SHORT).show()
}
0
ответ дан 08.04.2019, 17:53
  • 1
    @KevinB да, извините, обновляется – Vladyslav Tereshyn 23.01.2019, 04:02
School Name Country
SK US
JS US
CAS CA
AM CA
BAS BR