RA Vuforia avec cibles multiples

Toutes les questions sur le développement Mobile, y compris la partie script.
korwinnn
Messages : 35
Inscription : 10 Juin 2015 10:53

RA Vuforia avec cibles multiples

Message par korwinnn » 11 Juin 2017 14:19

Bonjour,
Je suis actuellement sur un projet qui nécessite plusieurs cibles et je coince un peu d'où ma sollicitation d'aide sur ce forum.
Le contexte:

- J'ai une animation d'un objet 3D exporté en FBX
- l'objet/animation est bien reconnu et la RA se déclenche dans le module "Game" de Unity mais mon projet nécessite que la RA se déclenche à partir de 5 visuels différents alors que pour le moment la RA se déclenche sur 1 voir 2 visuels mais pas les 5.
- J'ai créé les 5 visuels différents que j'ai mis dans le même projet target vuforia.
- je précise que mon projet de nécessite pas de pouvoir gérer simultanément 5 cibles mais juste de se déclencher avec 5 cibles (une à la fois).
Et toutes les informations que je trouvent sur le net concernent comment paramétrer pour 5 cibles en même temps.
- Je précise aussi que dans mon projet unity j'ai créé 5 "image target" les unes à coté des autres et que à chaque fois la première ou les deux premières activent la RA mais pas les autres et si je change l'ordre dans la hiérarchie se seront systématiquement les 1-2 première (donc sur le principe ce n'est pas un problème de cibles non détectées.)
Je viens de la modélisation 3D et j'ai un peu de mal avec les scripts donc , n’hésitez pas a faire du pas à pas dans les explications.
J'espère que vous avez assez d'informations pour m'aider.

Merci beaucoup à vous tous.

korwinnn
Messages : 35
Inscription : 10 Juin 2015 10:53

Re: RA Vuforia avec cibles multiples

Message par korwinnn » 15 Juin 2017 10:35

Une avancé sur mes problèmes de cibles, alors qu'il ne voulait pas reconnaitre plus de 2 cibles à la fois.
Aujourd'hui j'ai réussi à lui faire reconnaitre mes 5 targets différentes, mon objet 3D apparait dés reconnaisse de la cible.
Toutefois lorsque j'utilise mon script (que vous trouverez ci-dessous) il n'y a que sur une seule target que l'animation (et le son) se lance et que le script est pris en compte.
J'ai essayé de mettre le même objet 3D animé sur les 5 targets (même nom ou en le déclinant avec 5 noms différenst)mais le script ne fonctionne que sur une cible.
Sur mon projet l'objet3D animé (le livre) est appelé Animation_new, ou en le mettant sur les 5 cibles mais en le renommant de Animation_new1.... à ... Animation_new5.
Est-il possible de faire comme pour le fichier son avec la commande "public Audiosource audiosource" mais pour l'animation où je pourrais renseigner dans l'inspector la version de mon objet3D animé sans que cela occasion un conflit sur l'ensemble des targets ?
Le but étant au final que sur les 5 targets différentes et avec le même script (pouvant être appliqué sur chaque animation) mon livre.

Image

Le script actuel:

Code : Tout sélectionner

using UnityEngine;
using System.Collections;

public class ControlAnim : MonoBehaviour {

   private Animation anim;
   public AudioSource audioSource; //A renseigner dans l'inspector

   void Start() {
      anim = GetComponent <Animation> ();
   }

   void OnGUI () {
      if (GUI.Button (new Rect (25, 25, 100, 30), "Play")) {
         anim.wrapMode = WrapMode.Default;
         anim.Play();
         audioSource.PlayOneShot (audioSource.clip, 1.0f);
      }
     
      if (GUI.Button (new Rect (25, 75, 100, 30), "Stop")) {
         anim.Stop();
         audioSource.Stop();
      }

      if (GUI.Button (new Rect (25, 125, 100, 30), "Play/Loop")) {
         anim.wrapMode = WrapMode.Loop;
         anim.Play();
         audioSource.Play();
      }
     
      if (GUI.Button (new Rect (25, 175, 100, 30), "Quitter")) {
          audioSource.Stop();
         Application.Quit ();
      }

   }
}
Merci de vos conseils éclairés.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6222
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: RA Vuforia avec cibles multiples

Message par boubouk50 » 15 Juin 2017 10:53

Il faudrait que tu t'intéresses un peu à la POO (Programmation Orientée Objet) qui est utilisée pour comprendre un peu le fonctionnement de ton/tes scripts et d'Unity. Ça t'éviterait vraiment de galérer pour des broutilles.

Tel quel, ton script est lié à un GameObject. C'est donc ce gameObject qui gère la lecture des animations et des sons ainsi que l'affichage des boutons.
Si ton GameObject est présent plusieurs fois, ce qui est le cas pour plusieurs cibles simultanées, alors chacun des scripts sera lancé ce qui aura effet de superposer autant de fois les boutons d'UI. Ainsi, même si tu vois une instance de chaque bouton, en fait il y en a autant que de GameObjects augmentés. Alors celui qui sera au dessus des autres sera accessible. Si les boutons sont permissifs, alors tu appuierais sur plusieurs boutons Play en même temps qui iraient jouer chacun le son (superposition de son donc) et chacune des animations (là c’est bon)

Maintenant, toi ce que tu veux, c'est un lecteur. Donc ce n'est pas aux gameObjects de gérer tout ça mais au lecteur lui même.
Il te faut donc un lecteur qui s'occupe d'afficher les boutons (donc pas de doublons), de jouer les sons (un seul également par clic) et enfin les animations. Et autant ce point était fonctionnel avant, autant c'est ce point qu'il va falloir paramétrer. Le script devra récupérer à tout moment les GameObjects augmentés et c'est là que la détection de Vuforia entre en jeu. Lorsqu'une cible est détectée ou perdue, Vuforia te donne l'information. C'est chaque cible qui possède cette info. La cible doit donc envoyer cette information pour que le lecteur mette à jour sa liste d'animation.

C'est simple à mettre en place, à analyser avant de programmer si on connait un minimum la POO. Ensuite, le programmer est autre chose, mais avant cela il faut savoir réfléchir dans le bon sens. C’est pour cela que je t'invite à t'intéresser à la POO. Sinon, je vais pratiquement tout faire sur ton projet, alors que bon, ce n'est pas le but en soi.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

korwinnn
Messages : 35
Inscription : 10 Juin 2015 10:53

Re: RA Vuforia avec cibles multiples

Message par korwinnn » 15 Juin 2017 13:50

Tu as parfaitement raison boubouk50, tu es là pour m'aider et non pas pour faire mon projet.
Mon" vrai projet" c'est de modéliser en ce moment un projet de valorisation de patrimoine, des mois de modélisation déjà passé et encore à venir. Pour faire un peu de démo de ce que j'ai déjà modélisé, je me suis pris au jeu de la RA via Vuforia.
A la base ce n'est pas compliqué, une cible, un modèle et hop le tour est joué !

A force d'en montrer, des gens de mon entourage ont commencé à m'en demander pour rendre service, des simples que je pouvais faire en quelques minutes (comme je le fait à titre gracieux faut pas que cela me prenne trop de temps non plus).
Et là cette semaine, on m'a demandé de réaliser celui pour lequel je vous sollicite, un peu plus complexe car plusieurs cibles et différents contenus.

Je me suis dit que cela pourrait me permettre d'apprendre et passer un niveau supérieur et que j'allais bien trouver des tutos en ligne que je pourrais comprendre et adapter...malgré ma méconnaissance du code..
Mais finalement ce n'était pas aussi simple que cela. Même si je finis pas le projet tel que prévu initialement avec les effets de particules etc...je pourrais lui expliquer..
Mais si au moins je pouvais donner quelque chose de fonctionnel qui réagisse au 5 cibles et lance la petite animation et que la personne ait son truc, ce serait cool.
De manière global je crois comprendre ce que tu pointes et préconise mais je suis vraiment largué...
Je ne me rend pas compte si il y un gros truc a faire ou si un simple script peu régler le problème.

Après je comprends que cela ne soit pas le but, ni l’intérêt d'abuser de votre disponibilité et aide, surtout si au final je touchais de l'argent pour cela sur le dos de tes compétences (et compétences de la communauté du site)...mais là ce n'est pas du tout le cas.
Par contre, si tu veux bien continuer à m'aider un peu, je peux t'envoyer une boite de chocolat !!! (Quoi cela fait un peu pingre comme méthode pour soudoyer ! ;) Je devrais avoir honte !!! )

Ps: C'est vrai que c'est un peu plombant de se rendre compte que l'on est dépassé, cependant je vois de tel capacité avec unity pour valoriser mon travail 3D que j'attends cet été avec impatience pour m'y mettre sérieusement d'où ma précédente demande de conseil sur les bouquins.

korwinnn
Messages : 35
Inscription : 10 Juin 2015 10:53

Re: RA Vuforia avec cibles multiples

Message par korwinnn » 15 Juin 2017 13:53

Merde ...
J'ai oublié de regarder dans la netiquette pour savoir si corrompre les modérateurs à coup de boite de chocolat était proscrit !!! ;)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6222
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: RA Vuforia avec cibles multiples

Message par boubouk50 » 15 Juin 2017 14:08

Etant petit fils de chocolatier, je suis assez exigeant sur le chocolat... C’est risqué comme cadeau! Mais je prends les cadeaux avec plaisir, et ce n'est pas du soudoiement mais de la récompense... ;-)

Mon but ici n'est pas seulement d'aider sur la partie technique mais aussi diriger les membres à faire les bons choix tel l'apprentissage des bases d'Unity et de la programmation. Ça ne m'embête pas de faire un peu le taff mais ce n'est pas vraiment t'aider que de te donner du code, te le faire comprendre est à mon sens plus sensé.

J'ai professionnellement programmé quelques applications de réalité augmentée avec Vuforia, donc je sais par où tu passes et comment t'aider au mieux avec cela. Et je sais d'expérience (étant graphiste 3D) que le commencement est difficile, c'est comme arriver à Shanghai en ne connaissant que l'anglais...
Disons que l’enchaînement de questions sur le forum me font dire que tu ne cherches pas beaucoup ou alors que tu es bien paumé. Dans les deux cas, la meilleur des aides que je puisse t'apporter ce sont les outils de recherches pour trouver ou te retrouver. Et ces outils sont la POO et les Learn d'Unity (ou autres tutoriels)

Es-tu allé faire un tour sur le discord d'Unity-France? Pour des questions de compréhension, certaines personnes pourront t'aider en direct. L'invitation valable 1 jour: https://discord.gg/NfSjMn
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

korwinnn
Messages : 35
Inscription : 10 Juin 2015 10:53

Re: RA Vuforia avec cibles multiples

Message par korwinnn » 15 Juin 2017 16:44

Houla fils de chocolatier, il faudrait mieux éviter de t'offrir des kinders surprise alors !
Je pense que tu dois avoir un sacré niveau d’exigence. Mais bon je me démonterai pas si je parviens à régler ce "fichu" truc ! ;)

Comme tu dis j'ai l'impression parfois d'arriver dans un lieu où tout le monde se comprends et c'est une évidence pour eux.
Possible que je cherche mal ou pas assez mais j'ai surtout l'impression de devoir ingérer plein de choses en un las de temps réduit pour essayer de les mettre en application et les tester.... mais en déchiffrant à peine l'alphabet de base.
Surtout au départ je ne pensais pas m'aventurer dans quelquechose de complexe.

Merci pour l'invitation sur discord-d'unity, cela semble être super et hyper foisonnant.
Je vais tenter de me faire aider là-bas mais je crains de me retrouver dans la situation où mes bases manquantes vont poser des problèmes de compréhension.
Bon allez je lâche pas, j'avais promis de renvoyer le truc demain donc j'ai encore la soirée pour essayer de trouver une solution.
Je vous tiens au jus des avancés.
Merci boubouk50.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6222
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: RA Vuforia avec cibles multiples

Message par boubouk50 » 15 Juin 2017 16:59

Je te mets les liens vers la doc, si tu ne l'as pas encore trouvé:
https://docs.unity3d.com/ScriptReferenc ... ystem.html, les fonctions Play () et Stop () permettront les dés/activeront.
Par contre, je n'ai pas trouvé, dans la doc des particules, le moyen d'attribuer un UV spécifique pour l'atlas. Peut-être faut-il jouer avec le module TextureSheetAnimation, sans animation mais un aléatoire de départ, je ne sais pas si c'est possible. Ça à l'air d'être lié à l'émetteur pas à la particule.

Des liens anglais intéressants:
http://ogrehead.com/2016/10/using-textu ... -in-unity/
http://answers.unity3d.com/questions/13 ... icles.html

Peut-être également passer par le Particle System Renderer qui peut récupérer le mesh de base. Mais ça sous entend que tu changes la source et qu'il faut la charger à chaque frame et modifier ses UVs donc tu auras une lettre différente par frame, donc si tu envoies plusieurs particules par frame, elles auront toutes la même lettre... C'est pas vraiment une bonne solution en soi.

Au pire du pire, tu fous 26 émetteurs de particules chacun avec une seule lettre et une fréquence d'émission très faible. :mrgreen:
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

korwinnn
Messages : 35
Inscription : 10 Juin 2015 10:53

Re: RA Vuforia avec cibles multiples

Message par korwinnn » 15 Juin 2017 17:57

Toi boubouk50 tu n'es pas loin de la boite de chocolat !!!! ;)
Je connaissais le premier lien https://docs.unity3d.com/ScriptReferenc ... ystem.html
Par contre les 2 liens en anglais sont géniaux (dernier lien aussi) j'ai compris pas mal de chose et je vais voir comment mettre cela en application.
Je t'avouerai qu'aujourd'hui j'avais un peu mis de coté le Part. Syst pour me concentrer pour trouver une solution sur l'histoire du script et des 5 cibles...je cherche sur le net des projets qui pourraient avoir la même contrainte pour comprendre qu'elle solution apporter.
Je pense que je vais y consacrer la soirée car autant le part. syst. je pourrais m'en passer (bien que là avec tes liens quand je vais m'y plonger sérieusement ce WE je vais avancer sur la question).
Autant la question des 5 cibles et du script contrôle je ne peux pas y couper, donc je continuer à chercher.
En tout cas c'est super cool de se sentir "aidé" quand on se sent vraiment dépassé face à une montage d'informations et de fonctions.
merci
Dernière édition par korwinnn le 16 Juin 2017 10:15, édité 1 fois.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6222
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: RA Vuforia avec cibles multiples

Message par boubouk50 » 16 Juin 2017 09:17

En même temps, tu es parti sur de l’interaction avec de la RA en multi-target, c'est pas vraiment un projet pour débutant... Moi-même avec un niveau intermédiaire, il m'a fallu un certain temps pour tout m'approprier.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « Développement plateformes mobile Iphone et Android »