Nous avons donc appris que le capteur gyroscopique avait ses spécificités, mais pourriez-vous nous dire précisément en quoi il vous donnait du fil à retordre ?
Comme nous l'avons dit, cet appareil peut mesurer la torsion et la rotation. Ceci dit, lorsqu'il excède les plages d'observation effective, vous n'êtes parfois pas sûr de recevoir des données fiables.
Autrement dit, si vous faites un grand mouvement avec la télécommande Wii, vous pouvez sortir de la plage de détection du capteur et le mouvement n’est pas reproduit dans le jeu.
C’est ça.
Demandons à Ito-san, le responsable du circuit électronique, de nous expliquer comment vous êtes parvenus à résoudre le problème.
Bien sûr. Nous avons augmenté la sensibilité du capteur gyroscopique de la Wii jusqu'à atteindre un niveau cinq fois supérieur à la normale. Les capteurs gyroscopiques des appareils photo sont relativement lents. Ils ne peuvent détecter qu'une rotation de 300° par seconde environ...
300° par seconde ! Ça ne me paraît pas lent du tout ! (rires)
Effectivement, mais certaines personnes font des mouvements incroyablement rapides lorsqu'elles jouent.
Autrement dit, le capteur ne pouvant détecter que des rotations de 300° par seconde, la plage d'utilisation du capteur serait dépassée dans certains cas et tout mouvement sortant de cette plage ne serait pas reproduit.
Tout à fait. C'est pour cette raison que nous avons mis au point un capteur pouvant détecter des mouvements de 1600° par seconde.
Cela correspond à quatre rotations et demi. Je ne pense pas que quiconque puisse faire pivoter ainsi sa main !
Oui. Ainsi, nous étions sûrs que les mouvements rapides seraient détectés. Ensuite, nous devions étudier comment détecter les mouvements lents.
Je remarque une légère contradiction. Si vous parvenez à détecter les mouvements rapides, il paraîtrait logique que vous ayez plus de mal à détecter les mouvements lents.
C'est d'une logique implacable ! (rires) Cependant, nous voulions faire le maximum pour que le capteur puisse aussi détecter les mouvements lents. J'en ai discuté à plusieurs reprises avec Ota-san.
C'est vrai que nous avons eu quelques discussions à ce sujet.
Ota-san, comment avez-vous résolu ce problème ?
Nous avons conçu le capteur pour qu'il dispose de deux modes : un pour les mouvements rapides et l'autre pour les mouvements lents.
Et quels sont précisément ces deux modes ?
Lorsque vous transmettez les données du capteur, la résolution de ces données est déjà établie. Imaginons que vous pouvez transmettre ces données sur dix bandes. En réalité, il y en a beaucoup plus, mais je prends cet exemple pour que vous compreniez. Si vous avez dix bandes, cela signifie que vous pouvez transmettre des signaux de données allant de zéro à neuf.
Si on part du principe que la résolution des données est de dix bandes, il est impossible de la passer à vingt.
C'est totalement impossible. Prenons l'exemple de la vitesse d'une voiture. Dans le cas d'une voiture pouvant rouler à 10 km/h maximum, les données concernant sa vitesse seraient envoyées par unités de 1 km/h. Autrement dit, chaque bande correspondrait à 1 km/h. Si nous augmentions la vitesse mesurable à 100 km/h, chaque bande correspondrait alors à 10 km/h. Nous serions alors dans l’incapacité de détecter les vitesses faibles de 2 ou 3 km/h par exemple.
Donc, si vous réglez votre instrument pour mesurer une vitesse maximale de 100 km/h, les données seront mesurées par paliers de 10 km/h.
Tout à fait. C'est pour cette raison que le capteur dispose de deux modes : le mode basse vitesse dans lequel les données sont envoyées sur 10 bandes, par paliers de 10 km/h, et le mode haute vitesse dans lequel les données sont envoyées sur 10 bandes également, par paliers de 100 km/h.
Grâce à ces deux modes, le capteur est très sensible aux mouvements lents tout en pouvant détecter les mouvements beaucoup plus rapides.
Tout à fait.
Alors, c'est ainsi que le capteur peut détecter les mouvements lents. Ce n'est pas la seule raison pour laquelle vous aviez du mal à utiliser le capteur gyroscopique ?
Bien sûr que non. Les changements de température ambiante affectaient grandement la sensibilité du capteur gyroscopique.
Dans MEMS, il y a mécanique.
Et c'est parce que c'est mécanique que cela pouvait se produire.
Normalement, lorsqu'un objet n'est pas en mouvement, nous sommes censés obtenir une valeur de 0. Dans le cas du capteur gyroscopique, au bout de quelques temps, nous obtenions une valeur de 1 ou 2 même lorsqu'il était immobile.
Le capteur se comportait comme s'il était en mouvement alors que personne ne le touchait.
Ce phénomène porte un nom. Il s'agit d’une « dérive de température ».
En d'autres termes, la valeur qui devrait être égale à 0 varie lorsque la température change.
Pas seulement lorsque la température change. L'humidité ou les chocs peuvent avoir des conséquences similaires. Il fallait mettre au point un capteur qui serait insensible à ces problèmes. Nous avons envisagé plusieurs pistes...
Mais n'est-ce pas...
... Impossible ! Il existe toutefois un moyen de contourner le problème. Il suffit, par exemple, de placer un capteur distinct qui indique la valeur zéro.
Nous ne pouvions toutefois pas augmenter les coûts sans raison.
Notre unique option consistait donc à trouver une solution logicielle au problème. Nous avons procédé par tâtonnements en essayant de nombreuses solutions.
Vous deviez donc trouver une méthode permettant de détecter que la télécommande Wii était immobile.
Au tout début, nous avons pensé à l’accéléromètre. Nous pensions pouvoir nous en servir pour détecter si la télécommande bougeait ou pas...
Mais cela n'a pas marché.
Non. Le capteur gyroscopique est bien plus sensible que l'accéléromètre. Ainsi, nous avons enregistré des cas où l'accéléromètre indiquait zéro alors que le capteur gyroscopique était en mouvement.
Ça ne menait à rien
Finalement, nous avons fait en sorte que le capteur gyroscopique puisse détecter s'il est en mouvement ou non.
Ainsi, le capteur gyroscopique fonctionne correctement quelles que soient les variations de température et d'humidité.
Tout à fait. Nous avons mis au point un logiciel qui rend cela possible.
Ota-san, tout en essayant de maîtriser ce capteur gyroscopique récalcitrant, vous développiez aussi le SDK, c'est-à-dire le kit de développement logiciel. Selon vous, quels nouveaux horizons ouvre l'association de l'accéléromètre et du capteur gyroscopique en termes de développement de jeux ? J'aimerais entendre l'avis d'une personne ayant participé au développement de nombreux jeux très divers.
Pour moi, le bénéfice le plus important est que l’accessoire Wii MotionPlus permettra aux développeurs de jeux de mieux éprouver encore ce que sent le joueur.
Ce que sent le joueur ?
Maintenant qu'il est possible de détecter les rotations, le mouvement de la télécommande Wii que tient le joueur et le mouvement de l'objet à l'écran s’effectuent en temps réel. C'est quelque chose que tout monde a toujours rêvé de réaliser.
C'est tout à fait vrai.
Cela n'a pas été simple d'obtenir ce résultat. Les techniques dont nous avons parlé auparavant - augmenter la plage de détection de la vitesse ou accroître la sensibilité de la détection à basse vitesse par exemple - ne suffisaient pas.
Se posait aussi le problème de la dérive de température.
De plus, les données sont transmises sans fil. Il y avait toujours l'éventualité que certaines données ne soient pas reçues. Cela se serait traduit par un léger décalage entre le mouvement de la télécommande Wii et l'action à l’écran.
Comment avez-vous résolu le problème ?
Nous ne trouvions pas de solution satisfaisante en utilisant uniquement le capteur gyroscopique. L'accéléromètre s'est révélé très utile pour résoudre ce problème.
C'était donc une difficulté que vous ne pouviez pas surmonter à l'aide de l'accéléromètre ou du capteur gyroscopique seul. Mais en associant les deux capteurs, vous avez pu obtenir ce que vous recherchiez depuis le début : être capable de prendre en compte ce que le joueur éprouve.
C'est tout à fait ça.
© 2024 Nintendo.