Modelviewer: Problemas comunes
Problemas en usar el mismo GLB para android y iOS
Suelen presentarse problemas en las animaciones cuando se usa el mismo modelo GLB para las versiones en android y iOS. El problema surge cuando Model viewer hace la conversión automática del GLB a USDZ para su uso en iOS.
Para solucionarlo hay que exportar dos versiones del modelo, una en GLB para Android y un USDZ para iOS, esto usando un conversor especializado “Reality Converter” para guardar animaciones que solo esta disponible para Mac. Link de descarga:
https://developer.apple.com/augmented-reality/tools/

y de ahi los programadores solo deben agregar la linea de ios-src="" y poner la ruta del usdz
https://modelviewer.dev/examples/augmentedreality/#ar
Problemas de color en Model Viewer


Esto se debe a que estan asignados los color vertex desde blender, para cambiar esto al seleccionar el modelo - Object Data Properties -Vertex Colors le damos click en "-"

Problemas de transparencia en model viewer


Nota: Es importante que se pruebe con varios dispositivos y con apoyo de programación ya que paso en este modelo que desde el principio en uno se veía bien, pero en otros dispositivos no.
Para corregir esto en el export de blender para glb darle click al pbr specular

Problemas de escala en un modelo rigueado y animado
Nota: este problema puede presentarse en la versión para iOS aunque en la versión en Android funcione bien
Si aun así las animaciones siguen sin funcionar hay que revisar y limpiar el modelo animado.
- En esta ocasión el modelo reducía su escala en la versión iOS, revisando el rig se encontró que aunque el rig y los grupos/pivotes estaban en 1 , al entrar en modo edición del modelo, este regresaba a una escala mas pequeña.




En este modelo el delfín y los peces animados se movían de lugar y no reproducían las animaciones o simplemente desaparecían.

Errores en la posición del delfín y los peces desaparecen

Limpieza del Rig : conectar y desconectar la malla del rig
- Hay que asegurarse que el modelo este en el origen (0,0,0) ,si se trabaja en blender y exportar el FBX.
- En Maya , importar el fbx , asegurarse que las escalas estén en 0 y en el origen
- Ir a la Bind pose
- Hacer una copia de la malla y dejar sus transformaciones en 0 y borrarle la historia
- Conectar la nueva malla a los joint y copiar los pesos de la malla original a la copia
- Borrar la malla original y Edit > delete all by type > non deformer history
- Exportar e Importar el fbx a otra escena vacía en maya y repetir el proceso.
El glb muestra un tamaño que no corresponde al modelo y texturas
En pfs changs se tenia un escena en blender, con un Rig de Dragon, un portal y dos linternas. Cuando se explotaron los props por separado el tamaño del glb de la lampara era muy superior a lo que debería, ya que ya se habían optimizado las texturas y la geometría.
Soluciones:
- Asegurate de tener activada la opción Include - Selected objects al momento de exportar.
- Da clic en file - clean up -unsused data blocks para eliminar los archivos que no se usan.
- Conecta y desconecta los materiales y texturas.
- Exporta el glb a otra escena y revisa si no hay objetos extra que se exportaron y eliminalos. Vuelve a exportar el glb.
- Cambia a otra versión de blender.
El modelo parece estirarse en un frame en la animación
Este modelo tenia una animación de entrada dodne la escala de los joints se animo de 0 a 1, animando el cambio en frames consecutivos.
Soluciones:
- Evitar animar en 0 la escala , usar 0.1
- Da espacio a la interpolación, en lugar de animar en el frame 1 la escala en .1 y en el frame 2 la escala en deja 5 frames de espacio, asi el frame 6 tendrá la escala en 1.