XNA Cave Template

From Fontys VR-Wiki
Jump to: navigation, search

XNA Cave Template is een minimalistisch XNA 3.1 project, dat gebruik maakt van de Fontys VR-Cave Daemon. De daemon heeft een client-component ook wel Fontys VR-Cave Daemon SDK genoemd. Er is een C# wrapper gemaakt zodat de data waarin de daemon SDK (ook wel daemon-client) voorziet, ook toegankelijk is in een C# applicatie.

Voor een handleiding van de daemonSDK zie [1].

Het XNA Cave Template project is te vinden op D:\Cave software\wouter\fontysvr\XNcAve. De C# Game klasse is voorzien van uitbundig commentaar.

In deze omgeving is het soms noodzakelijk expliciet onderscheid te maken tussen de machines. Het commando DC.getHostIndex() voorziet hierin. Afhankelijk van de naam van de machine wordt er een getal teruggegeven. Indien de machine geen deel uitmaakt van de cave configuratie dan geeft DC.getHostIndex() DC.Unknown terug.

In de update procedure hebben server en client machines ander gedrag. De server machine zorgt voor de input. Vervolgens wordt de klasse GameData geüpdatet. Deze klasse wordt vervolgens geserializeerd en met DC.postMessage indirect verstuurd naar alle machines. De cave (cliënt) machines, controleren iedere update of er nieuwe berichten zijn. Indien zo, dan wordt dit bericht geïnterpreteerd als een GameData classe.

Dus veranderingen in GameData op de server, worden op de client geïmiteerd. Dit alles gaat goed totdat de geserializeerde klasse de 65499 bytes grens overschrijdt.

Omdat het dusdanig bewerkelijk is om het klaslokaal model te tonen, is de IsFixedTimeStep property op false gezet. De functie DrawEye, moet alle tekencode bevatten. Deze funcie wordt op iedere cave machine (exclusief server) tweemaal aangeroepen. (Een keer voor het linker oog en een keer voor het rechteroog.)

XNA Cave Template starten

Het is misschien wenselijk om de template in werking te zien in de cave. Om dit te bereiken voer je de stappen hieronder sequentieel uit:

  • Zet de flock of birds aan
  • Zet de cave machines aan
  • Start de Fontys VR-Cave Daemon
  • Verbind een Wiimote en druk op connect in de daemon
  • Start "XNA Cave Template (Fontys VR-Cave Daemon)" (in CaveServer)