- Obtener herramienta para generar base de datos de arcore en: https://developers.google.com/ar/develop/java/augmented-images/arcoreimg
- Siguiendo los comandos, evaluar la imagen (**Nota: ** Considerar la extención
.png
,.jpg
o.jpeg
):$ arcoreimg.exe eval-img --input_image_path=dog.png
- Si obtiene una evaluzación acebtable, guardar en la carpeta con todas las imágenes seleccionadas, y ejecutar el comando:
$ arcoreimg.exe build-db --input_images_directory=/path/to/images --output_db_path=./ar.imgdb
El archivo ar.imgdb
es la base de datos que el framework de ARCore va a leer.
- Dentro del directorio del proyecto de Android, agregar la nueva base de datos
ar.imgdb
en la ruta/app/src/main/assets
.
La nueva imagen debe ser agregada en los recursos de la aplicación para que pueda aparecer en la galería.
- Agregar la imagen en la ruta de recursos
/app/main/res/drawable
- Agregar la imagen a la vista de la galería en el archivo
/app/main/java/com.villap.jesussai/galeria/GaleriaActivity.kt
- A partir de la línea 20 se hace la referencia a los recursos, agregándolos al
arrayListImage
. Agregar la nueva imagen de la forma siguiente sin extension
arrayListImage.add(R.drawable.nombre_de_imagen)
- Agregar al
arrayOf
, en la línea siguiete, considerando el nombre con extensión. Los nombres van entre comillas y separados por comas
val name = arrayOf("pez.jpeg", "paloma.jpg", "catrinas.jpg", "nombre_de_imagen.jpg")
- A partir de la línea 20 se hace la referencia a los recursos, agregándolos al
El video al que será repreoducido con la imagen detectada
- Agregar el video en la carpeta
/app/main/res/raw
- Hacer la referencia al video en el archivo
/app/main/java/com.villap.jesussai/ar/ArResources.kt
- A partir de la línea 30 se agregan los diferentes recursos, agregar el nuevo video de la misma forma que los anteriores. Dentro de
when (selection) {
. El nombre debe incluir extensión
"nombre_de_imagen.jpg" -> { videoPlayer = MediaPlayer.create(context, R.raw.nombre_de_imagen) }
- A partir de la línea 30 se agregan los diferentes recursos, agregar el nuevo video de la misma forma que los anteriores. Dentro de
- Agregar en el archivo
/app/main/java/com.villap.jesussai/app/CustomArFragment.kt
el nuevo condicional en la línea 72 (when (image.name) {
). De la misma forma que el resto de las imágenes. El nombre debe incluir extensión. Por ejemplo:
"nombre_de_imagen.jpeg" -> {
val node = CustomAnchorNode(1.3F, 2F).init(image)
trackableMap[image.name] = node
arSceneView.scene.addChild(node)
}
- El argumento
1.3F
se deduce a partir de experimentar con diferentes anchos, pues el tamaño de la imagen en relación al video puede cambiar