We hebben gehoord dat de gyrosensor zo zijn eigenaardigheden heeft, maar kun je ons vertellen wat het nou precies zo moeilijk maakte?
Zoals al is verteld kan het instrument draaiende en roterende bewegingen registreren. Maar op het moment dat hij buiten het meetveld wordt bewogen, kun je er niet zeker meer van zijn dat de meting betrouwbaar is.
Dus dat betekent dat als je grote bewegingen maakt met de Wii-afstandsbediening, hij buiten het meetbereik van de sensor kan worden bewogen waardoor de beweging niet wordt vertaald naar het spel.
Precies.
Misschien kan Ito, die verantwoordelijk was voor het elektrische circuit, uitleggen hoe jullie dat probleem hebben opgelost.
Natuurlijk. We hebben de gevoeligheid van de gyrosensor voor de Wii vijf keer zo groot gemaakt als die van een normale sensor. Gyrosensoren die in videocamera's worden gebruikt kunnen een rotatie van 300 graden per seconde registreren, en dat is behoorlijk langzaam.
300 graden per seconde klinkt niet langzaam! (lacht)
Er zijn mensen die ongelofelijk snelle bewegingen maken tijdens het spelen.
Dus je bedoelt dat als de sensor slechts 300 graden per seconde kan registreren, het kan gebeuren dat die limiet wordt overschreden en bewegingen niet langer worden geregistreerd?
Dat klopt. En daarom hebben we de sensor zo ontworpen dat hij 1600 graden beweging per seconde kan registreren.
Dat zijn bijna vier en een halve volledige rotaties per seconde. Je zult flink je best moeten doen om je hand zo snel te bewegen!
Precies. Dus door dit te doen, waren we er zeker van dat snelle bewegingen werden geregistreerd. Maar toen zaten we nog met het probleem van langzame bewegingen.
Dat klinkt als een contradictie. Je zou denken dat als de sensor snelle bewegingen kan registreren, de registratie van langzame bewegingen alleen maar beter wordt.
Dat zou je inderdaad denken! (lacht) Maar we moesten er echt alles aan doen om ervoor te zorgen dat langzame bewegingen ook werden geregistreerd. Ik heb het hier herhaaldelijk met Ota over gehad.
We hebben er inderdaad vaak over gediscussieerd, hè?
En, Ota, hoe heb je het probleem opgelost?
We hebben de sensor voorzien van twee standen: een voor snelle bewegingen en een voor langzame bewegingen.
En wat doen die standen precies?
Nou, omdat de gegevens van de sensor draadloos worden verstuurd, staat het bereik van die gegevens al vast. Stel je voor dat er tien banden zijn waarover de gegevens kunnen worden verstuurd. In werkelijkheid zijn er meer maar ik gebruik dit even als voorbeeld om het begrijpelijker te maken. Als je dus tien banden hebt, kun je alleen signalen voor nul tot en met negen versturen.
En als de gegevens worden verstuurd over tien banden, dan kun je dat niet zomaar verhogen naar twintig banden?
Dat klopt, dat kan niet. Neem de snelheid van een auto als voorbeeld. Als je een auto hebt die met een snelheid van tien kilometer per uur kan rijden, worden gegevens over de gereden snelheid in eenheden van één kilometer per uur verstuurd. Elke band komt overeen met één kilometer per uur. Als we nu de maximale snelheid van de auto verhogen naar honderd kilometer per uur, staat elk van de eenheden opeens voor tien kilometer per uur. Daardoor wordt het onmogelijk om lage snelheden van twee of drie kilometer per uur te registreren.
Dus als je de instellingen aanpast zodat je snelheden tot en met honderd kilometer per uur kunt meten, worden de gegevens in eenheden van tien kilometer per uur gemeten.
Juist. Daarom hebben we de sensor voorzien van twee standen: een lagesnelheidsstand waarbij de gegevens met een bereik van maximaal tien kilometer per uur over de tien banden worden verstuurd, en een hogesnelheidsstand waarbij de gegevens met een bereik van honderd kilometer per uur over de tien banden worden verstuurd.
Dus door die twee standen is hij gevoelig voor langzame bewegingen, maar worden snellere bewegingen ook geregistreerd.
Precies.
Dus zo heb je de sensor geschikt gemaakt om te reageren op kleine bewegingen. Maar dat was niet het enige wat werken met de gyrosensor moeilijk maakte, toch?
Nee, dat was het niet. De gevoeligheid van de gyrosensor werd beïnvloed door de omgevingstemperatuur.
De 'M' in MEMS staat tenslotte voor 'mechanisch'.
En juist omdat het mechanisch is, kan dat gebeuren.
Normaal gesproken zou je bij geen beweging een waarde van nul moeten zien. Maar in het geval van de gyrosensor werden na een tijdje waarden van een of twee gemeten, zelfs als hij volledig stil lag.
Dus zelfs als hij niet werd aangeraakt, gedroeg de sensor zich alsof hij in beweging was.
De technische term hiervoor is 'temperatuurverschuiving'.
Dus als de temperatuur verandert, verschuift het nulpunt.
Het is niet alleen de temperatuur die dit kan veroorzaken. Vocht of plotselinge schokken kunnen hetzelfde effect teweegbrengen. Dus we hebben besproken hoe we op de een of andere manier een sensor konden maken die geen last zou hebben van dit probleem.
Maar is dat niet...
...Onmogelijk! Maar er is wel een manier om het probleem te omzeilen. Het enige wat je moet doen, is een aparte sensor toevoegen die het nulpunt corrigeert.
Maar we moesten uitkijken dat we de kosten niet onnodig zouden opdrijven.
De enige mogelijkheid was daarom een softwarematige oplossing te vinden. We hebben van alles geprobeerd – het was een proces van vallen en opstaan.
Dat betekent dat je wel een manier moest vinden om te registreren dat de Wii-afstandsbediening niet werd bewogen.
Ons eerste idee was de versnellingsmeter. We dachten dat we die konden gebruiken om te registreren of hij wel of niet werd bewogen maar...
Dat bleek niet te werken?
Nee, dat werkte niet. De gyrosensor is veel gevoeliger dan de versnellingsmeter, waardoor het voorkwam dat de versnellingsmeter nul aangaf terwijl de gyrosensor bewoog.
Daar heb je niet veel aan, hè?
Uiteindelijk hebben we de gyrosensor zo gemaakt dat hij zelf registreert of hij wordt bewogen.
Dus zelfs met wisselende temperaturen en vochtigheid werkt de gyrosensor naar behoren?
Dat klopt. We hebben software toegevoegd die dat mogelijk maakt.
Dus Ota, terwijl je probeerde de gyrosensor te laten doen wat je wilde, ontwikkelde je ook de SDK – de kit waarmee spellen worden ontwikkeld. Welke nieuwe mogelijkheden denk je dat de combinatie van een gyrosensor en een versnellingsmeter biedt bij het ontwikkelen van spellen? Ik ben benieuwd naar jouw deskundige mening, aangezien je betrokken was bij de ontwikkeling van talloze spellen.
De belangrijkste ontwikkeling is denk ik dat Wii MotionPlus spelontwikkelaars in staat stelt om het gevoel van de speler te gebruiken.
Het gevoel van de speler?
Omdat rotatie wordt geregistreerd, wordt een beweging van de Wii-afstandsbediening in de hand van de speler exact vertaald naar een object op het scherm. Dat is iets waar iedereen altijd van heeft gedroomd.
Dat is ongetwijfeld waar.
Maar het was absoluut niet eenvoudig om dat voor elkaar te krijgen. De maatregelen waar we het zojuist over hadden, zoals het vergroten van het bereik om de snelheid te registreren en het verhogen van de gevoeligheid voor lage snelheden, waren niet genoeg.
De temperatuursverschuiving vormde ook een probleem.
Omdat de gegevens draadloos worden verstuurd, bestond bovendien de kans dat niet alle gegevens werden ontvangen. Hierdoor zouden bewegingen met de Wii-afstandsbediening niet langer synchroon lopen met een object op het scherm.
Hoe heb je dat probleem opgelost?
Met alleen de gyrosensor konden we dat probleem niet oplossen, maar met de versnellingsmeter kon het wel worden gecorrigeerd.
Dus dit was iets dat met alleen de versnellingsmeter of de gyrosensor niet kon worden bereikt. Maar door de twee sensoren te combineren, bereikte je wat je altijd al hebt willen bereiken – de manier waarop de speler zich gedraagt, kan in een spel worden verwerkt.
Zo is het precies.
© 2024 Nintendo.