es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo construir con Flutter y ARKit un objeto personalizado?

Uso el plugin arkitplugin con la versión 1.0.5 https://pub.dev/packages/arkitplugin

Mi versión de Flutter es 2.5.3

El plugin tiene un ejemplo en su documentación para objetos personalizados. Por lo tanto, copié y pegué el ejemplo para probarlo. En mi caso, el objeto no se muestra en absoluto. Es un archivo .dae y también lo intenté con un archivo .obj pero tampoco funcionó.

“`dart
class ArkitSceneView extends StatefulWidget {
const ArkitSceneView({Key? key}) : super(key: key);

@override
State<arkitsceneview> createState() => _ArkitSceneViewState();
}

class _ArkitSceneViewState extends State<arkitsceneview> {
late ARKitController arkitController;
ARKitReferenceNode? node;

@override
void dispose() {
arkitController.dispose();
super.dispose();
}

@override
Widget build(BuildContext context) {
return ARKitSceneView(
onARKitViewCreated: onARKitViewCreated,
);
}

void onARKitViewCreated(ARKitController arkitController) {
this.arkitController = arkitController;
arkitController.addCoachingOverlay(CoachingOverlayGoal.horizontalPlane);
arkitController.onAddNodeForAnchor = _handleAddAnchor;
}

void _handleAddAnchor(ARKitAnchor anchor) {
if (anchor is ARKitPlaneAnchor) {
_addPlane(arkitController, anchor);
}
}

void _addPlane(ARKitController controller, ARKitPlaneAnchor anchor) {
if (node != null) {
controller.remove(node!.name);
}
node = ARKitReferenceNode(
url: 'models.scnassets/dash.dae',
scale: vector.Vector3.all(0.3),
);
controller.add(node!, parentNodeName: anchor.nodeName);
}
}
“`

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Posibles razones por las que el objeto personalizado no se muestra:

    • La ruta del archivo .dae o .obj es incorrecta o falta el archivo. Asegúrese de que el archivo esté ubicado en el directorio correcto y de que el nombre del archivo y la extensión estén escritos correctamente en el código.
    • El archivo del modelo puede tener problemas. Intente abrir el archivo en un software de modelado 3D y verifique si hay errores o falta de texturas/materiales. También asegúrese de que el formato del archivo sea compatible con ARKitPlugin.
    • ARKit puede tener dificultades para reconocer el espacio físico del dispositivo. Asegúrese de tener suficiente iluminación y superficies despejadas para que ARKit pueda crear anclas.
    • Puede haber errores en la versión de ARKitPlugin que estás utilizando. Considera revisar el repositorio de GitHub o reportar el problema a los desarrolladores del plugin.

Comments are closed.