Version
����PDF�AHTML�t�@�C����SmartDoc�ɂ���� LATEX �Ő�������Ă��܂��B���������̃y�[�W��������A���M��Ƃ̂��߂ɉ��Ń��C�A�E�g����PDF�ł��BHTML���W�e�ʂɓ��e���m�F���Ă����������߂ɏo�͂��Ă��܂��B�܂�ŏI�I�ȏo�ŏ��ЂƂ͑S���قȂ���̂ł��B���쌠�͔���ŕF�Ƃ��̋����҂ɂ���܂��̂ŁA���f�R�s�[��z�z�͂��Ă͂����܂���B
�y���̔łɂ�����}��z
�y��ƃ����z(6/12)����270�y�[�W(1-7��)�A8�͂�Mouse�A400p�ł����v�B����max350!300-350��������PDF�{5�͂�30p���炢�A�O�t�����t��20p�Bpointer����
�uWii�v�{������Wii�͔C�V���̓o�^���W�ł��B
�{������Ɏ���������ǎ҂̋M���A�܂��M���Ɏ�����������Ƃ������܂��B
�M���͂��̖{�ɂǂ�Ȋ��҂����Ă��܂����H
�wWiiRemote�v���O���~���O����x
�M������ɓ��ꂽ���m����WiiRemote�̎g�����H�v���O���~���O�H�l�ɕ����Ȃ����w�╨���H�C���^���N�V�����Z�p�̊J���e�N�j�b�N�H�͂��܂��~����ɂ��u���̂��ׂāv�ł��傤���H�܂��ŏ��ɃL�b�p���Ɛ錾�����Ă��������܂����A���̖{�͔C�V��Wii�R���\�[���Ɋւ���w�n�b�L���O�{�x�ł͂���܂���B�����{�ʂ�s���ɗ��v��ړI�ŁA�Q�[��������������s���ȃR�s�[������s�ׂ́A�Q�[�����̂��̖̂ʔ�����D�������łȂ��A���̃Q�[���^�C�g���𐢂ɐ��ݏo�����߂ɍ�������Đ��삵���l�X�ɂ��A�[���߂��݂ƌo�ϓI�_���[�W��^���܂��B�M�����Q�[����������Ȃ�A����ȍs�ׂɎ��Ԃ��₵�Ă͂����܂���B
�n�b�L���O�ɂ������ȈӖ�������܂����A���ɕs�������߂́u�n�b�L���O�{�v������Ƃ���A���̖{���ڎw���Ƃ���́A���̐����́AWiiRemote���������y�����u�N�b�L���O�{�v�A��������܂���B
���̖{��WiiRemote(Wii�����R���AWiimote�l�X�Ȍď̂�����܂����{���ł�WiiRemote�ɓ���)���g���āA�v���O���~���O���w�т܂��B���łɐ��w�╨���̎g���������K��ʂ��Ċw�т܂��B
�ڕW�Ƃ��ẮA�M������D���ł��낤�A�R���s���[�^���g�����Q�[���A���̑z���͂�\�����ő���ɉ������邽�߂́u�ŏ��̕���v��g�ɂ��邽�߂́u���������v��^���邱�Ƃ�ڎw���Ă��܂��B
�ǎ҂Ƃ��ẮA�ȉ��̂悤�ȕ��X��ΏۂƂ��đz�肵�Ă���܂��B
����ȓǎ҂̊F����ɁAWiiRemote���͂��߂Ƃ���V�����q���[�}���C���^�[�t�F�C�X���g�����A�G���^�e�C�����g�V�X�e���̐��E�́u�J��̖ʔ����v�A�w�Z�Ŋw�ԕ����␔�w�́u�g�����Ȃ����v�A�����Ăق�̂������u���E�̍L���v�𗝉����Ă��炦��������ȁA�ƍl���Ă��܂��B�C���^���N�V�����Z�p�́u�L���v�Ɓu�[���v��m�邱�Ƃ��A�����̐V�����G���^�e�C�����g�V�X�e�������̂ł��B
���łɃR���V���[�}�Q�[���@��PC�AFlash�ȂǂŃv�����̃Q�[���v���O���~���O���s���Ă���V�j�A�G���W�j�A�ȏ�̓ǎ҂̋M���́A�����Ƃ����܂œǂ�Łw�Ȃ��A���̖{�H���ɗ��̂��ȁH�x�Ǝv������������܂���B�O�q�̒ʂ�A���̖{�ɂ͔C�V���̎��`���ɂӂ��悤�Ȏ��͈�؏�����Ă��܂���BWii�Ɋւ�������d�l�Ɋւ��ẮA�C�V���������Ă�������̋Z�p�����������p���������B
�������A�C�V��������������̏��͂����܂ŃQ�[������邽�߂̊�{���̂͂��ł��B���悢�Q�[�����J�����邽�߂́A�z���ȏ��WiiRemote�̎g������A������Ƃ����C�Â��ɂȂ�悤�ȏ�A�{���ɏ����ł����݂���K���ł��B
�M��(���A����ŕF)�́A1994�N���납��A�q���[�}���C���^�[�t�F�C�X�A���A���^�C���R���s���[�^�O���t�B�b�N�X�A�����V�~�����[�V�����A�G�o�C���^�t�F�[�X�Ƃ������o�[�`�������A���e�B�Z�p�𒆐S�Ƃ�����b�Z�p���G���^�e�C�����g�Y�Ƃ̎��p�̐��E�Ɏg����悤�ɂ��邽�߂̋Z�p�̌����J�����s���Ă��܂����B�Q�[���pCG�̍�����A��w�̌������A����������p�Z�p�̌����J���ɐg��u��������������܂����A�e�[�}�p�[�N�A�g���N�V�����̐v���s������A���{��t�����X�̑�w�Ō|�p�w����H�w�n�̊w�������w�@���܂ŕ��L���̊w���̎w���E��������Ă���������܂����B
���ł��A16�N�ȏ㑱���Ă���u���ۊw���R�o�[�`�������A���e�B�R���e�X�g(http://ivrc.org/)�v�̃v���f���[�X��ALaval Virtual ReVolution�Ƃ����t�����X�ŊJ�Â���Ă��鍑��VR��i����W�̃`�F�A�}���̌o����ʂ��āA���E������W�܂��������̐V�K�ȁi�V��ȁH�j�f�o�C�X���g�����C���^���N�e�B�u��i�̗����Ƃ��̊J�����s������҂ɏo��@��Ă��܂����B
���݂͉Ȋw�R�~���j�P�[�^�[�Ƃ����E�ƂŁA�Ő�[�̏��Ȋw�𐢊E���ɂ킩��₷���`����d�������Ă��܂��B���{�̌����҂͓��ɂ��́u�C���^���N�e�B�u�Z�p�v�̃Z���X������\�͂����ɍ����A���E���獂���]�����Ă��܂��B�d�����A���E�̃X�e�[�W�ɗ����̍�҂�v���W�F�N�g���x�����邱�Ƃ������̂ł����A�������Ƃɓ��{��C�O�Ɍ��炸���̃N���G�C�^�[�́u�Ⴂ�w���v�������̂ł��B�܂��A�V�����\���A���炵���Z�p�v�V�ݏo���N���G�C�^�[���u�K�������\���Ȋ�{�Z�p��̌n�I�ɐg�ɂ��Ă���킯�ł͂Ȃ��v�Ƃ����ɂ��悭�������܂����B
�����ߋ��ɃQ�[���ƊE�œ����Ă����Ƃ��ɂ́A�d�����A�������̃Q�[���f�U�C����S��������n�̕��Ƃ��b������@����������̂ł����A�w�ʔ����̌�������m�E�n�E�x�́A�����Ă��N���́u���̒��v�ɒ~�ς���Ă���A���Љ��͓���Ƃ����b�����Ƃ���������܂����B�܂��ŋߔ��ɐl�C�̂���A���f�B�A�A�[�g�E�f�W�^���A�[�g�n�̑�w�̐搶�����A���ꂼ��A�[�g��f���Z�p�Ȃǂ̐��ƂȂ̂ł����u�̌n�I�ȃC���^���N�V�����Z�p�̊�b�v�͈ȊO�Ƌ��ȏ��I�ɂ܂Ƃ܂��Ă��Ȃ��A�Ǝ��ɂ��܂��B�펯�ɂƂ���Ă��Ă͐V�����Q�[����A�[�g�͑n��܂��A�C���^���N�e�B�u�Z�p�ɂ������n�[�h�ƃ\�t�g�̒��ԗ̈�ɁA��b�Z�p��̌n�I�ɓ`���鋳�ȏ���1�����炢�͗~�����ȁA�Ɖ��x�������Ă��܂����B
�M�҂͂��̖{�̎��M��ʂ��āA���݂́u�����̊w������v��������Ȃ��M�����A�����Q�[���J���̌���œ������̃G���W�j�A��A�����̃C���^���N�e�B�u�Z�p�Ɋv�V��^����A�[�e�B�X�g�ɂȂ邩������Ȃ��A�ƍl���Ȃ��玷�M���Ă��܂��B�F���A���ɋC�Â��A����ɂ��āA�V�������E�̃t�B�[���h�ɗ����Ă����̂��A���̃m�E�n�E�����ЂƂ����J�^�`�ŋ��L���邱�Ƃ����݂Ă��܂��B�F������A�`�����X������Ήf����z�[���y�[�W�A�_���Ȃǂ̕��͂ɂ��āA���L�ɒ��킵�Ă݂Ă��������B
���̖{�ɏ�����Ă�����̑����́A��L�̂悤�ȁw�܂��N����������Ƃ��Ȃ��A�R���s���[�^���g���Ă����炵���\�������悤�I�x�Ƃ��Ă����҂ɑ��āw�U���͂�������g�C���^���N�V�����Z�p�h�Ƃ��������^���悤�I�x�Ƃ������_�ɂ���ď�����Ă��܂��B���������u�l�����̃q���g�v�͂Ȃ��Ȃ��܂Ƃ܂������Ђɂ͂��Â炢���̂ł��B�C���^���N�e�B�u�V�X�e���̍H�w�I�ȊJ���E�f�U�C���Ɋւ���܂Ƃ܂������Ђ�A�̌n�Â���ꂽ�w��́A�i���{�ł́j����10�N�ȏ�`�ɂȂ��Ă��Ȃ��ł��B���ꂾ�������r��ł���A�o����o�����Ɉˑ����鐢�E�ł����邩��ł��B
�����������͂��̏ɊÂĂ����܂���B�ǎ҂݂̂Ȃ������A��������Q�[���J���A�C���^���N�e�B�u��i�J���`�[���̐�y�G���W�j�A�Ȃ�A�ЂƂ�łł��邱�Ƃ͌����Ă��܂��B�N���������Ƃ��Ȃ��v���W�F�N�g�������߂邽�߂ɁA���ɂ́u���m���̌�y�v�ɑ��āA���鎞�͎��ׂ��Ƀ\�[�X�R�[�h��R�����A���鎞�͍��Z�́w���wI�x�̋��ȏ��������o���āA�M���ۂ����Ȃ���Ȃ�Ȃ��Ƃ�������ł��傤(�������J���̐^���Œ��ɁI)�B�{���́A���́w���炵���u�`�ʼn���ς݂�(�M���Ȃ�)1�b�ŗ����ł���悤�Ȑ�����������@�x��ڂ̑O�ɁA�������E���E���ƚX���Ă����y������Ƃ��ɁA�w���傤���Ȃ��ȃ@�A���̖{�ł��ǂ�ł���Ă݂��x�ƁA����ɕtⳕt���ł����Ă�������悤�ȁA����ȏ��ЂɂȂ�Ǝv���A�����n�߂܂����B
���ۂɁA���M�������߂Ă݂�ƁA����Ȃ���Ȃ�Ȃ���b�I�Șb�����܂�ɑ����A�Ȃ��Ȃ���������₷���Ɏg���郌�V�s������Љ��̂͑�ςȍ�Ƃł��邱�Ƃ��킩��܂����B����ł��A�����̐l�ɁA�V�����w�ׂ镪����������Ƃ͂ł��Ă���Ǝv���܂��B�����A�{����ǂ�Łw���̏͂̂����˂�����ł��������I�x�Ǝv���l������A����͖{���̂˂炢�ʂ�ł��B���ЁA�����⌤�������āA�_���������A�{�����Q�l�����ɉ����Ă��������B
�܂��{���̈ꕔ�́A�������w�Z�̏��␒�V�搶�̂����͂ɂ��AWiiRemote���g�����A���S�Ҍ����̃X�e�b�v�o�C�X�e�b�v��C++�^C#�̃v���O���~���O���K�{�Ƃ��Ă��@�\���܂��B�w�{�����w�Z�̉��K�Ɏg���Ă��܂��I�x�Ƃ��������b������܂�����A����̂��߂Ƀt�B�[�h�o�b�N������������ƁA���Ɋ������v���܂��B
WiiRemote�W�̋Z�p�͓��i�����A�b�i�����ł��B���E���̋Z�p�҂̓w�͂ɂ��A�g���Ȃ��������̂��g����悤�ɂȂ�����A�z�������Ȃ����炵�����ʂݏo�����Ƃ�����܂����A���J����Ă�����̂��s���ɂ���Ĕ���J�ɂȂ�����A�L���ɂȂ�����Ƃ��������Ƃ�����܂��B�{���͔��s���ɂ����ĉ\�Ȍ���ŐV�̏����L�ڂł���悤�w�͂��Ă���܂����A�����ɂ킽��ۏ������̂ł͂���܂���B�܂��{���Ōf�ڂ���Ă���\�[�X�R�[�h��v���O�����A���e���������ɂ킽�萳�m�����ۏ������̂ł͂���܂���B
�����́u�v�����v�͈Ȍ�A���ɁuTM�v�Ȃǂ�W�L���܂��A�C�V��������Ђ̓o�^���W�ł��B�{���͔C�V��������ЂƂ͈�؊W������܂���B�{���ɋL�ڂ��ꂽ���e�����s�������ɂ��s���v���͑S�Đ��i�ۏ̑ΏۊO�ɂȂ�\��������A���ׂĂ̓��[�U�[�̐ӔC�ł��邱�Ƃ����������������B
���̖{�������グ��ɂ�����A���������X�ɂ����b�ɂȂ�܂����B�܂��A�Q�[���Y�Ƃɗ��j�I�v����^�����C�V���̊J���҂݂̂Ȃ���Ɍ��t�ɂł��Ȃ����ӂ̋C������`�������Ǝv���܂��B�����ĕҏW��S�������������B�����ē��Ɏ��M��R�[�h�ŋ��͂������������ؑ��G�h����A�������j����A���V�F������A����H�Ɛ�卂���w�Z�̏��␒�V�搶�A�ޗǐ�[�Ȋw�Z�p��w�@��w�̈䑺���F�搶�A���邭�錤�����݂̂Ȃ���A��N���ɂ킽��x�M�ȕM�҂ɍŌ�܂ł�����߂������������������A���肪�Ƃ��������܂����B�X�e�L�ȕ\���C���X�g��`���Ă����������^�i�J���J������B�����āA���E����WiiRemote�J���҂݂̂Ȃ���A�{�����ɂĂ����b�ɂȂ����Z�p�Ƌ��ɁA�\�Ȍ��肨���O���ł��Љ�Ă��������Ǝv���܂��B�Ō�ɁA����Ȓ��Ԃ̎d���̍��Ԃ̐����Ȃ��x�ɁA�M�d�ȉƑ��Ƃ̎��Ԃ̍팸�ɕ���������Ȃ�������M��R�[�f�B���O���������Ă��ꂽ�ȁE�v���q�A���q�̐��F�Ɨ����ɁA���Ɗ��ӂ�`�������Ǝv���܂��B
�����A�ǎ҂̊F����A���͋M���������H�����[�V����(�v��)���N�����Ԃł��I
�{���͑�܂��ɁA3�̃p�[�g�ō\������Ă��܂��B
�y�p�[�g1�z��b�m���E������(��1�́`3��)���̃p�[�g�ł́AWiiRemote���������v���O���~���O���͂��߂�ɂ�����A�m���Ă����ׂ��m�����l�̊J�������v���W�F�N�g�A�c�[���ށA�����ĊJ���ɕK�v�ȃ\�t�g�E�F�A�̃Z�b�g�A�b�v���Љ��Ă��܂��B���܂ł�WiiRemote�ŊJ�����s�������Ƃ�����l�͓ǂݔ���Ă����܂��܂���B
�y�p�[�g2�z�v���O���~���O��b��(��4��)���̃p�[�g�ł́A�I�[�v���\�[�X�ŊJ������Ă���I�[�v���\�[�X��API�v���W�F�N�g�uWiimoteLib�v�Ɩ����ŗ��p�ł���Microsoft Visual Studio Express�𗘗p����C++��C#�̃v���O�������������ƂŁAWiiRemote��PC���ǂ̂悤�ɒʐM���s���A�ǂ̂悤�ɂ��ăZ���T�[�ނ̒l���擾�ł���̂��ȂǁA��ՂƂȂ�Z�p���X�e�b�v�o�C�X�e�b�v�ŏڍׂɉ�����܂��B
�y�p�[�g3�z���p��(��5�́`9��)���̃p�[�g�ł́A4�͂ň���Ȃ�����DirectX�ɂ��3DCG�AFlash��Processing��p�����A����̓I�ȃA�v���P�[�V�����J���̗���Љ�܂��BDirectX��ActionScript3�Ȃǐ��̒m�����K�v�ɂȂ�܂��̂ŁA�����g�̗��p�������P�[�X�ɋ߂��T���v���𒆐S�ɓǂ݂قǂ����Ƃ������߂��܂��B
�֘A�����G�k�́u�R�����v�ɂ܂Ƃ߂Ă���܂��B
���{���̒��ň������T���v���v���O�������́A����\�Ƌ����I�[���Ђ�HP�u���ИA���^�_�E�����[�h�T�[�r�X�v�ɂē���ł���\��ł��B�K�₵�Ă݂Ă��������B
�����ł́AWiiRemote���g�����v���O���~���O���w�ԑO�ɁA�܂�WiiRemote�̊�b�m�����܂Ƃ߂Ă����܂��B
�uWii�v(�E�C�C)��2006�N���ɔ������ꂽ�A�C�V���̉ƒ�p�Q�[���@�ł��B�p��́uWe(�킽������)�v�Ɠ����I�ȃR���g���[���[�uWii�����R���v��\���uii�v�������āuWii�v�Ɩ��t����ꂽ�����ł��B
����Wii�����������ȑO�̊J���R�[�h�́uRevolution(�����H�����[�V�����F�v��)�v�ƌĂ�Ă��܂����B2005�N�̕č��uE3�v(Electronic Entertainment Expo�G�G���N�g���j�b�N�E�G���^�[�e�C�������g�E�G�L�X�|�A���{�ł̓����Q�[���V���[�ɂ�����Q�[���Y�Ƃɂ����鐢�E�I�Ȍ��{�s)�ł��̃R�[�h�l�[�������S�����\����܂����B
�u�v���v�Ƃ������ɂӂ��킵���ARevolution�͂��܂܂ł̉ƒ�p�Q�[���@�Ƃ͑傫���قȂ�R���Z�v�g�Őv����܂����B�ڂ������u�В����u�� Wii�v���W�F�N�g(�C�V������HP)�v�ɁA�J���`�[���ƎВ��̑Βk�Ƃ����`���ŏڂ������J����Ă��܂����A�ȒP�ɃX�g�[���[���܂Ƃ߂�ƁA�C�V���E��c�В���2002�N���u���̂܂܃Q�[�������G�ɂȂ��Ă�������A�Q�[���ƊE�͏k������v�ƍl���A���̌��_�Ƃ��ĐV�����n�[�h�E�F�A�v�̂قƂ�ǑS�Ăɂ����Č��������s�����_���傫�ȁu�v���v�ɂȂ�܂����B�ΏۂƂ��郆�[�U�w���]���̐��N�w�����ׂĕ��L���ݒ肵�A�Q�[���̗V�ѕ��A��������͂ފ��A���\�̐ݒ�����d�͂ȂǁA���ׂ��ɍ��܂ł̉ƒ�p�Q�[���@�̐i���̗���������������ɐv����Ă��܂��B
Wii�{�̂ɂ͏ȓd�́E�����펞�ڑ��l�b�g���[�N�@�\��c�u���f�U�C���A���\�Ȃǂ��܂��܂ȓ���������܂����A���ɂ��̒��ł��ł��傫�Ȗ����������Ă���u�g�v���h�̎�l���v�Ƃ������ׂ����݂��uWii�����R���v(�{���ł͈Ȍ�"WiiRemote"�ƕW�L)�ł��傤�B���������ꂽ�Ў�Ŏ��A���[�V�����Z���T���厲�ɂ������R���g���[���[�B���̂悤�Ɂu�w��ł͂Ȃ��A�S�g�̓���v�ɒ��ڂ����q���[�}���C���^�[�t�F�[�X(�@�B�Ɛl�Ԃ��Ȃ����u)���g�����V�ё̌��́A�_���X�Q�[�����������@�[�`�������A���e�B�Z�p��A�~���[�Y�����g�e�[�}�p�[�N�ȂǁA�����ꕔ�̑�^�G���^�e�C�����g�V�X�e���ɗ��p����Ă��邾���ŁA�܂��܂������ʼnƒ�p�Q�[���@�ɂȂ��ނƂ͎v���Ă͂��܂���ł����B���[�V���O�Q�[����ނ�Q�[���̂悤�Ȉꕔ�̃Q�[���W�������ɂ����āA�ʔ��̃R���g���[���[��K�v�Ƃ���������܂������A��͂�u�v���b�g�t�H�[��������W�����ڃR���g���[���[�v�Ƃ������݂̓C���p�N�g������܂����B���Ă��̎�̃Q�[���p����f�o�C�X�͑����̌����ҁE�J���҂����g��ł��܂������A�ėp�I�ȗ��p���@�Ƃ��̉��i�ɖ�肪����A�Ȃ��Ȃ��������܂���ł����B��������������1000����ȏオ�����߂�V�n�[�h�ɍ̗p�����ƂȂ�ƁA���̃R���g���[���[���i��5000�~�ȉ��Ŕ̔�����܂�(����ʓI�Ƀn�[�h�̐����R�X�g�͔����̔������x�A���R���g���[���[�̓Q�[���\�t�g���������i������ȉ��ɐݒ肳���ׂ�)�B�u���̃C���^���N�V�����v���b�g�t�H�[������C�ɉƒ�ɂ���Ă���I�v�A�u�ł��ǂ�����āH�v���E���̃q���[�}���C���^�t�F�[�X��G���^�e�C�����g�Z�p�̌����ҁE�J���҂͂��̃j���[�X�ɐF�߂������܂����B
���̌�AWii����������Ă���2�N�ȏオ�o�߂��Ă��܂����AWiiRemote�̑��݊��͑S�������Ă��܂���B�����̓X�g���b�v��W���P�b�g�𒅗p�����Ƀv���C�ŋ�������l�������A������ł̓e���r��j����A�e�j�X�̂��߂��Ńq�W��ɂ߂�u�}��Wii�Ɂv�Ȃǃl�K�e�B�u�Șb��ł����킹�܂������A�o�[�`�����R���\�[���Ȃǂ̃N���V�b�N�R���g���[���[�𗘗p����ꍇ�������āAWiiRemote�ɑ���ے�I�ȃ��[�U�[�̈ӌ��͂قƂ�ǂ���܂���B�܂�WiiRemote�P�̂̔̔����i�����X�ɉ�����A���肵�₷���Ȃ��Ă��܂��B�Q�[���̗��j�ɂ�����v�����͂��܂�s�����Ă����ԂƂ�����ł��傤�B
���āA���̐߂ł�WiiRemote�̃n�[�h�E�F�A�I�Ȏd�g�݂�������܂��B�u���b�N�{�b�N�X���������Ȑ��i�Z�p�𗝉�����R�c�Ƃ��āA�܂��F���u�����O��z�肵�āA�����Ńf�o�C�X���J���������v�ɂȂ��Ă݂�Ƃ悢�ł��傤�B
�O�q�̒ʂ�AWiiRemote�͊v���I�ȑ���̌�������u5000�~���̔����i�Łv�Ƃ����v���d�l���������悤�ł��B������WiiRemote�̓Q�[���̂��߂̃R���g���[���[�ł�����A�]���̃{�^���A�N�V�����₻�̑���̔������x���ێ����A����������������K�v������܂��B�܂��o�C�u���[�^�[���������ق��������ł����A�d�r���ł���Β��������ė~�����ł��傤�B�����͔��ɓ���v���ł��B
�R�[�h�l�[���uRevolution�v����A�u�R���g���[���[�ɂ̓��[�V�����Z���T���ڂ�炵���v�Ƃ����\�͂���܂����B�Q�[���{�[�C�u�R���R���J�[�r�B�v�ȗ��A�C�V���̃Q�[���^�C�g���ɍ̗p����Ă����A�e�L�T�X�C���X�c�������c(TI)�А��̉����x�Z���T�̂悤�Ȃ��̂����p����邱�Ƃ͑z������Ă��܂������A���ł�NEC�g�[�L���Ђ�����A�����x�Z���T�A�p���x�Z���T�A�n���C�Z���T��g�ݍ��킹���G���^�e�C�����g�p�r�����Z���T�[���i����������Ă��܂������A10���~�߂����鍂���ȕ��Łu�Z�p�I�ɂ͕s�\�ł͂Ȃ����낤�v�Ɨ\�z�͂���Ă��܂������u�ǂ̂悤�Ȏd�l�Łv�A�u�ǂ��������z�肳��鉿�i���Ɏ��܂鐻�i�ɂȂ�̂��H�v�͑S���̓�ł����B�܂������̃Z���T�[�����ł͈ʒu���߂Ɏg���ɂ͐��x���\���ł͂���܂��A�ǂ�ȃQ�[���E�C���^���N�V�����ɂȂ�̂����z�������܂���ł����B�C�V�������̊J���҂����낢��ȋ�J�ƌ������d�˂��悤�ł��B�ŏI�I��WiiRemote�ɂ́A�ԊO��������TV�̏�ɒu���u�Z���T�[�o�[�v���t���������A�ԊO��CMOS�Z���T�[�Ƃ����\���ɂȂ�܂����B�܂������̐v�ł͌��\����Ă��Ȃ������X�s�[�J�[�Ȃǂ��������A�ŏI�I�ɁAWiiRemote�͈ȉ��̂悤�ȃX�y�b�N�ɂȂ�܂����B
�T�C�Y | �c148mm�A�� 36.2mm�A����30.8mm�i�ˋN���������j |
�ʐM�@�\ | Bluetooth�ɂ�閳���ڑ��A�ő�ڑ��䐔�F�S�� |
�v���C�\���� | �e���r����T�� |
�|�C���^�[ | ��ʂ��w�������|�C���e�B���O�@�\ |
���[�V�����Z���T�[ | �X���⓮���̕ω������o�i3���j |
�{�^�� | �f�W�^��11����(1�C2�CA�CB�C-�C+�CHome�C�\��) |
�U���@�\ | �o�C�u���[�^�[1�� |
�X�s�[�J�[ | ���m�����X�s�[�J�[1�� |
�v���C���[�C���W�P�[�^ | �FLED 4�� |
�g�����j�b�g�ڑ��\ | �k���`���N�A�N���V�b�N�R���g���[���[�Ȃ� |
�ȉ��͓Ǝ��ɒ��������A���ڍׂȃX�y�b�N�Ɖ���ł�(�����̎d�l�ύX�ɂ��ύX�����\�������邩������܂���)�B
�ǂ��ł��傤�H�����Ȗ����ʐM���s����Bluetooth�R���g���[�������ł����͓I�Ȃ̂ɁA���ꂾ���̔\�͂����������W���[�����܂ސ��i��5000�~�ȉ��ŁA�������ϋv���̍����ʎY�i�Ƃ��Ĕ̔�����Ă��邱�Ǝ��̂������ł��B
����Ȃ��炵���f�o�C�X���J���E�̔����Ă���C�V���Ɍh�ӂ��A�������邽�߂ɂ�(�����̖{�ʼn�����Ă���PC�ł̗��p�𗬍s�����邽�߂ɂ�)�AWiiRemote�P�̂ł̍w�������Ђ��Ђ����߂������܂��B�������Wii�{�̂��B�]�k�ł����M�҂̃t�����X����̌������ł́AWii���������͖{�̂���ɓ��炸�A�����J���̂��߂�WiiRemote����1�_�[�X�قǍw����������������܂����B
���݁A���E���̗L�u�ɂ��AWiiRemote��PC�ŗ��p�ł���悤�ɂ�����g�݂�����Ă��܂��B�����āA�����̃c�[����I�[�v���\�[�X��API�𗘗p���āA���E���̊w���𒆐S�ɂ��܂��܂�WiiRemote���g�����v�V�I�ȃv���W�F�N�g���J������Ă��܂��B
�����ł͂܂�WiiRemote���g�����v���O���~���O�ŁA�ǂ�Ȋy�������Ƃ������ł��邩�A�ŐV�̊w���v���W�F�N�g�𒆐S�ɏЉ�Ă��������Ǝv���܂��B
�܂��͖k�C������A����ȃ��{�b�g��WiiRemote�ő��삷��v���W�F�N�g�u������IKABO Project�v���Љ�܂��B
����҂̂ЂƂ�A�͂����Ė�����̖����^�L����ɂ��Ɓw�v�}��d�l���̂悤�Ȃ��̂́A�w�����S���S����������̂Ȃ̂ł���܂���x�ƁA�����ς�B���Ƃ��Ƃ͢���{�b�g�t�F�X��C���͂����ģ�s���̉�Ƃ����g�D�����S�ƂȂ��č�����u�ό��p�̋���C�J���{�b�g�v�ŁA�͂����Ė�����w��3�N�������S�ƂȂ��āA�\�t�g�E�F�A�̕������J�����������ł��B���{�b�g�̏ڍׂ�IKABO�����T�C�g(http://ikarobo.com/)�ɋL�ڂ���Ă��܂����A�g��220cm�A�d�ʖ�200kg�A�G�A�V�����_�[�ɂ��A�N�`���G�[�^�[�ŁA��1�{�ɂ�3�̊߁A�����1�̊߂�3�̃G�A�V�����_�[�𓋍ڂ��Ă���A��1�{�ɂ�512�ʂ�̓���̎������Ă��܂��B����2����܂��̂ŁA���킹�Ė�25���ʂ�̓���A����ɖڂ⓪�������܂��̂ŁAWiiRemote���g�����ƂŁA�C�J���{�b�g�Ɠ��̑��l�ȃ|�[�Y�̐ݒ肪�ł���悤�ɂȂ��Ă��܂��B
���̂悤�ȕ��G�ȃ��{�b�g�̑���ł����Ă��u�ǂ�Ȑl�ł��ȒP�ɑ���ł���悤�Ɂv�ƁA�ߋ��Ƀ^�b�`�p�l����p��������c�[�����J�������悤�ł��B���̌�AWiiRemote���������Ɠ��̑���Ƃ��āA�����WiiRemote�������A����҂��r���������ɑΉ����āAIKABO�̑������삳������@�ɒH�蒅���܂����B����ɂ�葀��҂̓����ɍ��킹�����R�ȓ���A���G�ȓ�����j�[�N�ȓ������������邱�Ƃ��ł���悤�ɂȂ��������ł��B
�J���v���b�g�t�H�[����Visual C++ MFC�A�v���P�[�V�����ŁAAPI�́uWiiYourself! - native C++ Wiimote library v0.96b�v���g�p���Ă��܂��BWiiRemote����3�������x+�{�^���̏����擾���A3�������x����3���̌X�����Ƀv���O������ŕϊ����A�C�J���{�b�g�̘r�̓�������߂Ă��܂��B���̏���L���V���A���ʐM(USB)�������̓l�b�g���[�N(DirectPlay)�ŃC�J���{�b�g���@�֓���w����ʐM���A�C�J���{�b�g���ɂ���}�C�R���{�[�g�ɑ��M���Ă��܂��B
���ۂ̑���́A�C�J���{�b�g���ڂ̑O�ɂ���Ȃ�ڂŁA�����Ƃ���ɂ���Ȃ�A����\�t�g�ɑg�ݍ����A���^�C������z�M�ɂ���ăC�J���{�b�g�������Ă���̂����čs�������ł��BWiiRemote�Ŏ����̃��{�b�g�������ƂŁA���[�U�̓������C�J���{�b�g���^���Ă����A�Ƃ����_���y���������ł��B
���ۂɒn���̂��Ղ�ł�����オ���Ă���悤�ŁAYouTube��ő�ϏO�̒��A�N�l�N�l����IKABO�̃A�c����������邱�Ƃ��ł��܂��ihttp://jp.youtube.com/watch?v=4P_alu527SY�j�B
�����āA�ޗǐ�[�Ȋw�Z�p��w�@��w(NAIST)���Ȋw�����Ȃ̊w���`�[���w�T�����l�����x(�猴���E����E������)���A��16�ۊw���RVR�R���e�X�g�iIVRC2008�Ahttp://ivrc.net/�j�Ő��삵���uGlaçon�v(�O���\��)���Љ�܂��B�uGlaçon�v�̓t�����X��Łu�X�E�c�����v���Ӗ����܂����AWiiRemote���g���āw���R�ɓV�䂩�琶����X�����̂����Ƃ��ł���x�Ƃ�����i�ł��B
�`�[����\�̋g�|��コ��ɂ��Ɓu���g���ɂ�莸���䂭�n���̐_�邳�▣�͂��A���f�B�A�A�[�g�I�ȃA�v���[�`�ɂ��\�����邱�Ƃ�ڎw���܂����B�u�[�X�̓V���WiiRemote���g�������C�g�^�f�o�C�X�ŏƂ炷���ƂŁA�V�䂩��c�������L�сA���H�����֓H��Ȃǂ̃C���^���N�V���������܂�܂��B�����l���������ăc�����Ɗւ�荇���ߒ��ɂ����āA���R���ۂ�������A�����Ď������������R�Ɗւ�荇�����ʼn����ł���̂����l���邫�������ƂȂ邱�Ƃ��肢�A���̍�i�͐��삵�܂����v�Ƃ̂��Ƃł��B
�J���v���b�g�t�H�[���́AViualStudio 2005(C++)�ABluesoleil 1.6.1�ŁA�I�[�v���\�[�X�Ȃǂ�API�͎g�p�����AWindows Driver Kit(WDK)�������Č������̃X�^�b�t�ƂƂ��ɊJ�����������ł��B
�C���^���N�V�����Z�p�Ƃ��ẮA���[�U�[���V����w�����Ƃɂ��A�w�����V��̈ʒu���v�Z����_�łȂ��Ȃ�������Ƃ��������Ă��܂��B�d�g�݂Ƃ��ẮA���Ɛ����ȕ���(��)�̃Z���T�ʂɐԊO��LED��4�_�A�����`�̊p�ƂȂ�悤�ɔz�u���A����4�_�̍��W��WiiRemote�Ŏ擾�A�����̈ʒu�W(�����`�̕ό`�̓x����)����Z���T�ʂɑ���WiiRemote�̓��ˊp���摜�������C�u�����uOpenCV�v���g���ċ��߂Ă��邻���ł��B���̊p�x��4�_�̍��W����V��̂ǂ̈ʒu��Wii�����R�����w���Ă��邩�𐄒肵�A�V��̂��𐧌䂷�郂�[�^����]��������A���̌��̔g����������肵�Ă��܂��B
�c�O�Ȃ���R���e�X�g�ł͓����\�I�Ŕs�ނ��Ă��܂��܂������A��i�J���̗l�q��YouTube�Ō��邱�Ƃ��ł��܂�(http://jp.youtube.com/watch?v=waVNvmwKWaM)�B
�������IVRC2008�Ŕ��\���ꂽ��i�A�j�I�C�̐�����ŗV�ԃQ�[���uLa flèche de l'odeur�i���E�t���b�V���E�f�E���h�[�j�v�B�^�C�g������{���Ɓw�j�I�C�̖�x�B�t�����X��Łw�j�I�C�E�_�[�c�x�Ƃ��܂��B����H�ƍ������w�Z�E���⌤�����ɂ��w���H�������H���Ȃ�����L��ω������A���L��p���ă����X�^�[��|���x�Q�[����i�ŁA����w���������Z���T�[��WiiRemote��g�ݍ��킹�ĊJ���������̂ł��B
�`�[�����[�_�[�̋���H�ƍ������w�Z�A���ۃR�~���j�P�[�V�������H�w�Ȋ�{��炳��ɃC���^�r���[�����Ƃ���u�l�ɕs�����⌙������������L�ɒ��ڂ��A���L����͂Ƃ����f�o�C�X�g������^�f�o�C�X�h�y�т�������p�����R���e���c�wLa flèche de l'odeur�x���Ă��܂����B������^�f�o�C�X�̓v���C���[���������ޑ����v�����邱�Ƃɂ���đ��̑����A�����ďL���Z���T��p���Č��L�̗v�f���v�����AWiiRemote��������^�f�o�C�X�̌��������o���Ă��܂��B�Q�[���̒��ł́A�X�N���[���Ɍ���郂���X�^�[���A������^�f�o�C�X�𐁂��Č��ނ��Ă����܂��B�����X�^�[�ɂ͎�_�ƂȂ�j�I�C�������āA�v���C���[�̓v���C���Ɏ��ۂɃ|�e�g�`�b�v��`�[�Y�Ȃǂ̐H�ו������H���Ȃ�����L��ω������ėV�т܂��B��l�����Ƀv���C���āA�����X�^�[�̎�_�ƂȂ��ނ̌��L�̐���������ɑI�ׂA�����X�^�[�����Ɍ��ނ��邱�Ƃ��ł��܂��v�Ƃ������R�����g�����������܂����B
�Q�[���Ƃ��Ă̊����x�͔��ɍ����A����ȃO���t�B�b�N�X�̍Ō�Ɍ���郉�X�{�X�́u�i�������ł䂷���Łj"������"�œ|���v�ƃC���^���N�V�����f�U�C�����G��ł��B�O���t�B�b�N�X��DirectX�ŊJ�����A�ϋq�����A���^�C���œ��捇��������A��@�𐧌䂵����ƁAWiiRemote�̊��p�����łȂ����o�ʂ̋Z�p�I�����x�Ȃ��Ƃ��������Ă��܂��B
�J�����́AWindows Vista�ɁAMicrosoft .Net Framework 2.0�AVisual C#�AMicrosoft XNA�AMicrosoft DirectX August 2007�Ƃ����g�ݍ��킹�ŁAWiiRemote�Ƃ̐ڑ�API�́uWiimoteLib�v���g�p���Ă��܂��B
�R���e�X�g�ł͌����ŏI�I�l�Ɏc��A����3�ʂɂ�����u�e�����s���܁v����܂��܂����B�Ȃ�����WiiRemote�ƏL���Z���T�[���g����������^�̃f�o�C�X�͓����\�����ŁA���f�B�A�A�[�g��i�̓o����ł���NHK-BS�u�f�W�^���X�^�W�A���v�ŏЉ���ȂǍ����]������Ă��܂��B�w��VR�R���e�X�g�̃X�|���T�[�ł�����e�����s�̖��Y�u�e�����L���`�v�̃j�I�C�ɒ��ڂ��ċr���𗁂т���ȂǁA�V���ȓW�J�����҂ł������ł��B��i�̊J����̌��̗l�q������Ō��J����Ă��܂�(http://jp.youtube.com/user/KosakaChannel)�B�Ȃ��A���̍�i�̐�����ďC��������H�ƍ������w�Z�̏��␒�V�搶�ɂ́A�v���O���~���O����҂ŋ��͂��Ă���܂��B
��������w��VR�R���e�X�gIVRC2008���A������w��w�@�̊w���ɂ��WiiFit�u�o�����XWii�{�[�h�v���g�����g���w��i�h�w�l�Ԉ֎q�x���Љ�܂��B���̍�i�͏�H�w�n�����Ȃ̉Ǝ������ɂ��A�]�ː에���̏����w�l�Ԉ֎q�x�ɒ��z���V�X�e���ł��B�w�l�Ԉ֎q�x�Ƃ����Z�ҏ����̃v���b�g�w����֎q�E�l�������̍쐻�����֎q�̒��ɉB��A��ɍ����Ă����l�X�Ȑl�̊��G��S�g�Ŋy���x�Ƃ�������A�܂�A�֎q�̒��ɐl�Ԃ��B��A��ɍ����Ă����l�̊��G���y���ނƂ����̌�����鋰�낵�����Ô��Ȕ��z�ɂ���i�ł��B�V�X�e���͐����֎q�ƈ����֎q��2�̈֎q�ō\������Ă���A�����֎q�ɍ������̌��҂́A�܂�ň����֎q�ɍ����Ă������1�l�̑̌��҂������̑������̏�ɍ����Ă��邩�̂悤�Ȋ��o�邱�Ƃ��ł���Ƃ����v�ł��B
���̉��������_�̍�i�̂ǂ��Ƀo�����XWii�{�[�h���g���Ă��邩�Ƃ����ƁA�����֎q�ɂ�������ʂւ̉d�̎擾�̂��߂ɁA2��̃o�����XWii�{�[�h���p�����Ă��܂��B����ɂ���ē�����d������ɂ��āA�����֎q�Ɏ������ꂽ���[�^�ƃx���g��p�����@�\�ɁA�d��������܂��B�܂������ɁA��������ɂ����ꂽ�p�b�h���̃q�[�^�̔M�ő����������߂邱�ƂŁA�܂�Ŗ{���ɐl������Ă���悤�ȉ������Əd�����Č�����܂��B
��i�̍ő�̓����́A�����w�l�Ԉ֎q�x�̑̌����Č����悤�Ƃ������Ƃɂ���ƌ�����ł��傤�B���̂悤�ȁu�l�ɏ�ɍ�����v�Ƃ����̌�����v�f�𒊏o���A����Ƀo�����XWii�{�[�h�Ƃ����A���肵�č����Ă���l�Ԃ̏�Ԃ��擾�ł���f�o�C�X���g���A2��̈֎q�ɂ���ăV�X�e�����\�z���邱�Ƃɂ���āA���̍�i�͑��ł͖��킦�Ȃ��u��ԓI�E���ԓI�ɗ��ꂽ�l�ɍ�����v�Ƃ������قȑ̌�����Ă��܂��B
�o�����XWii�{�[�h��p�������ɂ��A�d�̎擾������������ɍs�����Ƃ��\�ɂȂ��Ă���A�����֎q�ɍ������̌��҂́A�����֎q�ɍ������̌��҂̓��������A���^�C���Ɋ����邱�Ƃ��ł���B�o�����XWii�{�[�h���̂�4�{�̋r�ɉ����d��Ɨ��Ɏ擾�\�Ȃ��߁A�̌��҂̗����̐K���A�G���Ƃ����v4�̉d���擾����ɂ͍Œ��1��̃{�[�h������悢�̂ł����A�l�X�ȑ̌��҂̑̌^�������ɑ��Ĉ���ɒl���擾���邽�߁A���̃V�X�e���ł�2��̃{�[�h��p���āA1��ɂ��Б��̐K���Ƒ�����2�̉d�l�̎擾���s���Ă��܂��B
���̂悤�ɂ��ē���ꂽ�v4�̉d�l����ɁA�����֎q�ɔz�u���ꂽ4�̃��[�^�ւ̏o�͓d�������肳��A���[�^��p���ăx���g���������A��������ɒu���ꂽ�p�b�h�����ɉ�������Ƃ����V���v���ȍ\���ɂ���āA�̌��҂̑������ɑ��ďd���̒��s���Ă��܂��B
�o�����XWii�{�[�h��p�����d�擾�ɂ́A����������w�̐�y�A���V�����J���Ă���uWiiBoard to PC ver.2.0�v���g�p����Ă��܂��B���̃T���v���v���O�����ɂ���āABluetooth��PC�Ɛڑ����ꂽ�o�����X�{�[�h����A�d�l���擾���邱�Ƃ��ł��܂��ihttp://minamizawa.jp/wii/�j�B
���č�i�w�l�Ԉ֎q�x�̓R���e�X�g�ł͍ŏI�I�l�܂ŏ����c�邱�Ƃ��ł��܂����B��i�̗l�q��IVRC�̌����T�C�g�Ō��邱�Ƃ��ł��܂�(http://ivrc.net/2008/�j�B
���{�̊w���̊��������ł͂���܂���B���E���̊w����WiiRemote���g���ĐV�����C���^���N�e�B�u�Z�p�ݏo���Ă��܂��B�t�����X�����̃����@��(Laval)�ɂ���ENSAM(�����H�|��)Presence��Innovation�������̊w������A�A���N�V�B�E�[���[�O(Alexis Zerroug)�́A�wSoundQuest�x�Ƃ���WiiRemote�̐ԊO���Z���T�[�������ȃ��[�V�����L���v�`���Ƃ��Ďg�����ƂŁw�f����S���g��Ȃ��Q�[���x���J�����܂����B�w���o���g��Ȃ��x�Ƃ����R���Z�v�g�̃e�[�}�p�[�N�̃A�g���N�V�����J���̂��߂̃v���g�^�C�v�ŁA�t�����X�Ŗ��N�J�Â���Ă��郈�[���b�p�ő�̃��@�[�`�������A���e�B�̃C�x���g�uLaval Virtual ReVolution 2008�v�Ŕ��\����܂����BWii�����R����V��ɒ݂�A���[�U�[�͕ʂ�WiiRemote���������ꂽ�����w�b�h�t�H�������܂��B�w�b�h�t�H���̏�ɂ͐ԊO���}�[�J�[���t���Ă���A�V���WiiRemote�Ń��[�U�[�̓������o�ł��郂�[�V�����L���v�`���Ƃ��ė��p���Ă��܂��B3����������Ԃ̒��ɂ��郔�@�[�`�����L�����N�^�[��T���o������A�茳�̃k���`���N�R���g���[���[���g���ăC���^���N�V��������Ƃ������́B
���[�V�����L���v�`���V�X�e���͐l�Ԃ̓����������ɂƂ炦�邱�Ƃ��ł��܂����A���z�ȑ��u�ŁA��������Ɏ��Ԃ�������̂ŁA��ʓI�ɂ͉f�������ЂȂǃv���p�r�ł����g���Ă��܂���B���̃v���W�F�N�g���G��Ȃ̂́A���S���~���郂�[�V�����L���v�`����������WiiRemote������ō���Ă���_�ł��B�V�䂩��݂���WiiRemote�ɂ���āA���ɂ����O�p�ɔz�u�����ԊO��LED�̃}�[�J�[�ɂ���āA���[�U�[�̓��̌��������o���Ă��܂��B�܂�A���Ƀw�b�h�z�������邾���ňʒu����������o�ł���̂ŁA���낢��ȉ��p���ł������ł��B
�J����Virtools�Ƃ����Y�Ɨp���@�[�`�������A���e�B�v���g�^�C�v�J���c�[���ōs���Ă��܂��BVirtools�͂��傤��Flash�̂悤�ȃR���e���c�I�[�T�����O���Ȃ̂ł����A�t����SDK��C++�������ēƎ��̃v���O�C�����J�����A�@�\���g���ł��܂��BWiiRemote�ƒʐM����v���O�C�����J�����āA�ԊO��LED3�_����������Z�o����v���O�C�����J�����Ă��܂��B
���Ȃ݂ɂ��̃V�X�e�����J�������A���N�V�B�E�[���[�O���͕M�҂̃t�����X����̋����q�ł�����܂����A���݁A����ɗ��w���ł��B�J���̗l�q��YouTube�Ō��J����Ă��܂�(http://jp.youtube.com/watch?v=TMK7ULUG7S4)�B
���āA�����܂Ő��E���Ŏ��g�܂�Ă���WiiRemote���������w���v���W�F�N�g���Љ�Ă��܂����B�ǂ̃v���W�F�N�g���A���ɃG�L�T�C�e�B���O�ł��B�܂��Љ����Ȃ������ʔ���������������܂��B���S�҂̓ǎ҂ɂƂ��ẮA���p��ȂǓ���_����������������܂��A��ŏЉ�����X�ɂ͌�ɑ����p�[�g�ʼn����T���v���쐬�ɋ��͂��Ă��������Ă���܂��̂ŁA�{����ǂݐi�߂Ă������ƂŁA�����ꎩ�����g�̃A�C�f�B�A���������邱�Ƃ��ł��邩������܂���B
�������́A�F����̔Ԃł��I
�����ł́AWiiRemote��PC�ŗ��p���邽�߂̎d�g�݂�������܂��B�n�[�h�E�F�A��\�t�g�E�F�A�A���̒��Ԃɂ���~�h���E�F�A�Ȃǂ̒m����������́A�ǂݔ���Ă��������Ă����܂��܂���B
�܂��͎�Ɏg�p����n�[�h�E�F�A��������܂��B
�������g����PC���W����Bluetooth�����Ă���A����ɏЉ��WiiRemote�Ƃ̐ڑ������ɐ�������̂ł���A�V���ɉ������w������K�v�͂���܂���BPC��Bluetooth�z�X�g�A�_�v�^����������Ă��Ȃ��ꍇ�ɂ́APC�p�[�c�X�A�d��X�A�ʔ̓��ōw�����Ă݂Ă��������B��������2,000�~�ギ�炢����USB�^�C�v�̃A�_�v�^������\�ł��BWiiRemote�ƒʐM���s�������̖ړI�ł���A�ŐV�E�����i�ł���K�v�͂���܂���B�������A�e��Bluetooth�X�^�b�N�ɂ���Đڑ��ɕȂ�����̂Œ��ӂ��K�v�ł�(���߂��Q�l�ɂ��Ă�������)�B
����WiiRemote���g�p����̂ł���A�Q�[���V���b�v�ȂǂŒlj��w���\�ł��B�K�v�ł���Z���T�[�o�[���C�V���z�[���y�[�W�ōw���ł��܂����A�T�[�h�p�[�e�B����l�X�ȃZ���T�[�o�[�݊��i����������Ă��܂��B
���āA���̓\�t�g�E�F�A�\���ł��B�uWiiRemote��PC�ŗ��p����v�Ƃ����Ă��AC++��C#�Ȃǂ��g���ăf�B�[�v�ɊJ��������A���ɃR���p�C������Ă���c�[�����g������AFlash�Ȃǂ̊O���̃A�v���P�[�V�����ƘA����������ƁA���낢��ȕ��@������܂��B
���̑w����uWindowsPC�v�A�uBluetooth�X�^�b�N�v�A�uAPI�v�ƁuWin32�v�A�����āu�A�v���P�[�V�����^�c�[���v�ƂȂ��Ă��܂��B���ɍs���قǂ��n�[�h�E�F�A�ɋ߂��A��ɍs���قǂ��A�v���P�[�V�����ɋ߂��\�t�g�E�F�A�ɂȂ�܂��B�\�t�g�E�F�A�p��ŁAOS����w�A�A�v���P�[�V������艺�w�̃\�t�g�E�F�A���u�~�h���E�F�A�v�ƌĂԂ��Ƃ�����܂��BWiiRemote��PC�Ŏg���v���O�����ł́A���̃~�h���E�F�A�����ɑ傫�Ȗ����������܂��B
WindowsPC�v���b�g�t�H�[���ɂ����āA�~�h���E�F�A�����́A�˂��l�߂��Win32�̊��A���DDK(Driver Development Kit)��WDK(Windows Driver Kit�ADDK�Ƀe�X�g�c�[�����������ꂽ)�𗘗p���ăR�[�f�B���O����Ă��܂��B
�{���ł́A��L�̊e��API�𗘗p�����l�X�ȃA�v���P�[�V�����̏��������Љ�܂��B�傫��������ƁAC#.NET��C++���g�����l�X�ȃA�v���P�[�V�����AWiiFlash�Ƃ���Bluetooth-�l�b�g���[�N�Ԃ̃v���N�V���s���\�t�g�E�F�A���g����Flash��ł̗��p�A������WiiFlash�̒ʐM��Processing�ŗ��p������4��ނł��B
������ɂ�Java��Visual Basic�APython���g���ăA�v���P�[�V�����^�c�[�����J�����邱�Ƃ��\�ł����A�{���ł͎�Ƃ��Ĉ����܂���B������WiiRemote���g����ł̊�{�͑��̌���E���ł��ς��܂���B�Q�[����A�[�g��i�ȂǁA�A�C�f�B�A�����������ŁuWindows����Ȃ���_���v�A�uC#/C++�łȂ���_���v�Ƃ������Ƃ͂Ȃ��̂ł��I�F�����ӂƂ��Ă���OpenGL��SDL�ADirectX�AWin32��MFC�A�R�}���h���C���v���O������C++/CLI�AVB�AC#�AJava�AProcessing�A�e��X�N���v�g����A������Flash��MaxMSP�Ƃ������l�X�ȃc�[����R���e���c�N���G�C�V�������ŗ��p���邱�Ƃ��ł��邱�Ƃ�����Ă��܂��B
�ȏ�̂悤�ɁuWiiRemote��PC�ŗ��p����v�ƂЂƂ��ƂŌ����Ă��A���L���A�S�Ă�ԗ�����ɂ̓n�[�h�E�F�A�̒m�����K�v�ɂȂ�܂��B
���ɃO���t�B�b�N�X���S�Ƃ��Ă����Q�[���v���O���}�[�ɂƂ��ẮAAPI��艺�w�̂��Ƃ��l���Ȃ���Ȃ�Ȃ��͏��X�ꂵ�������m��܂���(���傤�Ǐ�̐}��DirectX��艺��GPU(�O���t�B�b�N�v���Z�b�T)�ڃR�[������悤�ȃC���[�W������ł��傤��)�B�������AWiiRemote�o�ꓖ���ɔ�ׂāA�����肵�č��@�\��API���������o�ꂵ�Ă��܂����A�Ȃɂ��C�V�����R���V���[�}�[�v���b�g�t�H�[���Ƃ��ĊJ���������Ă���WiiRemote�́A���Ɉ��肵���n�[�h�E�F�A�ł��B
���������Ӗ��ł�WiiRemote�̓f�o�C�X�E�n�[�h�E�F�A���̃v���O���~���O���w�Ԃɂ͂����Ă��̊��Ƃ�������ł��傤�B���l�̃O���t�B�b�N�X�v���O���}�[����ɂƂ��Ă��A�w�Ԃ��ƁA���p�ł��邱�Ƃ͑�R����͂��ł��B
�uWiiRemote��PC�ŗ��p����͈̂�@�ł́H�v�Ƃ����l�����܂��B�����Ȃ�u��@�v�Ȃ�Č��߂�����ƃh�L���Ƃ��Ă��܂��̂ł����A�[�I�ɕM�҂̌l�I�������q�ׂ�ƁuNo�v�ł��B�����I�ɂ͈�@�ƂȂ�\�������邩������܂��A���{���܂߂����ɂ���Ă͈�@����₤�͓̂���ƍl���܂��B�܂�WiiRemote�̎g�p�ɂ�����A�g�p�҂͉��̌_������Ă��܂���B�C���X�g�[�����Ȃǂ�EULA�i�G���h���[�U�[���C�Z���X�������j��ǂ݁A���ӂ��Ă���킯�ł�����܂���B
��{�I�ɂ́u���[�U�[�̃��X�N�ɂ����āA�T�|�[�g�O�̍s�ׁv�ł���Ƃ����܂��B������s�����ƂŔ�������s���̏�̏C����⑹�Q���������[�U�[���������Ȃ���A���R�ł�(�{�������l�A���̕ۏ�����܂���I)�B�������ɁA�������ɂ���ȏ�̌��������݂���̂ł���A�p�b�P�[�W���J���邱�ƂŐ�������u�V�������N���b�v�_��v�Ȃǂōw���O�ɖ��������ׂ��ł��傤�B
�������Ɩ��I�ɁuWii�v���b�g�t�H�[���ɂ����ăQ�[�����J�����Ă���J���ҁv�͕ʂł��B���̂悤�ȊJ���҂́A���ꂼ��̏��������ƂƔC�V����Q�[���\�t�g�����ۂɔ̔�����p�u���b�V���Ԃɂ����āA���`���_����Ă��܂��B�{�����e�B�A�⎩���̋Z�p�I�����Ŋ������Ă��鐢�E���̃n�b�J�[�Ƃ͖{���I�ɗ��ꂪ�قȂ�܂��B
�{���̓ǎ҂̑����ɊY������ł��낤�A�z�r�[�v���O���}�ɂ����āA�C������ׂ����́u�����I�ȉ��Q�҂ɂȂ�Ȃ����Ɓv�ł͂Ȃ��ł��傤���B�uWiiRemote���Ԃ̉^�]�Ɏg���Ă݂��v�Ȃ�ăE�P�_���Ŏ�������͎̂��ȐӔC�ł����A�������̎Ԃ����̂��N�����āA�l�̖���D�����Ƃ�����c�c�H����Ȃ��ƂɂȂ�Ȃ��悤�ɁA�C�����Ă��������ˁI
WiiRemote���g����PC��̃v���W�F�N�g�̊J��������������ŁA�ł��ǂ��X�^�[�g����@�́w���т̂���Bluetooth���i��I�Ԃ��Ɓx�ł��B�R���V���[�}�[�Q�[���@���Ӌ@��Ƃ͂����A���������͉��̕ۏ��Ȃ����E�ł��B��l�̒m�b�����L���A�s�v�ȘJ�͂�����邽�߂ɂ��A�܂��͈��肵�ē��삷������������܂��傤�B
�����ł͑O�߂ŏЉ�����e������̓I�ɁAWiiRemote��WindowsPC�ŗ��p���邽�߂�Bluetooth�ڑ��ɂ��ĉ�����܂��BBluetooth�ڑ��Ɋւ����́APC���WiiRemote�ł��낢��ȃA�v���P�[�V�������J�������ŁA��ɓ���Y�܂���u���b�N�{�b�N�X�ƂȂ邱�Ƃ������̂Łw�����̊��ł͖��Ȃ��g���Ă����I�x�Ƃ����l�����̃X�e�b�v�ŁA�m���Ƃ��Ēm���Ă������Ƃ������߂��܂��B
���E���̃n�b�J�[�ɂ�郌�|�[�g��ǂ�ł���ƁA�uIVT BlueSoleil(�u���[�\���C��)�vBluetooth�X�^�b�N���h���C�o���ł��悭�g���Ă���悤�ł��BIVT�Ђ̃z�[���y�[�W�ɂ��ƁA1999�N����Bluetooth�\�t�g�E�F�A���i�̊J�������[�h�������Ă���ABlueSoleil��2008�N4���̏��ł�2500�����C�Z���X���̔�����Ă��邻���ł��B���ہABlueSoleil��Bluetooth�z�X�g�A�_�v�^�i�ɂ��Ă�����Ӌ@�탁�[�J�[��OEM�Ƃ��č̗p����Ă��āA�����̐��i�ɂ����āA�w������USB Bluetooth�A�_�v�^�Ƀh���C�o�Ƃ��ē�������Ă��܂�(�ꕔ�@�\����ł̏ꍇ������)�B�������BlueSoleil�̃z�[���y�[�W�ɂ����ăI�����C���w�����邱�Ƃ��ł��܂��B
2009�N�Ɍ��J����Ă��郁�W���[�o�[�W�����́uBlueSoleil 6�v�V���[�Y�ŁA���i��19.95���[���ł��BWiiRemote�Ƃ̐ڑ��ȊO�ɂ��A�g�ѓd�b�Ƃ̐ڑ���C�����X�w�b�h�Z�b�g�Ȃǂɂ����p�ł��܂��̂ŁA�莝����Bluetooth���i���s���ŁA���^�ǂ�BlueSoleil���T�|�[�g���Ă���A�����Ă����͂Ȃ��ł��傤(����WindowsXP����Vista�ɏ�芷�����ꍇ�Ȃ�)�BBlueSoleil�̃z�[���y�[�W����uDownload�v��I�ԂƐ��i�łƓ����\�t�g�E�F�A���_�E�����[�h�ł��܂��̂ŁA���삪�m�F�ł����烉�C�Z���X���w������Ɨǂ��ł��傤�B�ŋ߂ł�Linux�ł�CE�ł���������Ă���悤�ł��B
DELL��Lenovo�Ȃǂ̃m�[�gPC�ɑ�������Ă������Bluetooth�X�^�b�N�Ƃ��āA�悭�g���Ă�����̂́AOEM��������Ă���uTOSHIBA���X�^�b�N�v�ł��BBluesoleil�Ƃ͎�قȂ������������邽�ߒ��ӂ��K�v�ł����A������V���v���ň����₷���AWiiRemote�Ƃ̐ڑ��͉\�Ȃ��̂������悤�ł��B�M�҂������������Ő��X�^�b�N�̖��́u4�ȏ��WiiRemote�Ɠ����ڑ��ł��Ȃ��v�Ƃ����_�ł�(�\�t�g�I�Ȗ��Ȃ̂ŏ����I�ɂ͉������邩������܂����)�B
Windows XP Service Pack 2�ȍ~��Windwos Vista�ɂ́A�R���g���[���p�l���ɁuBluetooth�f�o�C�X�v�Ƃ����A�C�R��������܂��B�������Microsoft����Bluetooth�X�^�b�N�ŁA�Ή����Ă���Bluetooth���i�ƑΉ��h���C�o���C���X�g�[������Ă���Ɠ��삵�܂�(���݂��Ȃ��ꍇ�̓R�����uBluetooth�R���g���[���p�l�����Ȃ��Ƃ��́v���Q��)�B�ߋ��ɂ���Microsoft���X�^�b�N��WiiRemote�Ƃ͑����������ƌ����Ă��܂����BWindows Vista���ɂ����Ă̓y�A�����O�Ɏ��s����A�ڑ��ł��Ă��l�̎擾�Ɏ��s����A�Ƃ����������̕s�������Ă��܂������A�ŋ߂ɂȂ��Đ��i�t���̃h���C�o��WindowsUpdate�Ȃǂ��o�R���đ����̖�肪��������Ă��Ă���悤�ł��B���Ƀy�A�����O�ɃR�c������w�ڑ������S�ɏI������܂Łx1�{�^����2�{�^�����w�������ςȂ��ɂ��邱�Ɓx�ł��܂��ڑ��ł��܂��B���̌��ۂ́AMicrosoft��Bluetooth�X�^�b�N���A�T�[�r�X���PIN(���p�X���[�h)�����߂Ă���ԂɁAWiiRemote�̓������[�h���I�����Ă��܂��Ƃ������Ƃ������̂悤�ł��B���̊Ԃ̈������Ԑꌻ�ۂɑ��āAWiiRemote�́u1,2�{�^��������������v���Ƃœ������[�h���p�����A���ɐڑ����邱�Ƃ��ł��܂��B
WindowsXP Service Pack2�ȍ~��������Windows Vista�����g���̕��ŁA�R���g���[���p�l���ɁuBluetooth�v�̃A�C�R�����Ȃ��ꍇ�ɂ��āAMicrosoft�̃i���b�W�x�[�X�ɂ������̑Ώ����@�����J����Ă��܂��B
�\���Ƃ��ẮuBluetooth�T�|�[�g�T�[�r�X�v���J�n����Ă��Ȃ����A���̃T�[�r�X�����[�J���Ǘ��҃A�J�E���g���g�p����悤�ɁA�\������Ă��Ȃ��Ƃ������Ƃł��B
Windows�L�[�{R�������āu�t�@�C�������w�肵�Ď��s�v�_�C�A���O���g���A�uservices.msc�v�Ɠ��͂��Ǘ��R���\�[��(MMC)�X�i�b�v�C�����J���܂��B[Bluetooth�T�|�[�g�T�[�r�X]����~���Ă���ꍇ�A�_�u���N���b�N���T�[�r�X���J�n�����܂��BBluetooth����Ɏg���̂ł���u�X�^�[�g�A�b�v�̎�ށv���u�����v�ɂ���Ɨǂ��ł��傤�B����Ɂu���O�I���v�^�u���N���b�N���u���[�J���V�X�e���A�J�E���g�v���I������Ă��邱�Ƃ��m�F���Ă��������B�Ō�ɁA�R���s���[�^���ċN�����ē�����m�F���Ă݂Ă��������B
Broadcom�Ђ�Bluetooth�ƊE�ł͑��ł��BWiiRemote�{�̂̒��Ɏg���Ă���Bluetooth�R���g���[���[�`�b�v�͂��Ƃ��A���Ӌ@��Ƃ��Ĕ̔�����Ă���Bluetooth�A�_�v�^��A�ŋ߂�ThinkPad�̓����i�Ȃǂ��܂��܂Ȑ��i��OEM�Ƃ��č̗p����Ă��܂��BMicrosoft���̃X�^�b�N�Ɠ������ꂽ�h���C�o���đg�ݍ��܂�Ă��邱�Ƃ������A���[�U�[�͋C�����Ȃ����Ƃ����邩������܂���B
���͂��āABroadcom�̃X�^�b�N�́uWidcomm�v�Ƃ������i���œW�J����Ă���AWiiRemote�Ƃ͑������ǂ��Ȃ��Ƃ����Ă��܂������A�ŋ߂ł͖��Ȃ��ڑ��ł��鐻�i�������o�ꂵ�Ă��܂��B
�ȉ��͕M�҂����p���Ă���WindowsXP����ThinkPad�ɂ�����R���g���[���p�l���̗�ł��B�u�R���g���[���p�l���v�ɂ́uBluetooth�ݒ�v�Ƃ����A�C�R��������A�u�f�f�v�^�u������ƁuBroadcom Corporation�v�A�u�t�@�[���E�F�A���r�W����Version 2.1.211.299�v�ƕ\������Ă��܂��B
���̃R���g���[���p�l�������^��Bluetooth�Ǘ��\�t�g�E�F�A�́A�^�X�N�g���C�Ȃǂɏ풓����Bluetooth�A�C�R������ڑ�����^�C�v�̑��А��X�^�b�N�Ƃ͈قȂ�A�u�}�C�R���s���[�^�v�́u�}�CBluetooth�v����ڑ�����A�G�N�X�v���[���[�����^�ɂȂ��Ă���Ƃ�������������܂��B
���̑��A��L�ŏЉ�̂Ȃ��X�^�b�N�ɂ��ẮA�����Ă݂������݂̂Ƃ��됬�����Ă��Ȃ��AWiiRemote�Ƃ̃y�A�����O���������Ȃ��A���i�������I�����Ă���A���{�Ŏg�p�ł��Ȃ��ȂǁA�l�X�Ŗ{���ł͎�舵���܂���ł����B�����莝����Bluetooth���i�Ő������Ă�����̂�����AWiiLi.org�Ȃǂŋ��L���������ǂ��ł��傤�B�Ȃ��A�����������f�o�C�X����{�����Ŏg�p���邱�Ƃ͓d�g�@�Ɉᔽ����\��������܂��B�Z�p��K���ؖ����x�����K�v�ł��B
�܂��{���ł̓��C���ň����܂��AWindows�ȊO�̊��ł�MacOS��Linux�ł���r�I�ȒP��WiiRemote�����p�ł��܂��B
MacOS�ł�Bluetooth��OS�̕W���@�\�ŗ��p�ł��A�ڑ��c�[���A�A�v���P�[�V�����ȂǗl�X�ȃ\�t�g�E�F�A���o�ꂵ�Ă��Ă��܂��B�uOSX Wiimote Enabler�v�Ƃ����A�߂��ɂ���WiiRemote�������ăy�A�����O���Ă����\�t�g�E�F�A�Ȃǂ͕֗������ł��B
Linux���ł�Bluetooth�Ƃ̐ڑ��ɓ��ʂȃ\�t�g�E�F�A�͕K�v����܂���B���ɍŋߋ}���Ƀ��[�U���������Ă���f�B�X�g���r���[�V�����uUbuntu�v�ł�Ubuntu7.10(Gutsy)�ȍ~�A�W���I�ȃ\�t�g�E�F�A�ŗ��p�ł���悤�ɂȂ��Ă��Ă��܂��B
���Ƃ��Ƃ�Wii��Linux�������I�Ƃ����v���W�F�N�g�̃|�[�^���ł����A���Ȃ菉���ɗ����オ�������Ƃ�����AWiiRemote�Ɋւ���������������Ă��܂��B������̃y�[�W�ɂ͓���m�F����ꂽBluetooth�f�o�C�X�̃��X�g������܂��Bhttp://www.wiili.org/index.php/Compatible_Bluetooth_Devices�Ȃ��ߋ��ɍ쓮���Ȃ�����Bluetooth�f�o�C�X�ł��A�\�t�g�E�F�A�A�b�v�f�[�g�ɂ��A���삷��\��������Ƃ���Ă��܂��B
���͔C�V����������WiiRemote����ʂ̃��[�U�[�����p���邽�߂̎d�l�����J���Ă��܂��BWii�{�̂�Web�u���E�U�@�\�ł���u�C���^�[�l�b�g�`�����l���v�ɂ�����WiiRemote�ł��B����Ɋւ��Ă̋Z�p�d�l�͔C�V���̃z�[���y�[�W�u�C���^�[�l�b�g�`�����l���̊g���@�\�ɂ��Ēm�肽���v(http://www.nintendo.co.jp/wii/q_and_a/093.html)�Ɍf�ڂ���Ă��܂��B
�Z�p�d�l�ɂ�JavaScript�ɂ��{�^������Z���T�[�o�[���������J�[�\���̈ʒu��X���̎擾���@���L�ڂ���Ă��܂��B�܂��u���p��̒��Ӂv�Ƃ��āu���Ђ́A���̊g���@�\�Ɋւ��āA���̏��i����L���Ă��邱�ƁA����̖ړI�ւ̓K������L���Ă��邱�ƁA��O�҂̒m�I���Y���i�������A���쌠�A���W���j��N�Q���Ă��Ȃ����Ɠ����܂߁A��̖@����̕ۏ��s���܂���B���̊g���@�\���g�p�������Ƃɂ���Ĕ�邢���Ȃ鑹�Q�ɑ��Ă��A���Ђ͐ӔC���܂���B���Ђ́A���̊g���@�\���g�p������ɑ��āA�����Ȃ錠�������t�^������̂ł͂���܂���B���Ђ́A���̊g���@�\�Ɋւ���T�|�[�g�͈�؍s���Ă���܂���v�ƋL�ڂ���Ă��܂��B
�@�I�Ȍ�����̃O���[�̓O���[�̂܂܁A�Ƃ��Ă����ق����ǂ����Ƃ�����܂��B�u�����ɕۏ��܂���A�ӔC���܂���v�ƌ������������A����̃l�b�g�Љ�̕����ɍ����Ă��Č����Ƃ�������������ł��傤�B
������ɂ��挻�݂̂��̐v�̂�������WiiRemote�͊J���ꂽ�v���b�g�t�H�[���Ƃ��ė��p���邱�Ƃ��ł���킯�ł����AWiiRemote�������̃Q�[���R���g���[���[�ȊO�̎g���������邱�ƂŁA���ʂƂ���WiiRemote�P�̂̔���グ�ɂ͋��͂ł��Ă���̂�������܂���B
�����WiiRemote�t�@���ƔC�V���A�J���҂̊ԂɁA�ԐړI�ł͂��邯���Win-Win-Win�̊W���ۂĂ�Ƃ����ł��ˁB
WiiRemote���������v���O���~���O�̍����ɂ���"PC�Ƃ̐ڑ�"�́ABluetooth�X�^�b�N���o�R����HID�N���X�̗��p�ł��邽�߁A�u���b�N�{�b�N�X�I�v�f�������Ȃ��Ă��܂��܂��B������WiiRemote�v���O���~���O���͕s���ȓ����g���u���Ƃ��������ƂɔY�܂��������ɑ�������܂����B���J����Ă���t���[�E�F�A�Ȃǂ��A�v���P�[�V������҂������̊��ŗ��p���Ă���n�[�h���������Ă��炸�A����̊��ł��������Ȃ��c�Ƃ��������Ƃ�����܂����B�ŋ߂ł�Windows XP SP2�ȍ~�̃T�|�[�g����ɂ��A���Ȃ�͉��P����Ă��܂����A����ł��u�m���ɐڑ��������������v�Ƃ������k���悭�܂��B
�M�҂��l�I�Ɉ��p���Ă���̂̓v�����X�g���e�N�m���W�[�Ђ́uPTM-UBT3S�v�ł��B�ƂĂ�������USB�R�l�N�^�T�C�Y��Bluetooth�z�X�g�A�_�v�^�ŁA�d�Ԃ̒��Ńv���O�������������������M�҂�(���E�̏�q��USB���Ԃ��炸)�ƂĂ��d�Ă��܂��B��������Ă���X�^�b�N�͓��Ő��ŁAWindows Vista�ł̓���m�F���Ƃ�Ă��܂��B
���݂�PTM-UBT3S�͔̔��I���Ƃ̂��ƂŁA���݂ł͂��̌�p�Ƃ��āA�����100���[�g���̍ő�ʐM�����ABluetooth Ver2.1+EDR�Ή��́uPTM-UBT5�v����������Ă��܂�(http://www.princeton.co.jp/product/network/ptmubt5.html�j�B������m�F�\��B
�{����Bluetooth���i���ꂼ��ɓ���m�F�����o����Ηǂ��̂ł����A���ׂĂ݂�Ɛ��i�̃p�b�P�[�W�ɂ͓�������Ă���X�^�b�N�̎�ނ܂ł͋L�ڂ���Ă��܂���B�������Ă��A���i�̃o�[�W������r�W�����A�C���X�g�[������鑤��OS�ɂ���đS���قȂ�A�Ƃ����P�[�X������܂��B�����炭��������\�t�g�E�F�A�̃��C�Z���X�������i���i�̑傫�ȕ������߂邩��ł��傤�B
�K���Ȃ��Ƃ�Bluetooth���i�͓��X�A�ቿ�i�����i��ł��܂��B�w���Ɏ��s�����甃�������Ă�����قǒɂ����i�ł͂Ȃ��Ȃ��Ă��܂����B
�\�t�g�E�F�A�̃A�b�v�f�[�g�Ŏg���邱�Ƃ�����܂�����A�܂��́u�Ă�����A�����Ă݂邪�Ղ��v�ł��傤���B
�����ł͑O�߂ŏЉ����������Bluetooth�X�^�b�N���g���āA���ۂ�WiiRemote��PC�ɐڑ�������@���X�e�b�v�o�C�X�e�b�v�ʼn�����Ă����܂��B���łɂ��g����Bluetooth���Ŗ��Ȃ��ڑ��ł��Ă���ǎ҂͓ǂݔ���āA���߂̃c�[���������������ɐi��ł��������Ă����܂��܂��A���߂Ď�������Ƃ���A�V����������Bluetooth�A�_�v�^�𗘗p����ꍇ�́A���Њ֘A�����ނ̉������ǂ��邱�Ƃ������߂��܂��B�h���C�o�t���̃E�B�U�[�h�����ł͂ǂ����Ă��ڑ��ł��Ȃ��u������Ƃ����R�c�v������Ƃ�������܂��B
���݁A������Bluetooth�z�X�g�A�_�v�^��USB�C���^�t�F�[�X�̌`������Ă��܂��B�C���X�g�[���͐��i�t���̃}�j���A����ǂ��ǂ�ōs���Ă��������B��ʓI��USB�������ȂǂƈقȂ�ABluetooth�z�X�g�A�_�v�^�͏��߂đ}������u�O�Ɂv�A�t���\�t�g�E�F�A�̃C���X�g�[����K�v�Ƃ���ꍇ���قƂ�ǂł��B
�����l�����ɁABluetooth�n�[�h�E�F�A��USB�|�[�g�ɑ}�����Ă��܂��ƁA�����Ńh���C�o�[��ݒ肳��Ă��܂����肵�āA�\�t�g�E�F�A�̃Z�b�g�A�b�v�ŋl�܂邱�ƂɂȂ�܂��B�܂��́A���i�ɓ�������Ă���}�j���A������ǂ��܂��傤�B�����̏ꍇ�͂܂��A�\�t�g�E�F�ACD-ROM�̃C���X�g�[���[���g���āA�\�t�g�E�F�A���Z�b�g�A�b�v���邱�ƂɂȂ�͂��ł��B
�܂�Bluetooth�@��̃h���C�o�[�̓T�[�r�X�Ƃ��ăC���X�g�[���������̂������̂ŁA�C���X�g�[����͕K���ċN�����܂��傤�B�܂��C���X�g�[�����̃I�v�V�����ŁABluetooth�w�b�h�z���Ȃǂ̉����W�̃T�[�r�X��A�t�@�C���]���W�̃T�[�r�X��I���ł���ꍇ������܂��B����WiiRemote�����ŗ��p����̂ł���A�����̃T�[�r�X�͑S���K�v�������A�g�p���܂���̂ŁA�lj��C���X�g�[��������A�T�[�r�X�������N������ݒ�ɂ���K�v�͂���܂���(�������⏈���̐ߖ�ɂȂ�܂�)�B
�����ɃC���X�g�[�����I���A�ċN��������A�^�X�N�o�[��f�X�N�g�b�v�A�}�C�R���s���[�^���ɂ���Bluetooth�A�_�v�^�̃A�C�R������ABluetooth�X�^�b�N�̗l�X�ȃT�[�r�X�𗘗p�ł���悤�ɂȂ�܂��B
�����ł͎�y�ɓ���ł���USB�O�t���^�C�v��Bluetooth�A�_�v�^�uPTM-UBT3S�v(�v�����X�g���e�N�m���W�[)���g���āA�X�e�b�v�o�C�X�e�b�v��WiiRemote��PC�̃y�A�����O��������܂��B
�M�҂��w������PTM-UBT3S�ɓ�������Ă����X�^�b�N�͓��Ő��ł����B�^�X�N�o�[�̎��v�̋߂��ɂ���Bluetooth�̃A�C�R�����_�u���N���b�N����ƁuBluetooth�ݒ�v�Ƃ����E�C���h�E���N�����܂��B���j���[�́u�w���v���o�[�W�������v��I�Ԃ��ƂŁuBluetooth Stack for Windows by Toshiba Version v5.10.15�v�Ƃ������o�[�W���������m�F���邱�Ƃ��ł��܂��B
���̓��Ő��X�^�b�N��DELL�̈ꕔ�̋@��ɂ��̗p����Ă���AWiiRemote�o�ꓖ��������肵���ڑ����s���Ă��邱�ƂŗL���ł����B�����AWiiRemote�Ɛڑ����Ă݂܂��傤�B
�S�Ă�Bluetooth�@��́u�y�A�����O�v�Ƃ����ڑ��F���z�X�g���ƘA�g���čs���K�v������܂��B����͗l�X�ȋ@�킪���݂���ߋ��������ʐM�ɂ����āA�K�Ȏ��Ӌ@�킪�A�K�ȃ��[�U�Ɋm�F���ꂽ��ŁA�ڑ�����邱�Ƃ�ۏ��邽�߂ɂ���܂��B�g�ѓd�b�Ȃǂ̋@��́A����ɐڑ������Ɠd�b���̉{����A���M�Ȃǂ������Ă��܂����߁A�ڑ���PIN(�p�X�R�[�h)���K�v�ɂȂ邱�Ƃ������̂ł����AWiiRemote�̏ꍇ�ɂ́A�Q�̖��������̓��̓C���^�t�F�[�X�Ȃ̂ŁAPIN�͐ݒ肳��Ă��܂���B��{�̓z�X�g���ƃ^�C�~���O�����킹�ē����{�^�������������Ńy�A�����O�ł��܂��B
�uBluetooth�̐ݒ�v�̃��j���[����u�V�����ڑ��v���N���b�N����Ɓu�V�����ڑ��̒lj��E�B�U�[�h�v���N�����܂��B�u�G�N�X�v���X���[�h(��������)�v�̂܂��ɂ����߂܂��傤�B
�uBluetooth�@���T���Ă��܂��v�ƕ\�����ꂽ��A��������WiiRemote�́u1�v�{�^���Ɓu2�v�{�^�����ɉ����܂��傤�BWiiRemote�̓d�r�t�^���J�����Ƃ���ɂ���A�Ԃ��uSync�{�^���v�ł����܂��܂���B�v���C���[�C���W�P�[�^(WiiRemote�����ɂ���4�̐FLED)���_�ł��A�O������̐ڑ��v���𐔕b�Ԃ̊ԁA����邱�Ƃ��Ӗ�����u�ڑ��F�ؑ҂��v�̏�ԂɂȂ�܂��B
���Ɂu�g�p����Bluetooth�@���I�����Ă��������v�Ƃ����_�C�A���O���\������A�}�̂悤�Ƀf�o�C�X���̈ꗗ�ɁuNintendo RVL-CNT-01�v������܂��B���ꂪ�\�����ꂽ��N���b�N����WiiRemote��I�����A�u���ցv���N���b�N���Ă��������B
�uBluetooth�@��ɐڑ����Ă��܂��v�Ƃ����_�C�A���O���\�����ꂽ��AWiiRemote���݂āA�FLED���_�ł��Ă��邱�Ƃ��m�F���܂��B�����_�ł��Ă��Ȃ�������A�ēx�u1�v�{�^���Ɓu2�{�^���v���ɉ������ςȂ��ɂ��āA�ڑ��F�ؑ҂��̏�Ԃ�ۂ��Ă��������B
PIN�R�[�h�͕K�v�Ȃ��̂ŁA�����I�ɐڑ������̏�ԂɂȂ�͂��ł��B����Ŗ����ڑ��ł��܂����B�r�����x���u1�v�u2�v�{�^�����������ςȂ��ɂ���Ƃ��낪����܂������AWiiRemote�̗����ɂ���d�r�t�^�����ɂ���uSync�v�{�^���ł��������삪�ł��܂�(�܂����������@�\�ł�)�B
���āAWiiRemote�ɂ͐ߓd�@�\������A���炭�̊ԁA�ʐM��{�^�����삪�Ȃ��ƁA�����I�ɐڑ����I�����A�d���f�̏�ԂɂȂ�܂��B���̐ؒf��Ԃł́ABluetooth�Ǘ��\�t�g�E�F�A�ł̕\���͉��̂悤�ȕ\���ɂȂ�܂��B
���̏�Ԃ́uWiiRemote�͓o�^����Ă��邪�ؒf����Ă���v�Ƃ�����Ԃł��B�_�u���N���b�N����ƁA
�uHID�f�o�C�X�̐ڑ��̏��������Ă���OK�{�^���������Ă��������v�ƕ\������܂��B�����ōēxWiiRemote�́u1�v,�u2�v�{�^�����������āA�ڑ��F�ؑ҂��̏��(4�̐FLED���_��)�ɂ��Ă���AOK�{�^���������Đڑ��ł��܂��B
�Ȃ�������WiiRemote�����݂���\��������ꍇ�A�s�v�Ȑڑ��ݒ�͉E�N���b�N�Ń��j���[��\�����u�폜�v���Ă����Ɨǂ��ł��傤�B���܂��ڑ��ł��Ȃ��Ƃ����A��U�ݒ���폜���āA�ŏ��̃X�e�b�v�����蒼���Ɨǂ��ł��傤�B
�܂��E�N���b�N�̃��j���[����u�ڍׁv��\�����邱�Ƃ��ł��܂��B�����ɂ�WiiRemote�̌̔ԍ��u�f�o�C�X�A�h���X�v�Ȃǂ��\������Ă��܂�(�l�b�g���[�N�J�[�h��MAC�A�h���X�ɑ�������ŗL��ID)�B������WiiRemote�����݂�������ƁA�X��WiiRemote����������ɂ͂��̃f�o�C�X�A�h���X�������ł��B��4���Ȃǂ��V�[���Ȃǂɂ��ē\���Ă����ƍ������Ȃ��ėǂ��ł��傤�B
���ɁA��\�I�ȃm�[�gPC�uThinkPad�v�W������Bluetooth�A�_�v�^�ł̐ڑ�����Љ�܂��B�����ł͕M�҂��g�p���Ă���WindowsXP����ThinkPad X61���ɂ��Ă��܂��B
�u�R���g���[���p�l���v�ɂ́uBluetooth�ݒ�v�Ƃ����A�C�R��������A�u�f�f�v�^�u������ƁuBroadcom Corporation�v�A�u�t�@�[���E�F�A���r�W����Version 2.1.211.299�v�Ƃ���܂����B
�������̒i�K�Ő������\������Ă��Ȃ��ꍇ�ABluetooth�A�_�v�^���̏Ⴕ�Ă��邩�A�����@�\���n�[�h�E�F�A�X�C�b�`��OFF�ɂȂ��Ă���ABIOS�ŗL���ɂ���Ă��Ȃ��A�������́A�f�o�C�X�����݂��Ȃ��Ƃ������\��������܂��B����BIOS��\�t�g�E�F�A�X�C�b�`�ł̖������͌����Ƃ������Ȃ̂ŁA�m�F���Ă݂�Ɨǂ��ł��傤(�����̏�Ԃ�Fn+F5�L�[�Ŋm�F���邱�Ƃ��ł��܂�)�B
���Ɂu�N���C�A���g�A�v���P�[�V�����v�̃^�u���N���b�N���Ă݂܂��傤�B���ꂩ�痘�p����uHID(Human Interface Device)�v�̃Z�L�����e�B�ی삪�u�s�v�v�ɂȂ��Ă��邱�Ƃ��m�F���Ă��������B
�����ɍ쓮���Ă���悤�ł�����A���ۂɐڑ����Ă݂܂��傤�B�u�}�C�R���s���[�^�v�Ɂu�}�CBluetooth�v�Ƃ����A�C�R��������͂��ł��̂ŁA�_�u���N���b�N���ĊJ���Ă��������B�ŏ��͉����\������܂���̂ŁAWiiRemote�́u1�v�Ɓu2�v�̃{�^���������āA�����\��Ԃɂ�����ԂŁu�͈͓��̃f�o�C�X�̌����v�����s���Ă݂Ă��������B
�߂���WiiRemote��g�ѓd�b�Ȃǃy�A�����O�\�ȃf�o�C�X�����݂���ƃA�C�R�����\������܂��B���̃A�C�R���Ƀ}�E�X�|�C���^���߂Â�����A�v���p�e�B������ƃf�o�C�X�A�h���X�����邱�Ƃ��ł��܂��B
���āA�����ł��A���̃A�C�R�����_�u���N���b�N���āu�f�o�C�X�̐ڑ��v�����s���Ă��܂������Ȃ̂ł����A���̕��@�ł͉i����WiiRemote�Ƃ̃y�A�����O���������邱�Ƃ͂ł��܂���B���̗���ł����ƁA�y�A�����O�̂��߂�PIN�R�[�h��K�{�Ƃ��ėv�������̂ł����AWiiRemote�ɂ́u�̃p�X���[�h�v���ݒ肳��Ă��邽�߁A�̃p�X���[�h���t���Ȃ����̃X�^�b�N�ł͔F���ł��Ȃ��̂ł��B����͂����炭Broadcom�̃X�^�b�N�ɂ�����o�O���d�l�~�X�Ȃ̂ł����A������Ƃ����R�c�Őڑ�������@������܂��B
�܂��A��x�A�������ʂ̌X�̃f�o�C�X�A�C�R���ł͂Ȃ��������N���b�N���Ă��������B����ƍ����̃^�X�N�̈ꗗ�ɁuBluetooth�f�o�C�X�̒lj��v�Ƃ����^�X�N������܂��B������N���b�N����ƁuBluetooth�Z�b�g�A�b�v�E�B�U�[�h�v���N�����܂��B
�������J�n���AWiiRemote�����ꂽ�炻�̃A�C�R�����N���b�N���āu���ցv�̃{�^���������܂��B��������WiiRemote�́u1�v�Ɓu2�v�̃{�^�����������ςȂ��ɂ��Ďw���͂Ȃ��Ȃ��ł��������B
PIN��v�������ʂ��\������܂����AWiiRemote�̃{�^����Ў�ʼn������܂܁u�X�L�b�v�v���N���b�N���܂��B���̂܂�3�b�قǑ҂��Ă݂Ă��������B
����ƁA�G���[��ʂ͕\�����ꂸ�A�����AWiiRemote��HID�T�[�r�X��I�������ʂ��\������܂��B�`�F�b�N�{�b�N�X��ON�ɂ��āu�����v���Ă��������B
���̗���Ŗ���Broadcom�Ђ̃X�^�b�N�����p�ł���悤�ɂȂ�܂��BPIN���v��������ʂŁu1�v+�u2�v�{�^�����������ςȂ��ɂ��Ă����̂��|�C���g�ł��B�Đڑ��̏ꍇ�������菇�Őڑ��ł��܂����A��x�y�A�����O�ɐ������Ă���A�}�C�R���s���[�^���̃}�CBluetooth�A�C�R������A�ڑ�������WiiRemote�̃A�C�R�����N���b�N���āu�I������Bluetooth�f�o�C�X�̒lj��v�Ƃ��āA�u1�v�Ɓu2�v�{�^�����������ςȂ��ɂ��Ă����A�Z���X�e�b�v�ōĐڑ��ł��܂��B
�Ȃ��A���̌�u�}�CBluetooth�v�E�B���h�E�ɂ͉����\������܂��A�u�͈͓��̃f�o�C�X�̕\���v�Ƃ���Bluetooth�^�X�N���N���b�N���Ă݂Ă��������B�u�}�CBluetooth\Bluetooth Neighborhood�S�́v�Ƃ����ꏊ�ɂ̓����N��Ԃ������u�����v���t�����ꂽWiiRemote�̃A�C�R�����\������Ă���͂��ł��B�ؒf����ꍇ�̓f�o�C�X�̃A�C�R�����N���b�N���āu�������v��I��ł��������B�Đڑ��́A�f�o�C�X�̃A�C�R�����N���b�N����Bluetooth�^�X�N����u�I������Bluetooth�f�o�C�X�̒lj��v��I�ԂƁA�E�B�U�[�h���ēx�N�����܂��B��L�̎菇�Ɠ������A�u1�v,�u2�v�{�^�����������ςȂ��ɂ��āA�u�X�L�b�v�v��I��A���̂܂܃{�^��������������HID�T�[�r�X���\�������܂�3�b�قǑ҂̂�Y��Ȃ��悤�ɂ��Ă��������B
�ȏ�ŁAThinkPad�ɓ��ڂ���Ă���Broadcom�Ђ̃G�N�X�v���[���[�����^�̃X�^�b�N�ɂ�����ڑ����@�̉�����I���܂��B���N�̎��тƌ��S���Ől�C��ThinkPad�ł����A�M�҂̎g�p���Ă�����͂��������Â��̂�������܂���B�V�X�e���̃f�o�C�X�}�l�[�W���[����Bluetooth�f�o�C�X�����̃h���C�o�̃v���p�e�B������ƁA���[�J�[�͊m����Broadcom�ł����A���t���u2006/12/19�v�A�o�[�W�������u5.1.0.2900�v�ƂȂ��Ă���܂��B
Broadcom�Ђ�Bluetooth�ƊE�ł͑��ŁAWiiRemote�{�̂ɂ����̃`�b�v�����ڂ���Ă��܂��B�܂�Broadcom����������h���C�o�\�t�g�E�F�A�͎��Ӌ@��Ƃ��Ĕ̔�����Ă���Bluetooth�A�_�v�^��A�����̃m�[�gPC�ɍ̗p����A�h���C�o�̃o�[�W���������X�i�����Ă���AWiiRemote�o�ꓖ���ɔ�ׂāA���w�̃h���C�o�ɂ͉��̕s�����Ȃ��̂ł����A�Ƃ�����|���̕\����GUI�̓���ňӖ��s���ȂƂ��������܂�(��������WiiRemote��ڑ�����e�X�g���h���C�o�J���҂��W���I�ɍs���Ă���Ƃ��v���܂���...)�B���̂Ƃ���HID�T�[�r�X�������܂Łw1+2���������ςȂ��ɂ��Ȃ��ƃ^�C���A�E�g����x�Ƃ����e�N�j�b�N�͋��ʂ̂悤�ł��B�M�҂��̌������ʔ���Bloadcom�X�^�b�N�̌o���Ƃ��ẮA�f�o�C�X�̗��ɕ����������N�����A�{�^�����\�����ꂸ�A�������ėǂ��̂��킩��Ȃ��A�Ƃ������i������܂����B����Ȏ��́uAlt+C�v��uAlt+S�v�A�uAlt+N�v�Ȃǁu�X�L�b�v�v��u���ցv�ɂ�����V���[�g�J�b�g�������Ă݂�Ƃ悢�ł��傤�B
�����āA�ŋߘb��̃l�b�g�u�b�N�̑�\�Ƃ�������ASUS�А��uEeePC 901�v�ł̃y�A�����O���Љ�܂��B��������Ă���Bluetooth�A�_�v�^��ThinkPad�̗�Ɠ�����Broadcom�Ђł����A�o�[�W�������قȂ�A���Windows�̃G�N�X�v���[���[�ɓ�������Ă��܂��B�ڑ��͂ł���̂ł����A������Ƃ����R�c������܂��̂ŁA�����ݒ肩�������܂��B
�܂��́A���߂�Bluetooth�Őڑ�����ꍇ�A�R���g���[���p�l���́u�V�X�e���v����u�f�o�C�X�}�l�[�W���v���N�����A�ǂ̂悤��Bluetooth�f�o�C�X���C���X�g�[������Ă���̂��m�F���Ă����Ɨǂ��ł��傤�B
���āA����PC�ŏ��߂�Bluetooth���g�p����ꍇ�A�����ݒ肪�K�v�ɂȂ�܂��B�R���g���[���p�l���́uBluetooth�ݒ�v���_�u���N���b�N����ƁA�����ݒ�̂��߂̃E�B�U�[�h���N�����܂��B
�uWIDCOMM Bluetooth Software 5.1.0.5500�v�Ə������\������Ă��܂����A�܂��͂���PC��Bluetooth�z�X�g�Ƃ��Ă̖��O�ƃR���s���[�^�̎�ނ�ݒ肵�܂��B�����ł́uEee�v�Ƃ������O�́u���b�v�g�b�v�v�Ƃ��܂����B�����ăT�[�r�X�̐ݒ�ɓ���܂��B
�����ł�WiiRemote�s�̐ڑ��ɕK�v�ȃT�[�r�X�͂���܂���̂ŁA�S�Ẵ`�F�b�N���O������ԂŁu���ցv�i�݂܂��B�T�[�r�X�͌�ł��R���g���[���p�l���uBluetooth�̐ݒ�v����u���[�J���T�[�r�X�v�Őݒ肷�邱�Ƃ��ł��܂��̂ŐS�z�͗v��܂���B
�����A�����ݒ�͏I����Ă��܂��B�E�B�U�[�h�͂��̂܂ܑ����ăf�o�C�X�Ƃ̐ڑ����s�����Ƃ��ł��܂��BWiiRemote���������āu���ցv�i�݂܂��BWiiRemote�́u1�v�{�^���u2�v�{�^�����������āA�ڑ��ҋ@���[�h(�FLED4���_��)�̏�Ԃɂ��܂�(1+2�{�^������͎�𗣂��Ȃ��ق����ǂ��ł��傤)�B�^�C�~���O������Ȃ��Ƃ��̓E�B�U�[�h�́u�Č����v�������Ă݂܂��傤�B
�}�E�X�ƃL�[�{�[�h�̃A�C�R���Ƌ��ɁuNintendo RVL-CNT-01�v���������ꂽ��A���₭�N���b�N���āu���ցv�������܂��B���̂Ƃ��A���u1�v+�u2�v�{�^�������𗣂��Ă��܂����Ƃ������̂ŋC�����Ă��������B
�������班���f����������K�v������܂��B�_�C�A���O���\������y�A�����O�ɓ���܂��B�u�������g�ݍ��킹�v�ƕ\������Ă��܂����A����PIN�������Ȃ�WiiRemote�Ƃ͂��̗���ł͐ڑ��ł��܂���B�����ł́u�X�L�b�v�v��I�����܂��B����Ƃ��炭�����\������Ȃ��̂ŁA�u1�v+�u2�v�{�^�����������ςȂ��ɂ��Ă��Ă��������B
������WiiRemote�̃T�[�r�X�ɐ�������ƁA�}�̂悤�ɁuNintendo RVL-CNT-01�FBluetooth�Ή��}�E�X�A�L�[�{�[�h�A���̑��̃C���^�t�F�[�X�f�o�C�X���g�p���܂��B�v�ƕ\������܂��B�u1�v+�u2�v�{�^���������Ă�̂ő�ς�������܂��A�`�F�b�N���āu���ցv�������܂��傤�B
���āA����Ŗ����ڑ������ł��BWiiRemote�̃{�^�������𗣂��Ă����v�ł��B�u�}�CBluetooth\Bluetooth Neighbourhood�S�́v�Ƃ����E�B���h�E��WiiRemote��\���uNintendo RVL-CNT-01�v���\������Ă���͂��ł��B
�_�u���N���b�N����ƁA�X�e�[�^�X�\���ł��܂��B�X�e�[�^�X�ɂ͐M�����x��A�N�e�B�r�e�B���\������܂��BWiiRemote�̃{�^���������Ǝ�M�f�[�^��������l�q�����鎖���ł��܂��B�Ȃ����̃X�^�b�N�̂悤��MAC�A�h���X�����邱�Ƃ͂ł��Ȃ��悤�ł��B
�E�N���b�N�Łu�������v��I�ԂƐؒf��ԂɂȂ�܂��B�ēx�ڑ�����Ƃ��́u�}�C�R���s���[�^�v�́u�}�CBluetooth�v����uBluetooth�f�o�C�X�̒lj��v�Ƃ����E�B�U�[�h�`���̂��̂�I��ł��������B�uBluetooth�f�o�C�X�̌����v��uBluetooth Neighborhood�S�́v��I��ł��ǂ������Ȃ��̂Ȃ̂ł����A�y�A�����O�́u�X�L�b�v�v�Ƀo�O������悤�ŁA��ɐi�ނ��Ƃ��ł��܂���B
�Đڑ��ł����Ă��u�f�o�C�X�̒lj��v�E�B�U�[�h��I�ԁA�Ƃ����_�ɂ����C�����Ă��������B�ڑ��̗��ꎩ�͍̂Đڑ��ł��S���ς��܂���B�u1�v+�u2�v�{�^�����������ςȂ��ɂ���̂�Y�ꂸ�ɁB�ڑ�����Ă���ꍇ�́uBluetooth Neighborhood�S�́v�ɕ\������܂��B
���āA������Bluetooth�ڑ��̗��ꂪ�����ł��܂����ł��傤���H�Ō�ɏЉ��ThinkPad��EeePC�̗��Broadcom�Ђ̃X�^�b�N�ɂ�����o�O�̂悤�Ȃ��̂�����A�y�A�����O�Ɂu�{�^���������ςȂ��v��u�Đڑ������E�B�U�[�h�v�Ȃǂ̃R�c���K�v�ł������A��x�o���Ă��܂��Γ�Ȃ����p�ł��܂��B���Ƀl�b�g�u�b�N�ł�Visual Studio���g�����J���Ȃǂ͂��܂茻���I�ł͂���܂��A�W����Bluetooth�A�_�v�^��������Ă���̂ŁA�W����v���W�F�N�g�Ȃǂł͕֗��Ɏg���邱�Ƃ�����ł��傤(���������ł��I)�B
�����ŏЉ��Bluetooth�ڑ������܂������Ȃ��������́A�ł�����̃X�e�b�v�Ŏg�������Ȃ��̂B���Ă������Ƃ������߂��܂��B������Bluetooth�ڑ��ɐ��������l�́A���̂܂��̐߂̎����ɐi��ł��������B
BlueSoleil�́AWiiRemote�o�ꓖ���͉��Ăōł�������т̂���X�^�b�N�ł����B��p�̐ڑ��A�v���P�[�V�����������I�ŁA���ɓ�Ȃ��ڑ��ł���̂ʼn���͂������܂���B
�܂�Windows Vista�ɂ����āA�ꎞ���AWiiRemote���ڑ��ł����A������߂Ă����l�����邩������܂��ASP1�ȍ~���瓮�삷�邱�Ƃ�����Ă��܂��̂ŁA������߂��Ɏ����Ă݂�Ƃ悢�ł��傤�B
���Ȃ݂�MacOS��Ubuntu�Ȃǂ�Linux�ł�OS�̕W���̋@�\�����Ŗ��Ȃ��ڑ��ł��܂��B
WiinRemote��2006�N12��2���AWii�{�̂��������ꂽ���̓��Ɍ��J����A���E�ł����Ƃ��L���ɂȂ���WiiRemote��PC�ŗ��p�ł���t���[�E�F�A�ł��Btokkyo����ɂ���ĊJ������u���Ȃ����������v(http://onakasuita.org/wii/)�ɂČ��J����Ă��܂��BWiiRemote���g����Windows�̃J�[�\����������A�����x�Z���T��ԊO���Z���T�̏�Ԃ��ώ@���邱�Ƃ��ł��܂��B
2007�N1��13���Ɍ��J���ꂽ�uWiinRemote_v2007.1.13.zip�v�����݂̂Ƃ���ŏI�łŁABorland Delphi 6�ɂ��\�[�X�R�[�h�����J����Ă��܂��B�ł��������J����A�\�[�X�R�[�h���v�����Ă��邾���łȂ��A�c�[���Ƃ��Ă��l�X�ȋ@�\�����肵�ė��p�ł���̂ŁA���݂ł������̃��[�U�ɗ��p����Ă��܂��B
WiinRemote�́u���Ȃ����������v(http://onakasuita.org/wii/)�ɂĖ����Ŕz�z����Ă��܂��B�u--�_�E�����[�h�v�̍ł��V�����o�[�W�����uWiinRemote_v2007.1.13.zip�v���N���b�N���ă_�E�����[�h���܂��B�_�E�����[�h�����t�@�C�����𓀂��܂��B�ꏊ�͂ǂ��ł��ǂ��A�C���X�g�[���͕s�v�ł��B���Ƃ́uWiinRemote.exe�v�����s���邾���ł��B
�O�߂Ŗ�����WiiRemote��Bluetooth�ڑ��ڑ��ł��Ă���A�X�N���[���V���b�g�̂悤�ɉ����x�̒l�������O���t���\������܂��BWiiRemote���u���u���ƐU���āA�������ω����邱�Ƃ��m�F���܂��傤�B
WiinRemote�ɂ͗l�X�ȋ@�\������܂��BWiiRemote�̊�{�I�ȓ��͏����m�F���邾���łȂ��A�}�E�X�̑���Ƃ��Ă�����x�̑��삪�ł���悤�ɂȂ��Ă��܂��B�܂��A���낢�뎎���O�ɁuCtrl+S�v(�R���g���[���L�[�������Ȃ���uS�v)�ŁA�}�E�X���͋@�\��On/Off��芷������̂��o���Ă����ƍQ�ĂȂ��ōς݂܂��B
������WiiRemote�̎ʐ^���A���݂̉�����Ă���{�^����\�����Ă��܂��B�{�^�����������Ɣ��s���N�ŕ\������܂��B
�uMotion Sensor�v�ƕ\������Ă���G���A�������x�Z���T�[�̃��A���^�C���̒l�ł��BBlue,Red,Green�����ꂼ��WiiRemote��X,Y,Z���Ɋ��蓖�Ă��Ă��܂��B���̃Z�N�V�����ł͂�����g���Ă�����Ƃ��������̎������s���܂��B�uMotion Sensor�v�̉E���ɕ\������Ă��鍕�������A���肳�ꂽWiiRemote�́u�p���v��\���Ă��܂��B
�uIR Sensor�v�ł́A�ԊO���Z���T�[���擾�������W�l��\�����Ă��܂��B���茳�ɏ����̃Z���T�[�o�[���Ȃ��Ă��AWiiRemote���g���Ď����T���Ă݂Ă��������B�����������镨�����邩������܂���B�g�߂ȕ��ł͗Ⴆ�A���z�┒�M�d���Ȃǂ��ԊO�����Ă��܂��B
�k���`���N�R���g���[���[���ڑ�����Ă���ꍇ�uNunchuk�v�̃G���A�ɉ����x�Z���T�[�ƃA�i���O�X�e�B�b�N�̒l���\������܂��B
���j���[�́uOptions�v�ŁuPreferences�v��������Ctrl+P�ŁA�ݒ��ʂ��\������܂��B
������A�uGeneral�v�́uCursor�v�ŁA�J�[�\�����[�h���̃}�E�X�|�C���^�����ő��삷�邩��I�ׂ܂��B�f�t�H���g�͉����x�Z���T�[�ɂ��X���ł��B�Z���T�[�o�[���g��Ȃ��Ă��悢�̂ł����A����͂��܂葀�삵�₷�����̂ł͂���܂���B�ԊO���ő��삷��uIR Sensor�v�������̓k���`���N�̃A�i���O�X�e�B�b�N�ő��삷��uNunchuk Analog Stick�v�����Ў����Ă݂Ă��������B���̑��̃`�F�b�N�{�b�N�X�̋@�\�͈ȉ��̒ʂ�ł��B
���� | �Ӗ� |
---|---|
Enable Cursor at Startup | �J�[�\�����[�h���N��������g�p |
Minimize at Startup | �N�����ɍŏ��� |
Draw Graph | �O���t��`�� |
Rumble on Edge | �}�E�X�J�[�\������ʒ[�ɗ����Ƃ��Ƀo�C�u���[�^��U�� |
�uMotion Sensor�v���ڂ́A�����x�Z���T�[�Ń}�E�X�𑀍삷��Ƃ��ɕK�v�ɂȂ�p�����[�^�[�ł��B
���� | �Ӗ� |
---|---|
Motion sensor threshold | �����x�Z���T�[�̔����Ȓl���ǂ��܂Ŗ������邩 |
Invert Horizontal | �����������t�] |
Invert Vertical | ���������] |
Cursor Speed | �J�[�\���ړ����x�̍ő��ƍŏ�(���ɂ���ƒx��) |
When button pressed | B�{�^����������Ă���Ƃ��J�[�\���𑬂�/�x����I�� |
Re-Calibrate on Cursor On/Off | �J�[�\�����[�h�̐�ւ����ɃL�����u���[�V���������s |
�uButton Assign�v�ł́AWiiRemote�̊e�{�^���ɋ@�\�����蓖�Ă��܂��B�V���v���ł����Ȃ��Ȃ����͂ȋ@�\�ŁA�Ⴆ��Button���uHOME�v�AAssign���uKeys�v�ɂ��āA�uKeys�v�ɂ���uPress Keys Here�v���N���b�N���āuAlt�v�L�[�������Ă���uF4�v�L�[�������Ă݂܂��傤�B���̉��ɁuAlt+F4�v�ƕ\�����ꂽ��uSet�v�������܂�(�Ō�ɁuApply�v�L�[�������Đݒ�ۑ�)�B�����HOME�L�[����������A���̃E�B���h�E�����@�\���ł��܂����B�����悤�Ȏ菇�Łu�{�v�u�|�v�L�[�ɉ��ʂ����蓖�Ă���A�u1�v�u2�v�L�[�ɍD���ȃA�v���P�[�V���������蓖�Ă邱�Ƃ��ł��܂�(�uExecute�v�Ŏ��s�t�@�C����I��ł���uSet�v����̂�Y�ꂸ��)�B
�uIR Sensor�v�ł́u�ԊO���������Ȃ��Ƃ��͉����x�Z���T�[���g���v�Ƃ����`�F�b�N�{�b�N�X�ƁALED�����E�̊O�ɏo���ꍇ�̈��萫�����邽�߂́u�����������̒����g��\��(��������)�v������܂��B
�uNunchuk�v�ł̓A�i���O�X�e�B�b�N���J�[�\�����[�h�Ŏg�p�����ꍇ�̑��x�ƁA�㉺���E�����̋t�]�p�`�F�b�N�{�b�N�X������܂��B
���āA�����قǏЉ���uMotion Sensor�v�ł́A�����x�̃��A���^�C���l��3�F{X,Y,Z}��{��,��,��}�ŕ\�����Ă��܂��BWiiRemote��X,Y,Z���Ƃ͂��ꂼ��A�{�^���̕t���Ă���ʂ����̏�ɒu�����Ƃ��āA���ʂ̃{�^�����t���Ă��Ȃ�������X�A�ԊO���Z���T�[���t���Ă��������Y�A�{�^���ʂ̏㉺������Z�ƂȂ�܂��B
�����āA�悭�݂�ƁA3�̐F�̐��͂����������x���ɂ͂���܂���B�{�^���ʂ���ɂ��Ă��鎞�͗����ɔ�ׂď����Ⴍ�A�E�������ɂ��邩�����ʼn��ɐQ������Ɛ��Ⴍ�A�����ĐԊO���Z���T�[���������ɂ��ė�������ƁA�Ԃ��Ⴍ�Ȃ�܂��B
����͂����������ł��傤�H�����ł��I���ꂪ�n����̑S�Ă̕����ɓ����w���L���́x�ł��B���i�͒��ډ�X�̖ڂɌ����Ȃ��d�͉����x���A�e���̉������ɓ��������x�Ƃ��Ċώ@�ł��Ă���Ƃ����܂��B������O�̂��ƂȂ̂ł����A������Ƃ������������킦�܂��H����𗘗p���邱�ƂŁAWiiRemote�̌X�������o�ł��܂��B�����x�Z���T�[�O���t�̉E���ł͂��̂悤�ɂ��Ďp���𐄒肵�Ă���悤�ł��B�������A�C�����Ȃ���Ȃ�܂���A���ɂ͐l�Ԃ�WiiRemote�������U��Ƃ��ɂ͏d�͂����傫�Ȓl����͂��邱�ƂɂȂ�܂��B����ȂƂ��A���̎p������͂ǂ�ȗl�q�ɂȂ邩�A�ώ@���Ă݂Ă��������B
���āA�V���v���Ńp���t���ȁuWiinRemote�v�ł����A���p�I�Ɏg�����߂ɁA�����ݒ肵�Ă݂܂��傤�B�����ł̓v���[���e�[�V�����\�t�g�uPowerPoint�v�ł̗��p��z�肵�Ă݂܂��B
�܂��́uHOME�v�{�^���Ńp���[�|�C���g���N���ł���悤�ɂ��܂��傤�BCtrl+P�Őݒ��ʂ�\�������āuButton Assign�v�́uButton�v��I��ŁuHome�v�ɕύX�A�����Ă������́uAssign�v���uExecute�v�ɕύX���܂��B����ɉ���Execute�ɁuC:\Program Files\Microsoft Office\OFFICE11\POWERPNT.EXE�v���t�@�C���u���E�U�Ȃǂ��g���Đݒ肵�A�Ō�ɁuSet�v�������܂��B�uApply�v�������āA��������ݒ��ʂ���āAHOME�{�^������������p���[�|�C���g���\�������̂��m�F���܂��傤�B�\�����ꂽ��A�D���ȃv���[���e�[�V�����t�@�C�����J���Ă����Ƃ悢�ł��傤�B
�����v�̂ŁA�ȉ��̂悤�Ɋ��蓖�ĂĂ݂Ă��������B
Button | Assign | �@�\ |
---|---|---|
Up | Up | �X���C�h�߂�(�ύX�Ȃ�) |
Down | Down | �X���C�h����(�ύX�Ȃ�) |
Right | Keys [PgDn] | �y�[�W���� |
Left | Keys [PgUp] | �y�[�W�����߂� |
A | Mouse->Left Click | �}�E�X�N���b�N(�ύX�Ȃ�) |
B | Cursor On/Off��Speed | �J�[�\�����[�h�����x�ؑ�(�ύX�Ȃ�) |
Plus | Mixer->Volume Up | �Đ����ʃA�b�v |
Minux | Mixer->Volume Down | �r�f�I���̍Đ����ʃ_�E�� |
1 | Keys [Esc] | �����Ƃ����Ƃ��̂��߂̏I�� |
2 | Keys [F5] | �v���[���e�[�V������ |
�ǂ��ł��傤�H������PowerPoint���A���J�b�R�悭����ł���悤�ɂȂ�܂����B���̉��p�ŁA���Ƀv���O�����������Ȃ��Ă��A�l�X�ȃA�v���P�[�V�����p��WiiRemote���g����悤�ɃJ�X�^�}�C�Y���邱�Ƃ��ł��܂��B
�����ł̓t���[�E�F�A�uWiinRemote�v���g���āAWiiRemote�̐ڑ���̓���m�F�ƁAPowerPoint��WiiRemote�ő��삷�邽�߂̐ݒ��������܂����BWiinRemote�̓V���v���ł����A�X�^�[�g�������������Ƃő����̐l�X�Ɏx�����A�l�X�ȃX�^�b�N�ň��蓮�삷�邱�Ƃ������ł��B�C���X�g�[�����s�v�ŁA�T�C�Y���������̂ŁA�����Ƃ����Ƃ��̓���m�F�̂��߂Ɏ��������Ă����ƕ֗��ł��B
���̂悤��WiinRemote�͗l�X�ȃA�v���P�[�V�����ɍ��킹�āAGUI�����Ń{�^���̊��蓖�ĂȂǂ�ݒ肷�邱�Ƃ��ł��֗��ł����A���̌ŗL�̐ݒ��ۑ����Ă��Ƃœǂݍ���A�芷�����肷�邱�Ƃɂ͌����Ă��܂���B�܂��W���C�X�e�B�b�N�̑���̐M�����o�����Ƃ��c�O�Ȃ���ł��܂���B���̂悤�ȗp�r�ɂ͎��߂ʼn������uGlovePIE�v���K���Ă���ł��傤�B
�u�L�����u���[�V�����v�Ƃ́A�f�o�C�X�n����ł͂悭�o�Ă���p��ł��B�Z���T�[�⑪���ȂǁA����M���̓��͂Ƒ���̑ΏۂƁA�o�͂����l�Ƃ̊W���A�Č����̂����ɍ��킹�Č���t�����Ƃł��B�f�o�C�X����n�̃v���O���~���O�ł́A�f�o�C�X�́u���̒l�v(raw data)���A�g�p�ł���f�[�^�ɕϊ����邽�߂̑���Ƃ������܂��B
���̕ϊ��͗p�r������ɂ�肳�܂��܂ȕϊ������{����܂��B�����l�⌴�_���Z�b�g����������̂���A�r���Ȑ��Ƃ������Ȑ��𗘗p������@�A����l�悾���𗘗p����o���h�p�X�t�B���^��g�ݍ��킹�����@�ȂǁA���̒������@�ɂ��Ă͂��܂��܂ł��B
�Ȃ��̂́u�r���v�Ƃ��W�L����Ă��܂������A�ߔN�ł͌v�ʖ@�Łu�Z���v�ƕ\�L����Ă���A�����ɂ́u�Z���v�̊T�O�ɂ́u�����v���܂܂�Ȃ������ł��B����čŋ߂ł́u�L�����u���[�V�����v�̂܂܃J�^�J�i�|��鎖�������悤�ł��B
���[�U�[�C���^�[�t�F�[�X�ȂǂŃL�����u���[�V��������A�Ƃ������ꍇ�͂����Ă����_�̃��Z�b�g�Ȃǂ��s���āA��������ɂ���A�Ƃ����s���ł��邱�Ƃ������ł��B�Ⴆ�^�u���b�gPC�Ȃǂ̃^�b�`�p�l�������߂Ďg���Ƃ���ʂɕ\�����ꂽ�u�{�v���N���b�N���Ă��������A�Ƃ������b�Z�[�W������o�邱�Ƃ�����܂����A�����ł�4�_�̕\����̈ʒu�ƁA�^�b�`�p�l���f�o�C�X���瑗���Ă���M����K�������邽�߂́u�L�����u���[�V�����v���s���Ă��܂��B
WiiRemote�͌v���@��ł͂Ȃ��A�Q�[���p�̃C���^�[�t�F�C�X�ł�����A���ʂ�d�͂̍Č����͂����������Ƃ߂��܂����A�����قǂł͂���܂���B�Č����̕s����A�o�N�ω��ȂǂŌ�肪�������Ƃ��Ă��A�����悤�ȑ̌����Č��ł�������킯�ł��B
���̂��߁AWiiRemote�ɂ́A�����x�Z���T�[�̏d�͂ɑ����l���ۑ�����Ă���悤�ł��B�܂��ԊO���Z���T�[�̋��x�͋����A���Ȃ킿�g�p���镔���̋�ԂɈˑ����܂��̂ŁAWii�{�̑���4�i�K�ɐݒ肷�邱�Ƃ��ł���悤�ł��B���̑��A�K�v�ɂȂ�L�����u���[�V�����̎d�g�݂̓A�v���P�[�V�����J���ґ��ōl���Ď�������K�v������܂��B�������L�����u���[�V�����̕K�v�̂Ȃ��A�ɗ͏��Ȃ��菇�ň��肵�ė��p�ł���d�g�݂������ł�����炵���ł��B
GlovePIE�͍ł��g�p����Ă���AWiiRemote���T�|�[�g����R���g���[���G�~�����[�^�[�ł��BCarl Kenner�ɂ���ĊJ������Ă��܂��BGlovePIE�Ƃ́uGlove Programmable Input Emulator�v�̈Ӗ��ŁA���Ƃ��ƃ��@�[�`�������A���e�B�̂��߂̃f�[�^�O���[�u���i�u5DT�v���g���āA���܂��܂ȃQ�[�����v���C���邽�߂ɃW���C�X�e�B�b�N��}�E�X���G�~�����[�V�������邽�߂ɊJ������Ă����悤�ł��B���̐����̉ߒ���WiiRemote���T�|�[�g���A�L���ɂȂ�܂����B�����Ƃ��āA���ׂẴG�~�����[�V�������p�̃X�N���v�g�ŋL�q���܂��B�Ⴆ�uA�{�^�����V���b�g�AB�{�^�����{���Ɂv�Ƃ������Q�[�����ꂼ��̊��蓖�Ă��A�����ŏ������Ƃ��ł���̂ł��B
�Ⴆ�A�uDOOM�v�Ȃǂ̈�l�̃V���[�e�B���O�Q�[���ł悭�g����[W][A][S][D]�L�[�����ꂼ��O�㍶�E�̈ړ��L�[�Ɋ��蓖�Ă��Ă���ꍇ�AGlovePIE�X�N���v�g�ł́A�f�[�^�O���[�u�̈ʒu���g����
W = glove.z > -50 cm S = glove.z < -70 cm A = glove.x < -10 cm D = glove.x > 10 cm
�ƕ\�����邱�Ƃ��ł��܂��B���ɂ��W���C�X�e�B�b�N��}�E�X�A�L�[�{�[�h�������̃L�[���͂�A�������}�N���Ƃ��Ĉ������ƂȂǂ��ł��ASAPI(�����o��API)��A�d�q���y�Ŏg����MIDI��OpenSound Control(OSC)�Ȃǂ̏o�͂��T�|�[�g���Ă���A���ɍ��@�\�ȃc�[���Ƃ����܂��B
GlovePIE�̃C���X�g�[���͔��ɊȒP�ł��B�����z�[���y�[�W�ɍs���A�ŐV�ł��_�E�����[�h���A�A�[�J�C�u��W�J���邾���ł��B
http://carl.kenner.googlepages.com/glovepie_download
�ŐV�ł̓o�[�W����0.30�Ȃ̂ł����A�[���ȃo�O(�ԊO���Z���T�[�g�p���ɉ����x�Z���T�[�L�����u���[�V�����ɕs�)�𗝗R�Ɍ��J�����~����Ă��܂��B�W�F�X�`���[�F���Ȃǂ�������̐V�@�\�����荞�܂�Ă���悤�Ȃ̂ł����A�u���J�����܂ł̊�0.29�����g�����������v�Ə����ꂽ�܂܁A�����Ԃ�ƒ������Ԃ��o���Ă��܂��Ă��܂��BVer.0.29�̌��J��2007�N1��4���Ə��X�Â��̂ł������ɖ��͂Ȃ��̂ŁA��������_�E�����[�h���܂��傤�B
�_�E�����[�h�̃����N���ш�̐����Ȃǂ�4�ӏ�����܂��̂ŁA�m���Ƀ_�E�����[�h�ł��Ă��邩�ǂ����m�F���Ȃ���uGlovePIE029.zip�v���_�E�����[�h���Ă��������B
�_�E�����[�h����ZIP�t�@�C����W�J����ƁA��������̃t�@�C��������܂��B���s�t�@�C���́uGlovePIE.exe�v�ł����A�܂��̓��C�Z���X�W���m�F���邽�߂Ɂureadme.txt�v���J���܂��傤�B
���C�Z���X�Ɋւ��ẮA�ȉ��̂悤�ɋL�q����Ă��܂��B
This software is copyright (c) Carl Kenner, except for scripts by other \ authors. By using this software you agree to obey the following license conditions: * You can't make money using this software as part of a baseball \ simulation. This is for contractual reasons. But you can make as much \ money as you like using it for anything else. * You may not use this software directly or indirectly for any military \ purpose. This includes, but is not limited to, training, research and \ development, controlling military hardware, directing military \ personel, or troop entertainment. You may not use this software \ anywhere on a military base or vessel. This applies to all versions of \ PIE. * You may not export this software to Israel, or use it in Israel \ (including the occupied territories), until Israel has ended its \ occupation of the West Bank, Gaza Strip, Lebanon, Syria, and anywhere \ else it may occupy. If you try to run it in Israel it will give you an \ error. * Missionaries may not use this software. It may not be used for any \ missionary purpose. Or any other genocidal purpose. * You may not use this software to cheat at online or multiplayer games. \ What constitutes cheating depends on the game and the server. Just \ using a different input device shouldn't be considered cheating, but \ complex scripted actions to make things easier may be considered \ cheating. Don't get GlovePIE banned, or you will hurt everyone who \ wants to play with a VR glove. But feel free to cheat at single player!
�Ӗ�ƁA�ȉ��̂悤�ɂȂ�܂��B�u���̃\�t�g�E�F�A�̃R�s�[���C�g��(c)Carl Kenner�ł��B���̒��҂ɂ�钘��(�X�N���v�g)�������܂��B���̃\�t�g�E�F�A���g�p���邱�Ƃɂ��A�ȉ��̃��C�Z���X�����ɏ]�����Ƃɓ��ӂ��܂��B���Ȃ��́A���̃\�t�g�E�F�A��싅�V�~�����[�V�����̈ꕔ�̂悤�ɂ��āA������ׂ��邱�Ƃ��ł��܂��A����͌_���̗��R�ł��B���̉����Ɏg�����ƂŁA�D���Ȃ���������ׂ���@�\��L���܂��B���ڂ܂��͊ԐړI�ɁA���̃\�t�g�E�F�A���R�p�ړI�Ɏg�p���Ă͂����܂���B����̓g���[�j���O�A�����J���A�R�p�n�[�h�E�F�A�̐���A�����w���A�����̌�y�Ȃǂ��܂݁A���肳��܂���B���̃\�t�g�E�F�A���R�p��n�������͌R�p�͓��Ŏg�p���Ă͂����܂���B�����PIE�̂��ׂẴo�[�W�����ɊY�����܂��B���̃\�t�g�E�F�A���A�C�X���G�����E�G�X�g�o���N(�����_���쐼��)�̂��̐�́A�K�U�n��A���o�m���A�V���A�Ƒ��̐�̋�̐�L���I����܂ŁA�C�X���G���ɗA�o�������̓C�X���G��(��L���ꂽ�̓y���܂�)�Ŏg�p���Ă͂����܂���B�������Ȃ������̃\�t�g�E�F�A���C�X���G���Ŏ��s���悤�Ƃ���A���Ȃ��ɃG���[��^���܂��B�鋳�t�́A���̃\�t�g�E�F�A���g�p���Ă͂����܂���B�����Ȃ�`���ړI�A�������͑��̂����Ȃ��ʋs�E�ړI�ɂ��g���Ă͂����܂���B�I�����C���܂��̓}���`�v���[���[�Q�[���ł������܂����邽�߂ɁA���̃\�t�g�E�F�A���g�p�͂��Ă͂����܂���B�s���s�ׂ��Ӗ�����Ƃ���́A�Q�[���ƃT�[�o�[�Ɉ˂�܂��B���i�ƈقȂ���̓f�o�C�X���g�����Ƃ͕s���s�ׂƂ����ׂ��ł͂���܂��A���������ȒP�ɂ��邽�߂́A���G�ȃX�N���v�g�����ꂽ�A�N�V�����͕s���s�ׂɂȂ�ł��傤�BGlovePIE���֎~����Ȃ��悤�ɂ��Ă��������B�����AVR�O���[�u�ł݂�Ȃ�������V�т��������Ȃ�A�V���O���v���[���[�ŕs���s�ׂ������Ȃ�����Ă��������I�v
�{����ǂ�ł�����������ŁA���̃��C�Z���X�����ɂȂ�l�͂܂����Ȃ��ł��傤�B�������̃\�t�g���g���Ă��������ɂȂ����Ȃ�Ă����b����������A�z�[���y�[�W�́uDonate�v����A��҂�Carl Kenner���ɕ��������Ƃ悢��������܂���B���ɁA�V�����@�\�ɂ��ẴA�C�f�B�A�Ȃǂ�����Ƌ��ɕ�W���Ă��܂��B
�܂��A3.1�̗͂���ɉ����āAWiiRemote��Bluetooth�ڑ����Ă��������B�����ڑ����I�������uGlovePIE.exe�v���N�����܂��B
���̌�A�T���v���X�N���v�g��ǂݍ���ŁA���ۂ�WiiRemote���g���đ�����s���������s���܂��B�����Œ��ӂł��B�X�N���v�g���z��O�̓�������邱�ƂŁA����ȑ��삪�ł��Ȃ��Ȃ�\��������܂��B�����Ȃ����Ƃ��ɍQ�ĂȂ����߂�[Shift+P+I+E]��������[Alt+R]��[S]�Łu�X�N���v�g�̒�~�v���ł��邱�Ƃ��o���Ă����Ƃ悢�ł��傤([Shift+PIE]�͓��삵�Ȃ����Ƃ�����܂�)�B
�܂��͍ł��ȒP��WiiRemote���g���T���v���X�N���v�g�������Ă݂܂��傤�B�uFile�v���j���[����uOpen�v��I��ŁAGlovePIE�Ɠ����K�w�ɂ���uWiimoteScripts�v�t�H���_���ɂ���uWiibrator.PIE�v�����[�h���܂��B�Ȃ����̃f�B���N�g���ɂ͑�ʂ̖ʔ������ȃt�@�C����������ł��܂��BPIE�X�N���v�g�Ƃ����e�L�X�g�t�@�C���ŁA�l�X�ȃQ�[���̃G�~�����[�^�[��AWindows���WiiRemote���g�����߂̃T���v�����p�ӂ���Ă��܂��B�������Ȃǂ̃e�L�X�g�G�f�B�^�ŊJ������ҏW���邱�Ƃ��ł��܂����A���̍ۂȂ̂Łu.PIE�v�Ƃ����g���q��GlovePIE�Ɋ֘A�Â��Ă��܂��̂��悢�ł��傤�B
�X�N���v�g�����[�h�����ƁA�ȉ��̂悤�ɕ\������Ă���͂��ł��B
//Wiibrator //By deceased // Does not control mouse so feel free to surf ^^ // D pad up turns it on // D pad down turns it off if wiimote.Up wiimote.Rumble = 1 endif if wiimote.Down wiimote.Rumble = 0 endif
���āA���̃X�N���v�g�͏\���L�[���g���ăo�C�u���[�^�[��On/Off���邾���̃X�N���v�g�ł��̂ň��S���Ď��s�ł��܂��B[F9]�������́A���j���[��[Run!]����[Run!]��I��Ŏ��s���Ă݂܂��傤�B
�̎O�p��uRun�v����uStop�v�ɕς��A�X�N���v�g�\���G���A���O���[�ɂȂ�������s���ł��B�ڑ�����WiiRemote�̏\���{�^���̏�(POWER�{�^����)�������Ă݂܂��傤�B�o�C�u���[�^�[���쓮���܂��B����Ă��\���{�^���̉�(A�{�^����)�������ƁA�~�܂�܂��B���x�ł��J��Ԃ��V��ł݂Ă��������B�ЂƂƂ���V��AGlovePIE�E�B���h�E���́uStop�v�������ăX�N���v�g���~�߂܂��傤�B
���āA�X�N���v�g��������Ă݂܂��B�u//�v�Ŏn�܂�s�̓R�����g�Ȃ̂ŁA����6�s�̃X�N���v�g�ł��B�܂��APIE�X�N���v�g�͔��ɓ��I�Ń��[�U�[�t�����h���[�ȃX�N���v�g�ŁA�قƂ�ǂ̃P�[�X�ŏ������R�[�h���s�v�ł��B��ԏォ����s����A��ԉ��܂ł����ƁA�܂��ォ����s����܂��B���̏ꍇ���錾�⏉�����Ȃǂ��Ȃ��Ă�
if wiimote.Up
�Ƃ��邱�ƂŁAWiiRemote������������A���݂̃{�^���̏�Ԃ��uwiimote.Up�v�Ŏ擾���邱�Ƃ��ł��܂��B�������uTrue/1�v�ɂȂ����Ƃ��Ɂuwiimote.Rumble = 1�v�ƂȂ�o�C�u���[�^�[���쓮���A�uendif�v��if�����܂��B�����������ꍇ�܂�uif wiimote.Down�v�̏ꍇ�����l�ŁA�o�C�u���[�^�[�̐U�����Ӗ�����uwiimote.Rumble�v���u0�v�ɂ��邱�ƂŐU�����~�߂܂��B
�Ⴆ�A�����ŐV�����V���v���ȃX�N���v�g���쐬���Ă݂܂��傤�B�uFile�v���j���[����uNew�v��I�т܂��B�uClear text box without saving changes?(�ۑ����Ȃ��Ă������ł����H)�v�Ƃ������₪�o����uYes�v�Ŗ�肠��܂���B�V�����X�N���v�g�Ƃ��Ĉȉ����e�L�X�g�{�b�N�X�ɏ����܂��B
wiimote.Rumble = wiimote.A
��������s�̃X�N���v�g�ł����AA�{�^���������Ă���Ԃ����A�o�C�u���[�^�[����܂��BGlovePIE�̓X�N���v�g�L�q�ɂ��Ă��x���@�\������A�uwiimote.�v�Ƃ������悤�ɗ\�ꂽ�N���X���ƃs���I�h�܂ŏ����ƁA�����I�ɂ��̐�̃v���p�e�B���Ȃǂ����X�g���Ă���܂��B����Ń}�j���A�����Ȃ��Ă��ȒP�ɃX�N���v�g�������܂����A�܂��V���^�b�N�X�G���[(�����̏��������ɂ��ԈႢ)���傫�����炷���Ƃ��ł��܂��B
�����I�������A�܂��̓V���^�b�N�X���m�F���܂��傤�B���j���[�́uRun!�v����uCheck for errors�v��I�т܂��B�����ԈႢ������ƁA�Y������s���s���N�F�ɕς��܂��B�ԈႢ���Ȃ���Ή����N���܂���̂ŁA[F9]�Ŏ��s���܂��傤�B�����ɁAA�{�^���������Ă���Ԃ����o�C�u���[�^�[����ΐ����ł��B�uA�{�^���A�ŁI�v�Ȃǂ��Ă݂āA�o�C�u���[�^�[�̖����m�F���Ă݂�Ƃ悢�ł��傤�B
�������������������A�������Ȃ��A�Ƃ������Ƃ��́A�ڑ����m�F���邽�߂ɁAWiinRemote�ȂNJm���ɓ����c�[�����N�����Ă݂�Ƃ悢�ł��傤�BBluetooth�����Ԑ�Ŏ����ؒf����Ă���ꍇ������܂��B�P���ȃX�N���v�g�Ȃ̂ŁA���������������Ƃ��́A�P��GlovePIE��PC���ċN�����Ă݂�̂�������ɂȂ�Ƃ�������܂��B
�����Ńo�C�u���[�^�[�Ɋւ��钍�ӂ�������ʂ��Ċm�F���܂��B�o�C�u���[�^�[���N��������ԂŃX�N���v�g���~�߂�Ɖ����N����ł��傤�H��L�̃X�N���v�g�ł́AA�{�^�����������ςȂ��ɂ�����ԂŁAGlovePIE���X�N���v�g���~�����܂��B����ƃX�N���v�g�͏I�����Ă���̂ɁA�o�C�u���[�^�[�͖葱���܂��B��ςł��B�\����Ԃł��B���̏�Ԃł��炭�����Ă����Ƃ����Ƃ����Ԃɓd�r����Ă��܂��܂��B�������A�X�N���v�g���ēx�N�����Ă��AA�{�^����A�ł��Ă��A�o�C�u���[�^�[�͎~�܂�Ȃ���������܂���(����̓o�O�ł͂Ȃ����ƌ��Ă��܂�)�B
���������Ƃ��́A�Q�Ă��������AGlovePIE���I�����܂��B�X�N���v�g�̕ۑ����K�v�Ȃ�ۑ������Ă����܂��B�����āA�ēx�AGlovePIE���N�����uWiibrator.PIE�v�Ȃǂ̃o�C�u���[�^�[���g�p����X�N���v�g��ǂݍ���ŁARun����o�C�u���[�^�[�̖\���͎~�܂�܂��B
���̃Z�N�V�����ł́AGlovePIE���g���āA���@�\�ȐԊO���}�E�X���쐬���Ă����܂��B���H�I�ȊJ����ʂ��āAWiiRemote�J���̃R�c��GlovePIE�̋��͂ȃX�N���v�e�B���O�@�\��GUI�ɂ��x���@�\���X�e�b�v�o�C�X�e�b�v�Ŋw�Ԃ��Ƃ��ł��܂��B
�܂��͂��ꂩ��쐬����ԊO���}�E�X�ɂ��āA�ȒP�Ɏd�l�����߂Ă����܂��傤�B��{����Ƃ��ẮAWiiRemote���Z���T�o�[��ԊO�������Ɍ����āA�}�E�X�̂悤�ɂ��Ďg���^�C�v�̂��̂ɂ��܂��B�����������̂ł�����t�@�C�������PowerPoint�̃v���[���e�[�V�����Ɏ��ۂɎg���鍂�@�\�Ȃ��̂�z�肵�܂��B
WiiRemote������ | ���蓖�Ă鑀�� |
---|---|
�ԊO�� | �}�E�X�|�C���^�̈ړ� |
�\���L�[ | �J�[�\���L�[ |
A�{�^�� | �}�E�X���{�^�� |
A�{�^���E�_�u���N���b�N | Enter�L�[ |
B�{�^�� | �}�E�X�E�{�^�� |
B�{�^���E�_�u���N���b�N | Delete�L�[ |
A+B�{�^���������� | �f�X�N�g�b�v��\�� |
�{�{�^�� | �A�v���P�[�V������ւ�[Alt+Tab] |
�|�{�^�� | �A�v���P�[�V�����I��[Alt+F4] |
Home�{�^�� | �X�N���v�g�I�� |
1�{�^�� | GlovePIE�ŏ����^�ő剻 |
2�{�^�������� | PowerPoint���N�� |
2�{�^���E�V���O���N���b�N | Esc�L�[(�v���[���e�[�V�����I��) |
2�{�^���E�_�u���N���b�N | �v���[���e�[�V�����J�n[F5] |
WiiRemote�Ȃ�ł͂́A��R����f�W�^���{�^�������p���āA�������A�_�u���N���b�N�AA+B�{�^�����������Ȃǂ̃R���r�l�[�V�������g�����g���₷������荞��ł��܂��B������̃Z�N�V�����̑̌���ʂ��āA�����g�̃A�C�f�B�A�ŐV�����@�\�荞��ł������Ƃ��\�ł��B
�܂��͎�n�߂ɁuHome�{�^���ŏI���v���������Ă݂܂��傤�B�V�����X�N���v�g�Ƃ��Ĉȉ����L�q���Ď��s���Ă݂Ă��������BGlovePIE�X�N���v�g�͑啶���E�������͖�������܂��B
if Wiimote.Home then ExitScript end if
�L�q������WiiRemote��ڑ����Run���āAHome�{�^���ŏI���ł��邩�ǂ��������Ă݂Ă��������B�uExitScript�v�Ƃ͎��s����GlovePIE�X�N���v�g���I��������R�}���h�ł��B�ڂ����́AGlovePIE�Ƃ��Ȃ��f�B���N�g���ɂ���}�j���A��(Documentation.rtf)�ɋL�ڂ���Ă��܂��B��{�I�ȃR�}���h�͂��̃Z�N�V�����ʼn�����Ă����܂��̂ŁA���܂́u���������֗��ȕ�������v�Ƃ��������ł悢�ł��傤(�{�Z�N�V�����̍Ō�ɂ܂Ƃ߂ďЉ�܂�)�B
���āA���͏\���L�[�ɃJ�[�\���L�[�����蓖�Ă܂��傤�B��قǂ̂悤��if���������Ɩ��m�ɏ����₻�̌�̏������L�q�ł��܂����A����̓{�^���C�x���g�ɑ���L�[�A�N�V�������ʂɐݒ肵�Ȃ���Ȃ�܂���̂ŁA�����ƊȒP�ȋL�q�����ŏ��������Ă݂܂��B
//WiiRemote IR mouse //Key Binds ExitScript = Wiimote.Home Key.Up = Wiimote.Up Key.Down = Wiimote.Down Key.Left = Wiimote.Left Key.Right = Wiimote.Right
���̂悤�Ɂu=�v�łȂ����ƂŁA�L�[���͂Ɋ��蓖�Ă�A�N�V������1�s�ŕ\���ł��܂��B�܂��u//�v�Ŏn�܂�s�̓R�����g�s�ł�(���{��͕\���㉻���Ă��܂��܂�)�B
���́u�{�{�^���v�ŃA�v���P�[�V������芷���A�u�|�{�^���ŃA�v���P�[�V�����I���v�ł���悤�ɂ��܂��B�uAlt+Tab�v�̂悤�ɕ����̃L�[���g���ꍇ�͈ȉ��̂悤�ȕ\�L�����܂��B
Key.Alt+Tab = Wiimote.Plus Key.Alt+F4 = Wiimote.Minus
�ȒP�ł��ˁI�������uKey.Alt+Key.Tab�v�ƕ\�L���Ă����܂��܂���B
�����āA����́uWiiRemote��A�{�^����B�{�^�����ɉ������Ƃ��ɁA�f�X�N�g�b�v��\������v�Ƃ����A�N�V�����ł��B
Key.Windows+D = Wiimote.A and Wiimote.B
���́AWiiRemote��A,B�{�^���̃_�u���N���b�N���g����Enter��Delete����͂ł���悤�ɂ��܂��B
Key.Enter = DoubleClicked(Wiimote.A) Key.Delete = DoubleClicked(Wiimote.B)
�uDoubleClicked()�v�Ƃ��������g�����ƂŁA�_�u���N���b�N��ł��܂��B�����Ŏ��ۂɓ�����������߂ɁA�������Ȃǂ����s���Ă���X�N���v�g��Run���Ă݂āA�{�{�^���ŃA�v���P�[�V������芷���A�\���{�^����_�u���N���b�N�������Ă݂�Ƃ悢�ł��傤�B�Ō��Home�{�^���ŃX�N���v�g���~���܂��B
���́A�u2�{�^���v�ɂ��낢��ȋ@�\�����蓖�ĂĂ݂܂��B�������A�V���O���N���b�N�A�_�u���N���b�N�ŁA���ꂼ��PowerPoint�̋N���AEsc�L�[�AF5�L�[�Ɋ��蓖�Ă܂��B
Execute("C:\Program Files\Microsoft Office\OFFICE11\POWERPNT.EXE") = HeldDown(Wiimote.Two, 1s) Key.Escape = SingleClicked(Wiimote.Two) Key.F5 = DoubleClicked(Wiimote.Two)
HeldDown(�Ώ�,�b��)�Ƃ��邱�ƂŁA�����������o�ł��܂��B�P�ʂ͕b�ł��B�u0.5�v�Ȃǂł��悢�ł��傤�BExecute("���s�t�@�C����")�ŔC�ӂ̃A�v���P�[�V�������N���ł��܂��B�V���O���N���b�N�A�_�u���N���b�N�����l�Ɋ����g���Č��o���邱�Ƃ��ł��܂��̂ō��܂łƓ����悤�Ɋ��蓖�Ă܂��B
���āA���ۂɁu2�{�^���v�������APowerPoint�������オ������A���x�̓_�u���N���b�N�Ńv���[���e�[�V�������N���A����ɃV���O���N���b�N�Ńv���[���e�[�V�����I���A�u�|�{�^���v��PowerPoint�I���A�Ǝ����Ă݂Ă��������BEsc�L�[�͑��̃A�v���P�[�V�����Ȃǂł��悭�g���܂��̂ł����Ɋ��蓖�ĂĂ����͕̂֗������ł��B
PowerPoint���C���X�g�[������Ă��Ȃ��ꍇ�͑��̃A�v���P�[�V�����Ŏ����Ă݂܂��傤�B�Ⴆ�uExecute("mspaint.exe")�v�Ƃ��邱�ƂŁu�y�C���g�v���N�����܂��BPrintScreen�L�[�ƒ���t��(Ctrl+V)�ł��ʔ����ł��傤�B
Execute("mspaint") = HeldDown(Wiimote.Two, 1s) Key.PrintScreen = SingleClicked(Wiimote.Two) Key.Ctrl+V = DoubleClicked(Wiimote.Two)
�u�|�{�^���v�������ďI������Ɓu�ۑ����܂����H�v�Ƃ�����܂����A�\���L�[�̉E�A�����āuA�{�^���v�̃_�u���N���b�N�Łu�������v��I�����邱�Ƃ��ł��܂��B�����ȒP�ȑ���Ȃ�Ȃ�ł�WiiRemote�łł������ł��ˁI
�Ō�ɁA���E�̃}�E�X�{�^�������ꂼ��A,B�{�^���ɁA�����āu1�{�^���v�ɂ�GlovePIE�̕\����ւ��@�\�����蓖�Ă܂��B
UnMinimizePie = HeldDown(wiimote.One, 1s) MinimizePie = wiimote.One Mouse.LeftButton = Wiimote.A Mouse.RightButton = Wiimote.B
�����܂ł̍�ƂŃX�N���v�g�͈ȉ��̂悤�ɂȂ��Ă���͂��ł��B
//WiiRemote IR mouse (part for buttons) //Key Binds ExitScript = Wiimote.Home Key.Up = Wiimote.Up Key.Down = Wiimote.Down Key.Left = Wiimote.Left Key.Right = Wiimote.Right //combination Key.Alt+Tab = Wiimote.Plus Key.Alt+F4 = Wiimote.Minus Key.Windows+D = Wiimote.A and Wiimote.B //Double Clicks Key.Enter = DoubleClicked(Wiimote.A) Key.Delete = DoubleClicked(Wiimote.B) //Multifunctions on Two-Button Execute("C:\Program Files\Microsoft Office\OFFICE11\POWERPNT.EXE") = \ HeldDown(Wiimote.Two, 1s) Key.Escape = SingleClicked(Wiimote.Two) Key.F5 = DoubleClicked(Wiimote.Two) //Hide and Show by One-Button UnMinimizePie = HeldDown(wiimote.One, 1s) MinimizePie = wiimote.One //Mouse Buttons are linking to A and B Mouse.LeftButton = Wiimote.A Mouse.RightButton = Wiimote.B
�������ł��傤���HGlovePIE�X�N���v�g�̒Z���L�q�����ŁA���Ȃ荂�@�\�ȃc�[��������邱�Ƃ������ł����ł��傤���H
���āA�{�^���A�N�V��������ʂ�g�����Ȃ���悤�ɂȂ��āA����y�����Ȃ��Ă����Ƃ���ł��傤�I�������܂����̏�Ԃł́A�}�E�X�|�C���^�͑��ς�炸�����܂���B�Z���T�[�o�[�̐ԊO����WiiRemote�������āA���݂Ƀ}�E�X�|�C���^������ł�����ǂ�ȂɊy�����ł��傤���B
�͂��C������}���āA�܂��́u�f�o�b�O�@�\�v���w�т܂��傤�B
��قǂ̃X�N���v�g�̈�ԉ��Ɉȉ��̋L�q�𑫂��Ă݂܂��傤�B
Debug = mouse.x
���s����ƁAGlovePIE�́uRun�{�^���v�̉E���ɁA�Ȃɂ�琔�����\�������悤�ɂȂ����͂��ł��B����͌��݂̃}�E�X��X(������)�̒l�ł��B�����Ń}�E�X�����Ă݂܂��傤�B�l�͍�����E�ɍs���ɂ�A�[������1�ւ̏������Ƃ�͂��ł�(�����l��[0,1]�ƕ\�����܂�)�B�uDebug=�v�Ƃ��邱�ƂŁA�f�o�b�O�p�ɓ����̒l��\������@�\�ł��B
�����āA�ȉ���DebugPrint()���������Ă݂܂��傤�B
Debug = mouse.x DebugPrint("X="+mouse.x+" Y="+mouse.y)
����͕ʂ̃E�B���h�E���J���A���n��ł�葽���̃f�[�^��ǂނ��Ƃ��ł��܂��B�p�r�ɍ��킹�Ďg��������Ƃ悢�ł��傤�B
���āA����ł͂��ɃZ���T�[�o�[���g���āA���̃f�o�b�O�E�B���h�E�ɐԊO���Z���T�[�̒l��\�����Ă݂܂��傤�B��قǂ̃e�X�g�R�[�h���ȉ��̂悤�ɏ��������܂��B
Debug = "mx="+mouse.x+" my="+mouse.y if Wiimote.dot1vis then DebugPrint("X="+Wiimote.dot1x+" Y="+Wiimote.dot1y) end if
�udot1vis�v���u�ŏ���1�_�ڂ������邩�ǂ����v�A�udot1x�v�Ɓudot1y�v�͂��̍��W��\���Ă��܂��B
�����������Ă݂܂��傤�B�Œ�ł�1�_�̐ԊO��������������悢�̂ŁA�߂��ɃZ���T�[�o�[���Ȃ��ꍇ�́A���z����d�������Ȃǂ�T���Ă�����s���܂��傤�B�����Ƃ��Ďg���邩�ǂ����s���ȂƂ��́A���炩����WiinRemote���g���Ċm�F����ƕ֗��ł��B
�ԊO�������Ɍ������Ƃ��A�f�o�b�O�E�B���h�E�ɒl������������Ă����l�q��������ΐ����ł��I�l������������Ȃ��ꍇ�́AWiinRemote�������ĐԊO�����������F���ł��Ă��邩�����Ă݂܂��傤�B�E�B���h�E��������Ȃ��Ƃ��́AGlovePIE�̃E�B���h�E�̗����ɉB��Ă��邱�Ƃ�����̂Œ��߂��Ă݂܂��傤�B
���āA�����I�ɂ͂���dot1x,dot1y���}�E�X��x,y�Ɋ��蓖�Ă�Ί����A�Ƃ������ƂȂ̂ł������ۂɂ͂����P���ł͂���܂���B
Mouse.x = Wiimote.dot1x Mouse.y = Wiimote.dot1y
���͂��̂܂܂ł͉�ʏ�̃}�E�X�|�C���^��WiiRemote�̐ԊO���Z���T�[���擾����l�Ƃ̃X�P�[���������Ă��܂���B����ɓ�������̋ɐ�(����)�������Ă��܂���B����̃C���[�W�Ƃ��ẮAWiiRemote����Ɍ�������}�E�X�|�C���^����ɁA���Ɍ�������}�E�X�|�C���^�����ɍs���ė~�������������܂�(������Wii�p�Q�[���������ł���悤��)�B���̂��߁A�X�P�[�����O�����āA����ɂ��鎲�̐����]������K�v������܂��B
WiinRemote��A�f�o�b�O�o�͂Ŋώ@�ł���悤�ɁAWiiRemote�̐ԊO���Z���T�[�͐�������X��[0,1023]�̒l��A��������Y��[0,767]�̒l����Ƃ�܂��BWiiRemote���Z���T�[�o�[�Ɍ������ďォ�牺�Ɍ�����Ƃ��AWiinRemote����݂���ԊO���̓_���͏㕔���牺���A���lX�̓[������͂��܂���767�Ɍ������đ������Ă����܂��B�܂�������E�Ɍ������Ƃ��AWiinRemote����݂���ԊO���̓_���͉E�����獶���ցA���lX��1023����n�܂��ă[���Ɍ������Č������Ă����܂��B
���č��ӑ��̃}�E�X�|�C���^�̍��W�͍����(0,0)�A�E����(1,1)�Ƃ���[0,1]�̒l��ƂȂ��Ă��܂��B�����قȂ�l����X�}�[�g�ɂȂ������uMapRange(x, a,b , c,d )�v�ł��Bx�Ƃ����l��[a,b]���Ƃ���Ƃ̓��͒l���A�l��[c,d]�ɕϊ����邱�Ƃ��ł��܂��B����āA�ȉ��̂悤�Ɋ����L�q���邱�ƂŁA���������슴��������悤�ɕϊ�����܂��B
Mouse.x = MapRange(Wiimote.dot1x, 1023, 0 , 0,1) Mouse.y = MapRange(Wiimote.dot1y, 0, 767 , 0,1)
���āA����Ŋ����I�Ǝv������A���s���Ă݂�Ɓc�ǂ��ł��傤�H������a���͂���܂��H�l�ɂ���Ă͊����Ȃ���������܂��A���ۂɂ��̐ԊO���}�E�X���g���āA�t�H���_���J���A�t�@�C�����ړ����āc�Ƃ���������������Ă݂�Ƃ悢�ł��傤�B����ƃ|�C���^���A�����Ƀu���u���ӂ邦�Ĕ��ɑ��삵�Â炢�͂��ł��B���́u�ӂ邦�v�ɂ͂����Ȍ���������܂��B��͐ԊO���Z���T�[�̃m�C�Y(���Ɂg�h���t�g�m�C�Y�h�ƌĂ�邱�Ƃ�����܂����A�Z���T�[�̓������킩��킯�ł͂Ȃ��̂ŒP�Ɂg�m�C�Y�h�Ƃ��Ă����܂��傤�j�A���ꂩ��l�Ԃ̎肻�̂��̂������Ă�������Ȑk���ł��B�}�E�X�̏ꍇ�͊��̏�̖��C�ŋC�ɂȂ�Ȃ��̂ł����AWiiRemote�̏ꍇ�͋ŁA���������Ȃ荂�������x�̌v�����s���̂ŁA���̂悤�Ȑl�Ԃ̎�̐k���̑��݂��������Ȃ���������Ă����K�v������܂��B�M�������̒m���͂��̂悤�ȃP�[�X�Ŕ��ɖ��ɗ��ł��傤�B���̏ꍇ�͋}���ȓ����ł��鍂���g��������������u���[�p�X�t�B���^�v�����ʓI�ł͂Ȃ��ł��傤���B
����b�͂��Ă����A���[�p�X�t�B���^�͕��ς��Ƃ邱�ƂŎ����ł��܂��BGlovePIE�X�N���v�g�ɂ͂����������֗��Ȋ�����������������Ă��܂��B
��قǂ�Mouse�ւ̑���̎��ɂ����āASmooth����������Ă݂܂��傤�BExtraFrames��3�ɂ��Ă����܂��B����ʼnߋ�3�t���[���̒l���g���ĕ��ς��Ƃ�܂��B�f�o�b�O�o�͂��A�ȉ��̂悤�ɂ������萮�����܂��B
if Wiimote.dot1vis then Mouse.x = MapRange(Smooth(Wiimote.dot1x, 3), 1023, 0, 0,1) Mouse.y = MapRange(Smooth(Wiimote.dot1y, 3), 0, 767 , 0,1) Debug = "mx="+Mouse.x+" my="+Mouse.y+" IRX="+Wiimote.dot1x+" \ IRY="+Wiimote.dot1y end if
�ǂ��ł��傤���H�����ƈ��芴�̂���}�E�X�|�C���^�ɂȂ����̂ł͂Ȃ��ł��傤���H�M�������̗��_�ł́A�K��ExtraFrames���Z�o������@������܂����A����̏ꍇ�͌o���I�ɓ���Ă��S�����Ȃ��ł��傤�B3�`10���x�Ŏ����Ă݂�Ƃ悢�ł��傤(�l���傫���Ȃ�ƃX���[�X�ɂ͂Ȃ�܂����A���̕��������d�����Ȃ�܂�)�B
���āA����ō��@�\�ԊO���}�E�X�͈�U�����ł��B�����܂ł̑S�ẴX�N���v�g���f�ڂ��܂��B
//WiiRemote IR mouse (basic) //Key Binds ExitScript = Wiimote.Home Key.Up = Wiimote.Up Key.Down = Wiimote.Down Key.Left = Wiimote.Left Key.Right = Wiimote.Right //combination Key.Alt+Tab = Wiimote.Plus Key.Alt+F4 = Wiimote.Minus Key.Windows+D = Wiimote.A and Wiimote.B //Double Clicks Key.Enter = DoubleClicked(Wiimote.A) Key.Delete = DoubleClicked(Wiimote.B) //Multifunctions on Two-Button Execute("C:\Program Files\Microsoft Office\OFFICE11\POWERPNT.EXE") = \ HeldDown(Wiimote.Two, 1s) Key.Escape = SingleClicked(Wiimote.Two) Key.F5 = DoubleClicked(Wiimote.Two) //Hide and Show by One-Button UnMinimizePie = HeldDown(wiimote.One, 1s) MinimizePie = wiimote.One //Mouse Buttons are linking to A and B Mouse.LeftButton = Wiimote.A Mouse.RightButton = Wiimote.B //Assign Infrared as mouse input if Wiimote.dot1vis then Mouse.x = MapRange(Smooth(Wiimote.dot1x, 3), 1023, 0, 0,1) Mouse.y = MapRange(Smooth(Wiimote.dot1y, 3), 0, 767 , 0,1) Debug = "mx="+Mouse.x+" my="+Mouse.y+" IRX="+Wiimote.dot1x+" \ IRY="+Wiimote.dot1y end if
���āA���ۂɎg������Ń{�^���A�T�C����ׂ��ȃp�����[�^�[�Ȃǂ�ύX���Ă݂�Ƃ悢�ł��傤�B�Ȃ����̃X�N���v�g�͐ԊO���������Ȃ��Ƃ��̓}�E�X�����D���܂���̂ŁA�}�E�X�Ƌ�����Ƃ��邱�Ƃ��ł��܂��B���s�����܂܃^�X�N�o�[�ɂ��܂��Ă�����(�ŏ����{�^���̍��Ƀ^�X�N�o�[�i�[�{�^��������܂�)�A�����ƕ֗��ŃJ�b�R�C�C�ł��B
A+B�{�^�����������Ńf�X�N�g�b�v��\�����A�{�{�^���ŃA�v���P�[�V������芷���AB�{�^���ʼnE�N���b�N�A�\���L�[�ōׂ��ȍ�Ƃ����AA�{�^���̃_�u���N���b�N�Ō���A2�{�^����Esc�c�Ƃ����������Ŋ����Ɖ����ɂȂ��Ă��܂��B�X�N���v�g��Home�{�^�����������ł��I���ł��܂��B
���āA�����قǍŌ�ɐԊO���̍��W�n���}�E�X�̍��W�n�ɍ��킹�邽�߂ɁA�V����MapRange�Ƃ��������g���܂����BGlovePIE�͔��ɍ��@�\�ȃX�N���v�g�������Ă���̂ŁA���������umouse�v�Ƃ������L�[���[�h��֗��Ȋ��A�R�}���h�Ȃǂ��A�t���̃}�j���A�������ŒT���Ă���̂�(�������u�������v�Ɩ��L����Ă��܂�...)�A�Ȃ��Ȃ����̐܂���Ƃł��B
GlovePIE�̐V�@�\�Ƃ��āuGlovePIE GUI�v����������Ă��܂��B�O���t�B�J���Ȋ��ŁA���o�͂̊W�����т���Ǝ����I�ɃX�N���v�g���쐬����A�ڑ��W�Ȃǂ��Ǘ����Ă����悤�ł��B�}�j���A�����悭�ǂ�ł����ƁuWiiRemote�W�̋@�\��GUI���g��Ȃ������ǂ��v�Ə�����Ă���̂ł����A�M�҂����������o�ł́AWiiRemote���L�[�{�[�h�E�}�E�X���Ɏg���̂ł���Ώ\���g���܂����A�ŏI�I�Ƀe�L�X�g�ŕ\�������X�N���v�g���S�ĂȂ̂ŁAGlovePIE�̋@�\��f�������ׂ��ł͂��Ȃ�𗧂��ł��̂ŏЉ�Ă����܂��B
���K�̂��߂ɁA��قǍŌ�ɍ쐬����WiiRemote���}�E�X�̕ϊ�����GUI�ō쐬���Ă݂܂��傤�B�܂��͐�قǍ쐬�����u���@�\�ԊO���}�E�X�v��ۑ����āA��UGlovePIE���N���������Ă��������B�V����GlovePIE���N��������A���j���[�́uEdit�v�̉�������ɂ���uGUI�v�Ƃ����^�u���N���b�N���Ă��������B�{�^����2����܂����uDetect Output Emulate�v�������ƁA�g�p�\�ȏo�̓f�o�C�X�����X�g����܂��̂ŁA�uOutput Device�v����uMouse�v��I��ł��������B���ɂ�������̑���\�ȃv���p�e�B������܂��̂ł�������ux�v��I�сuEdit Manualy�v�{�^���������܂��B
�uInput Device�v�Ƃ����v���_�E��������܂��̂ŁA��������uWiimote�v��I�т܂��B�uNumber�v�͕�����WiiRemote��ڑ������ꍇ�ł��̂ŋ̂܂܂ŁA���ׂ̗́uPart of device, or a numeric value, or expression:�v�Ɂudot1x�v�Ə����Ă݂Ă�������(���͎x���@�\�����łɓ����Ă���͂��ł�)�B�v���_�E������I������̂��悢�ł��傤�B
����ɁuMore�v�Ƃ����{�^���������āA�ڍׂ�\�����܂��B�uFunction:�v�Ƃ����v���_�E���ŁuSmooth�v��I�ԂƁuFrames�v������܂��̂Łu3�v��ݒ肵�A�Ō�ɁuConvert from source range�v����[min]��[max]�����ꂼ��A�f�t�H���g�œ����Ă���[0,1023]����[1023,0]�ɏ��������āA�Ō�ɁuApply�v�Ƃ����傫�ȃ{�^���������Đ��b�҂��܂��B
GUI�^�u����uUntitled�v�ƕ\������Ă���ʏ�̃X�N���v�g�^�u�ɖ߂�܂��B����ƁA
Mouse.x = MapRange(Smooth(Wiimote.dot1x, 3), 0,1023, 0,1)
�Ƃ����悤�ɁA��قǂƑS�������X�N���v�g��������������Ă��邱�Ƃ��m�F�ł��܂��B���������s���ł��܂����A�����菇���ēx�uGUI�v�^�u�ɖ߂��āumouse�v���uy�v���uEdit Manualy�v���uWiimote�v�c�Ƃ����悤�ɑI��Ŋ��������Ă݂Ă��������BGUI�ō쐬�����X�N���v�g�͕K�������Ɍ����悤�ł�(GlovePIE���̂��葱���^����ł͂Ȃ��̂ŁA���Ԃ����ɂȂ邱�Ƃ͂��܂�Ȃ�)�B
����͐V�K�X�N���v�g�Ŏ������܂������A�����̃X�N���v�g�ł��\���ɗ��p�ł��܂��B�V�@�\��lj�����Ƃ��A�V�����L�[�{�[�h�Ɋ��蓖�Ă��������̂��킩��Ȃ��Ƃ��A�K�Ȓl���������������{�I�Ȓl�ׂ�̂��ʓ|�ȂƂ�...�Ȃǂɔ��ɖ��ɗ����܂��BWiiRemote�ւ̏o��(�Ⴆ��LED��o�C�u���[�^�[�A�X�s�[�J�[�Ȃ�)���܂��T�|�[�g����Ă��܂��AMIDI�Ȃǂ͂��Ȃ萮������Ă���悤�Ȃ̂ŁA����A�A�b�v�f�[�g�����悤�ł���@�\���������҂����Ƃ���ł��B
���������́A�]�͂̂���l�����ł��܂��܂���BGlovePIE�̂��l�X�ȋ@�\�𗘗p���āA��葽���̋@�\���������Ă݂܂��傤�B
���āA���@�\�ԊO���}�E�X�����͂Ŋ���������ꂽ���Ȃ��́A��������PIE�X�N���v�g��ǂނ̂�����Ȃ��Ȃ��Ă���͂��ł��B�uWiimoteScripts�v�t�H���_�̒��ɂ��邳�܂��܂ȗ��ǂ�ł݂邱�Ƃ������߂��܂��B������PC�Q�[���̃L�[�{�[�h�E�}�E�X�̃G�~�����[�V�����������̂ł����A���ȒP�ɑ���ł���悤�l�X�ȃX�N���v�e�B���O�e�N�j�b�N���ǂݎ��܂��B���ɂ����̃f�B���N�g���ɂ́AWiiRemote�̊�{�@�\�ɑ������I�ȃX�N���v�g�A�Ⴆ�o�b�e���[�c�ʂ�\������uWiiBattery.PIE�v��AMidi�Ƒg�ݍ��킹���ȈՃh�����Z�b�g�uWiiDrums2.PIE�v�A�k���`���N�܂Ŏg�����{�i�M�^�[�uWiitar�v�A�����x���狗�������߂悤�Ƃ���uTestVelocityPos.PIE�v�ȂǎQ�l�ɂȂ���̂�����܂�(�Ȃ�Ȃ����̂���R����܂��I)�B
�o�C�u���[�^�[�͍ŏ��Ɏ������Ƃ���uWiimote.Rumble�v�Ő���ł��܂��̂ŁA�}�E�X�|�C���^�����݂̃E�B���h�E�̋��E�ɂԂ�������A�U������悤�ȃX�N���v�g��lj����Ă݂܂��B
var.hit = false; var.hit = mouse.CursorPosX<Window.Left or \ mouse.CursorPosX>Window.Left+Window.Width var.hit = var.hit or mouse.CursorPosY<Window.Top or \ mouse.CursorPosY>Window.Top+Window.Height Wiimote.Rumble =var.hit;
�ϐ�var.hit�͌��݂̃}�E�X�|�C���^�̈ʒu�ƁA���݂̃E�B���h�E���E���ׂāA�|�C���^���O�ɂ���ꍇtrue�ɂȂ�܂��B�����Wiimote.Rubmle��w�Ȃ��Ă��܂��B
��������p����Ύ㎋�̕��≽�炩�̗��R�Ń}�E�X���g���Ȃ�����(�Ⴆ�ΎY�܂ꂽ����̐Ԃ�V����������Ă���...)�ł��G�N�X�v���[���[�̂悤��GUI���G��₷���Ȃ邩������܂���B
�w��ȂǂŃv���[���e�[�V���������Ă���Ƃ��ɁA�������ԃI�[�o�[���Ă��܂����肵�܂��H�ł����{�ԂɂȂ�Ƌt�Ɏ��Ԃ��C�ɂȂ肷���āA���X�Ƙb���ł��Ȃ�������c�B���̃X�N���v�g�́A�茳�Ɏ����Ă���ł��낤WiiRemote��LED���g���āA�c�莞�Ԃ�\�����܂��B
Wiimote.Led1 = HeldDown(true, 5s); Wiimote.Led2 = HeldDown(true, 10s); Wiimote.Led3 = HeldDown(true, 20s); Wiimote.Led4 = HeldDown(true, 1 minutes);
���̗�ł�WiiRemote�̐FLED�������珇�ɁA5�b�A10�b�A20�b�A1���c�Ƃ����悤�ɓ_�����čŌ��4�S�_�����܂��BWindows�̃v���O���X�o�[�̂悤�ȃC���[�W�ł��ˁB���炩���߃v���[���e�[�V�����̍\���Ƌ��ɁA�K�ȃ��b�v�^�C����ݒ肵�Ă����Ƃ����̂��悢�ł��傤�B
�Ō�ɃX�s�[�J�[���g���Ă݂܂��BGlovePIE�Ŏg����WiiRemote�̃X�s�[�J�[�@�\�͔��ɒ�x���ȋ@�\��������Ă��܂���B���g���ƃ{�����[����ݒ肵�A���ꂪ�K�Ȓ��������Đ������悤�Ɏ����ŊǗ�����K�v������܂��BWAV�t�@�C�����Đ��ł���悤�ȋ@�\�����̂����o�Ă���̂�������܂��c�B���̃X�N���v�g�͂��̍\���𗝉����邽�߂����̖ړI�ŏ�����Ă��܂��B1�{�^�����������їl�X�ȉ�(�m�C�Y�H)����܂��B
if Wiimote.One then Wiimote.Volume = 1.00 Wiimote.SampleRate = 3640 Hz while ( true ) if var.f<=0 then var.f=360 end if // wait 10ms debugprint("f="+var.f + "Cos:"+cos(var.f)+" \ Freq:"+abs(500*cos(var.f)+1000)); Wiimote.Frequency =abs(500*cos(var.f)+1000) // Wiimote.Frequency = 261.62 var.f=var.f-10; end while else wait 1000ms Wiimote.Frequency = 0Hz end if
�R�����g�A�E�g����Ă��܂����A�������̎��g��(���Ƃ���261.62Hz)�ȂǂŃL���C�ɕ������鉹�����݂��܂��B�C���^�[�l�b�g��T���Ɖ��K�Ǝ��g���̊W�ɂ��Ẵf�[�^������܂��̂ŁA���̎��g�����g���Ή��K��\�����邱�Ƃ��\�ł��傤(��͂艹���͂��������ł���...)�B
PIE�X�N���v�g����荞��ł����ƁA���x��GlovePIE����ǂݍ���Ŏ��s�c�Ƃ������ꂪ�ʓ|�ɂȂ��Ă���͂��ł��B�A�[�g��i�̓W���ȂǂɎg���ꍇ�͂��ЂƂ������N�����������Ƃ���ł��BGlovePIE�̓R�}���h���C������̋N�����T�|�[�g���Ă��܂��B
�N�����̃I�v�V�����ŁA�ȉ��̂悤�ɉ������Ă��܂��B
GlovePIE.exe�ɑ����Ĉȉ���3��ނ̕��@�Ńt�@�C�������w�肵�܂��B�Ȃǂ�����ꍇ�̓N�H�[�e�[�V�����u"�v�ň͂ނ̂�Y�ꂸ�ɁB�g���q�u.PIE�v�͊܂�ł��܂܂Ȃ��Ă��悢�悤�ł��B
�Ⴆ�Έȉ��̂悤�ȃo�b�`�t�@�C���������Ă����A�����ɍ쐬�����ԊO���}�E�X���g���܂��B
"C:\GlovePIE029\GlovePIE.exe" -"C:\GlovePIE029\IRmouse"
�������IRmouse.PIE�͎w�肵���ꏊ�ɕۑ����Ă����Ă��������B
GlovePIE�̉\����GlovePIE�X�N���v�g�̎g�����Ȃ��ɂ���Ƃ����Ă��ߌ��ł͂���܂���B�{����WiiRemote�ɂ��v���O���~���O�̂��߂̖{�ł����A���̃Z�N�V�����Ŋw�Ƃ���AGlovePIE�ɂ��X�N���v�e�B���O�����ł����Ȃ�̂��Ƃ��ł��܂��B�܂��AGlovePIE��MIDI�����łȂ��W���C�X�e�B�b�N��f�[�^�O���[�u�AOSC��SpeechAPI�Ƃ��������̃C���^���N�V�����Z�p�ł��g���Ă���悤�Ȋ�{�I�ȃ��[�U�[�C���^�t�F�[�X���Ӌ@��̃G�~�����[�^�[��R���o�[�^�[�Ƃ��Ẵ|�e���V�������ƂĂ������\�t�g�E�F�A�ł��B�܂��A���Ȃ�l�X�Ȍ���̎d�l����荞��ł���̂ŁA�v���O���~���O����}�j�A�Ƃ��Ă����ɂȂ�܂��B
����ł��̏͂͂����܂��ł��BBluetooth�ڑ���WiinRemote��GlovePIE�ȂǁA��{�ƂȂ�c�[���̎g�����͂�������Ɨ����ł����ł��傤���H���̐�̃v���O���~���O�҂ɓ���O�Ɂu�킩��������v��E���Ă����Ă��������B�܂������ł̒m���́A���ۂɐV�����n�[�h�E�F�A���w��������A�V������i���������A�W�����s����ł̉������s������Ƃ������Ƃ��ɂ��̏͂Ŋw���e�͕K�����ɗ����̂ł��B
���̏͂ł�WiimoteLib�Ƃ���API�𗘗p���āAWiiRemote�̃v���O���~���O�̊�b��������Ă����܂��B�v���O���~���O���Ƃ��āA�����ŗ��p�ł���uVisual C++ 2008 Express Edition�v�������́uVisual C# 2008 Express Edition�v���g���܂��B�܂�v���O���~���O����Ƃ��āAC++��C#���ɕ��Ĉ����܂��B
�܂��A�{�͂�C#.NET�ɂ��v���O���~���O�T���v���͋���H�Ɛ�卂���w�Z�̏��␒�V�搶(http://www.kosaka-lab.com/)�̋��͂ɂ����̂ł��B�v���O���~���O���S�҂ł��킩��₷�������ł���悤�ɁA�ł��邾�������̃T���v���J�ɏ���ǂ��ĉ�����邱�ƂŁAWiiRemote�v���O���~���O��̌����邱�Ƃ��ł���悤�ɂȂ��Ă��܂��B
���̃Z�N�V�����ł́A�����ŗ��p�ł���uVisual C++ 2008 Express Edition�v�ƁuVisual C# 2008 Express Edition�v���Z�b�g�A�b�v���܂��B���ɂ����̐��i�̏�ʃo�[�W����(Standard Edition�Ȃ�)���C���X�g�[������Ă������AC++�AC#�̂����ꂩ�����K�v�łȂ����́A�K�v�ȂƂ��낾���Q�Ƃ��Ă��������B
Visual C# 2008 Express Edition�̃Z�b�g�A�b�v�ɂ��ẮA�}�C�N���\�t�g�̌����T�C�g�ɒ��J�ɉ������Ă���܂��B
http://www.microsoft.com/japan/msdn/vstudio/express/beginners/2008/vcsharp.aspx
Express Edition��Web�C���X�g�[�����_�E�����[�h���A���v��\������A�v���P�[�V���������ۂɍ���Ă݂邱�Ƃ��ł��܂��BC#�͂��炭�g���\��͂Ȃ�����ǂ��A�C���X�g�[�����Ă݂悤�A�Ƃ������͐����Ă݂Ă��������B
�����ł�Microsoft Visual C++ 2008 Express Edition�̃Z�b�g�A�b�v�A�T���v���J���ɂ��ĉ�����܂��B����Visual C++��.NET�Ƃ������J���������g���̕��́A�ǂݔ���Ă��������Ă���肠��܂���B
�܂��}�C�N���\�t�g�̃z�[���y�[�W����Microsoft Visual C++ 2008 Express Edition���_�E�����[�h���܂��B
http://www.microsoft.com/japan/msdn/vstudio/express/
�uWeb�C���X�g�[��(�_�E�����[�h)�v���N���b�N����ƁAWeb�C���X�g�[���ŃZ�b�g�A�b�v�t�@�C���uvcsetup.exe�v���_�E�����[�h���邱�Ƃ��ł��܂��B���̃z�[���y�[�W�ɂ�Visual Studio���i���g����ł̖��ɗ����������܂��B�Ƃ肠����VC2008���g���Ă݂������́u�͂��߂Ă̕��̂��߂̃C���X�g�[�����@�v��ǂ�ł݂�Ƃ���Ɨǂ��ł��傤�B
�K�v�ȃn�[�h�f�B�X�N�e�ʂ̊m�F�A�N�����̃A�v���P�[�V�����̏I���Ȃǂ��s���Ă���C���X�g�[���E�B�U�[�h�uvcsetup.exe�v���N�����܂��B
�u�Z�b�g�A�b�v�̕i������v���O�����v�̓`�F�b�N���Ă����Ȃ��Ă��A�ǂ���ł����܂��܂���B�u���ցv���N���b�N���Đi�݂܂��B
���C�Z���X�������悭�ǂ�Łu���ӂ���v��I��ł��������B�܂��uVisual Studio�ŃI�����C����RSS�R���e���c����M���ĕ\���ł���悤�ɂ���v�����ɖ�肪�Ȃ���`�F�b�N���܂��傤�B�C�x���g��T�[�r�X�p�b�N�Ȃǂ̍X�V���VC2008�N������ɕ\�������X�^�[�g�y�[�W�Ɏ����I�ɕ\�������悤�ɂȂ�܂��i�����ł�RSS��M�̐ݒ�͌�ł��I�v�V�����������X�^�[�g�A�b�v�ŕύX�ł��܂��j�B�u���ցv���N���b�N���Đi�݂܂��B
�u�C���X�g�[���I�v�V�����v��I�����܂��B�����ŕ\������Ă���3�̃I�v�V�����́A�ǂ���C���X�g�[�����Ȃ��Ă���肠��܂���B�uMSDN Express���C�u�����v��F1�L�[�ŌĂяo����h�L�������g�ŁA�I�����C���ł̕����[�����Ă���̂ł����A�M�҂͓d�Ԃ̒��ŃR�[�f�B���O�����邱�Ƃ������̂ŃC���X�g�[�����Ă��܂��i�I�����C���łƓ������ė��p�ł��܂��j�B�uSQL Server 2005�v�A�uSilverlight�v�͎g���\�肪�Ȃ���C���X�g�[�����Ȃ��ėǂ��ł��傤�B�u���ցv���N���b�N���Đi�݂܂��B
�u�R�s�[��t�H���_�v�ƃ_�E�����[�h�p�b�P�[�W�̃��X�g�ł��B�u�C���X�g�[������t�H���_�v�͖{���ł̓f�t�H���g�̂܂܂Ƃ��ĉ�����܂��B�_�E�����[�h���X�g�̒��ɁuWindows SDK�v�������Ă���̂�������܂�(�ȑO��Express Edition�ł͕ʓr�C���X�g�[������K�v������܂���)�B�u�C���X�g�[���v���N���b�N����ƃ_�E�����[�h�ƃC���X�g�[�������s����܂��B
�ȏ��WindowsXP�V���[�Y�ɂ�����VC2008�Z�b�g�A�b�v�̗���ł��iWindows Vista�̏ꍇ�́u�Ǘ��Ҍ����Ŏ��s�v������K�v������_�Ȃǂ������ׂ����_���قȂ�܂����قړ�������ł��j�B�������������VC2008�̃E�B�U�[�h��I�����C���`���[�g���A���Ȃǂ��g���ĊȒP�ȃv���O���~���O�������Ă݂�Ɨǂ��ł��傤�B
�����A����Visual C++��Visual Studio�̉ߋ��̃o�[�W����(.NET2003/2005�Ȃ�)�����g���ŁA����2008�N���_�̍ŐV�łł���Visual C++ 2008 Express�i�ȉ�VC2008�j�������Ă݂����̓ǎ҂́A�����ł�����Ɖ�蓹�����Ď����Ă݂邱�Ƃ��������߂��܂��BVC2008��Version Selector�Ƃ����@�\������A�قȂ�o�[�W������Visual Studio���i�̍��݂��\�ɂ��܂��B�e�o�[�W�����ɂ����ă\�����[�V�����t�@�C���͊g���q�u.sln�v�ƕς��܂��A�����I�ɂ��̊g���q�u.sln�v�Ɋ֘A�Â���ꂽ�A�v���P�[�V�����ł���uVersion Selector�v���t�@�C�������̃o�[�W�����L�q�������I�ɓǂݎ��A�t�@�C�����_�u���N���b�N���ꂽ�Ƃ��͓K�ȃo�[�W������VC���N�����܂��B���̋@�\�̂������ŕ����̃o�[�W�����̊J���������S���ăC���X�g�[���ł���悤�ɂȂ�܂��B
WiimoteLib��Brian Peek(http://www.brianpeek.com/)�ɂ��.NET���ŗ��p�ł���API�I�[�v���\�[�X�v���W�F�N�g�ł��BMicrosoft���x������I�[�v���\�[�X�v���W�F�N�g�x���T�C�g�uCodePlex�v(http://www.codeplex.com/)�Ō��J����Ă��܂��BWiimoteLib��p���邱�ƂŁA.NET���ŊȒP��WiiRemote�𗘗p����A�v���P�[�V�������J�����邱�Ƃ��ł��܂��BVersion1.6.0.0�����WiiRemote�����łȂ�Wii Fit�o�����X�{�[�h�ɂ��Ή����Ă��܂��B
WiimoteLib��.NET�ŊJ�����ꂽAPI�ł���A����Ɉˑ����܂��AC#��Visual Basic�����C���̃^�[�Q�b�g�̂悤�ł��BC++�ł̃T���v���͔z�z����Ă��炸�A�܂��l�b�g��̏������܂葶�݂��Ȃ��̂ł����A�{�͂�ǂݐi�߂Ă������ƂŁA������ԂŖ��Ȃ����p�ł��邱�Ƃ��킩��ł��傤�B
C++����ɂ͂��܂��܂Ȍ���d�l�����݂��܂����A�{�͂ł͓���.NET�v���O���~���O�Ƃ��Ĉ����₷���uC++/CLI�v�������܂��BCLI�Ƃ́uCommon Language Infrastructure(���ʌ�����)�v�̗��ŁAC++�Ɋ���e���v���O���}�[�ɂ��A��a���̏��Ȃ��`�Ő�i�I��.NET�v���O���~���O������Ă��܂��B�{�͂ł͂��̓����𗘗p���A������{�I�ȃv���O���~���O��C++��C#�Ƃ���2�̌���ʼn������Ƃ����킯�ł��B
WiimoteLib�̃��C�Z���X�́uMicrosoft Permissive License (Ms-PL)�v�ł��BMs-PL�́A�ł������̊ɂ��}�C�N���\�t�g�̃\�[�X�R�[�h���C�Z���X�ŁA�\�[�X�R�[�h�����p�܂��͔p�̖ړI�ŕ\���A�ύX�A�ĔЕz�ł��܂��B�܂���]����ꍇ�́A�ύX�����\�[�X�R�[�h�ɑ��ă��C�Z���X�����ۋ����邱�Ƃ��ł��܂��B�ȉ��ɏ̓��{��Q�l������p���Ă����܂�(http://www.microsoft.com/japan/resources/sharedsource/licensingbasics/permissivelicense.mspx)�B
Microsoft Permissive License (Ms-PL)�@���J��: 2007�N7��9��
�{���C�Z���X�́A�t������\�t�g�E�F�A�̎g�p�ɓK�p����܂��B�{�\�t�g�E�F�A���g�p����ꍇ�́A�{���C�Z���X�ɓ��ӂ������̂Ƃ݂Ȃ��܂��B�{���C�Z���X�ɓ��ӂ��Ȃ��ꍇ�A�{�\�t�g�E�F�A���g�p���邱�Ƃ͂ł��܂���B
1.��`
�{���C�Z���X�ł́A"��������"�A"����"�A"�I���앨"�A�����"�Еz"�Ƃ����p��́A�č��̒��쌠�@�̉��Ŏg����ꍇ�Ɠ����Ӗ���L���܂��B"�R���g���r���[�V����"�Ƃ́A�I���W�i���̃\�t�g�E�F�A�A�܂��̓\�t�g�E�F�A�ɑ���lj��������͕ύX���Ӗ����܂��B"�R���g���r���[�^�["�Ƃ́A�{���C�Z���X�̉��Ŏ���̃R���g���r���[�V������Еz����҂��Ӗ����܂��B"�Ώۓ���"�Ƃ́A�R���g���r���[�V���������ڒ�G����A�R���g���r���[�^�[�̗L����������̐����͈͂��Ӗ����܂��B
2.�����̕t�^
(A)���쌠�Ɋւ��鋖��-��3���u��������ѐ����v���܂ޖ{���C�Z���X�̏����ɏ]���āA�e�R���g���r���[�^�[�͎g�p�҂ɑ��A�R���g���r���[�V���������A�R���g���r���[�V�����̓I���앨���쐬���A�R���g���r���[�V�����܂��͍쐬�����I���앨��Еz����A��Ɛ�I�A���E�S��A�����̒��쌠���C�Z���X��t�^���܂��B(B)�������Ɋւ��鋖��-��3���u��������ѐ����v���܂ޖ{���C�Z���X�̏����ɏ]���āA�e�R���g���r���[�^�[�͎g�p�҂ɑ��A�{�\�t�g�E�F�A�̃R���g���r���[�V�����܂��͖{�\�t�g�E�F�A�̃R���g���r���[�V�����̓I���앨���쐬���A�쐬�����A�g�p���A�̔����A�̔����Ă��A�A�����A�����/�܂��͂��̑��̕��@�ŏ�������A�Ώۓ����Ɋ�Â���Ɛ�I�A���E�S��A�����̓��������C�Z���X��t�^���܂��B
3.��������ѐ���
(A)���W�̏��O-�{���C�Z���X�ł́A�R���g���r���[�^�[�̖��O�A���S�A�܂��͏��W���g�p���錠���͗^�����܂���B
(B)�g�p�҂��A�{�\�t�g�E�F�A�ɂ��N�Q���咣��������Ɋւ��A�R���g���r���[�^�[�ɑ��ē����N�Q���咣����ꍇ�A���Y�R���g���r���[�^�[�ɂ��{�\�t�g�E�F�A�ɂ��Ă̎g�p�҂ɑ���������C�Z���X�͎����I�ɏI�����܂��B
(C)�{�\�t�g�E�F�A�̑S���܂��͈ꕔ��Еz����ꍇ�A�{�\�t�g�E�F�A�ɕt�����邷�ׂĂ̒��쌠�A�������A���W�A����яo���̕\����ێ�����K�v������܂��B
(D)�{�\�t�g�E�F�A�̑S���܂��͈ꕔ���\�[�X�R�[�h�̌`���ŔЕz����ꍇ�́A�Еz���ɖ{���C�Z���X�̊��S�Ȏʂ����܂߂���ŁA�{���C�Z���X�̏����̉��ł̂ݔЕz���邱�Ƃ��ł��܂��B�{�\�t�g�E�F�A�̑S���܂��͈ꕔ���R���p�C���ς݂܂��̓I�u�W�F�N�g�R�[�h�`���ŔЕz����ꍇ�́A�{���C�Z���X�ɒ�G���Ȃ������̃��C�Z���X�̉��ł̂ݔЕz���邱�Ƃ��ł��܂��B
(E)�{�\�t�g�E�F�A�͌���L�p�ɂă��C�Z���X����܂��B�{�\�t�g�E�F�A�̎g�p�ɔ����댯�́A���ׂĎg�p�҂��������̂Ƃ��܂��B�R���g���r���[�^�[����̖����I�ȕۏ܂��͏����͈����܂���B�g�p�n�̖@���Ɋ�Â��A�{���C�Z���X�ł͕ύX�ł��Ȃ����̑��̏���҂̌��������݂���ꍇ������܂��B�g�p�n�̖@���Ɋ�Â��ċ������͈͂ŁA�R���g���r���[�^�[�́A���i���A����ړI�ɑ���K�����A��N�Q�ɂ��āA�َ��I�ȕۏ�ے肵�܂��B
(�{�T�C�g��http://www.microsoft.com/resources/sharedsource/licensingbasics/permissivelicense.mspx�̎Q�l��ł�)
���C�Z���X���m�F������AWiimoteLib���_�E�����[�h���܂��B���e�o�Ŏ��_�ł̍ŐV�ł�2009�N1��19���Ɍ��J���ꂽWiimoteLib v1.7�ł��B
http://www.codeplex.com/WiimoteLib
�z�[���y�[�W�㕔�ɂ���uDownload�v�̃����N���N���b�N����ƁA�_�E�����[�h�y�[�W���{���ł��܂��B�z�z�p�̃p�b�P�[�W�ƃ\�[�X�R�[�h���z�z����Ă��܂����A�\�[�X�R�[�h�ł͂Ȃ��ق��uWiimoteLib V1.7 (787K)�v���_�E�����[�h���Ă��������B
�N���b�N����ƁA���C�Z���X���p��ŕ\������܂��̂�(�m�F������)�uI Agree�v�N���b�N���A�_�E�����[�h���J�n���܂��B
�_�E�����[�h����ZIP�t�@�C����W�J������A�܂��͓���m�F�����܂��B���g����Bluetooth�X�^�b�N�Ǘ��\�t�g�E�F�A���N�����āAWiiRemote��1��ڑ����܂��B�ڑ��ł�����A�W�J�����t�H���_�̒��ɂ���uWiimoteTest.exe�v���_�u���N���b�N���Ď��s���Ă݂Ă��������B
���������s�ł���ƁA���b�Ԃ̏������̌�A�}�̂悤�Ȏ��s��ʂ��\�������͂��ł��BWiiRemote��U������A�{�^�����������ƂŁA���A���^�C���Œl���擾�ł��Ă��邱�Ƃ��m�F�ł��܂��B
�t�H�[���̉E��u×�v���N���b�N����ƏI�����܂��B�����茳�ɕ�����WiiRemote��Z���T�[�o�[�A�k���`���N�A�M�^�[�R���g���[���[�AWiiFit�o�����X�{�[�h�Ȃǂ���܂�����A���Аڑ����ē���������Ă݂Ă��������B
�����WiimoteLib���g���邱�Ƃ��m�F�ł��܂����B�G���[�����������ꍇ�A���ɁuError reading data from Wiimote...is it connected?�v�ƕ\�����ꂽ�ꍇ�́ABluetooth�ł̐ڑ��ɖ�肪����܂��BBluetooth�X�^�b�N��������WiiRemote��ڑ����Ă��邩�ǂ����A�m�F���Ă݂Ă��������B
���āA�W�J�����t�@�C���̂����uWiimoteLib.dll�v����ԏd�v�ȃt�@�C���ł��B�uWiimoteTest.ext�v������DLL�������f�B���N�g���ɑ��݂��Ȃ���ΐ��������삵�܂���B�Ȃ�WiimoteLib���J���ŗ��p����ɂ�����A���ɃC���X�g�[���[�Ȃǂ͂���܂���̂ŁA�W�J�����t�H���_���Ɓu�}�C�h�L�������g\Visual Studio 2008\Projects\WiimotLib_1.7�v�Ɉړ����Ă����Ƃ��̂��Ƃ̍�Ƃ��y�ɂȂ�ł��傤�iWiimoteLib.dll�����ł������̂ł����A�w���v�╡���̃o�[�W������DLL�����݂���ƌ�X���ł��j�B�Ȃ��udocs�v�t�H���_�ɂ���uWiimoteLib.chm�v���w���v�t�@�C���ł��B�h�L�������g����������Ɛ�������Ă��܂��B
����ŃZ�b�g�A�b�v�͏I���ł��I���̐߂���͎��ۂɁA�܂���Visual C#��p����WiiRemote�𐧌䂵�Ă����܂��B
���̐߂ł́AVisual C# 2008 Express(�Ȍ�uC#�v�ƕW�L)���g���āAWiimoteLib�ł̃v���O���~���O��̌����Ă����܂��B
Visual C# 2008 Express Edition���N�����܂��B
[�t�@�C��(F)]��[�V�����v���W�F�N�g(P)]��[Windows�t�H�[���A�v���P�[�V����]��I�����܂��B
�u�v���W�F�N�g���v�ɁuWiimoteLib01�v�Ƃ������O��t����[OK]�{�^�����N���b�N���܂��B
���b�҂ƐV�����v���W�F�N�g���쐬����܂��B���������������[F5]�L�[�������āA���s���Ă݂�Ɨǂ��ł��傤�B
��قǍ쐬������̃v���W�F�N�g��WiimoteLib��g�ݍ���ł����܂��傤�B�E���ɕ\������Ă���A�\�����[�V�����G�N�X�v���[����[�Q�Ɛݒ�]���E�N���b�N�A[�Q�Ƃ̒lj�(R)...]��I�����܂��B
�Q�Ƃ̒lj�����[�Q��]��I�����AWiimoteLib.dll��I�����܂��B�}�C�h�L�������g�́uVisual Studio 2008\Projects�v�ɂ������uWiimoteLib_1.7\WiimoteLib.dll�v��I����[OK]�{�^�����N���b�N���܂��B
����Ń\�����[�V�����G�N�X�v���[���̎Q�Ɛݒ��WiimoteLib���lj����ꂽ�͂��ł��B
����ł͍ŏ����̃v���O�����̎��s���ʂ�\�����邽�߂̃t�H�[�����쐬���܂��傤�B�\�����[�V�����G�N�X�v���[���́uForm.cs�v���E�N���b�N���āu�R�[�h�̕\���v�ŕ\�������C#�̃R�[�h�ɁA�ł��d�v�ȍŏ���1�s�uusing WiimoteLib;�v��lj����܂��B
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; | using WiimoteLib; //������1�s�lj����܂� namespace WiimoteLib01 { //���w�肵���v���W�F�N�g�� public partial class Form1 : Form { public Form1() { InitializeComponent(); } } }
�ȏオC#����WiimoteLib��p���邽�߂̍ŏ��̈���̑���ł��B�܂�WiiRemote�炵�����Ƃ͉����ł��܂��A�����WiimoteLib�̃N���X�����p�ł���悤�ɂȂ�܂����B���̃X�e�b�v�ŁA���ۂɓ�����m�F���Ă݂܂��傤�B
[F5]�L�[�A�܂��́A[�f�o�b�O(D)]��[�f�o�b�O�J�n(F5)]�������ăv���O���������s�����Ă݂܂��傤�B
�v���O�����ɃG���[���Ȃ���Ή��}�̂悤�ɕ\�������͂��ł��B
���̃v���O�����͒P�Ƀt�H�[��������v���O�����ł��B�u×�v�{�^���������ăt�H�[������ăv���O�������I�������܂��傤�B�Ȍ�A���̃v���O�������x�[�X��WiiRemote�𐧌䂷��v���O������lj����Ă����܂��B
����Visual C++ 2008 Express(�Ȍ�uC++�v�ƕW�L)���g���āAWiimoteLib�ł̃v���O���~���O��̌����Ă����܂��B��x������o������A�Ȍ�͋��ʂł��B�����C++��C#�A�ǂ���ł����܂��܂���B�����g���g���₷�������I��ł݂Ă��������B
Visual C++ 2008 Express Edition���N�����܂��B
[�t�@�C��(F)]��[�V�����v���W�F�N�g(P)]����A[CLR]��[Windows�t�H�[���A�v���P�[�V����]��I�����܂��B
�u�v���W�F�N�g���v�ɁuWiimoteLib01cpp�v�Ƃ������O��t����[OK]�{�^�����N���b�N���܂��B
�V�����v���W�F�N�g���쐬����܂����B���������������[F5]�L�[�������āA���s���Ă݂�Ɨǂ��ł��傤�B�����Ȃ��t�H�[�����\������A�u×�v�{�^���������ƏI�����܂��B
��قǍ쐬�����v���W�F�N�g��WiimoteLib��g�ݍ���ł����܂��傤�B�\�����[�V�����G�N�X�v���[���Ńv���W�F�N�g(�����ł́uWiimoteLib01cpp�v)���E�N���b�N����[�Q��]��I�����܂��B
�v���W�F�N�g�̃v���p�e�B�y�[�W����[�V�����Q�Ƃ̒lj�(N)...]���N���b�N���A[�Q��]�^�u���N���b�N���A�t�@�C���I���_�C�A���O�ŁA�}�C�h�L�������g�́uVisual Studio 2008\Projects�v�ɂ������uWiimoteLib_1.7\WiimoteLib.dll�v��I����[OK]�{�^�����N���b�N���܂��B
���ɁAWiimoteLib�̏������R�[�h�������܂��B�\�����[�V�����G�N�X�v���[���́uForm1.h�v���E�N���b�N���āu�R�[�h�̕\���v��I�ԂƁAForm1.h�̃R�[�h���\������܂��B���̃R�[�h�̐擪12�s�ڂɈȉ��̂悤�ɁA�K�v��1�s�����������Ă��������B
#pragma once namespace WiimoteLib01cpp { //���w�肵���v���W�F�N�g�� using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; | using namespace WiimoteLib; //�����1�s�lj����܂� ���ȉ�����
�ȏオC++/CLI��WiimoteLib��p���邽�߂̕K�v�Œ���̃v���O�����ł��B[F5]�L�[�������ăv���O���������s�����Ă݂܂��傤�B
�v���O�����ɃG���[���Ȃ����C#�Ɠ��l�A�����Ȃ��t�H�[�����\�������͂��ł��B���܂̂Ƃ���A���̃v���O�����͒P�Ƀt�H�[�������邾���̃v���O�����ł����AWiimoteLib�̃N���X��using namespace�錾�ɂ���Ė��Ȃ��g�ݍ��܂�Ă��邱�Ƃ��킩��܂��B�Ȍ�A���̃v���O�������x�[�X��WiiRemote�𐧌䂷��v���O������lj����Ă����܂��B
��������́A�����WiimoteLib��API��p���ăv���O���~���O���s���Ă����܂��B�����C++��C#����ĉ�����Ă����܂����A.NET�t���[�����[�N�̂�������GUI�̐v�Ȃǂ͂܂�������������ŊJ����i�߂邱�Ƃ��ł��܂��B
�܂��APC��ʏ�ɕ\�������Form�{�^���ɂ���āAWiiRemote�̐U���@�\(�o�C�u���[�^�[)�̓��������邷��v���O���������܂��B
�O�߂̂Ƃ���AWiimoteLib��g�ݍ��v���W�F�N�g�̃��C���̃R�[�h�iForm1.cs��������Form1.h�j�Ɉȉ���3�s��lj����܂��B
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; | using WiimoteLib; //WiimoteLib��錾 namespace WiimoteLib01 { public partial class Form1 : Form { | Wiimote wm = new Wiimote(); //Wiimote�N���X�̍쐬 public Form1() { InitializeComponent(); | wm.Connect(); //Wiimote�ɐڑ� } } } ���ȉ�����
#pragma once namespace WiimoteLib01cpp { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; | using namespace WiimoteLib; //WiimoteLib��錾 �������� public ref class Form1 : public System::Windows::Forms::Form { | public: Wiimote^ wm; //Wiimote�N���X�̓��ꕨ public: Form1(void) { | wm = gcnew Wiimote(); //Wiimote�N���X�̍쐬; InitializeComponent(); // //TODO: �����ɃR���X�g���N�^ �R�[�h��lj����܂� // | wm->Connect(); //Wiimote�ɐڑ� } ���ȉ�����
C#��C++�������̋L����\���͈Ⴆ�ǁA�قƂ�Ǔ����ł��邱�Ƃ��������肢���������ł��傤���HC++�ł�wm�Ƃ������ꕨ��Form1�N���X��Public�����o�[�Ƃ��ėp�ӂ��Ă��܂��B
�܂��A�t�H�[���Ƀ{�^����\��t���Ă��������BC#�ł́A�c�[���{�b�N�X����h���b�O����Form1�̍D���Ȉʒu�ɔz�u���܂��B(C++�ł����l�ł�)�\������Ă��Ȃ��ꍇ�A[�\��]����[�f�U�C�i]�Ƃ���Form1�̃f�U�C����\�����A�ēx[�\��]����[�c�[���{�b�N�X]��I�Ԃ��ƂʼnE���Ƀc�[���{�b�N�X�E�B���h�E������܂�(C++�͍���)�B�u�R�����R���g���[���v�ɁuButton�v������܂��̂ŁA�t�H�[���̏�Ƀh���b�O���Ă��������B
���ɁA�\��t�����ubutton1�v�̃v���p�e�B�V�[�g�́uText�v���ubutton1�v����uON�v�ɕύX���܂��B����Ńt�H�[����̃{�^���ɏ�����Ă���e�L�X�g���uON�v�ɕς��͂��ł��B
Form1��ɔz�u�����{�^���uON�v���_�u���N���b�N����ƁA�{�^���N���b�N���̃C�x���g���w�肷��R�[�h�������I�ɕ\������܂��̂ʼn��L�̂悤�ɋL�q���܂��B
private void button1_Click(object sender, EventArgs e) { wm.SetRumble(true); //�o�C�u���[�V����ON }
#pragma endregion private: System::Void button1_Click(System::Object^ sender, \ System::EventArgs^ e) { wm->SetRumble(true); //�o�C�u���[�V����ON } }; }
�C���͂����͂�����[F5]�L�[�����������Ȃ邩������܂��A�����͎̂��̃X�e�b�v�܂Ői��ł���ɂ��܂��傤�I���̂܂܂ł́ABluetooth�ڑ�����Ă��܂��A�o�C�u���[�^�[���쓮���Ă��܂��~�߂���@���������Ă��܂���̂ŁA�u���u������ςȂ��̍�������ԂɂȂ��Ă��܂��܂��B
�o�C�u���[�^�[���~������uOFF�v�{�^�����쐬���܂��B��قǂƓ��l�ɁA�c�[���{�b�N�X����{�^����z�u���܂��B
��قǂƓ������A�\��t�����ubutton2�v�̃v���p�e�B��Text���ubutton2�v����uOFF�v�ɕύX���܂��B
�Ō�ɁA�\��t�����ubutton2�v���_�u���N���b�N���A���L�̂悤�ȃR�[�h���L�q���܂��B
private void button2_Click(object sender, EventArgs e) { wm.SetRumble(false); //�o�C�u���[�V����OFF }
private: System::Void button2_Click(System::Object^ sender, \ System::EventArgs^ e) { wm->SetRumble(false); //�o�C�u���[�V����OFF }
�ȏ�ŏI���ł��B���ꂾ���̃v���O������WiiRemote�̃o�C�u���[�V�����@�\��ON/OFF���䂪�\�ɂȂ�܂��B
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; | using WiimoteLib; //WiimoteLib�̓ǂݍ��� namespace WiimoteLib01 { public partial class Form1 : Form { | Wiimote wm = new Wiimote(); //Wiimote�̐錾 public Form1() { InitializeComponent(); | wm.Connect(); //Wiimote�̐ڑ� } private void button1_Click(object sender, EventArgs e) { | wm.SetRumble(true); //�o�C�u���[�V����ON } private void button2_Click(object sender, EventArgs e) { | wm.SetRumble(false); //�o�C�u���[�V����OFF } } }
#pragma once ������ | using namespace WiimoteLib; //WiimoteLib��錾 ������ public ref class Form1 : public System::Windows::Forms::Form { | public: Wiimote^ wm; //Wiimote�N���X�̓��ꕨ public: Form1(void) { | wm = gcnew Wiimote(); //Wiimote�N���X�̍쐬; InitializeComponent(); // //TODO: �����ɃR���X�g���N�^ �R�[�h��lj����܂� // | wm->Connect(); //Wiimote�ɐڑ� } ������ #pragma endregion private: System::Void button1_Click(System::Object^ sender, \ System::EventArgs^ e) { | wm->SetRumble(true); //�o�C�u���[�V����ON } private: System::Void button2_Click(System::Object^ sender, \ System::EventArgs^ e) { | wm->SetRumble(false); //�o�C�u���[�V����OFF } }; }
�܂��A���g����Bluetooth�X�^�b�N����WiiRemote��ڑ����܂��B
�����āAVisual C#/C++����uF5�v�L�[�������ăv���O�������N�����܂��B�G���[���Ȃ���Ή��̂悤�ȃt�H�[�����N������͂��ł��B
�������̂悤�ȃG���[����������ꍇ��WiiRemote���������ڑ�����Ă��邩�m�F���Ă��������B
�����ɋN���ł����ꍇ�A�uON�v�{�^�����N���b�N����ƁA�o�C�u���[�V������ON�ɂȂ�WiiRemote���U�����܂��B����Ă��������uOFF�v�{�^�����N���b�N���āAWiiRemote�̐U�����Ƃ߂܂��傤�B
�ǂ��ł��傤���H���ɊȒP��WiiRemote�̃o�C�u���[�V��������v���O���������܂����B���̂悤��WiimoteLib��C++/CLI��C#.NET�̑g�ݍ��킹�ŁA�ȒP�ɃA�v���P�[�V�������J�����Ă������Ƃ��ł��܂��B
WiimoteLib�ɂ̓o�C�u���[�^�[�̐���ȊO�ɂ�WiiRemote�����䂷�邽�߂̊������������Ă��܂��B
�ȒP�Ƀv���O�����̗����������܂��ƁA�܂��uConnect()���v��WiiRemote�Ƃ̐ڑ����s���܂��B���̂Ƃ�WiiRemote���������ڑ��A�F������Ă��Ȃ������ꍇ�A��O(Exception)���������܂��B����͗�O�������s���Ă��܂���̂ŁA���ۂ̃A�v���P�[�V�����ł͕K�v�ɉ����ė�O������lj����Ă��������B�{�^�����������Ƃ��ɁA�uSetRumble()���v��WiiRemote�̃o�C�u���[�V�����𐧌䂵�܂��B()�̈����Ɂutrue�v������ƃo�C�u���[�V�������U�����A�ufalse�v������ƃo�C�u���[�V��������~���܂��BPWM����(�p���X���ϒ�:Pulse With Modulation)��p���邱�Ƃɂ���ăo�C�u���[�V�����ɋ����t���邱�Ƃ��ł��܂��B�ȒP�ɐ�������ƍ�����ON��OFF���J��Ԃ����Ƃɂ���ăo�C�u���[�V�����ɋ�������鐧����@�ł��B�����ł͂����Đ������܂��A�]�͂̂���l�̓`�������W���Ă݂Ă��������B
�ȉ��A���̃v���O�����Ŏg����WiimoteLib��API���ł��B
C# | C++ | ��� |
---|---|---|
using WiimoteLib; | using namespace WiimoteLib; | �l�[���X�y�[�X�錾 |
public Wiimote wm; | public: Wiimote^ wm; | �N���X�̐錾 |
wm = new Wiimote(); | Wiimote^ wm = gcnew Wiimote(); | �N���X�V�K�쐬 |
wm.Connect(); | wm->Connect(); | WiiRemote�ɐڑ� |
wm.SetRumble(true); | wm->SetRumble(true); | �o�C�u���[�^�[�쓮 |
wm.SetRumble(false); | wm->SetRumble(false); | �o�C�u���[�^�[��~ |
�������ł��傤�A.NET���ɂ����āAC#��C++�ł͉������̂Ȃ����Ƃ��悭�킩��܂��BGUI�ɂ��t�H�[���쐬���A�}�E�X�h���b�O�ƃv���p�e�B�̐ݒ�A�_�u���N���b�N�ɂ��Y���R�[�h�̎�������������܂��̂Ŕ��ɉ��K�ɃR�[�f�B���O�ł��܂��B���̃X�e�b�v�ł͓����v�̂ŁALED�̓_���𐧌䂵�Ă����܂��B
����WiiRemote��LED����ɂ��ăv���O���~���O���s���Ă����܂��B�����ł́AForm�{�^�����N���b�N���閈��WiiRemote�́u�v���C���[�C���W�P�[�^�[�v�ƌĂ��FLED���J�E���g�A�b�v�����Ă����܂��B
�����ɂ������Ă̊�{�I�ȃv���O���~���O�̗���͑O�߂̃o�C�u���[�^�[�̐���̏ꍇ�Ɠ����ł��B�V�����v���W�F�N�g���쐬���A�v���W�F�N�g�̃N���X�̎Q�Ɛݒ��WiimoteLib��lj����A�ȉ��̏������R�[�h�����������Ă��������B
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; |using WiimoteLib; //WiimoteLib�̎g�p��錾 namespace WindowsFormsApplication1 { //���v���W�F�N�g���ɂ���ĈقȂ� public partial class Form1 : Form { |Wiimote wm = new Wiimote(); //Wiimote�̐錾 |int count=0; //�J�E���g�̐錾 public Form1() { InitializeComponent(); | wm.Connect(); //WiiRemote�ڑ� } } }
#pragma once namespace WLCLED { //���v���W�F�N�g���ɂ���ĈقȂ� using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; | using namespace WiimoteLib; //WiimoteLib�̎g�p��錾 ������ public ref class Form1 : public System::Windows::Forms::Form { | public: Wiimote^ wm; //Wiimote�I�u�W�F�N�gwm�̐錾 | public: int count; //LED�J�E���g�p�̕ϐ�count�̐錾 public: Form1(void) { | wm = gcnew Wiimote(); //Wiimote�C���X�^���X�̍쐬 InitializeComponent(); // //TODO: �����ɃR���X�g���N�^ �R�[�h��lj����܂� // | wm->Connect(); //WiiRemote�ڑ� } protected: ������
�m�F�̂��߂ɂ�����WiiRemote��Bluetooth�ڑ����s���A[F5]�L�[�Ŏ��s�������Ă݂邱�Ƃ������߂��܂��B�R���p�C���G���[��WiimoteLib.dll�̒lj��킷��ȂǁA�����̋̃t�H�[�����\������邾���̏�Ԃł����A�m�F�͑厖�ł��B������A���̏������R�[�h�쐬�܂ł̗��ꉽ�x���s���܂��̂ŁA�J���_�Ŋo���Ă��܂��܂��傤�B
�Ȃ�C++�ł́Aint�^�̕ϐ�count��AWiimote�I�u�W�F�N�g���i�[����wm�̐錾���AForm1�̃C���X�^���X�Ƃ͕ʂɍs���K�v������܂��B�������Ȃ���Α��̃��\�b�h���爵�����Ƃ��ł��܂���B����A�ׂ����Ƃ����C#�ƈႢ���o�Ă��܂��̂Œ��ӂ��Ă��������i�����̂���l�́A�킴�ƊԈႦ�Ă݂�̂����ɂȂ��Ă�����������܂��j�B
����C#/C++�ŋ��ʂ̍�Ƃł��B��قǂ̃o�C�u���[�^�[�̗�Ɠ��l�Ƀt�H�[���uForm1�v�Ƀ{�^����\��t���Ă��������B�{�^�����������ѕ\�����ς��d�g�݂�������܂��̂ŁA�{�^���͏����傫�ځA�����ɂ��Ă����Ɨǂ��ł��傤�B
���ɓ\��t�����ubutton1�v���_�u���N���b�N���āA�ȉ��̃R�[�h��lj����܂��B
private void button1_Click(object sender, EventArgs e) { this.button1.Text ="wm.SetLEDs("+ count+") ��\����"; this.wm.SetLEDs(count); count++; }
private: System::Void button1_Click(System::Object^ sender, \ System::EventArgs^ e) { button1->Text = "wm->SetLEDs("+ count +")��\����"; wm->SetLEDs(count); count++; }
�ȏ�ŃR�[�f�B���O�͏I���ł��B���������ꂾ���̃v���O������WiiRemote��LED���䂪�\�ɂȂ�܂��B
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; |using WiimoteLib; namespace WL_LED { public partial class Form1 : Form { | Wiimote wm = new Wiimote(); | int count = 0; public Form1() { InitializeComponent(); | wm.Connect(); } private void button1_Click(object sender, EventArgs e) { | this.button1.Text = "wm.SetLEDs(" + count + ")��\����"; | wm.SetLEDs(count); | count++; } } }
#pragma once namespace WLCLED { //�쐬�����v���W�F�N�g���A���R�B using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; | using namespace WiimoteLib; /// <summary> ������ /// </summary> public ref class Form1 : public System::Windows::Forms::Form { | public: Wiimote^ wm; //Wiimote�I�u�W�F�N�gwm�̐錾 | public: int count; //LED�J�E���g�p�̕ϐ�count�̐錾 public: Form1(void) { | wm = gcnew Wiimote(); InitializeComponent(); // //TODO: �����ɃR���X�g���N�^ �R�[�h��lj����܂� // | wm->Connect(); //WiiRemote�ڑ� } protected: /// <summary> /// �g�p���̃��\�[�X�����ׂăN���[���A�b�v���܂��B /// </summary> ~Form1() { if (components) { delete components; } } private: System::Windows::Forms::Button^ button1; protected: ������ #pragma endregion private: System::Void button1_Click(System::Object^ sender, \ System::EventArgs^ e) { | button1->Text = "wm->SetLEDs("+ count +")��\����"; | wm->SetLEDs(count); | count++; } }; }
�C++�̂ق����R�[�h�������Ȃ�܂����A�����Œlj����ꂽ�ȊO�̉ӏ��̈Ӗ�������C#�ł�C++�ł��A�قړ����ł��邱�Ƃ��킩��܂��B
����ł͑������s���Ă݂܂��傤�B
���ɁAVisual C#/C++��[F5]�L�[�������Ď��s���Ă��������B���s����Ɖ��}�̂悤�ȃA�v���P�[�V�������N�����܂��B
�������}�̂悤�ȃG���[����������ꍇ��WiiRemote���������ڑ�����Ă��邩�m�F���Ă��������B
�t�H�[���ɕ\�������{�^�����N���b�N���Ă����ƁAWiiRemote������LED�����X�ƌ����Ă����܂��B
�u×�v���N���b�N���ďI�����܂��B
LED�̓_���Ə����͂���API�𗘗p���܂��B
SetLEDs(int32 leds);
���̊��̈����uleds�v��int32�`���̐��l�������邱�ƂŁA�Ή�����LED���ω����܂��B���̃v���O�����ł͕ϐ�count�̒l�����uSetLEDs(count);�v�Ƃ��Ă��܂��BForm�ɔz�u���ꂽ�{�^�����N���b�N����ƁAcount�l��+1����Ă����܂��B
�����͐���(int32�`��)�ŗ^���܂����A�����WiiRemote���t���܂ɂ�����Ԃ̊eLED��4�r�b�g��2�i���ŕ\�����āA�e�r�b�g��0����15�܂ő����Ă��������̂ł��B2�i���ɓ���݂��Ȃ����̂��߂ɁA�\�ŕ\�����Ă݂܂����i���������A�����_���ł��j�B
10�i��(int) | LED4 | LED3 | LED2 | LED1 |
---|---|---|---|---|
0 | �� | �� | �� | �� |
1 | �� | �� | �� | �� |
2 | �� | �� | �� | �� |
3 | �� | �� | �� | �� |
4 | �� | �� | �� | �� |
5 | �� | �� | �� | �� |
6 | �� | �� | �� | �� |
7 | �� | �� | �� | �� |
8 | �� | �� | �� | �� |
9 | �� | �� | �� | �� |
10 | �� | �� | �� | �� |
11 | �� | �� | �� | �� |
12 | �� | �� | �� | �� |
13 | �� | �� | �� | �� |
14 | �� | �� | �� | �� |
15 | �� | �� | �� | �� |
�t�H�[����̃{�^�������������āAcount��10�i����16�ɂȂ�ƁALED0�`LED4�̌��͂��ꂼ��0�ɂȂ�LED�͑S�ď����܂����A����ȏ�̒l(17,18,19,...)�������Ă��A�܂����ʃr�b�g�ɒl������܂��̂ŁALED�̓J�E���g�A�b�v���Â��܂��B
�v���O�����ɂ���Ă�2�i����10�i���ł͂Ȃ��A�X��LED���w�肵�Č��点�����Ƃ�������ł��傤�B�����������Ƃ��́A���t�H�[�}�b�g���قȂ�ȉ��̌`���𗘗p���܂��F
SetLEDs(bool led1 ,bool led2 ,bool led3,bool led4);
�������ł��A������4�w�肷�邱�ƂŁA�e�X��LED�𐧌䂷�邱�Ƃ��\�ɂȂ�܂��B(�v���O���~���O�p��ł́A���̂悤�Ȋ��̗��p�̎d�����I�[�o�[���[�h�Ƃ����܂��j
�ȏ��LED�̐���͏I���܂��B���ɃV���v���ł����A�A�C�f�B�A����ł��낢��Ȃ��Ƃ��ł��܂��̂ŁA���Д��z��L���ɂ��ĉ��Ɏg���邩�l���Ă݂Ă��������B�܂����̕\���ɍ��킹���֗��ȏo�͗p��������Ă݂�Ƃ悢�ł��傤�B�Ⴆ�A�M�҂́uSetLEDbyValue(int)�v�Ƃ�����������āA4�i�K�̒l��\���ł���悤�ɂ��܂����B�u���[�X�Q�[���ł̃V�[���h�c�ʁv��u���_���[�W�̕\���v�A���ꂩ�珈���̒i�K��\���v���O���X�o�[�ɂ�LED���g���܂��B
��L�́uSetLEDs�v�̂悤��WiimoteLib�Ɏ�������Ă���API�����ꂼ��̋@�\�́AWiimoteLib�́udocs�v�t�H���_�ɂ���w���v�t�@�C���uWiimoteLib.chm�v���Q�Ƃ��邱�ƂŒT�����Ƃ��ł��܂��B�Ⴆ�A����API���̏ꍇ�͈ȉ��̂悤�ɋL�ڂ���Ă��܂��B
��Wiimote.SetLEDs Method��Overload List
Name | Description | |||
---|---|---|---|---|
SetLEDs(Int32) | Set the LEDs on the Wiimote | |||
SetLEDs(Boolean | Boolean | Boolean | Boolean) | Set the LEDs on the Wiimote |
See Also Wiimote Class Wiimote Members WiimoteLib Namespace
�܂���uSetLEDs()�v�ɂ́A����̂悤��Int32�̒l1�Ŏw�肷������ƁABoolean�܂�_�����邩�ǂ����̐^�U(true/false)��4�Ŏw�肷����@��2��ނ��p�ӂ���Ă���Ƃ������Ƃł��B�ǂ�����������ʂł͂���̂ł����A���̂悤�ɂ��āAWiimoteLib�Ȃǂ�API��������l�͕֗��ɃA�N�Z�X�ł���悤�ɁA��������̋C�̗����������J�����Ă���Ƃ������Ƃł��ˁB���́uSee Also�v�ɂ͏������Ă���N���X����o�[���Ȃǂւ̃����N������܂��B
�킩��Ȃ����Ƃ���������u����ȋ@�\�Ȃ����ȁH�v�Ǝv�����Ƃ��́A���̃w���v�t�@�C�������p���܂��傤�B���̃w���v�t�@�C���̓v���O�����R�[�h���玩����������Ă���悤�ł����A�����@�\�������Ă���AC#��VB�̃R�[�h���܂܂�Ă��āA���ɂȂ�܂��B
���̃X�e�b�v�ł�WiiRemote�̃{�^�����͂ɂ��Ċw�т܂��B�{�^����ON/OFF���擾���āA�t�H�[���ɕ\������V���v���ȃv���O�������쐬���܂��B
�����قǂ܂ł̃v���O�����Ɠ��l�ɁA�V�����v���W�F�N�g���쐬���A�Q�Ɛݒ��WiimoteLib��lj����ď������ł�����A�uForm1�v�Ƀ��x��(Label�R���g���[��)��4�\��t���Ă��������B
����Label�̕����́A��قǃv���O���������珑�������܂��̂Őݒ�͕s�v�ł��B
WiiRemote�̃{�^�����������Ƃ��ɔ�������C�x���g�𗘗p���āA���̃��x����\������l��ύX���邱�ƂŁA���݂̃{�^�����͂̏�Ԃ�\������Ƃ����v�Ńv���O����������Ă����܂��B
Form1.cs(C#)��������Form1.h(C++)�Ɉȉ��̕�����lj����܂��B
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; |using WiimoteLib; //WimoteLib�̎g�p��錾 namespace WiimoteLib_Sample //���쐬�����v���W�F�N�g�� { public partial class Form1 : Form { | Wiimote wm = new Wiimote(); //Wiimote�N���X���쐬 public Form1() { | Control.CheckForIllegalCrossThreadCalls = false; //���܂��Ȃ� InitializeComponent(); | wm.WiimoteChanged += wm_WiimoteChanged; //�C�x���g���̓o�^ | wm.Connect(); //WiiRemote�Ɛڑ� } | //Wii�����R���̒l���ω������Ƃ��ɌĂ��� | void wm_WiimoteChanged(object sender, WiimoteChangedEventArgs args) | { | WiimoteState ws = args.WiimoteState; //WiimoteState�̒l���擾 | this.DrawForms(ws); //�t�H�[���`�ʊ��� | } | //�t�H�[���`�ʊ� | public void DrawForms(WiimoteState ws) | { | this.label1.Text = "Button A:" + (ws.ButtonState.A); //�{�^��A | this.label2.Text = "Button B:" + (ws.ButtonState.B); //�{�^��B | this.label3.Text = "Button 1:" + (ws.ButtonState.One);//�{�^��1 | this.label4.Text = "Button 2:" + (ws.ButtonState.Two);//�{�^��2 | } } }
#pragma once namespace WiimoteLib_Sample { //���쐬�����v���W�F�N�g�� using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; | using namespace WiimoteLib; //WimoteLib�̎g�p��錾 /// <summary> ������ /// </summary> public ref class Form1 : public System::Windows::Forms::Form { | public: Wiimote^ wm; //Wiimote�I�u�W�F�N�gwm���쐬 public: Form1(void) { | Control::CheckForIllegalCrossThreadCalls = false; //���܂��Ȃ� | wm = gcnew Wiimote(); //Wiimote�N���X���쐬 InitializeComponent(); | //�C�x���g���̓o�^ | wm->WiimoteChanged += | gcnew System::EventHandler<WiimoteChangedEventArgs^>( | this, &Form1::wm_WiimoteChanged); | wm->SetReportType(InputReport::Buttons, true); //���|�[�g�^�C�v�̐ݒ� | wm->Connect(); //WiiRemote�Ɛڑ� | } public: | void wm_WiimoteChanged(Object^ \ sender,WiimoteLib::WiimoteChangedEventArgs^ args){ | WiimoteState^ ws; | ws = args->WiimoteState; | this->DrawForms(ws); | } | public: void DrawForms(WiimoteState^ ws) { | this->label1->Text = "Button A:" + (ws->ButtonState.A); | this->label2->Text = "Button B:" + (ws->ButtonState.B); | this->label3->Text = "Button 1:" + (ws->ButtonState.One); | this->label4->Text = "Button 2:" + (ws->ButtonState.Two); | } protected: ������
���āA���s���Ă݂܂��傤�B�܂����g����Bluetooth�X�^�b�N����AWiiRemote��Bluetooth��PC�ɐڑ����܂��B�ڑ����m�F�ł�����AVisual C#/C++���[F5]�L�[�������Ď��s���܂��B�R���p�C�����Ƃ���A���������s�����Ɖ��}�̂悤�ȃA�v���P�[�V�������N�����܂��B���������ŃG���[����������ꍇ�A�قƂ�ǂ�Bluetooth�ڑ������܂��ڑ�����Ă��Ȃ��P�[�X�ł��BWiiRemote���������ڑ�����Ă��邩�m�F���Ă��������B
WiiRemote��A�{�^�������������܂��B
�t�H�[����́uLabel1�v�̉ӏ��ɁuButton A: True�v�ƕ\�������ΐ����ł��B�����WiiRemote�̂��ׂẴ{�^�������𗣂��āA���ׂẴ{�^���������Ȃ���Ԃɂ����Ƃ��A�t�H�[����̃{�^���̃X�e�[�^�X��\���\�����S�āuFalse�v�ɂȂ�ΐ����ł��B
WiiRemote��A�{�^����B�{�^�����ɉ�������ł݂܂��B
�Ō�ɁAWiiRemote��1�{�^����2�{�^�����ɉ�������ł݂܂��B
��ʂ�̎������I�������A�}�E�X�Łu×�v���N���b�N���邩�A�L�[�{�[�h����[Alt+F4]�������āA�v���O�������I�������܂��B
Wii�����R���̃{�^����ON/OFF�ɂ����Form�̃��x����ω������Ă��܂��BFalse��OFF(��𗣂������), True��ON(����)�ɑΉ����Ă��܂��B�ȉ��A���p����API����������܂��B
[C#] wm.WiimoteChanged += wm_WiimoteChanged; [C++] wm->WiimoteChanged += gcnew System::EventHandler<WiimoteChangedEventArgs^>( this, &Form1::wm_WiimoteChanged);
WiiRemote�̃{�^���������ꂽ�A�����x�Z���T�[�̒l���ς�����A�ȂǁA��Ԃɕω����������Ƃ��ɌĂ�����o�^���Ă��܂��B�v���O���~���O�p��Łu�R�[���o�b�N���v�Ƃ����A������o�^���邱�ƂŁA���̃C�x���g�����������Ƃ��Ɏ����I�ɂ��̊������s�����悤�Ɍ��߂�ꂽ���@�Ŏw�肵�܂��B�����ł́AWiiRemote�̃{�^����Ԃɕω����������ꍇ�uwm_WiimoteChanged�v�Ƃ��������Ă��悤�ɐݒ肵�Ă��܂��B�J�b�R������Ȃǂ͂��炩���ߋK�肳�ꂽ�`���ɉ����Ă��܂��̂ŁA������n�������ł����ł悢�̂ł�(C++�̃R�[�h�����������̂͂��̂��߂ł�)�B
[C#] WiimoteState ws = args.WiimoteState; [C++] WiimoteState^ ws; ws = args->WiimoteState;
������Wii�����R���̃X�e�[�^�X(���)��ws�Ƃ������O��"�C�����m"�ɂƂ肱��ł��܂��B�����ɂ͂����Ŏg���Ă���WiimoteState�̓N���X�ł����A���̖��O����z���ł���悤�ɁA�C�x���g�Ŕ��������{�^���Ȃǂ̒l����荞�܂�܂��B�ȉ��A�g���������Ă݂܂��傤�B
[C#] this.label1.Text = "Button A: " + (ws.ButtonState.A); [C++] this->label1->Text = "Button A:" + (ws->ButtonState.A);
WiiRemote��A�{�^���̒l��label1�ɕ\�����Ă��܂��B�{�^����������Ă�����ATrue��\�����܂��B�{�^����������Ă�����AFalse��\�����܂��B���ۂɂ́uws.ButtonState.A�v���Ӗ�����l��True��False�Ƃ����^�U�̒l�ł����A�������ulabel1.Text�v�Ȃ̂Ŏ����I�ɕ�����ɕϊ�����Ă��܂�(.ToString()����K�v�͂Ȃ�)�B
���l�Ɂuws.ButtonState.b�v�ȂǂƂ��邱�Ƃ�WiiRemote��B�{�^���A���̑��S�Ẵ{�^���̏�Ԃ��擾���邱�Ƃ��ł��܂��B
�ǂ��ł��傤�H�Ƃ��Ă��ȒP�ł��ˁI���̃C�x���g�̃R�[���o�b�N���ŃX�e�[�g���擾������@�͑��̂��낢��ȓ��͂ɉ��p�ł��܂��B�������A���̊��������R�[���o�b�N�̎d�g�݂��ȒP�ɗ��p�ł���w�i�ɂ́A�l�X�ȕ��G�ȃv���O���~���O�̓����̋Z�p������܂��B���̓t�H�[���̃R���X�g���N�^�ŁA1�����A���܂��Ȃ������Ă��܂����B
[C#] Control.CheckForIllegalCrossThreadCalls = false; [C++] Control::CheckForIllegalCrossThreadCalls = false;
�]�T�̂���l�́A���̍s���R�����g�A�E�g���āA���s���Ă݂Ă��������B�Ȃ������s���Ƀ{�^���������ƃG���[���o�Ă��܂��܂��B����́A�}���`�X���b�h(�X���b�h;Thread�������̗���)�Ɋւ����ł��B��̃{�^���̏�Ԃ�ǂݍ���WiimoteLib�̃X���b�h�ƁA�t�H�[���̏����������s���X���b�h�����ꂼ��قȂ�̂Łu�X���b�h�Z�[�t�łȂ��v�܂�A�����̃X���b�h�ɂ����鏈���̏����Ȃǂ��ۏł��Ȃ����ߎ��s���G���[�ɂȂ��Ă��܂��܂��BWiimoteLib�̌����ŏЉ��Ă�����@�ŁA
//Wii�����R���̒l���ω������Ƃ��ɌĂ���[C#] void wm_WiimoteChanged(object sender, WiimoteChangedEventArgs args){ WiimoteState ws = args.WiimoteState; //WiimoteState�̒l���擾 if (this.IsHandleCreated) { this.Invoke( (MethodInvoker)delegate() { this.DrawForms( ws ); //�t�H�[���`�ʊ��� }); } }
���̂悤�ɁAInvoke()�Ƃ������\�b�h���g�����@������܂����A������Ə��S�҂ɂ͕s���Ăȏ������ł��B�����N���Ă��āA�ǂ�ȃ��X�N�����邩(�t�H�[���̏����������X���b�h�Z�[�t�łȂ��㏑�������)�Ƃ������Ƃ��킩���Ă���Ȃ�
Control.CheckForIllegalCrossThreadCalls=false;
�Ƃ��āA�s���ȃX���b�h�ԃR�[���̃`�F�b�N�����Ȃ��A�Ɛ錾������@������̂ŁA�{�͂ł́u���܂��Ȃ��v�Ƃ��ĈȌケ�̕��@���̗p���邱�Ƃɂ��܂��B
������WiimoteState�ŎQ�Ƃł��郁���o�[��\�ŏЉ�Ă����܂��B
���� | ��� |
---|---|
AccelCalibrationInfo | ���݂̉����x�Z���T�[�̃L�����u���[�V������� |
AccelState | ���݂̉����x�Z���T�[�̏�� |
BalanceBoardState | ���݂�WiiFit�o�����X�{�[�h�̏�� |
Battery | �Z�o���ꂽ���݂̃o�b�e���[���x�� |
BatteryRaw | ���݂̃o�b�e���[���x���̌v�Z�O�̒l(���l) |
ButtonState | ���݂̃{�^���̏�� |
ClassicControllerState | ���݂̊g���N���V�b�N�R���g���[���[�̏�� |
DrumsState | ���݂̊g���h�����R���g���[���[�̏�� |
Extension | �g���R���g���[���[���}������Ă��邩 |
ExtensionType | �g���R���g���[���[���}������Ă���ꍇ���̎�� |
GuitarState | ���݂�GuitarHero�g���M�^�[�R���g���[���[�̏�� |
IRState | ���݂̐ԊO���Z���T�[�̏�� |
LEDState | ���݂�LED�̏�� |
NunchukState | ���݂̊g���k���`���N�R���g���[���[�̏�� |
Rumble | ���݂̃o�C�u���[�^�[�̏�� |
WiimoteLib�ɂ͎��ɗl�X�Ȋg���R���g���[���[����������Ă���A���̃����o�[�����Ԃ��擾�ł��邱�Ƃ��킩��܂��B�����̒l��\�b�h�Ȃǂ́AVisual Studio��Intellisense�@�\���g���Ăǂ�ǂ���������Ă����܂��傤�B��قǂ̃{�^���̗�Ȃǂ��A�uws.ButtonState.�v�Ɓu.�v���������u�Ԃɂ͐������W�L�̑I����������܂��B�{�^���̖��̂Ȃǂ͂��������o���Ă����܂���̂ŁA���ɕ֗��ł��B�Ȃ�Intellisense��Ctrl+Space�ł��ł��ǂ��ł��Ăяo���܂��B�S�ẴO���[�o���ȃI�u�W�F�N�g���\������܂��B��������Ɏg���Ƃ悢�ł��傤�B
���āA����܂�WiimoteLib���g���āA��{�I�ȓ��o�͂��w��ł��܂����B���̂�����ŁA���p�I�ȃv���O�����̗�Ƃ��āu�����`���[�v���쐬���Ă݂܂��傤�B�{�^�����������тɁAWindows�̃A�N�Z�T���u�������v��u�d��v�ȂNJO���v���O�������N������v���O�����ł��B
�O�߂́u�{�^���C�x���g�̎擾�v�Ɗ�{�͓����ł��BWiimoteLib�̐錾���s���A�R�[���o�b�N�����ŊO���v���O�������N��������A�A�v���P�[�V�������g���I���������肵�܂��B
�V�����v���W�F�N�g���쐬���AWiimoteLib���Q�Ƃɒlj����AForm1���E�N���b�N���āu�R�[�h��\���v���A���̃R�[�h���L�q���܂��B�O�߂̃v���O�����̉�������n�߂Ă��ǂ��ł��傤�B
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; |using WiimoteLib; //WimoteLib�̎g�p��錾 namespace WL_Launcher { public partial class Form1 : Form { | Wiimote wm = new Wiimote(); //Wiimote�N���X���쐬 public Form1() { | Control.CheckForIllegalCrossThreadCalls = false; //���܂��Ȃ� InitializeComponent(); | wm.WiimoteChanged += wm_WiimoteChanged; //�C�x���g���̓o�^ | wm.Connect(); //WiiRemote�Ɛڑ� } | //Wii�����R���̒l���ω������Ƃ��ɌĂ��� | void wm_WiimoteChanged(object sender, WiimoteChangedEventArgs args) | { | WiimoteState ws = args.WiimoteState; //WiimoteState�̒l���擾 | //A�{�^���������ꂽ�烁�������N�� | if (ws.ButtonState.A == true) | { | System.Diagnostics.Process.Start("notepad.exe"); | } | //B�{�^���������ꂽ��d����N�� | if (ws.ButtonState.B == true) | { | System.Diagnostics.Process.Start("calc.exe"); | } | //HOME�{�^���������ꂽ�炱�̃A�v�����I�� | if (ws.ButtonState.Home == true) | { | Environment.Exit(0); | } | } } }
#pragma once namespace WLCLauncher { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; | using namespace WiimoteLib; //WimoteLib�̎g�p��錾 public ref class Form1 : public System::Windows::Forms::Form { | public: Wiimote^ wm; //Wiimote�I�u�W�F�N�gwm���쐬 public: Form1(void) { | Control::CheckForIllegalCrossThreadCalls = false; //���܂��Ȃ� | wm = gcnew Wiimote(); //Wiimote�N���X���쐬 InitializeComponent(); | //�C�x���g���̓o�^ | wm->WiimoteChanged += | gcnew System::EventHandler<WiimoteChangedEventArgs^>( | this, &Form1::wm_WiimoteChanged); | wm->SetReportType(InputReport::Buttons, true); //���|�[�g�^�C�v�̐ݒ� | wm->Connect(); //WiiRemote�Ɛڑ� | } public: void wm_WiimoteChanged(Object^ sender,WiimoteLib::WiimoteChangedEventArgs^ \ args){ | WiimoteState^ ws; | ws = args->WiimoteState; | //A�{�^���������ꂽ�烁�������N�� | if (ws->ButtonState.A) { | System::Diagnostics::Process::Start("notepad.exe"); | } | //B�{�^���������ꂽ��d����N�� | if (ws->ButtonState.B) { | System::Diagnostics::Process::Start("calc.exe"); | } | //HOME�{�^���������ꂽ�炱�̃A�v�����I�� | if (ws->ButtonState.Home) { | Environment::Exit(0); | } | } ���ȉ�����
�܂��́A�����ʂ�WiiRemote��ڑ����Ă��������B������Visual Studio��[F5]�L�[�������āA�쐬�����v���O���������s���܂��B���������ŃG���[����������ꍇ��WiiRemote���������ڑ�����Ă��邩�m�F���Ă��������B
WiiRemote��A�{�^���������ƁA���������N�����AB�{�^���������ƁA�d�삪�N�����܂��B
WiiRemote��B�{�^���𐔉��ƁA�����������A�d�삪�N�����܂��B
WiiRemote��Home�{�^���������ƁA�����`���[�v���O�������I�����܂��B
���̃v���O�����́unotepad.exe�v��ucalc.exe�v���D���ȊO���v���O�����ɏ���������A���ł��N���ł���Ƃ����킯�ł��ˁB�Ȃ����낢��Ȃ��Ƃ��ł������ł��B�y�����Ȃ��Ă��܂��H
WiiRemote�̃{�^����������邱�Ƃɂ���Đݒ肵���A�v���P�[�V�������N�����邽�߂ɂ́A��قǂ̃v���O������DrawForm()�ŏ��������悤�ȁA���x���̃e�L�X�g���������������ɁA.NET�ŗp�ӂ���Ă���d�g�݂𗘗p���āA�O���v���O�������N�����܂��B
if (ws.ButtonState.A == true) { //A�{�^���������ꂽ�烁�������N�� System.Diagnostics.Process.Start("notepad.exe"); }
�uSystem.Diagnostics.Process.Start()�v�ɂ��Ă͂��낢��ȉ��p������܂��B�e�L�X�g�t�@�C���Ȃǂ��w�肷�邱�ƂŊ֘A�Â���ꂽ�v���O�������g���ĊJ�����ƂȂǂ��\�ł��B�ڂ����̓C���^�[�l�b�g�Ō��J����Ă���.NET Framework�N���X���C�u�����̃}�j���A����uProcess.Start�v���L�[���[�h�Ɍ������Ă݂�Ɨǂ��ł��傤�B
�ȏ�́AC#�ł̋L�q�ł����AC++/CLI�ł��S����a���Ȃ��݊������ۂ���Ă��܂��BC++��Home�{�^���������ďI������ӏ��̃R�[�h�����Ă݂܂��傤�B
//HOME�{�^���������ꂽ�炱�̃A�v�����I�� if (ws->ButtonState.Home) { Environment::Exit(0); }
�ȏ�̂悤�ɁuEnvironment::Exit(0);�v�ŁA�������g�̃A�v���P�[�V�������I���ł��܂��B
���āA����ȕ֗��ȃR�[�����o����ƁA�����`���[�ŋN�������v���O�����̏I���Ȃǂ�����Ă݂����Ȃ�Ǝv���܂��B
���̐�̐ԊO���|�C���^��p���ă}�E�X���쐬�������w�K���Ă���A����ɍ��@�\�ɉ������Ă݂�Ƃ悢�ł��傤�B
���́AWiiRemote�̉����x�Z���T�[���g�����v���O���~���O���������Ă����܂��B2�͂ʼn�������Ƃ���AWiiRemote�ɂ�X���AY���AZ���ɑΉ�����3���̉����x�Z���T�[����������Ă��܂��B
WiiRemote�ɓ������ꂽ3���}�C�N�������x�Z���T�[�́A���ꂼ��̎��ɑ���8bit�A�܂�0�`255�̒l�������܂��B���̃Z�N�V�����ł́A�܂��l���Ƃ��v���O�������쐬���A���̌�A���p�A�v���P�[�V�����̊J����ʂ��āA�����x�Z���T�[�̊�{�I�ȗ��p�ɒ��킵�܂��B
�����ł́A�܂���n�߂ɁAWiiRemote�̉����x���擾����v���O�������쐬���܂��B��قǂ܂łƓ��l�AVisual Studio(C#/C++�ǂ���ł����܂��܂���I)�ŁA�V�����v���W�F�N�g���쐬���A�Q�ƂɁuWiimoteLib�v��lj����܂��B�����I�ɐ�������Ă���t�H�[���uForm1�v�ɁA�c�[���{�b�N�X���烉�x��(Label)��3�\��t���Ă��������B�����ɉ����x�Z���T�[X,Y,Z�̃��A���^�C������l��\�����܂��B
�����ăR�[�f�B���O�ł��BForm1���E�N���b�N���āu�R�[�h��\���v���āA�ȉ��̃v���O�����̃R�����g�A�E�g���Ă���ӏ������������Ă����܂�(�����������ꂽ�R�����g�s�͊������Ă��܂�)�B�܂��`����using��ɂ��N���X�̐錾�ł����A�ŏ����K�v�ȕ��݂̂ɂ��Ă��܂��B
using System; using System.Windows.Forms; | using WiimoteLib; //WimoteLib�̎g�p��錾 namespace WL_Accel { public partial class Form1 : Form { | Wiimote wm = new Wiimote(); //Wiimote�N���X���쐬 public Form1() { | Control.CheckForIllegalCrossThreadCalls = false; //���܂��Ȃ� InitializeComponent(); | wm.WiimoteChanged += wm_WiimoteChanged; //�C�x���g���̓o�^ | wm.SetReportType(InputReport.ButtonsAccel, true); //���|�[�g�^�C�v�̐ݒ� | wm.Connect(); //WiiRemote�Ɛڑ� } | //Wii�����R���̒l���ω������Ƃ��ɌĂ��� | void wm_WiimoteChanged(object sender, WiimoteChangedEventArgs args) { | WiimoteState ws = args.WiimoteState; //WiimoteState�̒l���擾 | this.DrawForms(ws); //�t�H�[���`����� | } | //�t�H�[���`��� | public void DrawForms(WiimoteState ws) { | this.label1.Text = "X��:" + (ws.AccelState.Values.X); | this.label2.Text = "Y��:" + (ws.AccelState.Values.Y); | this.label3.Text = "Z��:" + (ws.AccelState.Values.Z); | } } }
#pragma once namespace WLCAccel { using namespace System; using namespace System::Windows::Forms; | using namespace WiimoteLib; //WimoteLib�̎g�p��錾 public ref class Form1 : public System::Windows::Forms::Form { | public: Wiimote^ wm; //Wiimote�I�u�W�F�N�gwm���쐬 public: Form1(void) { | Control::CheckForIllegalCrossThreadCalls = false; //���܂��Ȃ� | wm = gcnew Wiimote(); //Wiimote�N���X���쐬 InitializeComponent(); | //�C�x���g���̓o�^ | wm->WiimoteChanged += | gcnew System::EventHandler<WiimoteChangedEventArgs^>( | this, &Form1::wm_WiimoteChanged); | wm->SetReportType(InputReport::ButtonsAccel, true); //���|�[�g�^�C�v�̐ݒ� | wm->Connect(); //WiiRemote�Ɛڑ� } | public: | void wm_WiimoteChanged(Object^ \ sender,WiimoteLib::WiimoteChangedEventArgs^ args){ | WiimoteState^ ws; | ws = args->WiimoteState; | this->DrawForms(ws); | } | public: | void DrawForms(WiimoteState^ ws) { | this->label1->Text = "X��:" + (ws->AccelState.Values.X); | this->label2->Text = "Y��:" + (ws->AccelState.Values.Y); | this->label3->Text = "Z��:" + (ws->AccelState.Values.Z); | } ���ȉ�����
����ł͎������Ă݂܂��傤�B�܂�WiiRemote�����g����Bluetooth�X�^�b�N�Őڑ����Ă��������B
����Visual Studio���[F5]�L�[�������Ď��s���Ă��������B�������v���O������������Ă��炸�A�G���[�Ȃǂ��o��ꍇ�͂悭�m�F���āA�C�����Ă��������B
�t�H�[�����\�����ꂽ��AWiiRemote��U��܂킵�Ă݂Ă��������B���̂Ƃ��A���q�ɏ���ĐU������Ĕ��ł����Ɗ댯�Ȃ̂ŁA��U�肷��Ƃ��͕K���X�g���b�v�����Ă��������B
�t�H�[���ɒ���t�����A�����x��X,Y,Z�̒l���f���������Ă��邱�Ƃ��킩��܂��B
�y���Ӂz�N������3�̒l���[���̂܂܂������ꍇ�A��U�쐬�����A�v���P�[�V�������I�������āAWiimoteLib�̃T���v���uWiimoteTest.exe�v�����s���Ă݂Ă��������B��x���̃T���v�����N�����Ă���A����쐬�����A�v���P�[�V�������N������ƒl���Ƃ�邱�Ƃ�����܂�(�G���[�����⏉�����J�ɂ��Ă��Ȃ����炩������܂���)�A�s����������Ƃ��͎����Ă݂Ă��������B
�܂��A�I�����ɁuDispose�v�Ɋւ���G���[���o��Ƃ�������܂����A��������܂̂Ƃ��떳�����Ă��܂��܂���B
WiiRemote��3���̉����x�Z���T�[�̃��A���^�C���l��\�����܂����B
[C#] wm.SetReportType( InputReport.ButtonsAccel, true); [C++] wm->SetReportType(InputReport::ButtonsAccel, true);
���|�[�g�^�C�v�A���Ȃ킿�C�x���g���N�����Ƃ��ɕ���悤��WiiRemote�ɂ��肢����u��ށv�������Őݒ肵�Ă��܂��B�uButtonsAccel�v�͉����x�Z���T�[�ƃ{�^���C�x���g���擾���Ă��܂��B
[C#] ws.AccelState.Values.X [C++] ws->AccelState.Values.X
WiiRemote�ɓ������ꂽ�����x�Z���T�[�e���̐��l��float�Ŏ擾���܂��B
[C#] Control.CheckForIllegalCrossThreadCalls = false; [C++] Control::CheckForIllegalCrossThreadCalls = false;
�O��Ɠ������A�ʂ̃X���b�h����t�H�[�������������邱�Ƃ������܂��B
���|�[�g�^�C�v�ɁuButtonsAccel�v���w�肵�Ă���̂ŁA���̏�ԂŃ{�^���C�x���g�Ȃǂ��擾�ł��܂��B�]�͂̂���l�͎����Ă݂܂��傤�B�����āA���ۂɂǂꂾ���̒l���o�͂���邩�������Ă݂܂��傤�B�u���u���U���Ă݂�ƁA�����ł�������±5���x�̒l���v������܂��BWiiRemote��������ƁAX,Z�Ȃ�2�̒l�̓[���ɂȂ�܂����A�����ЂƂ̎��A���Ƃ���Y���ɂ͂��Ȃ炸±0.9���x�̒l���c��܂��B
����͉��ł��傤�c�c�H�����ł��A�d�͉����x�ł��I���i�͖ڂɌ����Ȃ��d�͉����x��ڂŌ��邱�Ƃ��ł��܂��B
�u���|�[�g�^�C�v�v�Ƃ�WiiRemote�ɖ₢���킹����Ƃ��̃��[�h�̂��ƂŁA���̃��|�[�g�^�C�v�ɂ���āAWiiRemote���Ԃ��Ԏ����قȂ�܂��B
WiimoteLib1.7�ł�InputReport���ňȉ��̃��|�[�g�^�C�v����`����Ă���悤�ł��B
���|�[�g�^�C�v�́A�f�[�^�̃t�H�[�}�b�g��ݒ肷��ړI�̑��ɂ��A���肠��ʐM�ш�⏈�����x���œK�ɐݒ肷��ړI������悤�ł��B��L��WiimoteLib�Ŏ�������Ă��郌�|�[�g�^�C�v�ȊO�ɂ��A�킩���Ă��邾���ł��A�{�^���݂̂̓��o�͂���A�����x�Z���T�[3��A�k���`���N�t��6��A�ԊO���t�����ǂ����A�Ƃ�������荂���ŃV���v���ȓ��o�̓��[�h����A��������̒l�����Ƃ肷�郂�[�h�܂ŁA�e�푵���Ă��܂��B�܂��ԊO���Z���T�[�ɂ��Ă��A�ő�4�_�܂ň����郂�[�h�ɑ���2�_�������[�h�ȂǁA�B�����[�h�I�ȃ��|�[�g�^�C�v�����݂���悤�ł�(WiimoteLib�ł�4�_�̂݃T�|�[�g���Ă��܂�)�B
��������WiiRemote�̓����̂ЂƂł�������x�Z���T�[�̒l���擾�ł���悤�ɂȂ����̂Łu���ۂ��ǂ��v������Ă݂܂��傤�B���ۂƌĂԂɂ͑傰����������܂��A�����x�Z���T�[�ɓ��͂��ꂽ����������苭���Ȃ��...���Ƃ��ΐ�قǂ̎�����±5���x�̒l������ł��܂����̂ŁA���̒l�����ꍇ�ɁAWAV�t�@�C�����Đ����邱�Ƃɂ��܂��B
��قǂ̉����x�Z���T�[���g���v���O�����̑�������n�߂�Ɨǂ��ł��傤�B�t�H�[���uForm1�v�̃R�[�h��\�����āA�ȉ��̂悤�ɒNjL���܂��B
using System; using System.Windows.Forms; | using WiimoteLib; //WimoteLib�̎g�p��錾 | using System.Media; //System.Media�̐錾 namespace WL_Taiko { public partial class Form1 : Form { | Wiimote wm = new Wiimote(); //Wiimote�N���X���쐬 | string path = null; //Wav�t�@�C���� | SoundPlayer wavePlayer; //SoundPlayer��錾 public Form1() { InitializeComponent(); | wm.WiimoteChanged += wm_WiimoteChanged; //�C�x���g���̓o�^ | wm.SetReportType(InputReport.ButtonsAccel, true); //���|�[�g�^�C�v�̐ݒ� | wm.Connect(); //WiiRemote�Ɛڑ� | path = @"C:\WINDOWS\Media\chord.wav"; //�Đ�����WAV�t�@�C�����w�� | wavePlayer = new SoundPlayer(path); //�v���C���[��WAV�t�@�C����n�� } | //Wii�����R���̒l���ω������Ƃ��ɌĂ��� | void wm_WiimoteChanged(object sender, WiimoteChangedEventArgs args) { | WiimoteState ws = args.WiimoteState; //WiimoteState�̒l���擾 | //WAV�t�@�C�����ǂݍ��܂�Ă��邩�m�F | if (this.path != null) { | float AX = Math.Abs(ws.AccelState.Values.X); //X���̐�Βl | float AY = Math.Abs(ws.AccelState.Values.Y); //Y���̐�Βl | float AZ = Math.Abs(ws.AccelState.Values.Z); //Z���̐�Βl | //X,Y,Z���̉����x�Z���T�̐�Βl�̍��v��5���鎞�ɁA�U�����Ɣ��� | if ((AX+AY+AZ) >= 5) { | wavePlayer.PlaySync(); //����炷 | } | } | } } }
#pragma once namespace WLCTaiko { using namespace System; using namespace System::Windows::Forms; | using namespace WiimoteLib; //WimoteLib�̎g�p��錾 | using namespace System::Media; //System.Media�̐錾 public ref class Form1 : public System::Windows::Forms::Form { | public: Wiimote^ wm; //Wiimote�I�u�W�F�N�gwm���쐬 | public: String^ path; //WAV�t�@�C���p�X�i�[�p | public: SoundPlayer^ wavePlayer; //SoundPlayer��錾 public: Form1(void) { | wm = gcnew Wiimote(); //Wiimote�N���X���쐬 InitializeComponent(); | //�C�x���g���̓o�^ | wm->WiimoteChanged += | gcnew System::EventHandler<WiimoteChangedEventArgs^>( | this, &Form1::wm_WiimoteChanged); | wm->SetReportType(InputReport::ButtonsAccel, true); //���|�[�g�^�C�v�̐ݒ� | wm->Connect(); //WiiRemote�Ɛڑ� | path ="C:\\WINDOWS\\Media\\achord.wav"; //�Đ�����WAV�t�@�C�����w�� | wavePlayer = gcnew SoundPlayer(path); //�v���C���[��WAV�t�@�C����n�� } public: void wm_WiimoteChanged(Object^ sender,WiimoteLib::WiimoteChangedEventArgs^ \ args){ | WiimoteState^ ws; | float AX, AY, AZ; | ws = args->WiimoteState; | if (this->path!=nullptr) { | AX = Math::Abs(ws->AccelState.Values.X); //X���̐�Βl | AY = Math::Abs(ws->AccelState.Values.Y); //Y���̐�Βl | AZ = Math::Abs(ws->AccelState.Values.Z); //Z���̐�Βl | //X,Y,Z���̉����x�Z���T�̐�Βl�̍��v��5���鎞�ɁA�U�����Ɣ��� | if ((AX+AY+AZ)>=5) { | wavePlayer->PlaySync(); //����炷 | } | } | } ���ȉ�����
Visual C#��[F6]�AVisual C++��[F7]�L�[�������ăR���p�C���G���[���Ȃ����ƂȂǂ��m�F������ABluetooth�X�^�b�N����WiiRemote��ڑ����Ă�������(�ؒf����Ă��Ȃ�����̂܂ܑ��s���Ă��܂��܂���)�B
Visual Studio��[F5]�L�[�������Ď��s���Ă��������B�����ɃG���[�Ȃ����s�����ƁA�t�H�[�����\������܂��B���̃t�H�[���͍���g�p���܂��AWiiRemote��U���Ă݂�ƁA�U��ɍ��킹�āA�Ȃ��������������Ƃ̂��鉹����܂��B
WiiRemote��3���̉����x�Z���T�̒l���擾���āA�w�肵�������x�����o����Ǝw�肵��WAV�t�@�C����炵�܂��B
[C#] path = @"C:\WINDOWS\Media\achord.wav"; [C++] path ="C:\\WINDOWS\\Media\\achord.wav";
���́u@�v�́u@-quoted string�v�Ƃ����āA���ꂪ�擪�ɒ����Ă��镶����́u\�v���o�b�N�X���b�V�������ȕ����Ƃ��Ăł͂Ȃ��A�t�@�C���p�X�Ƃ��ĊȒP�ɏ����ł��܂��BC++�ɂ͂���ɊY������W�L���Ȃ��悤�Ȃ̂Łu\\�v�Ƃ��āu\�v����ʂ�1�����Ƃ��Ĉ����Ă��܂��B
���Ă����ōĐ�����t�@�C�����w�肵�Ă��܂��B�炵����WAV�t�@�C�����w�肵�Ă��������B���̃v���O�����ł�Windows�ɗp�ӂ��ꂽWAV�t�@�C���Ƃ��āAWindows�̃V�X�e���ɍŏ���������Ă���WAV���w�肵�܂������A�����g�ŗp�ӂ��ꂽ���y����ʉ����w�肵�Ă��ǂ��ł��傤�B
[c#] float AX = Math.Abs(ws.AccelState.Values.X); //X���̐�Βl [c++] AY = Math::Abs(ws->AccelState.Values.Y); //Y���̐�Βl
WiiRemote��X,Y,Z���̒l���擾���A���̐�Βl���Ƃ�܂��B
//X,Y,Z���̉����x�Z���T�̐�Βl�̍��v��5���鎞�ɁA�U�����Ɣ��� if ((AX+AY+AZ)>= 5) { wavePlayer.PlaySync(); }
X,Y,Z���̉����x�̐�Βl�̘a��[5]����Ɖ���炷�Ƃ́A�����ɂ��ȒP�ł��B����[5]�Ƃ����l���A����������Ώ��Ȃ�����Ŕ������܂��B���ɑ��₹�A�傫������Ŕ������܂��B�����̍D�݂̐����ɒu�������Ă݂āA�������Ă݂Ă��������B�Ȃ�����́A�����Đ�����WiiRemote��U���Ă��������܂���(�Đ����ɂ�����A���Đ��������ꍇ�̓X���b�h�����Ȃǂ�p����K�v������܂�)�B
���āA�����x�Z���T�[���Ђƒʂ�g�����Ȃ������Ƃ́A�ԊO���Z���T�[�ɒ��킵�Ă݂܂��傤�B�ԊO���͐l�Ԃ̖ڂŌ��邱�Ƃ��ł��܂���B�������ŏ��ɍ쐬����v���O�����u�ԊO���T�m�@�v�́A�ԊO����WiiRemote�̎��E�ɂ͂���ƁA�o�C�u���[�^�[��炷���Ƃ��ł��܂��B���ɍő�4�_�̐ԊO���������J�E���g���A���̌��ʂ�LED�ɕ\������v���O���������܂��B����ɂ�������p���A�O���t�B�b�N�X�ɑg�ݍ��ފ�b���w�сA�Ō�ɐԊO���Z���T�[���g�����}�E�X����v���O�������X�e�b�v��ǂ��ĊJ�����Ă����܂��B�ڂɌ����Ȃ��ԊO�����A�ƂĂ��ʔ�������`���郁�f�B�A�ɂȂ邱�Ƃ�̊����Ă����܂��傤�I
�����v���O���~���O���n�߂܂��傤�B������O��ɍ쐬���������x�Z���T�[�̃v���O���������҂��Ă��悢�̂ł����A�V�K�ō��ق������ɂȂ��Ă悢�ł��傤�B�\�����[�V������V�����쐬����K�v�͂Ȃ��A�\�����[�V�������E�N���b�N���āu�lj��v���u�V�����v���W�F�N�g�v�ŐV�����v���W�F�N�g��(�����ł́uIR1�v)��^���āA�v���W�F�N�g���ł�����������A�v���W�F�N�g���E�N���b�N���āu�X�^�[�g�A�b�v�v���W�F�N�g�ɐݒ�v���A�Q�Ɛݒ��WiimoteLib��lj����܂��B���̃v���W�F�N�g�̃R�[�h��t�H�[�����ԈႦ�ĕҏW���Ȃ��悤�A��U�J���Ă���\�[�X�R�[�h�̃E�B���h�E�����ׂĕ��܂��B����ŏ����͂ł�������ł��B����m�F�̂��߂�[F5]�L�[�������Ď��s���Ă݂Ă��悢�ł��傤�B
���̃v���W�F�N�g�ł͂܂��AWiiRemote�ւ́u�ڑ��v�u�ؒf�v�{�^�����쐬���܂��B�t�H�[���Ƀ{�^��2����t���Ă��������B
�\��t������A�ubutton1�v�̃v���p�e�B��Text���u�ڑ��v�ɁA�ubutton2�v�̃v���p�e�B��Text���u�ؒf�v�ɐݒ肵�܂��B
�t�H�[���uForm1�v���E�N���b�N���āu�R�[�h�̕\���v�����Đ錾�ƁA�ڑ����̏����A�ԊO�����������Ƃ��̃o�C�u���[�^�[�̏��������������܂��傤�B
//�s�v��using�錾�͍폜���Ă��܂��܂��� using System; using System.Windows.Forms; | using WiimoteLib; //WimoteLib�̎g�p��錾 namespace IR1 { public partial class Form1 : Form { | Wiimote wm = new Wiimote(); //Wiimote�N���X���쐬 public Form1() { InitializeComponent(); | //���X���b�h����̃R���g���[���Ăяo������ | Control.CheckForIllegalCrossThreadCalls = false; } | //�ڑ��{�^���������ꂽ�� private void button1_Click(object sender, EventArgs e) { | wm.Connect(); //Wiimote�̐ڑ� | wm.WiimoteChanged += wm_WiimoteChanged; //�C�x���g���̓o�^ | wm.SetReportType(InputReport.IRExtensionAccel, true);//���|�[�g�^�C�v�̐ݒ� } | //�ؒf�{�^���������ꂽ�� private void button2_Click(object sender, EventArgs e) { | wm.WiimoteChanged -= wm_WiimoteChanged; //�C�x���g���̓o�^���� | wm.Disconnect(); //Wiimote�ؒf | wm.Dispose(); //�I�u�W�F�N�g�̔j�� } | //Wii�����R���̒l���ω�����x�ɌĂ�� | void wm_WiimoteChanged(object sender, WiimoteChangedEventArgs args) { | WiimoteState ws = args.WiimoteState; //WiimoteState�̒l���擾 | //�����ԊO�����P���������� | if (ws.IRState.IRSensors[0].Found) { | wm.SetRumble(true); //�o�C�u���[�^ON | } else { | wm.SetRumble(false); //�o�C�u���[�^OFF | } | } } }
#pragma once namespace IR1 { using namespace System; using namespace System::Windows::Forms; | using namespace WiimoteLib; //WimoteLib�̎g�p��錾 public ref class Form1 : public System::Windows::Forms::Form { | public: Wiimote^ wm; //Wiimote�I�u�W�F�N�gwm���쐬 public: Form1(void) { | wm = gcnew Wiimote(); //Wiimote�N���X���쐬 InitializeComponent(); | //���X���b�h����̃R���g���[���Ăяo������ | Control::CheckForIllegalCrossThreadCalls = false; } protected: ~Form1() ���ȗ��� #pragma endregion | //�ڑ��{�^���������ꂽ�� private: System::Void button1_Click(System::Object^ sender, \ System::EventArgs^ e) { | wm->Connect(); //WiiRemote�Ɛڑ� | wm->WiimoteChanged += | gcnew System::EventHandler<WiimoteChangedEventArgs^>( | this, &Form1::wm_WiimoteChanged); | wm->SetReportType(InputReport::IRExtensionAccel, true); //���|�[�g�^�C�v�̐ݒ� } | //�ؒf�{�^���������ꂽ�� private: System::Void button2_Click(System::Object^ sender, \ System::EventArgs^ e) { | wm->WiimoteChanged -= | gcnew System::EventHandler<WiimoteChangedEventArgs^>( | this, &Form1::wm_WiimoteChanged); //�C�x���g���̓o�^���� | wm->Disconnect(); //Wiimote�ؒf | wm->Dispose(); //�I�u�W�F�N�g�̔j�� } | //WiiRemote�̒l���ω�����x�ɌĂ�� | public: | void wm_WiimoteChanged(Object^ \ sender,WiimoteLib::WiimoteChangedEventArgs^ args){ | WiimoteState^ ws = args->WiimoteState; //WiimoteState�̒l���擾 | //�����ԊO�����P���������� | if (ws->IRState.IRSensors[0].Found) { | wm->SetRumble(true); //�o�C�u���[�^ON | } else { | wm->SetRumble(false); //�o�C�u���[�^OFF | } | } }; }
���āA���s���Ă݂܂��B�܂����͂ɐԊO��������p�ӂ��Ă��������BWii�{�̕t���̃Z���T�[�o�[������Ύ����葁���̂ł����A�Ȃ��ꍇ�͎���ɂ���Ɩ��A���z���Ȃǂɂ���������Ă݂܂��傤�BBluetooth�X�^�b�N����WiiRemote��ڑ����āAVisual Studio��[F5]�L�[�������Ď��s���Ă��������B�t�H�[�����\�����ꂽ��A[�ڑ�]�{�^���������Ă��������BWiiRemote���Z���T�[�o�[�ȂǐԊO�������Ɍ����Ă��������B�Z���T�[�o�[���Ȃ��ꍇ�́A���z�A�n���Q�������v�Ȃǂ̔M���Ɩ��A���C�^�[�̉A�e���r�̃����R���A�g�ѓd�b�̐ԊO���ʐM�ȂǂɌ����Ă݂Ă��������B��肭���o�ł���ƁA�o�C�u���[�^�[����܂��B�o�C�u���[�^�[�����Ă��Ȃ���Ԃ�[�ؒf]�{�^���������Ă���I�����܂��傤�B
���C�^�[��E�\�N�Ȃǂ�p���ĐԊO�������ɂ���ꍇ�́A�Ύ���Ώ��Ȃǂɏ\���C�����Ď������s���Ă��������B�܂��A�e���r�����R����p����ꍇ�́A�{�^���������ꂽ�Ƃ��ɂ����ԊO���𑗐M���܂���̂ŁA���x���A�ł��Ċm�F�������Ȃ��Ƃ悢�ł��傤�B
���낢��ȕ����Ɍ����Ă݂܂��悤�B���i�͌����Ȃ��ԊO���ł����A�g�̉��ɂ���l�X�ȕ��ɗ��p����Ă��邱�ƂɋC�������Ƃł��傤�B
��L�̃R�[�h�����̂܂܃R�s�[���Ă��܂��H�{�^�����������Ƃ��̏����́AForm1�̏�ɂ���{�^�����_�u���N���b�N���āAWindows�t�H�[���f�U�C�i�������Ő��������R�[�h���g���ď����Ă����̂��m���ł��B�����P�ɁA��L�̃R�[�h���R�s�[����ƁA�ڑ��{�^���������Ă��A�K�ȏ����Ƀv���O����������Ă����܂���B���̎d�g�݂Ɂw�ǂ�����!?�x�Ǝv�����l�́A�v���W�F�N�g�̒��ɂ���uForm1.Designer.cs�v��`���Ă݂܂��傤�B�����Ɂu#region Windows�t�H�[���f�U�C�i�Ő������ꂽ�R�[�h�v�Ƃ����f�t�H���g�Ŕ�\���ɂȂ��Ă���p�[�g������܂��B
#region Windows �t�H�[�� �f�U�C�i�Ő������ꂽ�R�[�h �c this.button1.Click += new System.EventHandler(this.button1_Click_1); �c this.button2.Click += new System.EventHandler(this.button2_Click);
�����ɂ́AGUI�ō쐬�����t�H�[���ɂ��Ă̈ʒu��傫���Ȃǂ̃v���p�e�B���L�ڂ���Ă��܂��B�厖�Ȃ̂́A�{�^�����������Ƃ��̃C�x���g�̔����ł��B
this.button1.Click+=new System.EventHandler(this.button1_Click_1);
�܂���WiiRemote�̃C�x���g�̒lj��Ɠ����悤�ɁA�N���b�N���̃C�x���g��lj����Ă��܂��B�������A��̗�ł́ubutton1_Click_1�v�Ƃ������ɂȂ��Ă��܂��B�u_1�v�̕����́A���̊����̊��Ɩ��O���Փ˂��Ȃ��悤�A�����Ő�������܂��B�܂菟��Ɂubutton1_Click�v�Ƃ������������Ă����Ƃ��Ă��A�{�^�����������Ƃ��̃C�x���g�Ƃ��ăR�[������邱�Ƃ͂���܂���B
�w�ȂA�킴�킴GUI�Ń_�u���N���b�N���Ȃ��Ƃ����Ȃ��̂��I�x�Ǝv���邩������܂��A�Ǘ����ʓ|�ȃC�x���g�n���Ȃǂ������Ő����E�Ǘ����Ă����A.NET�X�^�C���̊J�����u�����܂ŗ������āv�g�����Ȃ��A�Ƃ����̂��J�b�R�C�C�̂ł͂Ȃ��ł��傤���B
���̃v���O�����̎d�g�݂͒P���ł��B�R�[���o�b�N����ݒ肵�āAWiiRemote�̐ԊO���Z���T�[���ЂƂł�����������A�o�C�u���[�^�[��ON�ɂ��܂��B
[C#] wm.SetReportType ( InputReport.IRExtensionAccel, true); [C++] wm->SetReportType(InputReport::IRExtensionAccel, true);
���|�[�g�^�C�v���uIRExtensionAccel�v(�ԊO���{�g���{�����x)�擾���[�h�ɐݒ肵�܂��B���̃R�[���͂��Ȃ炸wm.Connect();�̌�ɋL�q���Ă��������Bwm.Connect();���O�ɋL�q����ƐԊO���Z���T�[�����������삵�܂���B
[C#] ws.IRState.IRSensors[0].Found [C++] ws->IRState.IRSensors[0].Found
���̃v���p�e�B��True/False��Ԃ��܂��̂ŁAif�����g���ĐԊO�������o���邱�Ƃ��ł��܂��B�܂�WiimoteLib�́A������4�_�܂ŐԊO�����������o���邱�Ƃ��ł��܂��B�X�̌�������肷�邱�Ƃ͂ł��܂��uIRSensors[3].Found�v���ꂪTrue�Ȃ�4�̐ԊO�������������Ă���A�Ƃ������Ƃł��B
�����āA�쐬������{�I�ȃv���O���������p���āA�ԊO���̌��𐔂���v���O�����Ɋg�����܂��BWiimoteLib�ɂ͓�����4�_�܂ł̐ԊO�����v�����邱�Ƃ��ł��܂��B�����܂ł̃v���O�����ł�1�_�ł��ԊO���������Z���T�[�̎��E�ɓ���ƁA�o�C�u���[�^�[���U������悤�ɂȂ��Ă��܂������A�FLED(�v���C���[�C���W�P�[�^)�������āA���_���o���Ă��邩��\������v���O������lj����܂��B
void wm_WiimoteChanged(object sender, WiimoteChangedEventArgs args) { WiimoteState ws = args.WiimoteState; //WiimoteState�̒l���擾 //�����ԊO�����P���������� if (ws.IRState.IRSensors[0].Found) { wm.SetRumble(true); //�o�C�u���[�^ON } else { wm.SetRumble(false); //�o�C�u���[�^OFF } | //���o���ꂽ�ԊO������Wii�����R����LED�ɕ\������ | wm.SetLEDs(ws.IRState.IRSensors[0].Found, ws.IRState.IRSensors[1].Found, | ws.IRState.IRSensors[2].Found, ws.IRState.IRSensors[3].Found); }
public: void wm_WiimoteChanged(Object^ sender,WiimoteLib::WiimoteChangedEventArgs^ \ args){ WiimoteState^ ws = args->WiimoteState; //WiimoteState�̒l���擾 //�����ԊO�����P���������� if (ws->IRState.IRSensors[0].Found) { wm->SetRumble(true); //�o�C�u���[�^ON } else { wm->SetRumble(false); //�o�C�u���[�^OFF } | //���o���ꂽ�ԊO������Wii�����R����LED�ɕ\������ | wm->SetLEDs(ws->IRState.IRSensors[0].Found, \ ws->IRState.IRSensors[1].Found, | ws->IRState.IRSensors[2].Found, ws->IRState.IRSensors[3].Found ); }
�����ł͐�ق�LED�̓_������Ŏg�����uSetLED��()�v���̂����A4�����̂��̂��g���Ă��܂��BWiiRemote�̐ԊO���Z���T�[�ɕ����̐ԊO�������������ƁA�o�C�u���[�^�[�̐U���Ƌ���LED�C���W�P�[�^���g���ĐԊO�����o����\�����܂��B
���āA�ԊO�������̗L����A���̃J�E���g���ł���悤�ɂȂ����̂ŁA���͐ԊO���Z���T�[�ɂ��������W�̎擾���s���A�t�H�[�����ɃO���t�B�b�N�X�@�\���g���ĕ`�悵�܂��B��قǂ̃v���W�F�N�g�����̂܂܉��ǂ��ĊJ�����邱�Ƃɂ��܂��傤�B
�܂��A�t�H�[���̃f�U�C����ύX���܂��B�͂��߂Ďg���V�����R���g���[����z�u���܂��B�u�c�[���{�b�N�X�v�́u�R�����R���g���[���v����uPictureBox�v��Form1�ɒ���t���܂��B�v���p�e�B�́uSize�v���u200, 200�v�ɂ��܂��B���̃{�^����t�H�[���̃o�����X���Ƃ��Ĕz�u���܂��B
�v���O�����̂ق��͂܂��A�`����using�錾�ŁuSystem.Drawing�v���錾����Ă��邱�Ƃ��m�F���Ă��������B��������{�^���C�x���g�͂��̂܂܂ŁAWiiRemote�̏�Ԃ��ω������Ƃ��ɌĂ����uwm_WiimoteChanged()�v�ƃt�H�[���`����uDrawForms(ws)�v�ɁA�`��̂��߂̃R�[�h�����M���܂��B
using System; using System.Windows.Forms; | using System.Drawing; //�`��̂��߂ɕK�v | using WiimoteLib; //WimoteLib�̎g�p��錾 namespace IR4 { //�쐬�����v���W�F�N�g���� public partial class Form1 Form { | Wiimote wm = new Wiimote(); //Wiimote�N���X���쐬 public Form1) { InitializeComponent(); | //���X���b�h����̃R���g���[���Ăяo������ | Control.CheckForIllegalCrossThreadCalls = false; } | //WiiRemote�̏�Ԃ��ω������Ƃ��ɌĂ��� | void wm_WiimoteChanged(object sender, WiimoteChangedEventArgs args) { | WiimoteState ws = args.WiimoteState; //WiimoteState�̒l���擾 | DrawForms(ws); //�t�H�[���`�ʊ��� | } �����F�{�^���C�x���g�W�� | //�t�H�[���`�ʊ� | public void DrawForms(WiimoteState ws) { | Graphics g =this.pictureBox1.CreateGraphics(); //�O���t�B�b�N�X�擾 | g.Clear(Color.Black); //��ʂ����F�ɃN���A | //�����ԊO�����P���������� | if (ws.IRState.IRSensors[0].Found) { | //�ԐF�Ń}�[�J��`�� | g.FillEllipse(Brushes.Red, | ws.IRState.IRSensors[0].Position.X * 200, | ws.IRState.IRSensors[0].Position.Y * 200, 10, 10); | } | //�����ԊO�����Q���������� | if (ws.IRState.IRSensors[1].Found) { | //�F�Ń}�[�J��`�� | g.FillEllipse(Brushes.Blue, | ws.IRState.IRSensors[1].Position.X * 200, | ws.IRState.IRSensors[1].Position.Y * 200, 10, 10); | } | //�����ԊO�����R���������� | if (ws.IRState.IRSensors[2].Found) { | //���F�Ń}�[�J��`�� | g.FillEllipse(Brushes.Yellow, | ws.IRState.IRSensors[2].Position.X * 200, | ws.IRState.IRSensors[2].Position.Y * 200, 10, 10); | } | //�����ԊO�����S���������� | if (ws.IRState.IRSensors[3].Found) { | //�ΐF�Ń}�[�J��`�� | g.FillEllipse(Brushes.Green, | ws.IRState.IRSensors[3].Position.X * 200, | ws.IRState.IRSensors[3].Position.Y * 200, 10, 10); | } | g.Dispose();//�O���t�B�b�N�X�̉�� | } } }
#pragma once namespace IR4 { //�쐬�����v���W�F�N�g���� using namespace System::Windows::Forms; | using namespace System::Drawing; | using namespace WiimoteLib; //WimoteLib�̎g�p��錾 public ref class Form1 : public System::Windows::Forms::Form { | public: Wiimote^ wm; //Wiimote�I�u�W�F�N�gwm���쐬 public: Form1(void) { | wm = gcnew Wiimote(); //Wiimote�N���X���쐬 InitializeComponent(); | //���X���b�h����̃R���g���[���Ăяo������ | Control::CheckForIllegalCrossThreadCalls = false; } protected: /// <summary> ������ #pragma endregion | //�ڑ��{�^���������ꂽ�� private: System::Void button1_Click(System::Object^ sender, \ System::EventArgs^ e) { | wm->Connect(); //WiiRemote�Ɛڑ� | wm->WiimoteChanged += | gcnew System::EventHandler<WiimoteChangedEventArgs^>( | this, &Form1::wm_WiimoteChanged); | //���|�[�g�^�C�v�̐ݒ� | wm->SetReportType(InputReport::IRExtensionAccel, true); } | //�ؒf�{�^���������ꂽ�� private: System::Void button2_Click(System::Object^ sender, \ System::EventArgs^ e) { | wm->WiimoteChanged -= | gcnew System::EventHandler<WiimoteChangedEventArgs^>( | this, &Form1::wm_WiimoteChanged); //�C�x���g���̓o�^���� | wm->Disconnect(); //Wiimote�ؒf } | //WiiRemote�̒l���ω�����x�ɌĂ�� | public: | void wm_WiimoteChanged(Object^ \ sender,WiimoteLib::WiimoteChangedEventArgs^ args){ | WiimoteState^ ws = args->WiimoteState; //WiimoteState���擾 | DrawForms(ws); | } | public: | void DrawForms(WiimoteState^ ws) { | //�O���t�B�b�N�X���擾 | Graphics^ g = this->pictureBox1->CreateGraphics(); | g->Clear(Color::Black);//��ʂ����F�ɃN���A | if (ws->IRState.IRSensors[0].Found) { //�ԊO����1���������� | //�ԐF�Ń}�[�J��`�� | g->FillEllipse( Brushes::Red , | (float)ws->IRState.IRSensors[0].Position.X * 200.0f , | (float)ws->IRState.IRSensors[0].Position.Y * 200.0f , 10.0f , 10.0f ); | } | if (ws->IRState.IRSensors[1].Found) { //�ԊO����2���������� | //�F�Ń}�[�J��`�� | g->FillEllipse( Brushes::Blue , | (float)ws->IRState.IRSensors[1].Position.X * 200.0f , | (float)ws->IRState.IRSensors[1].Position.Y * 200.0f , 10.0f , 10.0f ); | } | if (ws->IRState.IRSensors[2].Found) { //�ԊO����3���������� | //���F�Ń}�[�J��`�� | g->FillEllipse( Brushes::Yellow , | (float)ws->IRState.IRSensors[2].Position.X * 200.0f , | (float)ws->IRState.IRSensors[2].Position.Y * 200.0f , 10.0f , 10.0f ); | } | if (ws->IRState.IRSensors[3].Found) { //�ԊO����4���������� | //�ΐF�Ń}�[�J��`�� | g->FillEllipse( Brushes::Green , | (float)ws->IRState.IRSensors[3].Position.X * 200.0f , | (float)ws->IRState.IRSensors[3].Position.Y * 200.0f , 10.0f , 10.0f ); | } | } }; }
�܂��ԊO��������p�ӂ��āABluetooth�X�^�b�N����WiiRemote��ڑ����Ă��������BVisual Studio����[F5]�L�[�������ăv���O���������s���܂��B�\�����ꂽ�t�H�[����[�ڑ�]�{�^�����N���b�N���āAWiiRemote���Z���T�[�o�[��d���Ȃǂ̐ԊO�������Ɍ����Ă��������B
�ԊO�������o�����Ɛ}�̂悤�Ƀ}�[�J�_���\�����܂��B�}�[�J�̓���������������ꍇ�́AWiiRemote�ƃZ���T�[�o�[�Ƃ̋�����2m�`3m�܂ŗ����Ă��������B�����������قLj��肵���������s�����Ƃ��ł��܂��B
�Ȃ�Wii�{�̕t���̕W���̃Z���T�[�o�[�ɂ͐ԊO��LED�����E2�O���[�v��������܂���i��������4�_���o�ł���Ƃ����@�\�����݂���Ƃ��낪�����ł��I�j�B�����̐ԊO����������Ȃ��ꍇ�́A�����i���z�Ɍ�����Ȃǁj�ɑ��̊O�Ɍ�����ƕ����̐ԊO�������o�ł���Ǝv���܂��B���z�̌��𗐔��˂��Ă���l�q�Ȃǂł������_���擾�ł��邱�Ƃ�����܂����A�ԊO���������m���߂�����ƂЂƂ̃O���[�v�Ƃ��Č�F������m�C�Y�̌����ɂȂ�܂��̂ŁA������x���肵�Ď擾�ł�������⋗���ׂĂ݂�̂��悢�ł��傤�B��̐}�ł́A�Ƃ���X�܂̓V��ɒ݂��Ă���4�̃n���Q�������v�̗l�q�ł��B�I������ꍇ�́A�ؒf�{�^���������Ă���I�������Ă��������B
WiiRemote�̐ԊO���J�����̒l���擾���āA�ԊO�����������ʂɕ`�悵�Ă��܂��B
[C#] ws.IRState.IRSensors[0].Position.X [C++] ws->IRState.IRSensors[0].Position.X
�ԊO���̍��W(x,y)�̈ʒu(Position)�́A{0.0�`1.0}�̒l����Ƃ�܂��B�O���t�B�b�N�X�Ƃ̑g�ݍ��킹���ӊO�ƊȒP�������̂ł͂Ȃ��ł��傤���B�{�v���O�����ł́A���̒l��pictureBox�̉����Ƃ��Đݒ肵��200x200�ɍ����悤�ɁA200���|���ďo�͂��Ă��܂����A�t�H�[����Size��ύX�����肵�āA���D�݂̉�ʃf�U�C���ɂ��Ă݂�Ƃ悢�ł��傤�B
�Ȃ��AWiiRemote�̐ԊO���Z���T�[�͔��ɍ����\�ł��B�����ł�4�_�̌��o���s���Ă��܂����A���ۂɐԊO���������W�������Ă���X�s�[�h�͔��ɑ������Ƃɒ��ڂł��B�ʏ�̃r�f�I�J��������1�b��15-30����x�̎B�e���s���Ă���̂ɑ��AWiiRemote��200����x�̍��W�擾�������s���Ă���悤�ł��B�������Q�[���p���̓f�o�C�X�ł��A���x����ł��I
�{�͂ł͔�r�I���S�҂̓ǎ҂Ɍ����āAVisual Studio���g���AC#��C++�Ƃ��������̌�������g����.NET�ŊJ�����ꂽWiimoteLib��ʂ��āA��{�I��WiiRemote�v���O���~���O���w�т܂����BWiimoteLib�͌���ł������x�̍���API�̂ЂƂŁA���Ɉ��肵�ē��삵�܂��B.NET�Ƃ���������uC#��p�H�v�ƍl�����Ă��܂����A�{���Ɍ�����C++/CLI�ɂ����������[�������܂���(�����炭���E���I�ł�)�B
WiimoteLib���g�����T���v���A��̓I�ȊJ�����8�͂ł������Ă����܂��B
Wii�����R����Flash�ƂȂ��邱�ƂŁAWeb�T�C�g�̂悤�ȃR���e���c��Wii�����R���ň������Ƃ��ł��܂��B���̏͂ł�Windows(XP
Professional SP2)��Macintosh(OSX 10.5)�y���y�[�W���z�ɕ�����Flash�ɐڑ�����܂ł����Љ�܂��B
-WiiFlash�̎d�g��WiiFlash��G��O�ɁAWiiFlash�̎d�g�݂ɂ��ė������܂��傤�BWiiFlash��Wii�����R����Flash��ʐM���邽�߂̒�������܂��B
���͂ň������悤�ɁABluetooth�𗘗p���āAWii�����R���ƃp�\�R�����q���܂����BFlash��Wii��WiiFlash�Ƃ����\�t�g�𗘗p���āA�q���邱�Ƃ��ł��܂��B
WiiFlash�Ƃ�Joa Ebert��Thibault Imbert�Ƃ����Q�l�̃f���F���b�p�ɂ��AWii�����R����Flash® applications���q������悤�ɊJ�����ꂽ�����Ŏg����v���W�F�N�g�ł��BWiiFlash�͂Q�̃p�[�g�ɕ������Ē���Ă��܂��BWiiFlash Server C++�������́A.NET server�𗘗p���č��ꂽ�o�C�i���\�P�b�g�T�[�o�[�ŁAWii�����R������̏���Flash��������`�ɕω����ĒʐM���܂��B
WiiFlash ActionScript API (SWC component) WiiFlash�T�[�o�[����̒ʐM�ɑ��āA�v���O�������₷���悤�ɒ���Ă���̂��A����ActionScript(Flash�̃v���O���~���O����) API�ɂȂ�܂��B����API�ɂ��A���܂�ʐM�����Ă��鎖���ӎ������ɁA�v���O�������ł��܂��B
�܂��AWindows��Macintosh(�ȉ�Mac)�ɑΉ����Ă��܂��̂ŁA��葽���̊��Ŋy���ނ��Ƃ��ł��܂��B������Windows��Mac�ł͂ł��鎖���Ⴄ�̂Œ��ӂ��܂��傤�B
�����ݒ聛FlashCS3�̃C���X�g�[���܂��͈�ʓI��Flash�̊J�����ł���Adobe Flash CS3(http://www.adobe.com/jp/products/flash/)���p�\�R���C���X�g�[�����܂��傤�B�\�t�g�E�F�A�͍w�����Ȃ��Ƃ��A�̌��ł����p�ł��܂��B�̌��ł�1�����L���ł��̂ŁA�����C�ɓ�������w�����܂��傤�B
-Adobe Flash CS3 Professional�̃_�E�����[�h�P�DAdobe�T�C�g���J���܂��B(http://www.adobe.com/jp/downloads/) [FlashR CS3 Professional]-[�̌���]��I��
���_�E�����[�h�ɂ�Adobe ID���K�v�ɂȂ�܂��B
�Q.�C���X�g�[���_�E�����[�h�����p�b�P�[�W�iZIP�t�@�C���j���𓀂��A�t���̃C���X�g�[���K�C�h�iReadme.txt�j���Q�Ƃ̏�C���X�g�[�����Ă��������B
�R�D�A�v���P�[�V�������N���C���X�g�[��������������A�v���P�[�V�������N�����Ċm���߂Ă��������B�̌��ŗ��p�̏ꍇ�ɂ̓\�t�g�E�F�A�̃��C�Z���X�L�[�m�F��ʂ��o�܂����A30���ȓ��ł�����[�̌��łƂ��Ďg�p����]���N���b�N����A�ʏ�łƓ����@�\���g���܂��B���̌��ŃL���v�`��
-.NET Framework 3.0���K�v�ł��B��Windows�̂�
WiiFlash Server�́uMicrosoft .NET Framework 3.0 Redistributable Package�v���K�v�ɂȂ�܂��B(http://www.microsoft.com/japan/msdn/windowsvista/general/netfx30.aspx)
-�_�E�����[�h�P�DWiiFlash�T�C�g���J���܂��B(http://wiiflash.bytearray.org/)�����̃��j���[�ɂ���[PAGES]-[Download]��I�����܂��B���T�C�g�L���v�`��
��ʂ���[Download WiiFlash]���N���b�N���A�t�@�C�����_�E�����[�h���܂��B���M���̃o�[�W�����i�����������j���T�C�g�L���v�`��
��WiiFlash�̓W�J-�t�@�C�����e�ɂ��āEWiiFlash Server (latest version)�EWiiFlash API (SWC, sources)�EDocumentation�ECS3 Examples (.fla)
�����ݒ�yMacintosh�z��FlashCS3�̃C���X�g�[��Windows�Ɠ����ł��B
��WiiFlash�𗘗p����-�_�E�����[�h�P�DWiiFlash�T�C�g���J���܂��B(http://wiiflash.bytearray.org/)�����̃��j���[�ɂ���[PAGES]-[Download]��I�����܂��B���T�C�g�L���v�`��
��ʂ���[Download WiiFlash]���N���b�N���A�t�@�C�����_�E�����[�h���܂��B���M���̃o�[�W�����i�����������j���T�C�g�L���v�`��
��WiiFlash�̓W�J-�t�@�C�����e�ɂ��āEWiiFlash Server (�ŐV�o�[�W����)�EWiiFlash API (SWC, sources)�E�g�����h�L�������g�ECS3 Examples (.fla)
��WiiFlash�̊�{�@�\
�����R�����n���@�\Windows Macintosh
Wii�����R���y�C�x���g�n�z�ڑ����ł��Ă���̂�
O O
�ڑ����ł���O O
�ڑ����ꂽO O
�k���`���N���ڑ�����Ă��邩O O
�k���`���N���ڑ����ꂽO O
�k���`���N���O�ꂽO O
�ԊO���P�_�ڊ��mO
�ԊO���P�_�ڏ���O
�ԊO���Q�_�ڊ��mO
�ԊO���Q�_�ڏ���O
�y�{�^���n�z�\���L�[�i�㉺���E�jO O
A�{�^��O O
B�{�^��O O
�{�{�^��O O
�|�{�^��O O
HOME�{�^��O O
?�{�^��O O
?�{�^��O O
�d���{�^��X X
�y3�������x�Z���T�[�zX���̉����xO O
Y���̉����xO O
Z���̉����xO O
Yaw�lO O
Pitch�lO O
Roll�lO O
�y�ԊO��-IR�z�P�_��O
�Q�_��O
�P�_�ڂ�X�lO
�P�_�ڂ�Y�lO
�Q�_�ڂ�X�lO
�Q�_�ڂ�Y�lO
�y���̑��z�o�b�e���[���x��O O
�o�C�u���[�V����O O�k���`���N�y�{�^���n�zStickX O O
StickY O O
C�{�^��O O
Z�{�^��O O
�y3�������x�Z���T�[�zX���̉����xO O
Y���̉����xO O
Z���̉����xO O
Yaw�lO O
Pitch�lO O
Roll�lO O
�o�����X�{�[�h����̈���
�E��̈���
�����̈���
�E��̈���
��WiiFlash�̃f���t�@�C���Ńe�X�g����-Wii�����R���Ńe�X�g����܂���Wii�����R���Ńe�X�g���܂��傤�BWiimote Demo.fla Wii�����R�����p�\�R���Ɍq���āAWiiFlash�T�[�o�[�𗧂��グ�܂��傤�B����Ɖ��L��ʂ̂悤�Ɂu1 Wiimote(s) found�v�ƕ\�������Όq�����Ă���̂ŁA��WiiFlash Server�L���v�`��(Windows)
WiiFlash Server�L���v�`��(Mac)
�_�E�����[�h�����p�b�P�[�W�̒��ɂ���[cs3-examples]-[Wiimote Demo.fla]���J���܂��傤�B���̃t�@�C���ł́A�d���{�^���������AWii�����R���̃{�^���S�ĂƁuSensor X�v�uSensor Y�v�uPitch�v�uRoll�v�uYaw�v�ƁuBattery level�v���m�F�ł��܂��B�{�^���������ē�����m�F���܂��傤�B
�m�F���ł�����A���x�̓t�@�C���̍\�������Ă݂܂��傤�B
�V�K��WiiFlash���g�p�����A�v���P�[�V���������ۂɂ́A�K��API�������Ă���[org]�t�H���_��fla�t�@�C���Ɠ����f�B���N�g���ɓ���č쐬���J�n���܂��傤�B�܂��A���C�u������[synchronize]�Ƃ������[�r�[�N���b�v���K�v�ƂȂ�܂��̂ŖY�ꂸ�ɃR�s�[���܂��傤�B
���v���O�����̉�����̃T���v���t�@�C���̃X�N���v�g�ɂ��ďd�v�ȕ����݂̂�������܂��傤�B
WiiFlash�̃��C�u�������C���|�[�g����Bimport org.wiiflash.Wiimote; import org.wiiflash.events.ButtonEvent; import org.wiiflash.events.WiimoteEvent; import flash.events.*;
Wii�����R�����C���X�^���X�����āA�g����悤�ɂ��܂��Bvar myWiimote:Wiimote = new Wiimote();
WiiFlash Server�ɐڑ����܂��BmyWiimote.connect ();
�G���[��ڑ��Ȃǂ��Ǘ�����[synchronize]�Ƃ������[�r�[�N���b�v���C���X�^���X�����A��ʂɔz�u���܂��Bvar mySynchronize:Synchronize = new Synchronize(); addChild( mySynchronize ); mySynchronize.x = (stage.stageWidth - mySynchronize.width) / 2; mySynchronize.y = (stage.stageHeight - mySynchronize.height) / 2
�G���[�Ȃǂ̃C�x���g�n���h����o�^���܂��BmyWiimote.addEventListener( Event.CONNECT, onWiimoteConnect ); myWiimote.addEventListener( IOErrorEvent.IO_ERROR, onWiimoteConnectError ); myWiimote.addEventListener( Event.CLOSE, onCloseConnection );
������̃e�X�g���T���v���L���v�`���y�{�^���z�{�^�����g���ɂ͂܂��A�C�x���g�̓o�^�����܂��B�����ɁAA�{�^���̉����Ɖ�ʂ̐F���ς��T���v��������Ă݂܂��傤�B�{�^���̃C�x���g�o�^�͊�{�I��[on]��[off]��ݒ肵�܂��B[ButtonEvent.A_PRESS]��A�{�^���������ꂽ�ۂɃC�x���g�����܂��B[ButtonEvent.A_RELEASE]�̓{�^���������ꂽ�ۂɃC�x���g�����܂��BmyWiimote.addEventListener( ButtonEvent.A_PRESS, onAPressed ); myWiimote.addEventListener( ButtonEvent.A_RELEASE, onAReleased);
A�{�^���������ꂽ�ۂɃC�x���g���������āA�Ă�郁�\�b�h��������ł��B��ʂɔz�u���ꂽ[color_mc]�̃t���[�����Q�t���[���ڂɕύX���܂��B����ɂ��A�w�i���Ԃ��Ȃ�܂��Bfunction onAPressed ( pEvt:ButtonEvent ):void { color_mc.gotoAndStop(2); }
A�{�^���������ꂽ�ۂɃC�x���g���������āA�Ă�郁�\�b�h��������ł��B��ʂɔz�u���ꂽ[color_mc]�̃t���[�������̂P�t���[���ڂɕύX���܂��B����ɂ��A�w�i�������Ȃ�܂��Bfunction onAReleased ( pEvt:ButtonEvent ):void { color_mc.gotoAndStop(1); }
���̂悤�ȃX�N���v�g�͗\�ߗp�ӂ��Ă���̂ŁA���̃��\�b�h�̂Ȃ��݂�ύX���邾���ŊȒP��Wii�����R�����g����Flash�̃A�v���P�[�V���������܂��B
�y�R�����������x�Z���T�[�z���T���v���L���v�`�����ɒl����ɕω�����R�����������x�Z���T�[���ɁAUPDATE�C�x���g��������܂��傤�B[WiimoteEvent.UPDATE]�́A�R�����������x�Z���T�[��A�ԊO���̈ʒu�ȂǏ�ɒl���ω�������̂��擾���邽�߂ɍ���Ă��܂��B����UPDATE���͈��Ԋu�ōX�V�����̂ŁA��ɒl�̕ω����Ď�����ۂɎg���܂��B
-�C�x���g�o�^�܂��́A����UPDATE�����g����悤�ɁA�C�x���g�̓o�^�����܂��BmyWiimote.addEventListener( WiimoteEvent.UPDATE, onUpdated );
-���\�b�h��`��ʏ��[sensor_txt]��sensorX��sensorY�̒l��\�����܂��B���̃��\�b�h�̒��ɏ����ꂽ���͈̂��Ԋu�ōX�V����܂��B
function onUpdated ( pEvt:WiimoteEvent ):void{ sensor_txt.htmlText += "Sensor X : " + String ( pEvt.target.sensorX ) + \ "��br>Sensor Y : " + String ( pEvt.target.sensorY ); }
���̏͂ł͖ؑ��G�h����̂����͂ɂ��AWiiFlash��Flash��ActionScript���ł͂Ȃ��AProcessing���g���ė��p������@��������Ă��Ă����܂��B
Processing�́A�}�T�`���[�Z�b�c�H�ȑ�w��Ben Fry��Casey Reas�ɂ���ĊJ�����ꂽ�t���[�̃v���O�����J�����ł��B�f�������o���A�C���^���N�e�B�u�ȍ�i�����Ƃ������p�r�Ɍ����Ă���A�A�[�e�B�X�g��f�U�C�i�[�ł��g���₷���悤�ɍ���Ă��܂��B
�yProcessing�zhttp://processing.org/
�x�[�X��Java����Ȃ̂ŁALinux�CMac OS X�CWindows�Ƒ��l�Ȋ��œ��삵�܂��BJava�ŊJ���Ƃ����ƁAJDK���C���X�g�[��������A�R�}���h���C�����g���������������Ƃ��������Ƃ��K�v�ł͂Ǝv���Ă��܂���������܂��AProcessing�͂����̕~���������邽�߂̍H�v���Ȃ���Ă��܂��B���̂��߁AJava�͂��Ƃ��A���܂Ńv���O���~���O������g�������Ƃ������Ƃ������ɂ������Ă��܂��B
�܂��A�v���O�����ɂ��Ă��u�X�P�b�`�v�Ƃ����Ăѕ���p���C�T�b�Ə����Ă����Ɏ��s�ł���_���������Ă��܂��BJava����̓���ɂ��肪���Ȃ��܂��Ȃ��I�ȃv���O�����͕s�v�ŁA�����Ȃ��ړI�ƂȂ镔�����珑���n�߂邱�Ƃ��ł��܂��B���̂�����́AJava�Ƃ�������Perl��Python�Ȃǂ̌y�ʌ���̃C���[�W�ł��B
���̂悤�ɊȒP�Ɏg����Processing�ł����A��@�\���Ƃ����Ƃ����������͂���܂���B�J��������̓�����͂�A�l�b�g���[�N�Ƃ̒ʐM�AOpenGL���g����3D�v���O���~���O�ȂǁA��������̋@�\�����C�u�����ɂ���ăT�|�[�g����Ă��܂��BWiiRemote����O�ł͂���܂���BProcessing����WiiRemote���������߂̃��C�u�����Ƃ��āAWrj4P5�Ƃ������C�u�������p�ӂ���Ă��܂��B
�yWrj4P5�zhttp://sourceforge.jp/projects/wrj4p5/wiki/FrontPage
���������̃��C�u�������g�����߂ɕK�v��Bluetooth�X�^�b�N�Ȃǂ����Ȃ���肳��Ă���A�K�������S�Ă̊��œ����Ƃ͌���܂���B����Windows���ł͓����Ȃ����Ƃ������悤�ł��B
������WiiFlash�̓o��ł��B�O�͂ŏЉ��Ă���ʂ�AWiiFlash�͂��Ƃ���Flash����WiiRemote���������߂̃c�[���A���C�u�����ł����A���͑��̃v���O���~���O���ꂩ����g�����Ƃ��o���܂��B��x�d�g�݂����m���Ă��܂��AWiiFlash��WiiRemote�ɑ���ėp�I�ȃC���^�t�F�[�X�Ƃ��ċ@�\���܂��B
Processing����O�ł͂Ȃ��Anet���C�u�������g�����Ƃ�WiiFlash�o�R��WiiRemote���������Ƃ��ł���悤�ɂȂ�܂��B�M�҂̊��o�ł́AWiiFlash�̂ق���Wrj4P5���������̊��œ��삵�Ă���悤�Ȃ̂ŁAWiiFlash���g����葽���̊���Processing����WiiRemote���������Ƃ��ł���̂ł͂Ȃ����Ǝv���܂��B
Processing����WiiFlash���o�R����WiiRemote�ɂȂ����߂ɕK�v�Ȋ��͈ȉ��̂Ƃ���ł��B
�����ł́AProcessing�̃Z�b�g�A�b�v���@�ƁAWiiRemote���������߂̕��@�ɂ��Đ������܂��BWiiFlash�ɂ��Ă͑O�͂��Q�l�ɃZ�b�g�A�b�v���Ă��������B�܂��AProcessing���̂��̂ɂ��Ă̏ڍׂȐ����ɂ��Ă��������܂��B
Processing�̃Z�b�g�A�b�v�͂ƂĂ��ȒP�ł��BProcessing�̃T�C�g���爳�k�t�@�C�����_�E�����[�h���Ă��ĉ𓀂��邾���ł��B���ɃC���X�g�[�����g���ăC���X�g�[������Ȃǂ̍�Ƃ͕K�v����܂���B�_�E�����[�h�͈ȉ���URL����s�����Ƃ��ł��܂��Bhttp://processing.org/download/index.html
��������A���g����OS�ɍ������t�@�C�����_�E�����[�h���Ă��������BWindows�ɂ��Ă͒��ӏ����ɂ�������Ă���Ƃ���A���ɗ��R��������uWithout Java�v�ł͂Ȃ��ق��������߂��܂��B
�Ȃ��A���M���_�ł̍ŐV�o�[�W������11��29�����J��1.0.1�ł��̂ŁA�Ȍ�̐����͂���1.0.1��ΏۂƂ��܂��B�F�����̕��͂�ǂ܂�Ă���Ƃ��̍ŐV�o�[�W�����͂��ł�1.0.1�ł͂Ȃ��Ȃ��Ă��邩������܂����������������B
�_�E�����[�h�������k�t�@�C����W�J����ƁA�ȉ��̂悤�ȃt�@�C��������܂��B
���Ƃ�Processing.exe���N�����邾���ł��B�N�����̃X�v���b�V���E�B���h�E���\�����ꂽ��A�ȉ��̂悤�ȉ�ʂɂȂ�ΐ����ł��B
�܂���WiiFlash���g��Ȃ��AProcessing���̂��̂̃T���v�������Ă݂܂��傤�B������Processing�ɕt�����Ă���Mouse1D�Ƃ����T���v���������Ƃɂ��܂��B���j���[����[File]��[Examples]��I������ƁA�ƂĂ������̃T���v���X�P�b�`���p�ӂ���Ă��邱�Ƃ�������܂��B���̒�����[Basics] - [Input] - [Mouse1D]��I�����܂��B����ƁA50�s������Ƃ̃X�P�b�`���J����܂��B
���g�̗����͒u���Ă����āA�܂��͎��s���Ă݂܂��傤�B�����Run�{�^���������ƁA�X�P�b�`�����s����܂��B�����ȃE�B���h�E��2�̐����`�����ꂽ�ł��傤���B�}�E�X�J�[�\�������E�ɓ������ƁA����ɔ������ĐF��T�C�Y���ω����܂��B
��ʂ肱�̃T���v�����ǂ̂悤�ȓ�������邩����������A�E�B���h�E����ăX�P�b�`�̂ق��ɖڂ������Ă݂܂��BJava����₻��ɋ߂�������g�������Ƃ�������Ȃ�A���̃X�P�b�`��setup���\�b�h�Adraw���\�b�h�Aupdate���\�b�h��3�ō\������Ă��邱�Ƃ������邩�Ǝv���܂��B
setup���\�b�h�ł́A�E�B���h�E�T�C�Y�̐ݒ�Ȃǂ̏��������s���Ă��܂��Bdraw���\�b�h�ł́A�w�i��h��Ԃ��A�}�E�X�̈ʒu�ɉ�����2�̐����`��`���������s���Ă��܂��Bupdate���\�b�h�ł́A�����`�̐F����W�v�Z�Ɏg���p�����[�^���v�Z���Ă��܂��B
update���\�b�h���̏ڍׂȌv�Z�ɂ��Ă͓��ɗ������Ȃ��Ă������̂ł����A���̈�����mouseX�Ƃ����ϐ����w�肵�Ă���Ƃ���ɒ��ڂ��Ă��������BmouseX�Ƃ́A���O�̂Ƃ��茻�݂̃}�E�X�J�[�\����X���W�ł��B�J�[�\�����W��update���\�b�h�ɓn�����Ƃɂ���āAleftColor�ArightColor�Agx�Agy�Ƃ������ϐ��ɓK�Ȓl���ݒ肳��܂��B�����Ă����̒l���g���Đ����`���`����܂��B
���āA���̃T���v���ł̓}�E�X�J�[�\����X���W���g���Ă��܂����A�����WiiRemote���g���đ���ł��Ȃ����̂ł��傤���B��������́AWiiFlash���g���Ă��������������@�ɂ��Đ������܂��B
�T���v���X�P�b�`��Mouse1DWii���J���Ă݂Ă��������B��������ɂ́A�܂�WiiFlash���N������K�v������܂��B�O�͂��Q�l�ɁABluetooth��WiiRemote��F�������AWiiFlash���N�����Ă��������B������WiiFlash���N��������AProcessing��Run�{�^���������Ă��������B�\��������ʂ͂܂�����Mouse1D�ƕς��܂��AWiiRemote���Ђ˂�悤�ɉ�]������ƁA�}�E�X�J�[�\���������Ƃ��̂悤�ɉ�ʂ��ω����܂��B
����ł̓X�P�b�`�ɂ��ďڂ������Ă����܂��傤�B�X�P�b�`�ɂ́A�ȉ��̂悤��Mouse1DWii��Wiimote��2�̃^�u������܂��B
Wiimote�̂ق��ɂ��Ă͌�ŏڂ�����������̂ŁA�܂���Mouse1DWii�̂ق��ɒ��ڂ��Ă��������B
Mouse1DWii�́A���ƂȂ��Ă���Mouse1D�������������������̂ł��B�ȉ��̂悤��4�s�̒lj��A�ύX������܂��B
// �O�� float leftColor = 0.0; float rightColor = 0.0; Wiimote wiimote; ..... (1) WiiRemote���g�����߂̕ϐ� void setup(){ size(200, 200); colorMode(RGB, 1.0); noStroke(); wiimote = new Wiimote(this); ..... (2) ������ } void draw() { wiimote.update(); ..... (3) WiiRemote����̓��͂���荞�� background(0.0); update((int)((wiimote.x + 1) * width / 2)); ..... (4) �����x�Z���T�̒l���g�� // �㗪
�܂��ŏ��ɁAWiiFlash�o�R��WiiRemote���g�����߁AWiimote�^��wiimote�Ƃ����ϐ����`���Ă��܂�(1)�Bsetup���\�b�h�ł́A���̕ϐ������������Ă��܂�(2)�B
draw���\�b�h�ł͂܂��AWiiRemote����̓��͂���荞�ނ��߂ɁAWiimote�N���X��update���\�b�h���Ăяo���܂�(3)�Bupdate���\�b�h�̏ڍׂɂ͂����ł͓��ݍ��݂܂��A����ɂ���Č��݂�WiiRemote�̉����x�Ȃǂ̃p�����[�^���g����悤�ɂȂ�܂��B�Ⴆ��WiiRemote�𐳖ʂɌ������Ƃ��ɂЂ˂�����iX�����j�̉����x�́Awiimote.x�Ƃ����ϐ��ɓ����Ă��܂��B
�Ō�͉����x��`�悷�鐳���`�̃T�C�Y�ɔ��f�����镔���ł�(4)�B����Mouse1D�ł́Aupdate���\�b�h�Ƀ}�E�X�J�[�\����X���W�imouseX�j��n���Ă��܂����BMouse1DWii�ł́A����ɂȂ炤�`��WiiRemote��X�����̉����x��ϊ����Aupdate���\�b�h�ɓn���Ă��܂��B
X�����̉����x��\��wiimote.x�́A���S�ɍ��ɌX�����Ƃ���-1�A�t�Ɋ��S�ɉE�ɌX�����Ƃ���1�Ƃ����l�ɂȂ�܂��B���������Ă����肷��Ƃ��͈̔͂��܂����A��{�I�ɂ�-1����1�͈̔͂ƍl���Ė�肠��܂���B�X�P�b�`�ɏ������Ƃ���A1�𑫂��ĉ�ʕ��iwidth�j�������A2�Ŋ���A-1����1�͈̔͂�0�����ʕ��͈̔͂ɕϊ��ł��܂��B
WiiRemote��Processing����g�����߂ɂ́AWiimote�N���X���g���܂��BWiimote�N���X�́A����WiiFlash�̎������Q�l�ɕM�҂��I���W�i���ō쐬�������̂ŁA����ɂ��Ă͖��ۏƂ��܂��B����Wiimote���g�����߂̃X�e�b�v�͑傫��������3�ł��B
new��Wiimote�̃R���X�g���N�^���Ăяo���AWiimote�^�̃C���X�^���X�����܂��B���̂Ƃ��A�����ł�WiiFlash�Ƃ̐ڑ����s����̂ŁAWiiFlash���N�����Ă��Ȃ��Ƃ����ŃG���[���������A�ȍ~�̏��������܂������܂���B���̏����͊�{�I��1�x�����Ăׂ����̂ŁAsetup���\�b�h�̒��ŌĂяo���̂��悢�ł��傤�B
Wiimote wiimote; // �ϐ��̐錾 wiimote = new Wiimote(this); // setup���\�b�h���Ȃǂ�
Wiimote��update���\�b�h���Ăяo���AWiiRemote����AWiiFlash�o�R�Ńf�[�^���擾���܂��B���̏����͈�ʓI�ɂ�draw���\�b�h�̒��ň�x�����s���܂��B
// draw���\�b�h���Ȃǂ� wiimote.update();
��xupdate���\�b�h���Ă�ł��玟��update���\�b�h���Ăяo�����܂ł́AWiiRemote�N���X���瓾����WiiRemote�̏�Ԃ͕ς��Ȃ��܂܂ł��B
Wiimote��x��y�Ȃǂ̃t�B�[���h���Q�Ƃ��邱�ƂŁA���݂�WiiRemote�̏�Ԃ�m�邱�Ƃ��ł��܂��B��ɗp������̂́A�e�����̉����x�ƁA�{�^���̏�Ԃł��傤�B
// (100, 100)�̓_����WiiRemote�̌����ɉ����Đ������� line(100, 100, 100 + wiimote.x * 50, 100 + wiimote.y * 50);
Wiimote�N���X���g���ē�����f�[�^�͕\�̒ʂ�ł��B
�t�B�[���h�� | �^ | �Ӗ� |
---|---|---|
x�Cy�Cz | float | �e�������x�B-1�`+1�̒l���Ƃ�A1G�̎��ɒl��1�ƂȂ�B |
one�Ctwo�Ca�Cb�Cplus�Cminus�Chome�Cup�Cdown�Cright�Cleft | Button | ���ꂼ��̃{�^���̏�� |
batteryLevel | float | �o�b�e���[�̎c�� |
extensionType | int | �g���R���g���[���̃^�C�v |
�{�^���֘A�̃t�B�[���h�́AButton�N���X���g���ĕ\����Ă��܂��BButton�N���X�ɂ́Apressed��pushed��2��boolean�ϐ�������܂��B
�����2�̕ϐ��^�C�v�����܂��g�������Ă��������B
// �㉺�{�^����������Ă���ԃp�����[�^���㉺������ if (wiimote.up.pressed) { someparam++; } else if (wiimote.down.pressed) { someparam--; } if (wiimote.a.pushed) { background(10); // A�{�^���������ꂽ���ʂ����� }
WiiRemote�����p�����X�P�b�`������ɂ������āA1����Processing�̃X�P�b�`��g��ł����WiiRemote�Ή��ɂ���ƁAWiimote���g���Ƃ����_����t�H�[�J�X������Ă��܂��܂��B�K���AProcessing�ɂ͑����̃T���v���X�P�b�`���Y�t����Ă��܂��̂ŁA�����̂�����������WiiRemote�Ή��ɂ��邱�Ƃʼn�����Ă����܂��B
�����ł́AFireCube�ADirectional�ALightsGL�ASineWaveSignal��4�̃X�P�b�`��WiiRemote�ɑΉ���������ɂ��ďЉ�܂��BWiiRemote�ɑΉ��������X�P�b�`�́A���̃T���v���X�P�b�`�Ƌ�ʂ��邽�߂ɁA���O�̍Ō��Wii��t���Ă��܂��B
FireCube�́A�����R���オ��悤�ȕ��G�ȃG�t�F�N�g��100�s���x�ŏ����ꂽ���̂ł��B���̃T���v�����AWiiRemote��U��ΐU��قlj����o�Ă���悤�ɂ��Ă݂܂����B�T���v����FireCubeWii�ł��B
draw�̒��ł́A�����x����power�Ƃ����l���v�Z���Ă��܂��B���̒l�ɉ����ĉ��̏o��ʂ��ς��܂��B
float power = sqrt(wiimote.x * wiimote.x + wiimote.y * wiimote.y + wiimote.z * wiimote.z); power = constrain(power - 1, 0.1, 1);
�ŏ��Ɍv�Z���Ă���̂�WiiRemote�ɂ������Ă�������x�ł��BWiiRemote�������Ȃ���Ԃł́A���̒l�����1�ɂȂ�܂��B���̏�Ԃł͉����o�������Ȃ��̂ŁA���̍s��1�������ƂƂ��ɁAconstrain�Ƃ��������g���Ēl��0.1����1�̊ԂɎ��߂Ă��܂��B
�����Ōv�Z����power�́A�����̂ƁA������オ���Ă��鉊�̏����l�ɐݒ肵�܂��B�ڂ����̓X�P�b�`����power�Ƃ����ϐ����������Ă݂Ă��������B
Directional�́A�}�E�X�J�[�\���̈ʒu�ɉ����ăs���|�����̂悤�Ȃ��̂����C�g�A�b�v�������̂ł��B�����WiiFlash���瓾����X�����AY�����̉����x���g�����ƂŁA��������WiiRemote�������d���ɂȂ������̂悤�Ȋ��o�����킦�܂��B
���̃X�P�b�`�ł́A�����d���̂悤�Ȋ��o���o�����߂ɁAWiiRemote��A�{�^����������Ă���Ƃ����������\�������悤�ɂ��Ă��܂��B���L�̂悤�ɁAA�{�^����������Ă����draw���\�b�h����r���Ŕ����o���܂��B
if (!wiimote.a.pressed) { return; }
���Ă�����ɂ��ẮA�����x�̒l�����̂܂g���Ă��܂��B
directionalLight(204, 204, 204, wiimote.x, wiimote.y, -1);
�Ō��1�ς�����l�^�����グ�܂��BWaveSignalWii�͍��܂ł̃X�P�b�`�Ƃ͈قȂ�A�����g�����X�P�b�`�ł��B���ƂȂ��Ă���X�P�b�`��[Libaries] - [Minim (Sound)] - [SineWaveSignal]�ł��B���̃X�P�b�`���N������ƁA�v�[�Ƃ����悤�ȉ�����o���܂��B����͉�ʂɂ��\������Ă���ʂ�A�����鐳���g�ł��B�}�E�X�J�[�\�����㉺���E�ɓ��������ƂŁA���̍����i�s�b�`�j���㉺������A�X�e���I�̍��E�̃o�����X�i�p���j���ړ������肷��̂�������ł��傤���B
Processing�ł��̂悤�ɉ����点��̂́AMinim�Ƃ������C�u�����̂������ł��B�����g��\���ϐ������A�s�b�`��p�����w�肷�邾���ŁA���̂悤�ɉ���炷���Ƃ��ł��܂��B
SineWaveSignal�͂��̖��̒ʂ萳���g�ɂ����Ή����Ă��Ȃ��̂ł����A�����WiiRemote�Ή�������WaveSignalWii�́A�̂�����g���`�g�ɂ��Ή������܂����B���E�{�^�����������Ƃł������ւ��邱�Ƃ��ł��܂��B�܂��A�㉺�{�^���ʼn��ʂ�ς��邱�Ƃ��ł��܂��B
�܂��A������ς��邱�ƂŃs�b�`��p�����ω����܂��B��Ɍ�����Ɖ��������A���Ɍ�����Ɖ����Ⴍ�Ȃ�܂��B���E�����Ɍ�����ƁA������̕����特���������Ă���悤�ɂȂ�܂��B
���āA�����܂œ��ɂ��̘b�̏ڍׂɂ͓��ݍ���ł��܂���ł������A�Ȃ�Processing����WiiFlash���g�����Ƃ��ł���̂ł��傤���B������WiiFlash�ɓY�t����Ă���\�[�X�R�[�h�̒��ɂ���܂��B
���C���ƂȂ�\�[�X�R�[�h�́ACore/api/source-classes/org/wiiflash�f�B���N�g���̒��ɂ���܂��B�����ɂ���̂�WiiFlash���̂��̂̃\�[�X�R�[�h�ł͂Ȃ��AFlash����WiiFlash�ɂȂ����߂�ActionScript3�̃\�[�X�R�[�h�ł����A���ꂾ����WiiFlash�̋����𐄑����邱�Ƃ��ł��܂��BWiimote.as��WiiSocket.as������A��{�I�ȋ��������ނ��Ƃ��ł��܂��B
WiiSocket.as�ł́Aconnect���\�b�h��localhost��19028�Ԃɐڑ����Ă��܂��B���̂��Ƃ���AWiiFlash��19028�Ԃ̃|�[�g���g���ăT�[�o�𗧂ĂĂ��邱�Ƃ�������܂��B�����ă\�P�b�g����f�[�^����M�����Ƃ��̏�����onSocketData���\�b�h�ɏ�����Ă��܂��B����������ƁA�f�[�^��80�o�C�g�P�ʂŎ�M����Ă��邱�Ƃ�������܂��B�ŏ���1�o�C�g�̓R���g���[����ID�ƂȂ��Ă���A����ȍ~�̃f�[�^��Wiimote�N���X��update���\�b�h�œǂݍ��܂�Ă��܂��BWiiFlash���瑗���Ă����{�I�ȃf�[�^���܂Ƃ߂�ƁA�\�̂悤�ɂȂ�܂��B
��{�f�[�^���C�A�E�g
���O | �ʒu | �^ | �Ӗ� |
index | 0 | byte | �R���g���[����ID |
batteryLevel | 1 | byte | �o�b�e���[�c�� |
buttonState | 2 | ushort | �{�^���̏�� |
x | 4 | float | X�����̉����x |
y | 8 | float | Y�����̉����x |
z | 12 | float | Z�����̉����x |
extensionType | 16 | byte | �g���^�C�v |
�g���^�C�v�ɂ́A�k���`���N�A�N���V�b�N�R���g���[���A�o�����X�{�[�h������܂��B���̃^�C�v�ɂ���āA17�o�C�g�ڈȍ~�̃f�[�^�̉��ߕ��@���ς��܂��B�����ɂ��Ă�Nunchuk.as�AClassicController.as�ABalanceBoard.as������ƃf�[�^�̓��e��������܂����A�{���ł͂����ɂ��Ă̐����͊������܂��B
Processing����WiiFlash�ɂȂ����߂ɂ́Anet���C�u������Client�N���X���g���܂��BClient�N���X���g�����ƂŁA�\�P�b�g���g����WiiFlash�ƒʐM���邱�Ƃ��ł��܂��B�Ȃ�����́Aread���\�b�h�Ȃǂ��g�����Ƃ�WiiFlash����o�C�g���ǂݍ��ނ��Ƃ��ł��܂��B
Wiimote�N���X�̏ڍׂȎ����ɂ��Ă͖{�͂ł͏q�ׂ܂��A�\�[�X�R�[�h�͌������ԂƂȂ��Ă���̂ŁA�C�ɂȂ���͂�������Q�Ƃ��Ă��������B
WiiYourself!��gl.tter���ɂ��A���ɑ��@�\��Native C++�pAPI�ł��B��4�͂ŏЉ��WiimoteLib�ɂ��.NET���ł̍��@�\�E���Ղȃv���O���~���O�ƈقȂ�A�Â��ǂ�C/C++����ɂ�鍂���Œ��ړI�ȃv���O���~���O���s���邱�Ƃ����͂ł��B
�{�͂ł�WiiYourself!��C++�ɂ��R�}���h���C���v���O���~���O���Ŏg���Ă݂邱�Ƃ�ʂ��āA�C���^���N�V�����Z�p�̊�ՂƂȂ�Z�p���w�т܂��B
http://wiiyourself.gl.tter.org/
WiiYourself!�̃z�[���y�[�W�ɂ�WiiYourself!��p�����Q�[����A3DCG�\�t�gMaya�̑���A��B�J�����̐���Ȃǂ������̃v���W�F�N�g���Љ��Ă��܂��Bgl.tter���͎��ۂ�FPS(��l�̃V���[�e�B���O)�Q�[���uGUN FRENZY!2�v�𐧍삷�邽�߂ɂ��̃��C�u�������쐬���Ă���悤�ł��B�ȉ��́AWiiYourself!�̃z�[���y�[�W�ɋL�ڂ���Ă���@�\�ꗗ�ł��B
�z�[���y�[�W��ǂ�ł݂�ƁAWiimoteLib�̂��ƂƂȂ���Brian Peek���̃v���W�F�N�g�uManaged Wiimote Library�v�ƌ��_�������Ă��邱�Ƃ��킩��܂��BWiiYourself!������API�Ɣ�r������ł̓����Ƃ��ċ�������̂́A�l�C�e�B�uC++�̐ÓI���C�u����(.lib)�ł���ADLL�����s�v�ł��邱�ƁADirectX�Ȃǂɂ�鋌���̃Q�[���v���O���~���O��@�ɐe�a�������邱�ƁA�����I�Ȃ���X�s�[�J�[�ւ�WAV�o�͂�4�_�̐ԊO���̌��o�ȂǏ�ɃA�b�v�f�[�g�𑱂��Ă���_����������ł��傤�B�k�āE���B�̑����̊J���҂����p���Ă��܂��BAPI�R�A�̊J����gl.tter�����W��I�ɍs���Ă��܂����A���[�����O���X�g�ł̃f�B�X�J�b�V��������r�I�����ŁA���S�҂��猤���҂܂ŗl�X�Ȑl�����p���Ă��܂��B�w�ǂ��Ă��邾���ł����E����WiiRemote���p�҂������l���āA�ǂ�ȃg�����h�ɂ���̂��������Ċy�����ł��B��������낢��Ȕ��W�����҂ł���v���W�F�N�g�ł��傤�B
WiiYourself!���e���M���_�̍ŐV�ł�2008�N7��24���Ɍ��J���ꂽ�uv1.01a�v�ł��B�Ȃ��������[�����O���X�g�ł͎����o�[�W�����ɂ�����uv1.11beta�v����������Ă��܂����A�傫�ȕύX�͂Ȃ��̂Ŗ{���ł̓��W���[�o�[�W�����ł���uv1.01a�v�ʼn�����܂��BWiiYourself!��ZIP�t�@�C���̃_�E�����[�h�œ��肷�邱�Ƃ��ł��܂��B
http://wiiyourself.gl.tter.org/WiiYourself!_1.01a.zip
����ZIP�t�@�C���̒��ɁAWiiYourself!�̃\�[�X�R�[�h�A�ÓI�����N�p���C�u�����t�@�C���A�f���v���O�����A�������r���h���邽�߂̃v���W�F�N�g�t�@�C���A�B��̃}�j���A���ɓ�����README�t�@�C���A���C�Z���X�t�@�C���Ȃǂ��܂܂�Ă��܂��B
�C���X�g�[���Ƃ��ẮA�ǂ��Ƀt�@�C����z�u���Ă��悢�̂ł����A�{���ł͉���̂��߂�ZIP�t�@�C������𓀂����uWiiYourself!�v�t�H���_���uC:\WiiRemote\WiiYourself!�v�Ƃ����p�X�ɔz�u���邱�Ƃɂ��܂��B
�Ȃ��AWiiYourself!�͂��̖��O�����I�ł����A���Ȃ���I��README�ƃ��C�Z���X�������Ă��܂��B�ȉ��A�Q�l����f�ڂ��܂��B���p���p�\�Ƃ������ƂŁA�l�ŃV�F�A�E�F�A��ƂȂǂ�����Ă�����������͊������̂ł͂Ȃ��ł��傤���B
- WiiYourself! - native C++ Wiimote library v1.01 (c) gl.tter 2007-8 - http://gl.tter.org
����͊��S�ɖ����Ŋ��S�@�\��(���݂�)Windows�p��WiiRemote�l�C�e�B�uC++���C�u�����ł��BBrian Peek���́uManaged Wiimote Library�v(http://blogs.msdn.com/coding4fun/archive/2007/03/14/1879033.aspx)�����ƂɁA���S�ɏ��������A�g�����܂����B
���܂̂Ƃ���h�L�������e�[�V�����͂���܂���B�uWindows��WiiRemote�v�̑S�e�ƈ�ʓI�ȏ��ɂ��Ă�Brian�̏������݂��`�F�b�N���Ă��������B�\�[�X�R�[�h�͍L�͈͂ɂ킽��R�����g������A�f���A�v���͑S�Ă𗝉������ŏ����ɂȂ�ł��傤(����͂Ȃ��ł�)�B����ɂ��Ă͎��̃��[�����O���X�g�ɎQ�����Ă��������B�������̎g�p�ɂ����鐧���ɂ��ẮuLicense.txt�v���Q�Ƃ��Ă��������B
�y�t�L�z
�EVC 2005 C++�̃v���W�F�N�g���܂܂�Ă��܂�(VC 2008�ɓǂݍ��܂��Ă�������)�B�����N�G���[��h�����߂ɁA�v���W�F�N�g�̃v���p�e�B���uC/C++�v���u�R�[�h�����v�Łu�����^�C�����C�u�����v�̐ݒ��K��������K�v������܂��B
�EMinGW���̂��߂�MSYS makefile���܂܂�Ă��܂��BMSYS�v�����v�g�ɂ����āA�umake -f Makefile.MSYS�v�Ɠ��͂��Ă��������BMinGW�Ƃ������O�̃t�H���_�ƓK�ȃt�H���_�\���ɂ��o�C�i�������܂��B
�E�r���h�ɂ̓}�C�N���\�t�g��Driver Development Kit(DDK)���K�v�ƂȂ�܂�(HID API�̂���)�B�o�^�̕K�v�Ȃ��A�����Ń_�E�����[�h�ł��܂��B
http://www.microsoft.com/whdc/devtools/ddk/default.mspx
�C���N���[�h�p�X��DDK�́uinc/wxp�v��lj����A���C�u�����p�X�Ɂulib/wxp/i386�v��lj����Ă��������B(���_�͂Ȃ��Ǝv���܂���)���ŋ߂̃w�b�_�t�@�C���AAPI���܂�WinDDK���g�����Ƃ��ł��܂��B
�E���C�u������tchar.h��Unicode���\�ł��iVC�v���p�e�B�̃r���h�I�v�V�����uU�v�����Ă���܂��j�B
�EVC���g���Ă��Ȃ��Ȃ�A�ȉ��̃��C�u�����������N����K�v������܂��B�usetupapi.lib�v�A�uwinmm.lib�v�A�uhid.lib(DDK�������)�v�B
�yWiiRemote�C���X�g�[���Ɋւ���t�L�z
WiiRemote�͎g�p������PC�Ɏ��O�Ɂupaired�v�̏�ԁA�܂�Bluetooth�ڑ����ꂽ��Ԃɂ���K�v������܂��B[1]+[2]�{�^�����ɉ����Ă������ƂŁA���b�ԁA�����\(discoverable)���[�h�ɓ���܂�(LED���_�ł��܂��ALED�̐��̓o�b�e���[���x���Ɉˑ�)�B�uNintendo RVL-CNT-01�v�Ƃ��Ĕ�������܂��B
���X�^�b�N���L�̉���F
���{���ł͊���3�͂ʼn���ς݂Ȃ̂Ŋ������܂���
�E�ؒf���@(�e�X�^�b�N����)
WiiRemote��POWER�{�^���𐔕b�����Ă��������B����Ŏ����I�ɐؒf�ł��܂��B([1]+[2]�{�^����������)�ēx�y�A�����O���[�h�ɓ����āALED�����b�_�ł��Ă����ԂŃ^�C���A�E�g������A���ʓI�ɓd����邱�Ƃ��ł��܂��B
���[�����O���X�g�ɃT�C���A�b�v���āA�t�B�[�h�o�b�N��^���A�A�C�f�B�A���������A�Q������Ƃ������[�v�ɓ����Ă��������B
http://wiiyourself.gl.tter.org/todo.htm
�����M����WiiYourself!���g���Ă���Ȃ�A�����Ă��������B�����N�点�Ă������������Ǝv���܂��B�y����ŁI
gl.tter (glATr-i-lDOTnet)
- WiiYourself! - native C++ Wiimote library v1.01 (c) gl.tter 2007-8 - http://gl.tter.org
�����C�Z���X�F����WiiRemote���C�u�����͂����Ȃ闘�p(���p�܂�)�Ɋւ��Ă��A�ȉ��̏����ɂ����Ė����ł��B
(1)���ځA�Ԑڂɂ�����炸�l�������邽�߂Ɏg��Ȃ��ł��������B�R�����p���܂݂܂�������Ɍ��������Ƃł͂���܂���(�G�S��@���̂͂������Ƃł��E��)�B
(2)�o�C�i���`���̂����Ȃ�z�z(��F���Ȃ��̃v���O�����Ƀ����N���ꂽ����)�ɂ����Ă��A�ȉ��̃e�L�X�g��ReadMe�t�@�C���A�w���v�t�@�C���AAboutBox��X�v���b�V���X�N���[���Ɋ܂߂Ă��������B
contains WiiYourself! wiimote code by gl.tter
http://gl.tter.org
(3)�\�[�X�R�[�h�`���̂ǂ�Ȕz�z�`���ł��A�I���W�i���̎��̒��쌠�\����ύX���Ȃ��ŕێ����邱��(���Ȃ����������ύX�͒lj��ł��܂�)�A�����Ă��̃��C�Z���X�����܂߂Ă��������i���̃t�@�C�������Ȃ��̔z�z���Ɋ܂ނ��A���Ȃ����g�̃��C�Z���X���ɓ\��t���Ă��������j�B
(4)���Ȃ����g�����Ȃ菑�������Ȃ�����A���̃R�[�h�ɋ������郉�C�u�����ݏo���s�ׂɎg��Ȃ��ł�������(��F���̌���ɃR���o�[�g����ȂǁA�܂����k���Ă�������)�B
���̑���A��ɐV�@�\�A�o�O�t�B�b�N�X��A�C�f�A����Ă��������B
gl.tter (http://gl.tter.org | glATr-i-lDOTnet)
���āA���C�Z���X�Ȃǂ𗝉�������A�܂���Demo�t�H���_�ɂ���uDemo.exe�v���N�����Ă݂܂��傤�B���O��WiiRemote�ɐڑ����Ă����̂�Y�ꂸ��(�ڍׂ͑�3�͂ʼn��)�B
�ꌩ�A�n���ȃf���Ɍ����܂����A���͔��ɑ��@�\�ł��B����[A],[1],[2]�{�^�����������Ƃ�WiiRemote�̃X�s�[�J�[���特���o�邱�Ƃ��m�F���Ă��������B�������ł͂���܂��A�������Đ�����Ă��܂��B[A]�ŋ�`�g(�������́Gsquare)�A[1]�ŃT�C���g�A[2]�ʼn����̂悤�ȕ�(DAISY)�A[B]�Ńo�C�u���[�^�[�쓮�ł��B���̑��A�e�{�^���̃X�e�[�^�X�Ɖ����x�̕\���ALED�̃i�C�g���C�_�[�I�A�j���[�V�����A�o�b�e���[�c�ʁA4�_�̐ԊO��(�T�C�Y����t��)�A�g���[�q�ւ̃k���`���N�̑}�����uExtnsn.�v�ɕ\������Ă��܂��B�ʔ����̂́uOrient:�v�̍s�ɁuPitch, Roll�v�Ƃ������p������ɉ����āuUpdateAge�v�Ƃ��āA����p�x�̌v�������邱�Ƃł��B�V���v���ł������ɂ悭�ł����f���ł��B�܂������̏���̃\�[�X�R�[�h�ł���Demo.cpp�ɋL�ڂ���Ă��܂��̂ŗ]�T������l�́A��ǂ��Ă݂�Ƃ悢�̂ł����A�܂��͎��̏͂ɐi��WiiYourself�̃��r���h���s���A���s���āA��������Ȃ��玩���̂��̂ɂ��Ă������Ƃɂ��܂��傤�B
WiiYourself!�t���́uDemo.exe�v�ɂ��āA��ʂ�̓������������A���̓��r���h�ł��B�����ł�Visual C ++ 2008 Express�Ȃǖ����œ���ł������WiiYourself!�����r���h�ł���悤�A����ǂ��ĉ�����܂��B
�{���̓ǎ҂̂قƂ�ǂ́A���ɑ�4�͂�Visual C++ 2008��������Visual Studio 2008(�ȉ�VC 2008)�̃Z�b�g�A�b�v�����܂��Ă��邱�Ƃł��傤�B���Ƀ��r���h�ɕK�v�ɂȂ�ADriver Development Kit (DDK)��������Windows Driver Kit (WDK)�̃Z�b�g�A�b�v���s���܂��BDDK�͂��̖��������Ƃ���A�h���C�o�J���̂��߂̃L�b�g�ł���AWindows��OS�����ƃ��[�U�̃A�v���P�[�V�����v���O�����̒��ԂɈʒu����h���C�o�v���O�������J�����₷�����邽�߂̃w�b�_��C�u�������܂܂�Ă��܂��BWiiRemote���g�����v���O���~���O�ł͎��Bluetooth�o�R��HID(Human Interface Device)�Ƃ̒ʐM�̂��߂ɂ��̃w�b�_��C�u������K�v�Ƃ��܂��B
WDK��DDK�̌�p�ŁADDK��Windows�h���C�o�[�̈��萫��M�������`�F�b�N���邽�߂̃e�X�g���܂ށu�������ꂽ�h���C�o�[�J���V�X�e���v�ł��B���݂̂Ƃ���WiiRemote�W�ɂ����āAWDK�𗘗p���邩DDK�𗘗p���邩�A���e�I�ȑ傫�ȍ��͌�������܂���B�܂�WDK�̓���ɂ�MSDN�T�u�X�N���v�V�����ւ̌_�AMicrosoft Connect�ւ̎Q�����K�v�ɂȂ�܂��̂ŁA�{���ł́u�N�ł��ȒP�ɓ���ł���v�Ƃ������_��DDK�𒆐S�ɉ�����܂��B
�Ȃ��AWiiRemote�v���O���~���O���s����ŁADDK�̂��ׂẴt�@�C�����K�v�ɂȂ�킯�ł͂���܂���B���ۂɕK�v�ɂȂ�w�b�_�t�@�C���ƃ��C�u�����t�@�C��6�������Ă��܂��A���Ƃ�(���C�Z���X���肪�Ȃ����)�t�@�C���R�s�[�ł��S����肠��܂���B
����ł́ADDK�̃C���X�g�[�����n�߂܂��傤�B�܂��}�C�N���\�t�g��DDK�̃z�[���y�[�W��K�₵�A�uWindows Server 2003 SP1 DDK�v��ISO�t�@�C������肵�܂��B
http://www.microsoft.com/japan/whdc/DevTools/ddk/default.mspx
�uWindows Server 2003 SP1 DDK�v�Ƃ���܂����AWindowsXP���ł����p�ł��܂��B�uWindows XP SP1 DDK�v�ȑO��DDK(NT,98,2000�Ȃ�)�͊��ɃT�|�[�g���I�����Ă��܂��̂ŁAWDK�Ȃǂł��邾���V�������𗘗p���������ǂ��ł��傤�B����̎��OS�ł���AWindows Vista�AWindows Server 2003�AWindows XP�A������Windows 2000��œ��삷��h���C�o���r���h����ɂ́A�Œ�ł�����Windows Server 2003 SP1 DDK�Ɋ܂܂��uWindows 2000�����r���h���v���g�p���Ă��������B
�܂��A�_�E�����[�h����ISO�t�@�C�����g����CD-ROM���쐬���܂��B����������CD-ROM�͈�x�����g���܂���BISO�t�@�C�����h���C�u�Ƃ��ă}�E���g�ł��鉼�zCD�̂悤�ȃ\�t�g�E�F�A�����������𗘗p���Ă����܂��܂��A�ŋ߂ł́u7-zip�v�Ƃ����I�[�v���\�[�X�̃\�t�g�E�F�A���g����ISO�t�@�C���ړW�J���邱�Ƃ��ł��܂��B
http://sevenzip.sourceforge.jp/
�쐬����CD-ROM�A�������͓W�J�����t�H���_����usetup.exe�v�����s���܂��B
�G���h���[�U���C�Z���X������(EULA)���m�F���܂��B
�C���X�g�[����͖{���ł̓f�t�H���g�́uC:\WINDDK\3790.1830�v�Ƃ��܂��B
�����ŃC���X�g�[������t�@�C����I�����܂��B�f�t�H���g�̂܂܁A�������͂��ׂĂ�I�����Ă��ǂ��̂ł����A�w�b�_�t�@�C���̂悤�ȏ����ȃe�L�X�g�t�@�C����700MB�ȏ゠��܂��̂ŁA���ɂ���Ă̓C���X�g�[���Ɍy��1���Ԃ��炢�������Ă��܂��܂��B
��ʂ̃t�@�C�����C���X�g�[�����邱�Ƃɓ��ɒ�R���Ȃ����͂��ׂĂɃ`�F�b�N�����Ă��ǂ��ł��傤�B�]�v�ȃt�@�C���͕K�v�Ȃ��A�Ƃ������͍Œ���uBuild Environment�v�̊Y������v���b�g�t�H�[���Ƀ`�F�b�N�������Ă���悢�ł��傤(Windows XP Headers, X86 Libraries)�B��̓I�ɂ́uC:\WINDDK\3790.1830\inc\wxp�v�ɂ���uhidpi.h, hidsdi.h, hidusage.h, setupapi.h�v�Ƃ����w�b�_�t�@�C���ƁA�uC:\WINDDK\3790.1830\lib\wxp\i386\�v�ɂ���uhid.lib, setupapi.lib�v�Ƃ������C�u�����t�@�C�����K�v�ł��B���̑��̃t�@�C���A�c�[���ނ̓C���X�g�[�����Ď����Ă݂Ă��ǂ��ł����A�{���ł͈����܂���B
DDK�̃C���X�g�[�����I�������A�����������̏͂�WiiYourself!�̃��r���h��ʂ��ă��C�u�����̐ݒ���s���܂��B
�@�{�����M���݁Agl.tter���͍ŐV��WiiYourself!�̌��J���������Ă��܂��BWiiBoard��WiiMotionPlus�̃T�|�[�g���s�������͂���o�[�W����(1.12beta�ȍ~)�ł����A�t�H���_�\�����{���ŏЉ�Ă���o�[�W�����Ƃ͎�قȂ�悤�ł��B
�@�{���̓ǎҌ����̑傫�ȕύX�_�Ƃ��ẮAWiiYourself!���C�u�������g�̃v���W�F�N�g�������Ȃ������Ƃł��B
�@�f���̃��r���h���s���Ƃ��́ADemo.sln�ڊJ���āADDK�t�@�C���̃C���N���[�h�ƃ��C�u�����̐ݒ���s���Ă��������B
VC�ɒm���̂�����ł������قǓ����Ƃł͂���܂��A�ŏ��̃��r���h���~���ɐi�߂邽�߂Ɉȉ��̎菇�ɏ]���Ă��������B�܂�VC2008���ɗ����グ�āA�u�t�@�C���v���u�J���v���u�v���W�F�N�g/�\�����[�V�����v����A�uC:\WiiRemote\WiiYourself!�v�t�H���_�ɂ���uWiiYourself!.sln�v�Ƃ���VC2005(VC8)�̃\�����[�V�����t�@�C�����J���܂��B�uVisual Studio�ϊ��E�B�U�[�h�v���N�����܂��̂ŁAVC2008(VC9)�p�̃v���W�F�N�g�ɕϊ����Ă��������B���Ȃ��ϊ��͏I������͂��ł��B�uCtrl+Shift+B�v�Ń��r���h���Ă݂Ă��������B
1>------ �r���h�J�n: �v���W�F�N�g: WiiYourself! lib, �\��: Debug Win32 ------ 1>�R���p�C�����Ă��܂�... 1>wiimote.cpp 1>c:\wiiremote\wiiyourself1\wiimote.cpp(41) : fatal error C1083: include �t�@�C�����J���܂���B 'hidsdi.h': No such file or directory
���̂悤�ɃG���[�uC1083�v���o�āA�uhidsdi.h�v�̃C���N���[�h���v�������ΐ���ł��B����DDK�̃f�B���N�g����ݒ肵�܂��B
�\�����[�V�����G�N�X�v���[���[�́uWiiYourself! lib�v�̃A�C�R���̏�ʼnE�N���b�N���ăv���W�F�N�g�̃v���p�e�B�y�[�W���J���Ă��������B�܂��u�\���v���u���ׂĂ̍\���v�Ƃ��A�u�\���̃v���p�e�B�v���uC/C++�v���u�S�ʁv�́u�lj��̃C���N���[�h�f�B���N�g���v�ɁuC:\WINDDK\3790.1830\inc\wxp�v��ݒ�A�����āA�u���C�u�����A���v���u�S�ʁv�́u�lj��̃��C�u�����f�B���N�g���v�ɁuC:\WINDDK\3790.1830\lib\wxp\i386�v��ݒ肵�܂��B
�ݒ肪�I�������uCtrl+Alt+F7�v�Ń��r���h(��U�N���[���ȏ�Ԃɂ��Ă���r���h)���s���܂��B1���AUnicode�Ɋւ���x��(C4819)���o�܂����A�������Ă��܂��܂���B���Ȃ��A
1>���C�u�������쐬���Ă��܂�... 1>�r���h���O�� "file://c:\WiiRemote\WiiYourself! \Debug\BuildLog.htm" �ɕۑ�����܂����B 1>WiiYourself! lib - �G���[ 0�A�x�� 1 ========== ���ׂă��r���h: 1 ����I���A0 ���s�A0 �X�L�b�v ==========
���̂悤�ɕ\���������C�u�����̃��r���h�͐����ł��B���̃X�e�b�v�ɐi��ł��������B�ēx�u�t�@�C���v���u�J���v���u�v���W�F�N�g/�\�����[�V�����v����A���x�́uC:\WiiRemote\WiiYourself!\Demo�v�t�H���_�ɂ���uDemo.sln�v�Ƃ���VC2005(VC8)�̃\�����[�V�����t�@�C�����J���܂��B����͓����̃f���A�v���P�[�V�����ł��B���l�ɁuVisual Studio�ϊ��E�B�U�[�h�v���N�����܂��̂ŁAVC2008�p�̃v���W�F�N�g�ɕϊ����Ă��������B�����Ȃ�u�����v��I��ł����Ȃ��ϊ��͏I������͂��ł��B�ϊ���A�uCtrl+Alt+F7�v�Ń��r���h���Ă݂Ă��������B
2>Demo.cpp 2>�����N���Ă��܂�... 2>LINK : fatal error LNK1104: �t�@�C�� 'hid.lib' ���J�����Ƃ��ł��܂���B
�Ō�ɁA�uAlt+F7�v�Ńv���W�F�N�g(���̏ꍇ�uDemo�v)�̃v���p�e�B���J���A�u�S�Ă̍\���v�́u�\���v���p�e�B�v���u�����J�v���u�S�ʁv���u�lj��̃��C�u�����f�B���N�g���v��DDK�̃��C�u�����p�X�ł���uC:\WINDDK\3790.1830\lib\wxp\i386�v��ݒ肵�Ă��������B����œ��ɑ傫�ȃG���[���o���Ƀ��r���h�ɐ�������͂��ł��B
WiiRemote�Ƃ�Bluetooth�ڑ����s���Ă���A�uF5�v�L�[�Ńf�o�b�O�J�n(���s)�ł��B�����Ƀf���v���O���������s�ł��܂����ł��傤���H�ȏ�̗���ɉ����ΊȒP�Ȃ̂ł����A�菇���ԈႦ��A�Ⴆ�ΐ��Demo.sln�̕ϊ����s���Ă��܂��ƁAVC2005�̃v���W�F�N�g�̕ϊ���ʂ���WiiYourself!���Q�Ƃ��郉�C�u���������ς���Ă��܂����肵�āA�Ӑ}�������Ԃ��������Ă��܂��܂��̂Œ��ӂ��B���āA�����gl.tter���̃f���\�[�X�R�[�h�udemo.cpp�v�����ς���WiiYourself!���w�Ԋ��������܂����B�R�}���h���C���v���O������C/C++�ɏڂ������́A���̂܂܃\�[�X�R�[�h���@�艺���Ă������Ƃ��ł���Ǝv���܂��B
�O�߂�[Demo.sln]�̃��r���h�ɐ������܂����̂ŁA���̑�������͂��߂܂��傤�B���̃\�����[�V�����́uDemo�v�Ƃ����A�v���P�[�V�����̃v���W�F�N�g�ƁA�uWiiYourself! lib�v�Ƃ������C�u����������2�̃v���W�F�N�g����\������Ă��܂��B
�uDemo�v�ɂ́A�R�}���h���C���T���v���A�v���P�[�V�����̖{�̂ł���uDemo.cpp�v�ƁuDemo.h�v�̃\�[�X�R�[�h�A���ꂩ��wav,raw�t�@�C���`���ɂ��X�s�[�J�[�Đ��̂��߂̉����t�@�C�����u����Ă��܂��B
���C�u���������́uC:\WiiRemote\WiiYourself!\Demo\lib�v�Ƃ����f�B���N�g��(�����ナ���[�X�����\���v1.11Beta�ł͎�t�H���_�\�����ς��\��������܂�)�Ɋe�X�v���W�F�N�g�̍\���ɂ��uRelease�v�������́uDebug�v�����āAUnicode�Ή��Ɣ�Ή��̃��C�u���������܂��BWiiYourself!�̔z�z������Ԃł͂��ꂼ��4��lib�t�@�C�������݂���͂��ł�(���Ƀ��r���h��Ƃɂ��폜����Ă��邩������܂���)�B�uWiiYourself!_d.lib�v���f�o�b�O�p�A�uWiiYourself!_dU.lib�v��Unicode�Ńf�o�b�O�A�uWiiYourself!_U.lib�v��Unicode�Ń����[�X�A����́uWiiYourself!.lib�v����Unicode�����[�X�ŁA�܂�ł��œK������A�ł��y��(�f�o�b�O���̏����Ȃǂ��Ȃ���)���C�u�����ł��B
�uWiiyourself! lib�v�v���W�F�N�g�ɂ́A���̃��C�u�����̃\�[�X�R�[�h���܂܂�Ă��܂��B�uwiimote.cpp�v�A�uwiimote.h�v�A�uwiimote_state.h�v���\�[�X�R�[�h�ł��B�����̃R�[�h�ƃv���W�F�N�g���t�����Ă��邨�����ŁAWiiYourself!�͔��ɕ����₷���ɂȂ��Ă��܂��B
�ł͂��������e�X�̃��C�u�������r���h���Ă݂܂��傤�BVC2008�̃��j���[�u�r���h�v���u�\���}�l�[�W���v����u�A�N�e�B�u�\�����[�V�����\���v�ŁA���݂̍\�����uRelease�v�ɐ�ւ��u����v�������܂��BCtrl+Alt+F7�Łu���r���h�v���邱�Ƃ��ł��܂��B�uDemo�v�́uWiiYourself! lib�v�v���W�F�N�g�Ɂw�ˑ��x����ݒ�ɂ��Ă���܂��̂ŁA�ύX�����A�N�e�B�u�ȍ\���ɏ]���āA��������郉�C�u�������A���ꂼ��قȂ�.lib�t�@�C�����������Ă��邱�Ƃ��A�t�@�C���G�N�X�v���[���[�Ŋm�F���Ă݂�Ƃ悢�ł��傤�B
�@�u�N����������v���O�����𗘗p����v�Ƃ����s�ׂ�API�v���O���~���O���\�Ƃ��āA����I�Ɂu�悭���邱�Ɓv�Ȃ̂ł����A��������Ɠ����̓���Ȃǂ̓u���b�N�{�b�N�X�����Ă��܂������ł��B�w������ȂǁAGoogle�łǂ����炩�u�ǂ������Ȏg�������ȃR�[�h�v��T���Ă��āA�R�s�y(�R�s�[������t��)���āu�搶�A(�Ȃ�ƂȂ�)�ł��܂����I�v�Ȃ�Ă����v���O���~���O�u�炵�����Ɓv�����Ă�����i���悭���������肵�܂��B
�@�M�҂ɂ����������o���͂���̂ł����A�������Ȃ�����w���`��w�@���̗��H�n�̊w������Ȃ�u���̏K���v�͍��������߂������ǂ��Ǝv���܂��B���́u�R�s�y�a�v�͋M���̃v���O���~���O�X�L�����m���ɗ��Ƃ��Ă����܂��c�B
�@�b��߂��āAOS�Ȃǂ̃v���b�g�t�H�[��API�ɏ]�����v���O���~���O�ł���A�h�L�������g�Ȃǂ̎d�l�����Q�Ƃ���悢�̂ł����AWiiRemote�̂悤�Ȗ��m�̃f�o�C�X�n�v���O���~���O�ł͕K�����������ȃh�L�������g������킯�ł͂���܂��A����Ă���API�������̋����Ƃ��ẮA���[�U�[�̈Ӑ}�ƈقȂ�A�Ђǂ��Ƃ��ɂ͊Ԉ���Ă���c�Ƃ����\�����炠��܂�(������Q�[���@�Ȃ�Ă��̍ł����...������)�B�I�[�v���\�[�X�̃v���W�F�N�g�ł���A���p�Ҏ��g�ŃR�[�h��ǂ�A�@�艺������A�@�\��lj������肷�邱�Ƃ��ł��܂����A��҂ɊԈႢ���w�E������@�\�lj������L�����肷�邱�Ƃ��ł���ł��傤�B
�@���ɒn���Ȃ����ł͂���܂����A�u(�p�ꂪ��肾����)�I�[�v���\�[�X�͎g���Ă��A�v���͂��Ȃ���/�ł��Ȃ���v�Ƃ������X�ɂ͂��Ј�x�����Ă݂Ă������������g���[�j���O�ł��B�I�[�v���\�[�X�̐��E�ō�҂̐S�ӋC��ǂ݁A����̕ǂ��z���āA�R�[�h�ŋ��L���邽�߂̍ŒZ���[�g�ł��B
�@�����A��X�͉p������֗��Ȑ��E���ʌ���ł���uC/C++����v���g����ł͂Ȃ��ł����I�u�R�s�y�v�����u�v���v�ł��B
�V�����������ȂǂŃv���O���~���O���w�ԂƂ��ɂ́A�傫�������āA2�̕��@������̂ł͂Ȃ��ł��傤���B���ɂ悭�ł����T���v���v���O�������������Ȃ���w�K������@�ƁA���܂��܂ȑ����v�f����蕥���A�[�����玩���ň������g�ݏグ�Ă������@�ł��BWiiYourself!�́uDemo.cpp�v�͗ǂ��ł����f���ł����A�����v�f���������߁A���S�҂ɂ͂����߂ł������ɂ���܂���B
���̃Z�N�V�����ł́A�܂���w�̍ŏ���C����̎��Ƃŏo�Ă���悤�ȁuHello, world!�v�ƌĂ�鏉���̏����̃v���O��������A�I�[�v���\�[�X�ł���WiiYourself!�������̃v���W�F�N�g�ɑg�ݍ���ł������Ƃ�WiiYourself!�𗝉�����Ƃ����u������Ɖ�蓹�v�����܂��B
C++�̃v���O���~���O�ɏڂ������́A�i�i���ǂ݂ł����܂��܂���B
����ł͂܂��AVisual C 2008 Express(�ȉ�VC2008)��ŁA�v���O���~���O�̍ŏ��̈���uHello, world!�v�v���O�����������Ă݂܂��傤�B����́uHello, world!�v�Ɖ�ʂɕ\�����邾���̃v���O�����ł��B�����͉��ł��ǂ��̂ł������j�I�ɁuHello, world!�v�Ƃ��������ł��邱�Ƃ������A�����Ă�Ă��܂��BVC2008�ɂ����Ă��A���l�̃`���[�g���A�����p�ӂ���Ă��܂��BVC2008���C���X�g�[������ƃX�^�[�g�y�[�W�u��Ƃ̊J�n�v�Ɂu�ŏ��̃A�v���P�[�V�������쐬�v�Ƃ��������N������܂��B���̃Z�N�V�����ł́A�������炽�ǂ��u�W��C++�v���O�����̍쐬(C++)�v�Ƃ����}�C�N���\�t�g�̃h�L�������g���Q�l�ɂ��Ă��܂��B
�܂��͐V�����v���W�F�N�g���쐬���܂��B[�t�@�C��]���j���[��[�V�K�쐬]����A[Visual C++]�v���W�F�N�g[Win32]���N���b�N���A����[Win32�R���\�[���A�v���P�[�V����]���N���b�N���܂��B�v���W�F�N�g���͉��ł��ǂ��̂ł����A���̐�����炭�g���܂��̂ŁuWiiMyself�v�Ƃ��Ă����܂��B[�ꏊ]�ɂ́uC:\WiiRemote\WiiYourself!�v���w�肵�āA[OK]���N���b�N���āA�V�����v���W�F�N�g���쐬���܂��B
�uWin32�A�v���P�[�V�����E�B�U�[�h�v���N�����܂��̂ŁA[��̃v���W�F�N�g]��I������[����]���N���b�N���܂��B���̂��ƁA���������Ă��Ȃ��悤�Ɍ�����ꍇ�A�u�\�����[�V�����G�N�X�v���[���v���\������Ă��Ȃ��̂�������܂���B[�\��]���j���[��[�\�����[�V�����G�N�X�v���[��]���N���b�N���ĕ\�����܂��B�E�B���h�E���C�A�E�g�������ƈႤ�ꍇ�́u�E�B���h�E�v���u�E�B���h�E���C�A�E�g�̃��Z�b�g�v�����s����Ƃ悢�ł��傤�B
�\�����[�V�����G�N�X�v���[����[�\�[�X�t�@�C��]�t�H���_���E�N���b�N���A[�lj�]���|�C���g����[�V��������]���N���b�N���܂��B[�R�[�h]�m�[�h��[C++�t�@�C��(.cpp)]���N���b�N���A�t�@�C����[main.cpp]����͂���[�lj�]���N���b�N���A�v���W�F�N�g�ɐV�����\�[�X�t�@�C����lj����A�ȉ��̃R�[�h���L�q���܂��B
#include <iostream> using namespace std; int main() { cout << "Hello, world!" << endl; return 0; }
���āA[F7]�L�[�ŃR���p�C����ʂ�����A���s���𗧂��グ�܂��傤�B[F5]�L�[�Ŏ��s���Ă��悢�̂ł�����u�ŏI�����āA�����Č����Ȃ��Ȃ��Ă��܂�����ł��B�G�N�X�v���[���[�Ő������ꂽ�uWiiMyself.exe�v���_�u���N���b�N���Ă����l�ł��B
�����ŁuWindows�L�[+R�v�Łu�t�@�C�������w�肵�Ď��s�v�_�C�A���O�𗧂��グ�āucmd�v�ƃ^�C�v���āuok�v�������܂��B�R�}���h���C���E�B���h�E���\�����ꂽ��A
cd C:\WiiRemote\WiiYourself!\WiiMyself\Debug
�Ƃ��āA���R���p�C���ɂ�萶�������uWiiMyself.exe�v�̂���f�B���N�g���Ɉړ����܂��B�����p�X�����^�C�v����͖̂ʓ|�ł��̂ŁA�܂��ucd (�{���p�X�y�[�X)�v�ƃ^�C�v���Ă���A�G�N�X�v���[���[�̃V���[�g�J�b�g(�t�H���_�̃A�C�R��)���R�}���h���C���E�B���h�E�Ƀh���b�O���h���b�v����ƁA�p�X�����\������ĕ֗��ł��B[Enter]�������ăR�}���h����͂��܂��B�܂��N���b�v�{�[�h���g���܂��B�R�}���h���C���E�B���h�E�̍�����N���b�N���邱�ƂŁu�ҏW�v���u�\��t���v�Ƃ��āA���p�ł��܂��̂Ŋo���Ă����Ƃ悢�ł��傤�B
���āucd�v�R�}���h�Ō��݂̃p�X���ړ�������AWiiYourself!�����s���܂��B
C:\WiiRemote\WiiYourself!\WiiMyself\Debug>WiiMyself.exe Hello, world!
�����ɗL���ȁuHello, world!�v���\������܂����ł��傤���H�ȏオ�R�}���h���C���v���O�����̍쐬�̊�{�ł��B
�uHello world!�v�Ŋ��ł���ꍇ�ł͂���܂���B�����āAWiiYourself!��g�ݍ���ł����܂��B�\�����[�V�����G�N�X�v���[���[�́u�\�����[�V����'WiiMyself'�v���E�N���b�N���āu�lj��v���u�����̃v���W�F�N�g�v�Ƃ��Ĉ��̃t�H���_�ɂ���uWiiYourself!.vcproj�v��I��ł��������B
�}�̂悤�Ƀ\�����[�V��������荞�܂�܂��B
�����āA�uWiiMySelf�v(�����̃v���W�F�N�g)�̃A�C�R���̏�ʼnE�N���b�N���ăv���W�F�N�g�̃v���p�e�B�y�[�W���J���Ă��������B�܂��u�\���v���u���ׂĂ̍\���v�Ƃ��A�u�\���̃v���p�e�B�v���uC/C++�v���u�S�ʁv�́u�lj��̃C���N���[�h�f�B���N�g���v�ɁuC:\WINDDK\3790.1830\inc\wxp�v��ݒ�A�����āA�u�����J�v���u�S�ʁv�́u�lj��̃��C�u�����f�B���N�g���v�ɁuC:\WINDDK\3790.1830\lib\wxp\i386�v��ݒ肵�܂��B
�Ō�Ƀ��j���[�u�v���W�F�N�g�v���u�v���W�F�N�g�̈ˑ��W�v�Ŏ����̃v���W�F�N�g���uWiiYourself! lib�v�Ɉˑ����邱�Ƃ��I�Ƀ`�F�b�N���܂��B���̍�Ƃɂ��A�uWiiMySelf�v�̐e�Ƃ��āuWiiYourself! lib�v��ݒ肵�����ƂɂȂ�܂��B�����Y���ƁA���C�u�����{�̂̍X�V���AWiiMySelf�ɓ`���܂��A�p���W�����������Ɏv��ʎ��s���ĂԂ��Ƃ�����܂��̂ŕK���`�F�b�N���Ă��������B
����ŁA�����̃v���W�F�N�g����WiiYourself!�̃I�u�W�F�N�g���Q�Ƃ��邱�Ƃ��ł���悤�ɂȂ�܂����B�������Ă݂܂��傤�B�����قǂ�Hello, world!���ȉ��̂悤�ɏ��������܂��B���łł�����WiiYourself!�̃��C�Z���X�ɏ]���āA���C�Z���X�\�������܂��傤�B
#include "../../wiimote.h" int _tmain(int argc, _TCHAR* argv[]) { wiimote cWiiRemote; _tprintf(_T("Hello, WiiRemote!\n")); _tprintf(_T("contains WiiYourself! wiimote code by gl.tter\nhttp://gl.tter.org\n")); //���C�Z���X�\�� return 0; }
main����tmain�ɂȂ�Aunicode�ƈ������T�|�[�g����`�ɂ�����Acout�ł͂Ȃ�tprintf�ɂ��āAwiimote�I�u�W�F�N�g���쐬���Ă���ȊO�͉����ς��܂���B�uCtrl+Alt+F7�v�Ń��r���h���܂��B�R�}���h���C���E�B���h�E�Ɉڂ�A���s���ʂ��m�F���Ă��������B
C:\WiiRemote\WiiYourself!\WiiMyself\Debug>WiiMyself.exe Hello, WiiRemote! contains WiiYourself! wiimote code by gl.tter http://gl.tter.org
�܂��ŏ��̎����̓N���A�ł��A����VC2008�ŃN���X���Q�Ƃł��Ă��邩�����ł��B�\�[�X�R�[�h�E�B���h�E�uwiimote cWiiRemote�v�Ƃ���������Ƀ}�E�X�������Ă����uwiimote�v���E�N���b�N���āu�錾�ֈړ��v�������Ă݂Ă��������BWiiYoureself!�̃\�[�X�R�[�h�ł���A�w�b�_�t�@�C���uwiimote.h�v���\�������ΐ���������ł��B
���Ď����𑱂��܂��BVC2008�ł́uIntellisense�v�Ƃ������͕⊮�@�\���ƂĂ��֗��ł�(���ꂪ�g�����Ȃ��Ȃ���AVC�̓e�L�X�g�G�f�B�^�Ƃ��܂�������ς��܂���I)�B�����ɁucWiiRemote.�v�ƃ^�C�v���Ă݂Ă��������B�N���X�̃v���p�e�B��\�b�h�̈ꗗ���\�������ΐ����ł��B
�ł͎��ɁA���̃v���O�������uWiiRemote�ɐڑ����AB�{�^���ŐU������v�Ƃ����v���O�����܂Ŋg�����Ă݂܂��傤�B
#include "../../wiimote.h" int _tmain(int argc, _TCHAR* argv[]) { wiimote cWiiRemote; _tprintf(_T("Hello, WiiRemote!\n")); _tprintf(_T("contains WiiYourself! wiimote code by \ gl.tter\nhttp://gl.tter.org\n")); //WiiRemote�Ɛڑ� while(!cWiiRemote.Connect(wiimote::FIRST_AVAILABLE)) { _tprintf(_T("Connecting to a WiiRemote.\n")); Sleep(1000); } _tprintf(_T("connected.\n")); cWiiRemote.SetLEDs(0x0f); //LED��S�_�� Sleep(1000); cWiiRemote.SetReportType(wiimote::IN_BUTTONS); //Home�{�^���ŏI�� while(!cWiiRemote.Button.Home()) { while(cWiiRemote.RefreshState() == NO_CHANGE) { Sleep(1); } //B�{�^���Ńo�C�u���[�^�[���U�� cWiiRemote.SetRumble(cWiiRemote.Button.B()); } //�ؒf�E�I�� cWiiRemote.Disconnect(); _tprintf(_T("Disconnected.\n")); return 0; }
�܂��S�Ă̍s�������ł��Ă���킯�ł͂Ȃ���������܂��A�u//�v�ŋL�q���ꂽ�R�����g�𗊂�ɁAIntellisense���g���ăv���O�����S���������őł�����ł݂Ă��������B����������A�uCtrl+S�v�ŕۑ����āA�uCtrl+Alt+F7�v�Ń��r���h���܂��B
�܂���WiiRemote��Bluetooth�ڑ����Ă���A�R�}���h���C���Łu���v�L�[�������ĉߋ��̃R�}���h��T���A�uWiiMyself.exe�v����������uEnter�v�������ċN�����Ă��������B�ڑ����������LED��_�����A[B]�{�^���������ƃo�C�u���[�^�[���U�����܂��B[Home]�{�^���������ƃv���O�����I���ł��B
C:\WiiRemote\WiiYourself!\WiiMyself\Debug>WiiMyself.exe Hello, WiiRemote! contains WiiYourself! wiimote code by gl.tter http://gl.tter.org connected. ��������B�{�^���������ƃo�C�u���[�^�[���U���� Disconnected.
���܂�ɒn���ȉ�ʂȂ̂ł����A������LED���_�����AB�o�C�u���[�^�[���U�����Ă��邱�Ƃ��m�F�ł��܂��BHome�{�^���ŏI�����܂��B.NET�łɔ�ׂċN�����̑҂����Ԃ��قƂ�ǂȂ��̂��R�}���h���C���v���O�����̓����ł��B
�@.NET�̓}�C�N���\�t�g�����錻�ݎ嗬�̃v���O���~���O���ł��B���ăR�}���h���C���͌Â�����g���Ă��邾���ɁA�݊����△�ʂ��Ȃ������s���x�Ȃǂɗ��_������܂��B
�@��������.NET���ł������t�H�[���ɂ��v���O�����ƃR�}���h���C���v���O�����ł͋N�����������̎��Ԃ̍�������܂��B����͂����炭���ʌ��ꃉ���^�C��(CLR)���o�R���āA.NET�̃t�H�[���ɊW�̂���DLL��ǂݍ���ł�����s���邱�ƂɋN�����鍷�ł��傤�B�R�}���h���C���v���O�������I�Ƃ����ǎ�(�M�҂��D���ł�)�́A���s���x�ȊO�̗D�ʓ_�Ƃ��āuEXE�t�@�C���T�C�Y�������Ə������ɈႢ�Ȃ��v�Ǝv���邩������܂���B�����ŏ�L�́uWiiMyself.exe�v�ׂĂ݂�ƃf�o�b�O��83.5KB�A�����[�X�r���h�ł�35KB�Ɗm���ɏ������ł��B���̃R�[�h�̓{�^���C�x���g�����ł�����A�ق�WiiYourself!��wiimote�̃I�u�W�F�N�g�̑傫���ł��傤�B������.NET�̓��l�̎��s�t�@�C���̑傫���ׂĂ݂�Ɓc�Ȃ�Ɓu10KB�ȉ��v�B��������.NET Framework�ɂ������DLL��OS���ɑ��݂���킯�ł����瓖�R�Ƃ����Γ��R�A��������ʂ̃t�H�[���̂��߂̃R�[�h��WiimoteLib�I�u�W�F�N�g�͂ǂ��ɂ����Ă��܂����̂ł��傤�H���܂�ɍ����傫�����܂���ˁH�����ł��c�ׂɂ���uWiimoteLib.DLL�v�̃t�@�C���T�C�Y���Y��Ă͂����܂���B���ׂĂ݂��32.5KB�B������42.5KB�ł�����A����ł��������v�Z�������܂��ˁB
�O�̃Z�N�V�����ł́A�V���v���ȁuHello, WiiRemote!�v�v���O��������邱�ƂŁA�������g��WiiYourself!���g���Ċw�ԑ�����ł݂邱�Ƃɂ��܂����B���̂悤�Ɂu�������g��{�[������/��������}�����Ă݂�v�Ƃ�����@�́AC/C++�Ȃǂ̃v���O���~���O����ʂ����������ǁw���܂��܂����x�Ƃ������ɂ͓��ɂ����߂̕��@�ł��B
�������n���ȃR�}���h���C���v���O�����������Ă��܂��B�������̃Z�N�V�����ł́A������Ɣh��Ȃ��Ƃ����Ă݂܂��傤�B�R�}���h���C���v���O�������g���āu�e���~��(Theremin)�I�Ȃ��́v������Ă݂܂��B�e���~���Ƃ͓d�g���������s�v�c�Ȋy��ł����A�����ł�WiiYourself!����Windows�̃v���b�g�t�H�[��API�ł���Win32�𗘗p���A�\�t�g�E�F�AMIDI��@�����ƂŁAPC���特��炵�܂��B����������WiiRemote�ł�����A��������{�^��������x�Z���T�[���g��������������������Ǝv���܂��B
�v���O���~���O�I�ɂ��AWin32�ȂNJ�����C++���ŋ��͂ɗ��p�ł���v���b�g�t�H�[�����Q�������Ă����܂��B�v���O���~���O�s���͒Z���Ă��A���Ɏ��p�I�ȃv���O���~���O���s���邱�Ƃ�WiiYourself!���g�����_�ł�����܂��B
�@�ʏ̃e���~��(�S�u���}�u�~�r���{��[thereminvox]�`���~�����H�[�N�X)�́A1920�N�Ƀ��V�A�̉��������w�ҁE�A�}�`���A���y�Ƃł��������I���E�e���~��(Leon Theremin)���u�G�e���t�H���v�Ƃ��Ĕ��\�������E���̓d�g�y��ł��B�u���E���̓d�C�y��v�Ƃ��ėL���ł����A���ۂɂ�19���I�㔼�̃G�W�\���ɂ��u�̂��A�[�N���v�Ȃǂ�����܂��̂ŁA�e���~���͂��̉��t���@�Ƃ��ē��F�̂���u�d�g���g�����������t�v�����E���̓����Ƃ��Ăӂ��킵���̂�������܂���B�d�q��H�I�ɂ̓V���v���ŁA�A�i���O���W�I�̓����𗘗p�������g�����Ȃ̂ł����A�{���ł͂��Ƃ����낤�ɓd�q�y��C���^�t�F�[�X�ł���MIDI(Musical Instrument Digital Interface�A�d�q�y��f�W�^���C���^�t�F�[�X)�𗘗p���āA����ɂ��Ƃ����낤��PC�ɕt�����Ă���\�t�g�E�F�AMIDI�𗘗p���Ď������Ă��܂��BWiiRemote��p�������͕��@�́u�e���~���I�v�ł͂���܂����A�������@������ȂɃf�W�^���ł͖{���̃e���~�������ɂ͂��܂�Ƀf�W�^���I�ŁuDigital Theremin�v�Ƃł��ĂȂ���Ȃ�Ȃ��㕨�ł��B����̂��߂Ƃ͂����A�e���~���t�@���̊F����A���߂�Ȃ����B
�@�Ƃ���ŁA���̂悤�ȁu���Ĕ�Ȃ�n��v�Ƃ����̂́A�e�N�m���W�[��f�B�A����g�����A�[�g����ł���u���f�B�A�A�[�g�v�̐��E�ł����X�N����悤�ɂȂ��Ă��܂����B�w������Ȃǂ����삷��Ƃ��ɁA���̃A�C�f�B�A�̌��ɂȂ���̗̂��j�⍰��������ƒ��ׂė������Ă��琧��ɗՂ܂Ȃ��ƁA���̂悤�Ȃ܂��������×����Ă��܂��܂�(����͂���ŃA�[�g�Ȃ̂�������܂��I)�B���܂�������݂����Ƃɂ͂������͂���܂���̂ŁA�܂��́u�{���̃e���~���v�̉��t�A���F���Ă݂Ă��������B
��Theremin by Masami Takeuchi (Youtube)
�@http://www.youtube.com/watch?v=XwqLyeq9OJI
�@�����ă`�����X����������A�{���̃e���~�������t���Ă݂Ă��������B�ȒP�ɉ��t�ł���y��ł͂���܂���B�ł��s�A�m�����čŏ��͓����ł���ˁH�y��Ƃ��Ắu��x�v�Ɓu�K�n�v���A���̐_��I�ȉ��y�I�������ɒ������Ă��邱�Ƃ����Ă���킯�ł��c�B
���āA�ŏ��̃X�e�b�v�Ƃ��āu�{�^������ʼn�����e���~���v�����܂��B�{�^���̃C�x���g��MIDI��炷�����Ȃ̂ŁA�Ȃ��e���~���炵���͂Ȃ��ł����A�ߋ�Ƃ��Ă͏\���y���߂���̂ł��B�v���W�F�N�g�Ƃ��Ă͐�قǂ܂ł́uWiiMyself�v�����̂܂܉������Ă����܂��傤�B
�܂��̓v���O�����̑O����������܂��B
#pragma comment(lib,"winmm.lib") #include <windows.h> //MIDI���L�̃G���f�B�A����ϊ�����}�N�� #define MIDIMSG(status,channel,data1,data2) ( (DWORD)((status<<4) | channel \ | (data1<<8) | (data2<<16)) ) #include "../../wiimote.h" //WiiYourself!����荞�� static HMIDIOUT hMidiOut; //MIDI�n���h�� static BYTE note=0x3C, velocity=0x40; //���K�Ɖ��� static BYTE program=0x0; //���F int _tmain(int argc, _TCHAR* argv[]) { wiimote cWiiRemote; HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); printf("WiiRemote-Theremin button version by Akihiko SHIRAI\n"); //LICENSE printf("contains WiiYourself! wiimote code by \ gl.tter\nhttp://gl.tter.org\n"); //MIDI���J�� midiOutOpen(&hMidiOut,MIDIMAPPER,NULL,0,CALLBACK_NULL); //�ŏ��ɂȂ�����WiiRemote�ɐڑ����� while(!cWiiRemote.Connect(wiimote::FIRST_AVAILABLE)) { printf("WiiRemote�ɐڑ����Ă�������(0x%02X)\n",program); midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,0)); //�~���[�g Sleep(1000); program++; midiOutShortMsg(hMidiOut,MIDIMSG(0xC,0,program,0)); //���F�ύX //�ڑ����s���邽�тɖ� midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,velocity)); } printf("�ڑ����܂����I\n [1]/[2]���F [��]/[��]���K [��][��]���� [Home]�I��\n\n"); Sleep(1000);
�܂��v���O�����̖`�������ŁAMIDI���������߂�"windows.h"��"winmm.lib"����荞��ł��܂��B�����MIDI���L�̃��b�Z�[�W�`�����ȒP�ɔ��s���邽�߂Ƀ}�N���Ƃ����A�P���Ȗ��߂�ϊ�����ϊ������`���Ă��܂��BHMIDIOUT��MIDI�n�[�h�E�F�A���̂��̂�߂܂��邽�߂̃n���h���ƌĂ����̂ŁABYTE�^�ϐ��unote, velocity, program�v�͂��ꂼ�ꉹ�K�A���ʁA���F���i�[����ϐ��ł��B
�v���O�����̃^�C�g���ƃ��C�Z���X�\�������āAWiiRemote�ɐڑ����Ă��܂��B������Ƃ������o�ŁA�ڑ������܂ʼn��F(program)������ς���Ă����܂��B
���̂܂܂ł̓R���p�C�������s���ł��Ȃ���Ԃł�����A�����̃R�[�h�������Ă����܂��傤�B
//����̓{�^���C�x���g�������X�V��`���� cWiiRemote.SetReportType(wiimote::IN_BUTTONS); while(!cWiiRemote.Button.Home()) { //Home�ŏI�� while(cWiiRemote.RefreshState() == NO_CHANGE) Sleep(1); //���ꂪ�Ȃ��ƍX�V���������� cWiiRemote.SetRumble(cWiiRemote.Button.B()); //B�ŐU�� switch (cWiiRemote.Button.Bits) { //�{�^�����Ƃ�switch����� //���� [��]/[��] case wiimote_state::buttons::RIGHT : if(velocity<0x7F) velocity++; midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,velocity)); break; case wiimote_state::buttons::LEFT : if(velocity>0) velocity--; midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,velocity)); break; //���F(=program) [1]/[2] case wiimote_state::buttons::ONE : if(program>0) program--; midiOutShortMsg(hMidiOut,MIDIMSG(0xC,0,program,0)); //���F�ύX midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,velocity)); break; case wiimote_state::buttons::TWO: if(program<0x7F) program++; midiOutShortMsg(hMidiOut,MIDIMSG(0xC,0,program,0)); //���F�ύX midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,velocity)); break; //���K up/down case wiimote_state::buttons::UP : if(note<0x7F) note++; midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,velocity)); break; case wiimote_state::buttons::DOWN: if(note>0) note--; midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,velocity)); break; //[A]/[B]�œ�������������x�炷 case wiimote_state::buttons::_A : case wiimote_state::buttons::_B : midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,velocity)); break; //���̑��̃C�x���g�A�܂�{�^���𗣂����Ƃ��~���[�g�B default : midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,0)); } //���݂�MIDI���b�Z�[�W���ꏊ�Ƀe�L�X�g�\�� COORD pos = { 10, 7 }; SetConsoleCursorPosition(console, pos); printf("���F = 0x%02X , ���K = 0x%02X , �Ō����x = 0x%02X\n", program,note,velocity); } //�I�� midiOutReset(hMidiOut); midiOutClose(hMidiOut); cWiiRemote.SetLEDs(0); cWiiRemote.SetRumble(0); cWiiRemote.Disconnect() printf("���t�I��\n"); CloseHandle(console); return 0; }
�{�^���C�x���g�̕����������̂ł����A�O�̃Z�N�V�����̉����ł����A�����́u�R�s�y�v���Ă����܂��܂���A�ҏW�╄���̌����ɋC�����āu���̍s�Ƃ̈Ⴂ���ӎ����Ȃ���v�R�s�y������̂��e�N�j�b�N�ł��B�܂�printf()�̕\�������͉p���D���ȃ��b�Z�[�W�ɕς��Ă��������Ă����܂��܂���B
�����ɃR���p�C�����ł�����AWiiRemote��Bluetooth�ɐڑ����鏀�������āA���s���Ă݂܂��傤�B
WiiRemote-Theremin button version by Akihiko SHIRAI contains WiiYourself! wiimote code by gl.tter http://gl.tter.org WiiRemote�ɐڑ����Ă�������(0x00) WiiRemote�ɐڑ����Ă�������(0x01) ...
�Ƃ����悤�ɕ\������PC�̃X�s�[�J�[���特����n�߂��琬���ł��BWiiRemote��Bluetooth�ɐڑ����Ă݂Ă��������B�������̎��_�ʼn����Ȃ��Ă��Ȃ�������APC�̃}�X�^�[�{�����[�����m�F���܂��B�����W�̃{�����[�������ׂĐ���ŁA���̃v���O��������͉����o��̂Ɂu�Ȃ���MIDI������Ȃ��I�v�Ƃ����Ƃ��́A�R���g���[���p�l���́u�T�E���h�ƃI�[�f�B�I�f�o�C�X�v����u�f�o�C�X�̉��ʁv�́u�ڍאݒ�v��I��ŁuSW�V���Z�T�C�U�v�̉��ʂ��[��(�~���[�g)�ɂȂ��Ă��Ȃ����m�F���Ă�������(�M�҂͂��̐ݒ�̂������Ńv���O�������Ԉ���Ă���̂��Ɖ������Y�o��������܂�...)�B
���āA�����ɉ����o�Ă�����A�ȉ��̂悤�ȉ�ʂɂȂ��Ă���͂��ł��B
�ڑ����܂����I [1]/[2]���F [��]/[��]���K [��][��]���� [Home]�I�� ���F = 0x00 , ���K = 0x50 , �Ō����x = 0x6A
WiiRemote�̏\���L�[�̉E���������ƕ\������Ă���l���ς�邱�Ƃ��m�F���Ă��������B[A]�{�^���������Ɓu�|�[���v�Ƃ����d�q�s�A�m�̉�����͂��ł��B[B]�{�^����������MIDI�̔����ɉ����ăo�C�u���[�^�[����͂��ł��B[1][2]�{�^���ʼn��F�A���Ȃ킿MIDI�̊y��(�C���X�c�������g)��ς��邱�Ƃ��ł��܂��B[Home]�{�^���������ƏI���ł��B
���āA����Ń{�^���C�x���g�ɂ��MIDI�����͊������܂����BMIDI�̊y��(program)��127��ނ�����܂��B�M�҂�[0x76]������̑Ŋy��n�̃C���X�c�������g���D���ł��B
���͂��e���~���炵�������x�Z���T�[��MIDI��点��悤�ɂ��܂��傤�B���K�����킹�āA���܂Ŏg���Ă����\�����[�V�����ɐV�����uThermin-Acc�v�������邱�ƂŐV�����v���W�F�N�g�̍������w�т܂��B
���ɁuWiiYourself! lib�v�⌻�݃{�^�����e���~���ɂȂ��Ă���͂��́uWiiMyself�v���܂ރ\�����[�V�����uWiiMyself�v���E�N���b�N���āu�lj��v���u�V�����v���W�F�N�g�v��I�т܂��B�u�V�����v���W�F�N�g�̒lj��v�_�C�A���O�����ꂽ��u�v���W�F�N�g���v���uTheremin-Acc�v�Ƃ��܂��B
�uWin32�A�v���P�[�V�����E�B�U�[�h�v���N�����܂��̂ŁA�X�e�b�v�ɏ]���u�R���\�[���A�v���P�[�V�����v���N���b�N�A�u��̃v���W�F�N�g�v�̃`�F�b�N���O��Ă��邱�Ƃ��m�F���Ă��������B��������ƐV�����v���W�F�N�g������܂��B
���ɁA�\�����[�V�����G�N�X�v���[���[�ŁuTheremin-Acc�v���E�N���b�N���u�X�^�[�g�A�b�v�v���W�F�N�g�ɐݒ�v���܂��i�����Y���ƁA[F5]�L�[�Ńf�o�b�O�����Ƃ��Ɂu�{�^���Ńe���~���v���N�����Ă��܂��܂��j�B���̏�Ԃ�[F5]�L�[�ɂ��r���h�ƃf�o�b�O���������Ƃ͂ł��܂����AWiiYourself!�̑g�ݍ��݂܂ŏI��点�Ă��܂��܂��傤�B
���j���[�o�[�́u�v���W�F�N�g�v���u�v���W�F�N�g�̈ˑ��W�v��\�����āuTheremin-Acc�v�ɑ��āuWiiYourself! lib�v�Ƀ`�F�b�N���܂��B
�Ō�ɁA�v���W�F�N�g�̃v���p�e�B��lj����܂��B�v���p�e�B��\�����u�A�N�e�B�u(Debug)�v�ƂȂ��Ă���\�����u�S�Ă̍\���v�ɐ�ւ��āA�uC++�v���u�S�ʁv���u�lj��̃C���N���[�h�f�B���N�g���v�ɁuC:\WINDDK\3790.1830\inc\wxp�v��ݒ肵�܂��B���l�Ɂu���ׂĂ̍\���v�ɑ��āA�u�����J�v���u�S�ʁv���u�lj��̃��C�u�����f�B���N�g���v�ɁuC:\WINDDK\3790.1830\lib\wxp\i386�v��ݒ肵�܂��B
���āA����ŏ��������ł��B�O��쐬�����{�^���Ńe���~������ꕔ�R�[�h�𗬗p���āA�v���O���~���O��i�߂Ă����Ɗy�ł��傤�B1/3�Â�����Ă����܂��B
#include "stdafx.h" #pragma comment(lib,"winmm.lib") #include <windows.h> //MIDI���L�̃G���f�B�A����ϊ�����}�N�� #define MIDIMSG(status,channel,data1,data2) ( (DWORD)((status<<4) | channel \ | (data1<<8) | (data2<<16)) ) #include "../../wiimote.h" //WiiYourself!����荞�� static HMIDIOUT hMidiOut; //MIDI�n���h�� static BYTE note=0x3C, velocity=0x40; //���K�Ɖ��� static BYTE program=0x0; //���F int _tmain(int argc, _TCHAR* argv[]) { wiimote cWiiRemote; HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTitle(_T("WiiRemote-Theremin Acceleration version")); printf("WiiRemote-Theremin Acceleration version by Akihiko SHIRAI\n"); //LICENSE printf("contains WiiYourself! wiimote code by \ gl.tter\nhttp://gl.tter.org\n"); //MIDI���J�� midiOutOpen(&hMidiOut,MIDIMAPPER,NULL,0,CALLBACK_NULL); //�ŏ��ɂȂ�����WiiRemote�ɐڑ����� while(!cWiiRemote.Connect(wiimote::FIRST_AVAILABLE)) { printf("WiiRemote�ɐڑ����Ă�������(0x%02X)\n",program); midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,0)); //�~���[�g Sleep(1000); program++; midiOutShortMsg(hMidiOut,MIDIMSG(0xC,0,program,0)); //���F�ύX midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,velocity)); //�ڑ����Ȃ����і� } printf("�ڑ����܂����I\n"); printf("\n\t [B]�Ō� [Roll]���� [Pitch]���K [1]/[2]���F [Home]�I��\n"); Sleep(1000);
���āA�����܂ł͑O��̃{�^���Ńe���~���ƂقƂ�lj����ς��܂���B�]�T������e�L�X�g�\�������Ȃǂ��D���ɕς��Ă݂�Ƃ悢�̂ł͂Ȃ��ł��傤��(���������C�Z���X�\����ς��Ȃ��悤�ɒ���!)�B
//����̓{�^���{�����x�C�x���g���X�V��`���� cWiiRemote.SetReportType(wiimote::IN_BUTTONS_ACCEL); while(!cWiiRemote.Button.Home()) { //Home�ŏI�� //RefreshState�͓����X�V�̂��߂ɌĂ��K�v������ while(cWiiRemote.RefreshState() == NO_CHANGE) { Sleep(1); //���ꂪ�Ȃ��ƍX�V���������� } switch (cWiiRemote.Button.Bits) { //�{�^�����Ƃ�switch���� //���F(=program) [1]/[2] case wiimote_state::buttons::ONE : if(program>0) program--; midiOutShortMsg(hMidiOut,MIDIMSG(0xC,0,program,0)); //���F�ύX break; case wiimote_state::buttons::TWO: if(program<0x7F) program++; midiOutShortMsg(hMidiOut,MIDIMSG(0xC,0,program,0)); break; default: //���� [�X��Pitch] velocity = \ (int)(127*(cWiiRemote.Acceleration.Orientation.Pitch+90.0f)/180.0f); if(velocity>0x7F) velocity=0x7f; if(velocity<0x00) velocity=0x00; //���K [�X��Roll] note = (int)(127*(cWiiRemote.Acceleration.Orientation.Roll+90.0f)/180.0f); if(note>0x7F) note=0x7F; if(note<0) note=0; if(cWiiRemote.Button.B()) { //[B]�Ō� midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,velocity)); } else { midiOutShortMsg(hMidiOut,MIDIMSG(0x9,0x0,note,0)); }
���Ӑ[���ǂ߂A����قǓ�����Ƃ͂��Ă��Ȃ����ƂɋC�Â��Ǝv���܂��B�ucWiiRemote.SetReportType(wiimote::IN_BUTTONS_ACCEL)�v�ŁA�O��̓{�^���X�V�������������|�[�g���[�h���A�{�^���Ɖ����x�̕ω����������Ƃ��Ƀ��|�[�g����A�Ƃ������[�h�ɕς��Ă��܂��B������u::�v���^�C�v����ƁAIntellisense�������ŕ\�����Ă���܂�����A�K�ȃ��[�h��I��������I�т܂��傤�B
�Ȃ��{�^���C�x���g�̓R�[���o�b�N�ŏ������Ă������̂ł����A�����̓ǎ҂̗����̂��߂Ɂuswitch (cWiiRemote.Button.Bits)�v�Ƃ��ĕ\�����Ă��܂�(�R�[���o�b�N�����������͌�́udemo.cpp�v���Q�l�ɂ���Ƃ悢�ł��傤)�BCase���ʼn��F�ύX�ɕK�v�ƂȂ�{�^��[1][2]���āA���F(program)��ύX���AMIDI�R�}���h�𑗐M���Ă��܂��B�Ȃ��O��̃{�^���łƈ���āA���F�̕ύX�����őŌ��͂��Ă��܂���B
�����Ă���switch���ɂ�����قƂ�ǂ̃C�x���g�́udefault:�v�ɗ���܂��B�����ʼn����x�Z���T�[�̒l�A����WiiYourself!�Ŏ擾�ł���p������ɂ��uPitch(�p�G����㉺�ɂ������)�v�ƁuRoll(���[���G������E�ɌX�������)�v�����̂܂܁u���ʁv�Ɓu���K�v�ɂ�肠�ĂĂ݂܂����B
�c�w���蓖�ĂĂ݂܂����x�Ƃ����\���������Ďg�����̂́A����͕ʂɁucWiimote.Acceleration.RawX�v�Ȃǂ̒l�ł��S�����Ȃ��A�Ƃ������Ƃł�(���̂ق����ϊ����s�v)�B���̏ꍇ�APitch��Roll��±90�x(-90�x�`+90�x)�̒l���Ƃ�܂��B
velocity = \ (int)(127*(cWiiRemote.Acceleration.Orientation.Pitch+90.0f)/180.0f); note = (int)(127*(cWiiRemote.Acceleration.Orientation.Roll+90.0f)/180.0f);
���̎����Q�l�ɂ��邱�ƂŁA�����Ă��̓��͎͂����̖]�݂̒l��ɕϊ��ł���悤�A��Ƃ��āA����͂��̂悤�ȕϊ����𗘗p���Ă��܂��B�C���^���N�V�������f�U�C�������ŁA�K�v�ȃ{�^���A�K�v�Ȋp�x�A�킩��₷�����p���@�ȂǂȂǓK�Ǝv����ϊ������l����K�v������܂��B�Q�l�ɂ��Ă��������B
//���W�w��e�L�X�g�\�� COORD pos = { 10, 7 }; SetConsoleCursorPosition(console, pos); printf("�����x X = %+3.4f[0x%02X] Y = %+3.4f[0x%02X] Z = %+3.4f[0x%02X] ", cWiiRemote.Acceleration.X, cWiiRemote.Acceleration.RawX, cWiiRemote.Acceleration.Y, cWiiRemote.Acceleration.RawY, cWiiRemote.Acceleration.Z, cWiiRemote.Acceleration.RawZ ); pos.X=10; pos.Y=9; SetConsoleCursorPosition(console, pos); printf("�p������ Pitch = %+3.4f Roll = %+3.4f Update=%d ", cWiiRemote.Acceleration.Orientation.Pitch, cWiiRemote.Acceleration.Orientation.Roll, cWiiRemote.Acceleration.Orientation.UpdateAge ); pos.X=10; pos.Y=11; SetConsoleCursorPosition(console, pos); printf("���F = [0x%02X] , ���K = [0x%02X] , �Ō����x = [0x%02X] ", program,note,velocity); break; } } //�I�� midiOutReset(hMidiOut); midiOutClose(hMidiOut); cWiiRemote.SetLEDs(0); cWiiRemote.SetRumble(0); cWiiRemote.Disconnect(); printf("���t�I��\n"); CloseHandle(console); return 0; }
�Ō�̃p�[�g�́u�v���O�����̌����ځv�Ɋւ��ꏊ�ł��B�R�}���h���C���v���O�����ł�����n���ł������̂ł����A���݂̉����x�̕ϊ��O�̒l�A�܂�WiiRemote����̐��l�ł���uRawX�v�A�uRawY�v�A�uRawZ�v���ώ@���Č��鉿�l�͂���̂ŁA������16�i���ŕ\�����Ă��܂��B�n����16�i���\���ł͂Ȃ��A�e���~���炵���A���e�i��A�����h��Ȃ��̂�\������v���O�����ɕς��Ă��������Ă��S����肠��܂���B
�Ō�ɁA�I���p�[�g��MIDI����āALED��o�C�u���[�^�[���~�����Ă���ؒf���Ă��܂�(�o�C�u���[�^�[�͎g���Ă��܂��A�����Y���ƃo�C�u���[�^�[���g�����܂܁A�ԈႦ�ďI�����Ă��܂����Ƃ��ȂǑ�ςł�)�B
�Ȃ�cWiiRemote�I�u�W�F�N�g�̏I�����@�ł����A���ő����Ă��鑪��X���b�h�͕K�v�������Ȃ�Ύ����I�ɍ폜�����̂ŁA�uDisconnect()�v���R�[�����Đؒf�������Ă������̂܂I�����Ă��悢�悤�ł��B
�n���ȃR�}���h���C���v���O�����ł����uSetConsoleCursorPosition�v���g�����ƂŐ̉�������BASIC�ł�LOCATE���ɂ�����\���ʒu�w����������Ƃ��ł��܂��B�����ł͖ړI�̈ʒu��printf��\�������邽�߂����Ɏg���Ă��܂����A1980�N��̎q�������͂���Łu�u���b�N�����v���炢�͍�������̂ł��B���ɂ�WiiYourself!�́udemo.cpp�v�ɂ͐F��������A�_�ł�������A����炵����Ƃ��������N�̃R�}���h���C���v���O�����̋Z�������Ɍ����܂��B�ŋ߂̃O���t�B�b�N�X�́u�u���b�N�����v�̐����{�����𑜓x�ł����A�e�L�X�g�O���t�B�b�N�X(�������g�����G���)���g�����Ȃ��Ȃ��Ȃ��Ɂu�N�[���ȋZ�v�ɂȂ�̂ł͂Ȃ��ł��傤���B�c�P�ɐl�X�̑z���͂��ቺ���Ă��邾���Ȃ̂����H
���āA����Ńv���O�����͊����ł��B�����ɃR���p�C�����ʂ�����AWiiRemote��Bluetooth��ڑ����āA�J�b�R�悭�\���܂��傤�B�����ʔ������Ƃ������Łu��(��)�ƍ\���v�͔��ɏd�v�ł��B
�܂����̂������X�s�[�h�ʼn���������ł��Ă���̂�������͂��ł��B
[B]�Ō� [Roll]���� [Pitch]���K [1]/[2]���F [Home]�I�� �����x X = -0.3846[0x7B] Y = -0.5556[0x77] Z = +0.6923[0x97] �p������ Pitch = +35.0491 Roll = -23.4268 Update=0 ���F = [0x00] , ���K = [0x2E] , �Ō����x = [0x58]
���̒l�͍����ɓ����Ă��鐔���͉��ł��傤�H�����ł��u�����x�Z���T�[�v�̒l�ł��B���̂������X�s�[�h�Ŏ擾�ł��Ă��邱�Ƃ��킩��܂��B���āA[B]�{�^���Łu�Ō��v(���Ղ�@������)�����Ă݂܂��傤�B�u�{���������[���v�ƁA��M�I���O�q�I�ȃs�A�m���t����������A�����ł��B���ɂ͎w���҂̂悤�ɁA���ɂ͕��x�̂悤�ɁA[B]�{�^���������Ȃ���AWiiRemote�ɋp��[���p��^���Ă݂܂��傤�B�r�̋Ȃ��L�����u���K�v�A�Ђ˂肪�u���ʁv�ɂȂ�ƂȂ����Ă͂܂��Ă���͂��ł�(����͂ƂĂ�����̂ł����A�s�\�ł͂Ȃ��͂�)�B[2]�{�^���������āA���F��ς����肵�Ď����Ă݂܂��傤�B�O����܂ŗV��[Home]�{�^���ŏI�����܂��B
�����̓ǎ҂͂����ŁA�����ɋL�q�����R�[�h��ύX���Ă݂����Ȃ����͂��ł��B���ꂪ�u�������v���O���~���O�p���v�ł��B���̃y�[�W�ɂ����������A�v�������A�e���~���̃`���[�j���O��A��ʂ̕\���f�R���[�V������ύX���ėV��ł��Ă��������B
�Ȃ����ǂ̃q���g�Ƃ��Ă͈ȉ��̂悤�ȗv�f������܂��B
�@�{�v���O������Win32�ɂ��MIDI����͂������Web�T�C�g�ł̉�����Q�l�ɂ��Ă��܂��B
��Windows�v���O���~���O������(kymats��)
�@http://www13.plala.or.jp/kymats/study/MULTIMEDIA/midiOutShortMsg.html
�@���ɂ�MIDI�𐧌䂷����@�͂�������܂����A������̃T���v���������Ƃ��u�e���~�������v�ł����B��������̎g����T���v����p�ӂ���Ă���A��҂�kymats����ɂ͂��̏�����肵�Ċ��ӂ��q�ׂ����Ă��������܂��B
�ȏ��WiiYourself!�ɂ��Win32��p�����e���~���̊J�����I���܂��BWin32�̎��Y�₻�̑��̃v���W�F�N�g�𗘗p�����ł̎��ۓI�ȏ����ɂȂ����ł��傤���H
�܂��Q�[���v���O���}�[�I�Ȏv�l��������́A�e���~���̎��s��ʂ��āuWiiRemote�͈�̂ǂꂮ�炢�̑��x�œ����Ă���낤�H�v�u�ǂ��������ő�̃p�t�H�[�}���X���o����̂��낤�H�v�Ƃ������^����o�Ă����̂ł͂Ȃ��ł��傤���H���̋^��ɑ���R�[�f�B���O�Ǝ����͎��̃Z�N�V�����ɑ����܂��B
�@�Ȃ��M�҂͂��̃Z�N�V������2���ߋ�v���O�������ł����̂ŁA�u�C���^���N�V�����Z�p�̌����ҁv�Ƃ����Ȋw�I�ȋ�������A�����̎q�������Ŏ��������Ă݂܂����B���ʂ����q�ׂ�ƁA6�̑��q�͂ǂ��炩�Ƃ����Ɖ����x�Z���T�[�ł̃e���~���̂ق����D���Ȃ悤�ł����B������2�̎q���̓{�^�����̂ق����f�R�D���ŁA���������F�́u�o�L����!�o�L����!�v�Ƃ���[0x7F]���m���ɚn�D���Ă��邱�Ƃ��ώ@���猩�Ď�邱�Ƃ��ł��܂����B�ǂ���̏ꍇ���A�팱��(�����Ă����Ă�)�́A��ʂ�PC�̃X�s�[�J�[�ƁA�茳��WiiRemote���W������Ƃ������Ƃ͊m���ɂ킩���Ă��܂������A�\������Ă�����̂����Ȃ̂��͗������Ă��Ȃ��悤�ł��B
�������̕ӃC���X�g�������ق����ǂ��ł����H��
�@�q���̚n�D�Ƃ����͓̂������ň���Ă��Ă��قȂ�܂����A�N��ɂ���Ă����̗�����y�����͈قȂ�܂��B�u������܂��̂��Ɓv�ł͂���܂����A���̎�̒n���Ȏ����́A�ŋ߂̃Q�[���f�U�C���ł́A�ӊO�ƖY����Ă���_�ł�����܂�(�ϗ��K��ɂ�郌�[�e�B���O�͂���܂����A�C���^���N�V�����\���H�y���߂邩�ǂ����H�Ƃ����_��)�B���������̂悤�ȁu�������������E�y���߂邩�v�Ƃ������_�ł̎����͍ŐV�̔F�m�Ȋw�̘b��ɃA�v���[�`����Ȋw�̎����ł���Ƃ�������ł��傤�B���ꂪ����Ȑ��\�s���炸�̃v���O�����ł��s����킯�ł��B
�@���������ӂ�����܂��B��ʂ̎q�����g�������̎�̐S��������f�[�^�擾�ɂ́A���ӏ��̎擾�Ȃǂ��K�v�ł�(�����T�C���������ł��Ȃ��N��ł͂�荢��ł�)�B�{���́A�f�ڂ����v���O�����𗘗p���������Ȃǂɂ�钼�ځE�ԐړI��Q�⑹�Q�ɂ��Ĉ�ؐӔC���܂���B�l�Ԃ��g��������(���Ȍ�����������u�l�̎����v)�Ɋւ��ϗ��K��ɂ��ċ�����������́u�w���V���L�錾�v���Q�l�ɂ���Ƃ悢�ł��傤�B������i�߂��ł̍l�����Ƃ��Ắu�|�P�������Ă�v�Ȃǂ̋K�����Ɋւ��ꂽ���������a�@�̓�r�����搶�ɂ��u�o�[�`�������A���e�B�͎q�ǂ��ɉ����ł��邩-�Տ���ʂł�VR-�v�Ȃǂ����ɂ悭�܂Ƃ܂��Ă��ĎQ�l�ɒl���܂��B���܂��܂ȃG���^�e�C�����g�Z�p�������Ώۂɂ����ł̊�{�I�ȍl�����Ƃ��Ĉ��p�ł���_���Ƃ��ẮA�M�҂̔��m�_���̈ꕔ�ł���u�G���^�e�C�����g�V�X�e���v(�|�p�Ȋw��_������3��vol.1)���Q�l�ɂȂ邩������܂���B
���̃Z�N�V�����ł�WiiYourself!�ɂ��R�}���h���C���v���O�������g�����ƂŁAWiiRemote����荂�x�Ȍv����Ƃ��ė��p���邱�Ƃɒ��킵�Ă݂܂��B
�d�́E�p���E������g���𑪒肷��v���O�������쐬���AWiiRemote�̍X�V�p�����[�^��ς��邱�ƂŁA�����x�Z���T�[���w���������ǂꂮ�炢�̑��x�œ����Ă���̂��H�x�𑪒肵�Ă݂܂��B
���̌�AWiiRemote���g�����Ȃ���Ŕ��ɏd�v�Ȏ����Ȃ̂ł����A���ɒn���ȏ�Ɂu��������肷���ĐQ�Ă��܂��܂��I�v�Ƃ����ǎ҂̓i�i���ǂ݂ł����܂��܂���B���������͑̂ɂ悭�Ȃ��̂ŁA���ʂ������p���܂��傤�B
��قǂ̉����x�Z���T�[�Ńe���~���Ɠ������A���x���܂��V�����v���W�F�N�g�uMeasurement�v���\�����[�V�����ɒlj����Ă݂܂��傤(��������������e���~�����Ă������̂ł���A�~�߂܂���)�B�ʓ|�Ȑl�͌��݁A�{�^���Ńe���~���ɂȂ��Ă���uWiiMyself�v��main.cpp��u��������`�ō쐬���Ă��悢�ł��傤(�����ł�����������l�́A�R�����g�A�E�g���Ċ��p����Ƃ悢�ł��傤)�B
����v���O������60�s���x�ł��B_tmain()�������g���܂���B�����̂��₷���Ɖ���̓s������2�̃p�[�g�ɕ����܂����A�e���~������̃\�[�X�����p�ł���ӏ������X����܂��̂ŁA�\�ł���Έ�C�ɃR�[�f�B���O���Ă��܂��Ƃ悢�ł��傤�B
#include "../../wiimote.h" #include <mmsystem.h> // for timeGetTime() #include <conio.h> // for _kbhit() int _tmain(int argc, _TCHAR* argv[]) { wiimote cWiiRemote; DWORD currentTime=0; //���݂̎������i�[����ϐ� //������g������p DWORD startTime=0, Refreshed=0, Sampled=0; float duration=0.0f; //�o�ߎ���[�b] bool continuous=false; _tprintf(_T("WiiRemote Measurement\n")); _tprintf(_T("contains WiiYourself! wiimote code by \ gl.tter\nhttp://gl.tter.org\n")); while(!cWiiRemote.Connect(wiimote::FIRST_AVAILABLE)) { _tprintf(_T("Connecting to a WiiRemote.\n")); Sleep(1000); } _tprintf(_T("connected.\n")); cWiiRemote.SetLEDs(0x0f); Sleep(1000); //�����������ݒ肳�ꂽ�ꍇ�A�������[�h�ɐݒ� if (argv[1]) { _tprintf(_T("ReportType continuous = true [%s]\n"), argv[1]); continuous = true; } //�{�^���������x�ɕω����������Ƃ��Ƀ��|�[�g����悤�ݒ� //��2������true�ɂ��邱�ƂŃf�[�^�X�V������(10msec���x)���� //�f�t�H���g��false�Ń|�[�����O(�f�[�^������Ƃ�����)��M���[�h cWiiRemote.SetReportType(wiimote::IN_BUTTONS_ACCEL, continuous); startTime=timeGetTime(); //�J�n���̎��Ԃ�ۑ�
�R�����g�ɂ��L�ڂ͂��Ă��܂����A�厖�ȂƂ����⑫���Ă����܂��B
WiiYourself!��API���uSetReportType()�v�̏ڍׂ��C�ɂȂ��Ă����ǎ҂�����Ǝv���܂��B���̊���2�̃t�H�[�}�b�g������A���܂܂ł́ubool continuous�v�������^�C�v���g���āA�{�^��������x�̕ω��Ƃ��������|�[�g���[�h���w�肵�Ă��܂����B�����E�N���b�N���āu�錾�ֈړ��v����ƁA�ȉ��̂悤��gl.tter���̃R�����g��ǂނ��Ƃ��ł��܂��B
//set wiimote reporting mode (call after Connnect()) //continous = true forces the wiimote to send constant updates, even when // nothing has changed. // = false only sends data when something has changed (note that // acceleration data will cause frequent updates anyway as it // jitters even when the wiimote is stationary) void SetReportType (input_report type, bool continuous = false); �y�Q�l��zWiiRemote�̃��|�[�g���[�h��ݒ肵�܂��AConnect()�̌�ɃR�[�����ĉ������B continuous��true�ɂ��邱�ƂŁAWiiRemote�ɕύX�����������ǂ����Ɋւ�炸�A�����I�ɍX�V�𑗂点��悤�ݒ�ł��܂��Bfalse�̂Ƃ��͉����ω����������Ƃ������f�[�^�𑗐M���܂��BWiiRemote���������肵���Ƃ���ɒu����Ă���Ƃ��̓r�N�r�N(jitter)���Ă��܂��܂����A�����x�f�[�^�͂悭(frequnet)�X�V������ł��傤�B
���́u�X�V���������Ƃ��������M�v�Ƃ����ʐM���@��ʐM�p��Łu�|�[�����O(polling)�v�Ƃ����܂��B���M�v�������f�o�C�X���w�����`�x�Ɠ������Ƃ������A���ۂɃf�[�^�������̂ŒʐM�ш��ߖ�ł��܂��B���ۂɃ{�^���A�����x�A�ԊO���A�g���[�q�c�ƃt���X�y�b�N�ł���uIN_BUTTONS_ACCEL_IR_EXT�v��錾����ƁABluetooth�̑ш���������Ă��܂����Ƃ�����悤�ł��̂ŁA����͒��ׂĂ݂Ȃ���Ȃ�܂���B
����ł͌㔼�̃R�[�h�A�ڑ���̃��[�v�ɑ����܂��B
//Home���������܂ŁA��������10�b�ԑ��� while(!cWiiRemote.Button.Home() && duration<10) { while(cWiiRemote.RefreshState() == NO_CHANGE) { Refreshed++; //���t���b�V�����ꂽ���L�^ Sleep(1); //CPU�ʂɐ�L���Ȃ��悤�� } Sampled++; //�f�[�^�ɕύX���������Ƃ��ɃJ�E���g�A�b�v cWiiRemote.SetRumble(cWiiRemote.Button.B()); _tprintf(_T("TGT:%d %+03d[msec] R:%d S:%d D:%1.0f Accel: X %+2.3f Y %+2.3f \ Z %+2.3f\n"), timeGetTime(), //���݂̎��� timeGetTime() - currentTime, Refreshed, Sampled,duration, cWiiRemote.Acceleration.X, cWiiRemote.Acceleration.Y, cWiiRemote.Acceleration.Z); currentTime = timeGetTime(); duration = (timeGetTime()-startTime)/1000.0f; } cWiiRemote.Disconnect(); _tprintf(_T("Disconnected.\n")); duration = (timeGetTime()-startTime)/1000.0f; printf("�ڑ�����%4.2f�b �X�V%d�� �f�[�^��M%d��\n �X�V���g��%.2fHz �T���v�����O%.2fHz\n", duration, Refreshed, Sampled, (float)Refreshed/duration, (float)Sampled/duration); while (true) if (_kbhit()) {break;} //�����L�[�������܂ő҂� return 0; }
���āA�R�[�f�B���O���I���A�R���p�C�����ʂ�����AWiiRemote��Bluetooth�ڑ����āA���̏�Ȃǂɗ��ĂĒu���Ă݂܂��傤�B���̎��s��ł́A�g���[�q�����ɂ��Ĉ��肵�����̏�ɗ��ĂĂ��܂��B
... TGT:189427129 +10[msec] R:4818 S:582 D:10 Accel: X +0.538 Y \ -0.407 Z -0.308 TGT:189427139 +10[msec] R:4823 S:583 D:10 Accel: X +0.423 Y \ -0.370 Z -0.231 TGT:189427149 +10[msec] R:4828 S:584 D:10 Accel: X +0.308 Y \ -0.222 Z -0.115 TGT:189427159 +09[msec] R:4833 S:585 D:10 Accel: X +0.231 Y \ -0.037 Z +0.115 TGT:189427168 +08[msec] R:4837 S:586 D:10 Accel: X +0.192 Y \ +0.148 Z +0.385 Disconnected. �ڑ�����10.21�b �X�V4837�� �f�[�^��M586�� �X�V���g��473.84Hz �T���v�����O57.41Hz
�����͎w�肵�Ă��Ȃ��̂Ń|�[�����O��M���[�h�œ��삵�Ă��܂��B�Ō�ɕ\������郁�b�Z�[�W�Ƃ��̉��߂ɂ��ĉ�����܂��B
�����{�^���������ƏI�����܂�(_kbhit��)�B����ȏꏊ�ɂ���ƁA�{���ɏ��������f�[�^������܂��A��Ɏ����Ă����肷��ƁA���̂����������Ńf�[�^������Ă���̂��킩��܂��B
�|�[�����O���[�h�ł͂Ȃ��A�������[�h(continuous)�������Ă݂܂��傤�B�f�o�b�O���̈����w��͊ȒP�ł��B�v���W�F�N�g�̃v���p�e�B�u�f�o�b�O�v���u�R�}���h�̈����v�ɉ��������������Ă����邱�Ƃ�true�ɂȂ�܂��B
���x��WiiRemote�������Ă��邩�ǂ����ɂ�炸�A�ȉ��̂悤�Ȍ��ʂɂȂ����̂ł͂Ȃ��ł��傤���H
�ڑ�����10.21�b �X�V5076�� �f�[�^��M993�� �X�V���g��497.16Hz �T���v�����O97.26Hz
�������[�h��10msec���Ƃ�1��f�[�^�𑗂�悤�ł�����A10�b��1000��A���g���ɂ���100Hz�ƂȂ�A��L�̌��ʂƂقڈ�v���܂��B
���ɂ����r���h���K�v�ɂȂ�܂����A���|�[�g���[�h�ɁuIN_BUTTONS�v��uIN_BUTTONS_ACCEL_IR_EXT�v�����āA�ω������Ă݂�Ɨǂ��ł��傤�B�Ȃ�WiiYourself!�Ŏ��������Ƃ���ł́A�ԊO���n���[�h�ɂ����Ă͎������[�h����{�ɂȂ��Ă���悤�ł��B
���āA���̐߂ł�WiiRemote�̉����x�Z���T�[���v����Ƃ��Ďg�����߂̎����v���O�������쐬���āA�e���|�[�g���[�h�̃x���`�}�[�N�I�Ȃ��Ƃ��s���Ă݂܂����BWiiYourself!�ɂ����Ă�API�Ƃ��ĉB������Ă���킯�ł͂Ȃ��̂ŁA���������������̂ł͂Ȃ��ł��傤���H
���肵�Ă݂�ƁAWiiRemote�͎������[�h�Ȃ�100Hz���炢�A�|�[�����O�Ȃ�60-80Hz���炢�œ���ł���悤�ł��B�Q�[���R���g���[����v����Ƃ��čl�����Ƃ��ɁA����͍����Ȃ̂ł��傤���H
���Ƃ��Ε��ʂ̃Q�[���@��1�b������30-60��̃O���t�B�b�N�X���X�V���AWeb�J������1�b������15-30��̉摜���擾���āA��������摜���������č��W�����o���Ă���킯�ł�����AWiiRemote�̓��쑬�x�́u���Ȃ葬���v�ƕ\���ł���̂ł͂Ȃ��ł��傤���B�T���v�����O�藝�����p����ƁA���s���g���̔{�͕K�v�A�Ƃ������Ƃŏ��Ȃ��Ƃ��Q�[���Ɏg���Ȃ�u�\���ȑ��x�v�Ƃ����邩������܂���B
�������A�v����Ƃ��Ă݂�Ƃ�����Ƒ���Ȃ���������܂���B�܂������x�Z���T�[��8bit(256���x��)����̂ł����A���̒��̌g�ѓd�b�ɂ�12bit(1024���x��)�Ƃ����̂���������Ă����肵�܂��B�ǂꂮ�炢�Ⴄ���Ƃ����ƁA�|�[�����O���[�h�̂Ƃ��ɁA���ɒu������u���[���Ɠ������Ă��f�[�^������v�Ƃ������x���ł��B�Z���T�[�̐��x�����ɂ��W������̂ň�T��bit���ł͌��܂��A�����I�Ȍv���Ƃ��āA�����x�Ǝ��Ԃ��킩��A�������瑬�x�Ƌ������Z�o�ł���͂��ł����AWiiRemote�̕���\�ł́u���[���Ɠ����������炢�Őj���ӂ�Ȃ��v�̂ŁA��ԍŏ��́u�����x�v�����Ă��Ȃ����ƂɂȂ�܂��B�܂肱�̕��@�ʼn����x�̐ώZ���瑬�x�⋗�����Z�o����̂͂ƂĂ�����ł��邱�Ƃ��z���ł���ł��傤(�ԊO����g�ݍ��킹��Εs�\�ł͂Ȃ��ł���)�B
���������̃Z�N�V�����ŏЉ���v���O�����̎��s���ʂ�����Ɓu�����ĕ��ʂɓ���������ԁv�ł͉����x�������Ɏ擾�ł��Ă���悤�ł��B����́u�d�͉����x�v�Ȃ̂ł����A���̒l���g�����ƂŁuWiiRemote�̎p���v������ł��܂����u�d�͉����x���������͂̓��́v���Ƃ��A�e�j�X�̃X�C���O��{�N�V���O�̃p���`�Ȃǂ��ȒP�Ɍ������邱�Ƃ��ł��܂��B�ǂ����������u�Q�[���̂��߂ɐv���ꂽ�f�o�C�X�v�Ȃ̂ł��傤�B
���ēǎ҂̑����͂��̐߂Łu������g���v��u�T���v�����O���g���v�ȂǕ��i�����Ȃ�Ȃ����t��ڂɂ����̂ł͂Ȃ��ł��傤���B���l�̃Q�[���v���O���}�[�⌤���҂ł���������A���i�͂������������Ƃɖڂ���������͂��Ȃ��Ǝv���܂��B�������v���O���~���O�̏�ŃC���^���N�V�������l����ƁA�����ɂ��̋��������ɂ��Ă͖�肪�o�Ă��܂��B
���Ƃ��ΗL���Ȋi���Q�[���u�X�g���[�g�t�@�C�^�[�v�V���[�Y�ɂ����āA�g�����⏸�����Ƃ������{�^���A�g�ɂ��C�x���g����������܂��B�Ⴆ�Δg�����̏ꍇ�́y���A���A���{���p���`�z�Ƃ������{�^���R���r�l�[�V�����ɂȂ��Ă���A������m���ɓ��͂ł��邱�Ƃ��Q�[����L���ɐi�߂�X�L���ɂȂ�̂ł����A����ŃQ�[���v���O���������̃{�^���R���r�l�[�V������F�����邽�߂ɂ́u�|�[�����O���ǂ����H�v�A�u�ǂꂮ�炢�̍X�V���x�Łv�A�Ƃ������𗝉����āA�Q�[���́w���슴�x(feeling of controling)��w�����Փx�x(difficulty of controlling)��ݒ肷�邱�Ƃ��d�v�ɂȂ�܂��B�������������������ޏ�ŁA���̎�̃��|�[�g���[�h�̐����A�����v���O�����̍쐬�́u���炵�����슴�v���������邽�߂ɔ��ɏd�v�ȍ���p�����[�^�[�ł���A�Q�[����Ђ̃G���W�j�A�ɂƂ��āA���̃v���O�����͂��̂��߂̗\�������Ȃ̂ł�(�n���ł���)�B
���ۂ̃Q�[���J���ɂ����ẮA�O���t�B�b�N�X�̑��x�Ȃǂ����̃v���O�����̏�ɍڂ��Ă��܂����A�ő�̃p�t�H�[�}���X(�Ⴆ�A�e�������`���Ɠ��삪�x���Ȃ邩�A�Ƃ������ő又���\��)��v�����ŁA�ǂ��ɕ`�惋�[�v�������A�����蔻��������A���͍X�V�������̂��A�Ƃ������v�́A�A�N�V�������̍����Q�[���̊J���̏����i�K�ɂ����āA�ō��ɏd�v�Ȏ����v�f�ɂȂ�܂��B��L�̃v���O�����ɂ�����uSleep(1)�v�̏ꏊ�ɂǂꂮ�炢�]�T������̂��A�Ƃ����b�ł��ˁB
WiiRemote�̉����x�Z���T�[���A���͊�{�͏������肷��{�^���ƍl�����ɂ��܂�ς��͂���܂���B�����x�Z���T�[���L�̃f�[�^���p(�Z�K�u���b�c�^�b�v�v�̂悤��)�ł͂Ȃ��A���͂��ꂽ�A�N�V�����ɑ��ă{�^�������蓖�Ă�悤�ȂƂ��́A�u�ǂꂮ�炢�̕b���Łv�A�u�ǂ̂悤�ȓ������������v�A�u�ǂꂮ�炢�̋��x�Łv�Ƃ����������A�����Ɂu�N�ł�����ł���悤�Ɂv�Ƃ����悤�Ɋ��蓖�Ă�K�v������܂��B�����if���Ȃǂŏ����Ă����̂͑�ςȍ�Ƃł����AWiiRemote���u���u���U���Ď����Ă��邤���Ɂu�����̓��삪�͂����Ĉ�ʓI�Ȃ̂��H�v�Ƌ^��ɂȂ��Ă��܂����Ƃ�����ł��傤�B���ۂ����������u���삪��ςȃQ�[���v��Wii�����ɂ͑�����������Ă���܂����A�u�V�����G���^�e�C�����g�̌������o�����Ɓv�Ɓu���[�U�C���^�t�F�[�X�Ƃ��Ă̈�ʐ����ێ����邱�Ɓv�Ƃ����̂͂ƂĂ�����g���[�h�I�t�ł��邱�Ƃ��킩��܂��B
�u���͕��������Ȃ�ł���...�v����ȓǎ҂̕��ɂ́A�ӊO�ɊȒP�Ȍ��_������܂��B�܂��u�|�[�����O�ł͂Ȃ��A�������[�h�v���g�����Ƃł��B������ɂ��v���O�����̋l�܂���y�����A10�~���b�Ɉ�x�m���ɒl���Ԃ��Ă���Ƃ������[�h�ł��B
������WiiRemote�̌v�����g�������ɂ��ẮA�������̃Z�N�V�����Ŏ������Ă��܂��܂����̂ŁA�u�擾�ł��������x�Z���T�[�̒l��1/100�b������̃f�[�^�ł���v�Ɛ��肵�Ă��܂��Ă悢�ł��傤(WiiYourself!���g�����ꍇ�́A�ł���)�B
�Ⴆ�A������̃��[�V��������͂����Ƃ��ɁA100��f�[�^����������A����́u1�b�����郂�[�V�����v�������A�Ƃ������Ƃł��B�u1�b�Ԃ�16��̃{�^���A�Łv����͂Ƃ��Č��o������������A�u6.25��̃T���v�����O�ɑ�1��{�^�����͂�Off-On-Off�������ł�������v�Ƃ������ƂɂȂ�܂��B�t��1/100�b�̍X�V�����Ȃ�ǂ�ȂɊ撣���Ă�(�Y�����Ă�)�A�_�����1�b�Ԃ�����50���{�^����On��Off�͓��͂��悤������܂���B��������w�╨�������A�������������Ƃ���������C���[�W�ł��邩�ǂ����̂ق����C���^���N�V�������x����Z�p�Ƃ��Ă͑厖�ŁA����Љ���悤�ȍׂ����������R��邱�ƂŁA�C���^���N�V�������x����v���O���~���O�Z�p�̓O���O���オ���Ă����܂��B
�����ɗ����o���Ă����܂��B�A�����J�̌Â��f��̃t�F�X�e�B�o���̃V�[���Ȃǂɏo�Ă���u�n���}�[�Œ@�����͂𑪒肷��Q�[���v���������ł��傤���B�������̂��킩��Ȃ��̂Łu�p���`�͑���v�Ƃ��Ă����܂��B���܂܂ł̑���v���O�����̉��p�ŁA���́u�p���`�͑���v�Q�[������邱�Ƃ��ł���͂��ł��B
�͂̑傫�����v�Z����ɂ́A�}�O�j�`���[�h�A����Ȃ��u�����x�Z���T�[�e���̗v�f���悵�����̘a�v�ŎZ�o�ł��܂��B
F = X * X + Y * Y + Z * Z;
����F���傫���Ȃ�Α傫���Ȃ�قǁA���莞�Ԃ�����̗͂��傫�����Ƃ��킩��܂�(���̎��͐��̒l�����Ƃ�܂���)�B���Ȃ݂ɁA�M�҂�WiiRemote�̐ݒu��Ԃł͏d�͉����x�͂��鎲�ɖ�1.0��Ō��o����A���̎��̓[���ɂȂ��Ă��܂�����uF��1.0�v�c���ꂪ�������Ă��Ȃ���Ԃ̒n��̏d�͂������Ă��܂��B���������G�ƌĂт܂��B
�����Ŏv��������WiiRemote�����肵��(�X�g���b�v�����Ă��������ˁI)�A�n���}�[��낵���w�u���b�x�ƍ~�肨�낵���Ƃ��̍ő��F��G�̉��{���A���Z�o���邱�ƂŁA�p���`�͑��肪�ł���킯�ł�(�����Ă݂�ƁA��������5G�`16G���Q�[���ɂȂ邠����ł�)�B
�ł͎��́A��������p���āu�e�j�X�̃��[�V�����v������Ă݂܂��傤�B���͂���͈Ӓn���ȗ��K���ł��B���ۂɍ���Ă����Ȑl�ő��肵�Ă݂�ƁA�e�j�X�̃��[�V�����́A�n���}�[�Q�[���Ƃ͎��ĈقȂ�A�����悤�ȉ����x�̐U�镑���Ƃ��đ��肳��܂���B�����̐l���A(�f�U��Ƃ͈قȂ�)�{�[����������ł��낤�u�C���p�N�g�̏u�ԁv�Ɂw�O�b�x�Ɨ͂����߂Ď~�߂Ă��܂��܂��̂ŁA��ԗǂ��u�Ԃɋt������G���������Ă��܂��̂ł��B�������A���̋t�����̗͂������炸�A���ꂢ�Ɂu�t�H���[�X���[�v����͂ł���l�����܂��B���̂��C���p�N�g�̏u�Ԃɂ˂����l�����܂��B�܂��Q�[���I�ɂ��p���`�͑���̂悤�Ɂu�����@���Ă��������I�v�Ƃ��������ɂ����Â炢�ł�(�{�[�����e�u�Ԃ��g���Ɨǂ��ł��傤)�B�ǂ̏u�ԂɃT���v�����O���J�n���āA�ǂꂮ�炢�̒����̋L�^�����āA�ǂ̂悤�Ȍ��o�A���S���Y�������̂��A�����܂Ŋw�F����͂��Ёuif���̃J�^�}���v�ȊO�ō���Ă݂邱�Ƃɒ��킵�Ă��������I
�����܂�WiiYourself!�̐[�݂������������Ȃ��͂����A�����x�Z���T�[�ɂ��Ċ�b�I�Ȃ��Ƃ͊w�Ԃ��Ƃ͂Ȃ��A�Ǝv����������܂���B�������ɂ����܂ł̃T���v���v���O�������g�����ƂŁu���b�c�^�b�v�v�̂悤�ȃA�N�V�����͍�ꂻ���ł�(�ڃR�s�ŃQ�[�����܂˂��ĊJ������̂̓v���O���~���O�̕��ɂ͂Ȃ�܂����A�{���ł͔����邱�Ƃɂ��܂��I)�B��L�̗��K���u�e�j�X�̃��[�V�����v�����Ђ���Ă݂Ă��������A�ȊO�Ɖ��[���ł��B
���ꂩ��A��w�ŐM������������Ă���l�́Aif���ɂ���������A�����ɂ��G���K���g�ȔF�����������āA���Ђ����ŐM�������̋Z�p��WiiRemote�ɓK�p���Ă݂Ă��������B�o���h�p�X�t�B���^�[�╪�ފ�A�@�B�w�K�Ƃ��������_���ʔ����قlj����x�Z���T�[�ɗ��p�ł��܂����A�܂��܂����J��̕����ł�����܂��B
�����Č����҂̃A�i�^�A�u����WiiRemote�����͂��s�����ꂽ�v�Ǝv���Ă��܂��H���͂܂��܂��\��������Ɗ����Ă��܂��B�F����HMM(Hidden Markov Model�G�B��}���R�t���f��)��SVM(Support Vector Machine)�Ȃǂ̕��ފ���g���邩������܂���B
�����ƁA�uSVM�v��uHMM�v���Ȃ��킩��Ȃ��l�́A���߂�Ȃ����B�ȒP�ɕ\������Ɓu�l�H�m�\��WiiRemote������͂��ꂽ�M����F���ł���v�Ƃ����b�ŁA����u���[�V����A�v�ƁA�ʂ́u���[�V����B�v�����ꂼ��T���v���Ƃ��Ċw�K������ƁA���̈Ⴂ�������I�ɔF�����āA�Ȍ�́u�Ȃ��悭�킩��Ȃ����́v�����͂���Ă��uA�v���uB�v�ɕ��ނ��邱�Ƃ��ł���Ƃ����d�g�݂ł��BHMM�͓��͂̑O��W�������Ŋl�����܂��BSVM�͎菑���F���Ɏg��ꂽ������Ă��܂��B
�ŋ߂ł͓��ɋ@�B�w�K�n�̘b��͖ʔ����A�h�C�c��Oldenburg��̊w��Benjamin Poppinga���ɂ��uWiiGee�v�Ƃ����v���W�F�N�g��Java5.0��JSR-82�Ƃ���Bluetooth���C�u�������g����HMM�𗘗p�������[�V�����F�����������Ă��܂��B
��WiiGee
http://www.wiigee.org/
�Ƃ���ŁuAiLive�v�Ƃ����Q�[���J���җp�̐��i��C�V�����烉�C�Z���X�Ĕ̔����Ă���A�����J�E�V���R���o���[�̉�Ђ�����܂��B���͂���Wii�{�̗p�̃Q�[���v���_�N�g�ɂ͗��p����͂��߂Ă���̂�������܂���ˁB
��AiLive(���{��y�[�W�L��)
http://www.ailive.net/
���Ȃ݂ɂ��̉�Ђ̗̍p�y�[�W�ł́uArtificial Intelligence Researcher(�l�H�m�\�̌�����)�v���W���Ă��܂��B�r�Ɏ��M������l�͍̗p�������Ă݂ẮH
���̃Z�N�V�����ł�WiiYourself!�����ݗL��������I�@�\�̂����ł��ł���i�I�ȁu�X�s�[�J�[�̍Đ��v�𗘗p���܂��B�����������I�@�\�Ȃ̂ŁA����������A�i�����\���ł͂Ȃ��ł����A�����Ă݂鉿�l�͏\���ɂ���܂��B
WiiRemote�ɓ��ڂ���Ă���T�E���h�v���Z�b�T�����ɓ���Ȃ̂ŁA���E���̃n�b�J�[���������킵�Ă��܂����A����̎��g���ȊO�炷�͔̂��ɓ���炵���AWiiYourself!������WAV�t�@�C������̍Đ��ɐ������Ă��܂��B�Ƃ͂����A�܂����S�ȏ�Ԃł͂���܂���B
�����̎�����WiiYourself!v1.01�Ŏ����Ă��܂��B�܂�TOSHIBA���X�^�b�N��Broadcom���X�^�b�N�ł̂ݎ������Ă��܂��B���g���̊��ŁuDemo.exe�v���N�����āu2�v�{�^����������DAISY���[�h�ʼn����������Ȃ����ł��ƁA���̎����͓k�J�ɏI��邩������܂���B
�܂��AWiiYourself!�ŗ��p�ł��鉹���t�@�C����p�ӂ��܂��傤�B���݂̂Ƃ���A�T�|�[�g���Ă���̂́u16�r�b�g�E���m�����v�̔kWAV�t�@�C���ŁA����ɃT���v�����O���g���́u2470�`4200Hz�v�ƂȂ��Ă��܂�(�ڍׂ�WiiYourself!�́uLoad16bitMonoSampleWAV�v�����Q��)�B����Ȍ`����WAV�t�@�C�����ȒP�Ɏ�ɂ͂���킯�ł͂���܂���̂ŁA�c�[�����g���ăR���o�[�g���܂��傤�B
����ȗp�r�̂��߂ɕ֗��ȃc�[���������܂����B�uKanaWave�v�Ƃ����A�D���ȂЂ炪�Ȃ���WAV�t�@�C�����쐬����c�[���ƁA�uSCMPX�v�Ƃ���ch3���̌��J���Ă���ăT���v�����O���\�ȃc�[���ł��B
��KanaWave(�͍��͌厁)
http://www.vector.co.jp/soft/win95/art/se232653.html
��SCMPX(CH3��)
http://www.din.or.jp/~ch3/
�uKanaWave�v�͐������s�v�Ȃ��炢�ȒP�ȃc�[���ł��B�Ђ炪�Ȃō�肽�����̕��͋C���[���ŏ����ƁA���̉��ɂ������g�`�����܂��B�����ł́u�����[��v�Ƃ�����������Ă݂܂���(��������ꂽ���́A���͋C���o�����߂ɉ��̍�����1�ڐ��肾�������Ă݂Ă��܂�)�B�Đ��{�^���������Ď������āA�C�ɓ�������uKanaWave�v���j���[����uWave�t�@�C���ɕϊ��v�Ƃ��ĕۑ����܂��B�����ł́uWiin.wav�v�Ƃ��܂����B
���ɕϊ��ł��B�uSCMPX�v���N��������uCONVERT�v����uSingle file...�v���uResample...�v��I��ł��������B�t�@�C���I���_�C�A���O���\������܂��̂ŁA��ق�KanaWave�Ő�������WAV�t�@�C���A�������͓���WAV�t�@�C�����Ȃ���uC:\Windows\Media�v��蕷�����ꂽWindows��WAV�t�@�C����I��ł��������B
�T���v�����[�g�́u4200�v(����WiiYourself!���T�|�[�g���Ă���ō�����)�A�ʎq���r�b�g�́u16bit�v�A�`�����l���́umono�v�ŕۑ����܂�(�����ł́uWiin_rs.wav�v�ɂȂ�܂���)�B
���̃t�@�C����WiiYourself!�́uDemo�v�t�H���_���uDaisy16 (3130).wav�v�ƒu�������邩�A�\�[�X�R�[�h��Load16bitMonoSampleWAV���ł̓ǂݍ��݃t�@�C�����uWiin_rs.wav�v�ƕύX���邱�ƂŃ��[�h���邱�Ƃ��ł��܂��B�t�@�C�������̌`���������ł��Ԉ���Ă���ƃG���[�ɂȂ��Ă��܂��܂����A��L�̕��@�ɏ]���Đ�������WAV�t�@�C���Ȃ�A�K�����̕��@�Ń��[�h�͐������܂��B�����̂���l��VC�̃f�o�b�O�@�\���g���č��C�悭�ǂ������邱�ƂŁAWAV�t�@�C���ǂݍ��݂̓�������������ł���̂Ō��l�ɂ͂����߂ł��B
�uDemo.exe�v���s���ɃG���[���o�Ȃ���u2�v�{�^�����������ƂōĐ�����܂��B���炩�ɉ����o�Ă��Ȃ��ꍇ�́uA�v�{�^���������āA��`�g(�s�[...)���o���Ă݂�ƁA���������肵�܂��B������ɂ���4.2KHz�ł����特���ɂ��Ă͉ۑ肪����܂��B�܂������t�@�C�����Đ����ɓˑRWiiRemote����ؒf���ꂽ������܂��B
�ȏ�Łu�X�s�[�J�[���p�����v�͏I���ł��B�{�������M���Ă��鎞�_�ł͈��萫�A�����ʑo���Łu���܂���p�I�ł͂Ȃ��v�ƕ\�����Ă����܂��傤�B������Wii�{�̂̃Q�[���v���_�N�g�ł́A���������̉����ŕ\���͖L���ɍĐ��ł��Ă��܂��̂ŁA�C�V�����Q�[���J���҂ɒ��Ă�������J���c�[���ł͔�r�I�ȒP�ɕϊ��ł��Ă��܂��̂�������܂���B�����I�ɂ͕s�\�ł͂Ȃ��̂ł��傤���A���ڂ��Ă���T�E���h�`�b�v�̉�͂��i�ށA�������͔g�`�Đ����ȂǁA�����ƋC������Ȃ��Ƃ����Ȃ����Ƃ�����̂�������܂���B������ɂ���A�{���ň����͈͂Ƃ��ẮA�����܂łłƂǂ߂Ă������Ƃɂ������܂��B
WAV�t�@�C������̍Đ��͏�L�̒ʂ�A�c�O�Ȃ��犮���ł͂Ȃ��̂ł����A�s�\�Ƃ��������Ԃł��B��������Âɍl����A�������ɁuDemo.exe�v�ŁuA�v�{�^����u1�v�{�^�����������ƂŁA��`�g��T�C���g�ȂǒP���Ȕg�`�͏o�͂ł���̂Łu�ڊo�܂����v�v���炢�Ɏg���邩������܂���(���̏ꍇ�͐ؒf�ꁕ�d�r��ɒ��ӂł�)�B�������������̃T�E���h�v���O���}���u���ꂮ�炢�̔g�`�v�����ł����ȉ��y������Ă�����j������܂��̂ŁA�ґ�͌����Ȃ��ł��傤�B
���āA����Ŗ{�͂͏I���ł��BWiiYourself!�ɂ��Ă��Ȃ�f�B�[�v�Ɏ��g��ł݂܂������A���Ă��邱�Ƃ��ł����ł��傤���H�R�}���h���C���v���O�����Ɋւ���ׂ����e�N�j�b�N�����Ȃ舵���܂����B������@���C++�ɂ��v���O���~���O����������ł����l�������̂ł͂Ȃ��ł��傤���B
�������AWiiYourself!�̓R�}���h���C���v���O�����̂��߂����ɂ���̂ł͂���܂���Bgl.tter����3D�V���[�e�B���O�Q�[���̗��������܂ł��Ȃ��A����̓l�C�e�B�uC���ꂪ�g������Ȃ�A���ɂł����p�ł��郉�C�u�����ł��B��̓I�ɂ�DirectX��OpenGL�Ƃ��������A���^�C��3DCG�AMaya��Virtools�Ƃ������R���e���c����\�t�g�E�F�A�̃v���O�C���ȂǁA���Ȃ蕝�L���g����킯�ł��B
�܂��A��҂�gl.tter���͂ƂĂ����I�Ȑl�ł��B�u�^�ʖڂȃn�b�J�[�v�ŁA���ł�WiiYourself!���X�V���Ă��܂�(�M�҂����Ȃ��`���Ă��܂����c)�B�߁X�V�����o�[�W�����������[�X����邱�Ƃ��m���ł����A�{�͂ł͈���Ȃ������A�ԊO���@�\���u4�_���o�{�傫���v�������܂��B�X�s�[�J�[�@�\�̊g����A�o�����X�{�[�h�̃T�|�[�g�Ȃǂ���荂�x�ɂȂ��Ă����ł��傤�B.NET�ɂ��WiimoteLib�Ƃ͂܂���������͂�����v���W�F�N�g�ł��̂ŁA�ǎ҂̊F���u���p���遨�Q�����遨�v������v�Ƃ����ւɓ��邱�ƂŁA�ǂ�ǂ@�\�ɂȂ��Ă����ł��傤�B���ꂩ����y���݂ȃv���W�F�N�g�ł��B
���̏͂ł͑�4�͂Ŋw��WiimoteLib�ɂ��ԊO���Z���T�[�@�\������ɂ����߂āA.NET�ɂ��}�E�X����v���O�����uWiiRemoteMouse�v���J�����܂��B���H�I�ȊJ���v���Z�X��ʂ��āA���p�ł���WiiRemote���p�C���^���N�e�B�u�Z�p��̌����A���͂́u���K���v�ւ̃X�e�b�v�Ƃ��܂��B
�Ƃ���Ń}�E�X�Ƃ����A���ɑ�3�͂ŁuGlovePIE�v���g���č��@�\�ȃ}�E�X���X�N���v�e�B���O�Ŏ������܂����B�����ł͂�����v���g�^�C�v�Ƃ��āA.NET���ɂ����鍂�x�ȃA�v���P�[�V�����J�����X�e�b�v��ǂ��ĉ�����Ă����܂��B�P��GlovePIE�łł��邱�Ƃ�.NET�ɈڐA���Ă��ʔ����Ȃ��ł�����A���ɁA�����ł͑�4�͂ł͈���Ȃ�����.NET�̊J����@��Ǝ��N���X�̍쐬�A�O��DLL�̎�荞�݁A�O���t�B�b�N�X��[�U�r���e�B�����コ����`���[�j���O�Ȃǂ����ۂ̊J����ʂ��ĉ�����܂��B
����J������}�E�X����v���O�����uWiiRemoteMouse�v�ŗ��p�����{�Z�p�̑����́A���܂܂Ŋw�Z�p�̑g�ݍ��킹�ł��B�ŏI�I�ɂ́A�F����ŐV�����@�\��lj��������Ȃ�悤�ɂł��Ă���A��ׂđ傫�ȃv���O�����ɂȂ��Ă������Ƃł��傤�B��4�͂ł́A�����ȋ@�\�̊m�F�̂��߂ɓ�����������R�[�h�������Ă��܂������A���̃R�[�f�B���O�X�^�C���̂܂ܑ傫�ȃv���O�����ɂȂ��Ă����ƁA�ǐ��������A�����፬���ɂȂ����v���O�����R�[�h�ɂȂ��Ă������Ƃ��\�z����܂��B���̂悤�ȃv���O�����͑��́u�X�p�Q�e�B�R�[�h�v�ƌĂ�܂��B�l�ł̊J���͂Ƃ������Ƃ��āA�`�[���ł̊J���ɂ����ẮA�ǐ���f�o�b�O�̂��Â炳����A�v���W�F�N�g�̐i�s������ɂ��錴���ɂ��Ȃ�܂��B
������g�ށuWiiRemoteMouse�v�̂悤�Ɂu��C�ɏ����グ�邱�Ƃ��ł��Ȃ����K�́`��K�͂̃v���O�����v���J������Ƃ��́A�܂��͈�U�A�v���O���~���O���痣��A��肽�����Ƃ�A�����������C���^���N�V�����A�ۑ�ȂǁA�u�d�l�v���ȒP�ɏ����o���܂��B���������������P�ʂ⏇�Ԃ�\�Ȃǂ܂Ƃ߁A����N���X�Ƃ������܂Ƃ܂��������̒P�ʂŊJ����i�߂Ă����Ɣ�r�I���܂������܂��B
�͂��߂Ďg���Z�p�̊J���ł���u�s���l�܂��Ă���d�l���čl�v�Ƃ�����@�ł��ǂ��̂ł����A����͊��ɑ�3��4�߁uGlovePIE�ł���w���@�\�}�E�X�x�v��A��4��9�߁u�ԊO���Z���T�[���g���v�ɂ����Ċ�{�ƂȂ�Z�p�͎����ς݂ł��̂ŁA����́uWiiRemoteMouse�v�̊J���ł́A���Ɏ�������@�\�Ɨ���A�v���C�I���e�B(�D�揇��)���A�ȉ��̂悤�ɂ܂Ƃ߂Ă݂邱�Ƃ��ł���̂ł͂Ȃ��ł��傤���B
�v���C�I���e�B | WiiRemote������ | �@�\ |
---|---|---|
1 | �ԊO���ƃ{�^���̏�� | �t�H�[���ɕ`�� |
2 | �ԊO���|�C���^�̈ړ� | �}�E�X�|�C���^�̈ړ� |
3 | [A]�{�^�� | �}�E�X���{�^�� |
4 | [A]�{�^�������� | �}�E�X�E�{�^�� |
5 | �o�b�e���[�c�� | LED�ɓd�r�c�ʃ��x���\�� |
�����Ƃ����ƁA���荞�݂����@�\������Ƃ������܂��B�Ⴆ�����`���[��A�L�[���͂̑���ȂǁA���Ɋw�K�����@�\�𑼂̃{�^���Ɋ��蓖�ĂĂ݂Ă��ǂ��ł��傤�B�\�̉��̕��Ƀv���C�I���e�B�ƂƂ��ɏ��������Ă݂Ă��������B���̍�Ƃ���ʓI�Ɂu�T�v�v�v�Ƃ����܂��B�ǂ��������Ƃ��������A�Ƃ����u�T�v�v�����̂����ɐv���Ă����܂��B
�@�{���̓v���O���~���O�̖{�Ȃ̂ł����u�C���^���N�e�B�u�Z�p�v�ɂ��Ă͏��������[���A�̌n�I�ɂ������Ă��܂��B
�@���̃Z�N�V�����ōs���u�T�v�v�v�Ƃ́A�܂��ɃC���^���N�e�B�u�Z�p�̊j�ƂȂ�d�v�ȃ|�C���g�ł��B����́u�����������@�\�v��\�ɏ����o���āA�v���C�I���e�B������c�Ƃ������@���̗p���܂������A����͑S�Ă̏ꍇ�ɂ����Đ�����������ł͂Ȃ��A�ނ���u����̂��߂Ɏd���Ȃ��v��ʓI�ȃ\�t�g�E�F�A�J����@�̗�����Ƃ�܂����B
�@�C���^���N�e�B�u�Z�p�ɂ�����T�v�v�ɏd�v�Ȃ��Ƃ́u�z�����邱�Ɓv�ł��B�@�\�I�Ȑ�����uWiiRemote�ɂ��������@�\�����邩��...�v�Ƃ������u�@�\�w��(functionally-oriented)�v�̐v�ł͂Ȃ��A���ꂩ��u�J�����鉽��(something)�v���A�u�ǂ�ȑ̌�(experience)�v�����[�U�[�ɗ^���A���̑̌���ʂ��āu�ǂ�ȉ\��(possibilities)�v�������āA�u�ǂ�ȃ��A�N�V����(reaction)�v�ɂȂ���̂��B�܂��͂����ɑz���͂��g���w�͂����Ă��������B�܂�A���Ԃ������Ă��������B
�@��������Łu���[�U�[�C���^�[�t�F�[�X�f�U�C���v�Ƃ����l����������܂��B�l�Ԓ��S�f�U�C��(HCD:Human Centered Design)��[�U�r���e�B����̂��߂̕]����@��v��@�Ȃǂ́A�ߔN��Web��GUI(Graphical User Interface)�̃C���^�[�t�F�[�X�v�Ȃǂ𒆐S�ɁA�ȑO�����͂邩�ɑ̌n�I�ɐ�������Ă��Ă��܂��B�Ⴆ���ەW���K�i�uISO13407�v�ɁuHuman-centred design processes for interactive systems(�C���^���N�e�B�u�V�X�e���̐l�Ԓ��S�v�ߒ�)�v�Ƃ��ċK�肳��Ă��܂��B
�@���ۋK�i�Ƃ����ƁA��������邩������܂���ŏ������Ƃ���A�u�@�\�ł͂Ȃ��l�Ԓ��S�v�ɍl���邱�Ƃł��B�v�̏����ŋ�̓I�ȃ��[�U�[��A�����ŋN���肤��̌����u�z���v���A�����Ď��ۂɍ�������m�ƃ��[�U�[�̏��ώ@���A�J��Ԃ��v���s���c�Ƃ����v���Z�X�ɂȂ�܂��B
�@�������������[�U�[�C���^�[�t�F�[�X�f�U�C���̉��ǂ���ƂƂ��Ď��H���A���ʂ��グ�Ă����Ƃ�����܂��B�������Web�T�C�g�ɂ́A���̘b��Ɋւ��Ė��ɗ��������Ȗ{����R�Љ��Ă��܂��B
���\�V�I���f�B�A��
�@https://www.sociomedia.co.jp/category/books
���ۂɎ�������@�\�Ƃ��̏��Ԃ����܂�܂����̂ŁA���͏����̒P�ʂ��ƂɊJ���̗�����l���܂��B�������ʓI�ɂ́u�v��v�ƌ����܂��B�������n�߂đ̌�����l�ɂƂ��āA��̂��Ƃ͌��ʂ������܂���u���ܑz�肵�Ă��闬��v�ł��܂��܂���B�����o���Ă݂܂��B
�u�T�v�v�v��u�v��v���ق�̏����ӎ�����K�������邾���ŁA�v���W�F�N�g�̐i�s�͑傫���ς��܂��B�����ł́u�T�v�v�v�ƊȒP�Ȍv����쐬���܂����B���ۂ̃v���W�F�N�g�ł́A�����Ɂu�����v�A�u���ʂ��̂��Ă��Ȃ��Z�p�v�A�u�����ƕ]���v�A�u�v�̌������v�Ȃǂ荞��ł����ƁA���v���W�F�N�g�炵���Ȃ��Ă����܂��B�u�T�v�v�v�����ڍׂȉ�ʃC���[�W��@�\�A���������ł̃p�����[�^�[�A���Ƃ��u�������v�����b�������ƂȂ̂��A�Ȃǂ荞��ł����Ɓu�ڍאv�v�ɂȂ�܂��B
�{����WiiRemote�ɂ�����v���O���~���O����Ƃ��̓ƏK���ړI�Ȃ̂ł����܂ł̃��x���ɂƂǂ߂Ă����܂��B�����̂���l�́u�v���W�F�N�g�}�l�W�����g�v�ɂ��ď��X�̎��p���R�[�i�[��T���Ă݂�Ɨǂ��ł��傤�B�v���O���~���O����Ɩ��̃v���W�F�N�g�܂ł��܂��܂Ȏ��p��������͂��ł�(���莎��������܂�)�B����IT�p��̃v���W�F�N�g�}�l�W�����g�ƁA�r�W�l�X�p��̃v���W�F�N�g�}�l�W�����g�͈Ӗ�����Ƃ���ƈ������e�������Ԃ�ƈقȂ�܂����A������ɂ���u�����ǂ݂��Ă݂Ė��ɗ����p���v�Ȃ�A�����ēǂ�ł݂Ă����͂Ȃ��ł��傤�B
�܂��͕��K�����˂āA�V�����v���W�F�N�g���쐬���܂��B�ԊO���Z���T�[�̓��͂���M���ăt�H�[���ɕ`�悷��v���O���������܂��傤�B��4��9��3�ŏЉ���ԊO��4�_���o�ɂ��u���W�̕`��v�v���O�������x�[�X�ɂ��āA���ς��Ă��ǂ��̂ł����A���K�����˂ă|�C���g�𗬂�Ő������܂��̂Ŏ��ۂɎ�����Ă݂Ă��������B
�܂�C#.NET2008�ŐV�K�v���W�F�N�g���쐬���܂��B�uVisual C#�v���uWindows�t�H�[���A�v���P�[�V�����v�Ńv���W�F�N�g�����uWiiRemoteMouse�v�Ƃ��܂��B�\�����[�V�����G�N�X�v���[���[�ɂ���u�Q�Ɛݒ�v���E�N���b�N���A�Q�Ƃ̒lj��Łu�ŋߎg�p�����t�@�C���v����uWiimoteLib.dll�v(�o�[�W����1.7.0.0)��I�����܂��B�u�\���v���u�c�[���{�b�N�X�v��I�сA�uForm1�v�ɑ���2�̃{�^����z�u��Text�v���p�e�B���u�ڑ��v�A�u�ؒf�v�Ƃ��܂��B�z�u�����{�^��2�����ꂼ��_�u���N���b�N���āA�{�^�����������Ƃ��̃C�x���g�������������܂��B�܂��uForm1�v��PictureBox��z�u���T�C�Y���u256, 128�v�ɐݒ肵�܂��B�f�o�b�O�p�̕������\������ꏊ�Ƃ��āuLabel1�v��z�u���܂��B
�܂��̓X�^�[�g�n�_�ƂȂ�u�ŏ��̏�ԁv�ɂȂ�܂ŃR�[�h�����܂��傤�B�R�[�h�̏�ʼnE�N���b�N���uusing�̐����v���u���g�p��using�v�̍폜�Ƃ��邱�ƂŁAusing�錾�ɂ���K�v�Ȃ��N���X�͍폜���邱�Ƃ��ł��܂��B�K�v�ȃN���X�uWiimoteLib�v�����������܂��B������ŏ��̈���Ƃ��܂��B
using System; using System.Drawing; using System.Windows.Forms; using WiimoteLib; namespace WiiRemoteMouse { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { } private void button2_Click(object sender, EventArgs e) { } } }
�����܂ł̃X�e�b�v�ŊԈႢ�͋N���Ȃ��͂��ł����A�m�F�̂��߈�x[F5]�L�[�Ŏ��s���Ă����Ȃ����Ă����Ɨǂ��ł��傤�B�������t�H�[�����\�����ꂽ��I�����A�v���W�F�N�g�S�̂�ۑ����܂��B�u�t�@�C���v���u�S�Ă̕ۑ��v�Ƃ��āuC:\WiiRemote�v�Ƀ\�����[�V�������uWiiRemoteMouse�v�ŕۑ����܂��傤�B
����ł́A��4��9�߁u�ԊO���Z���T�[���g���v�ŊJ�������R�[�h���Q�l�ɂ��āA�ȉ��̂悤�Ȋ�{�R�[�h���쐬���܂��傤�B
using System; using System.Drawing; using System.Windows.Forms; using WiimoteLib; //WimoteLib�̎g�p��錾 namespace WiiRemoteMouse { public partial class Form1 : Form { Wiimote wm = new Wiimote(); //Wiimote�N���X���쐬 Boolean isConnected = false; //WiiRemote���ڑ����ꂽ�� public Form1() { InitializeComponent(); //���X���b�h����̃R���g���[���Ăяo������ Control.CheckForIllegalCrossThreadCalls = false; } //WiiRemote�̏�Ԃ��ω������Ƃ��ɌĂ��� void wm_WiimoteChanged(object sender, WiimoteChangedEventArgs args) { WiimoteState ws = args.WiimoteState; //WiimoteState�̒l���擾 DrawForms(ws); //�t�H�[���`�ʊ��� } //�t�H�[���`�ʊ� public void DrawForms(WiimoteState ws) { //�O���t�B�b�N�X���擾 Graphics g = this.pictureBox1.CreateGraphics(); g.Clear(Color.Black);//��ʂ����F�ɃN���A g.Dispose();//�O���t�B�b�N�X�̉�� } //�ڑ��{�^���������ꂽ�� private void button1_Click(object sender, EventArgs e) { wm.Connect(); //WiiReote�̐ڑ� wm.WiimoteChanged += wm_WiimoteChanged; //�C�x���g���̓o�^ //���|�[�g�^�C�v�̐ݒ� wm.SetReportType(InputReport.IRAccel, true); } //�ؒf�{�^���������ꂽ�� private void button2_Click(object sender, EventArgs e) { wm.WiimoteChanged -= wm_WiimoteChanged; //�C�x���g���̓o�^���� wm.Disconnect(); //WiiRemote�ؒf wm.Dispose(); //�I�u�W�F�N�g�̔j�� } } }
�R���p�C�����ē���m�F�����܂��BForm1�̖`����WiiRemote�̐ڑ���Ԃ��Ǘ�����ϐ��uBoolean isConnected�v��錾���Ă��܂��B���|�[�g�^�C�v�́uIRAccel�v�A�܂�w�ԊO���{�����x�Z���T�[�x�Ƃ��܂��B�uIRExtensionAccel�v�ł��ǂ��̂�������܂��A�����ł͊g���[�q���g���\��͂���܂���̂ŁA�œK�ȃ��[�h��I�����Ă����܂��傤�B
�����ŁA�����K�͂ɂȂ��Ă����ł��낤���̃v���O�����̑S�̂̍\�������Ă��������Ƃ������܂��B���̒i�K�ł̃R�[�f�B���O�͏������ȂNJ�{�I�ȂƂ��낾���ɂƂǂ߁A�X�̋@�\�̎����ɓ���O�ɁA�ꔏ�����܂��傤�B�܂��̓f�B�[�v�ȃR�[�f�B���O���n�߂�O�ɁA�ȒP�ȃR�����g�������Ă������Ƃ��厖�ł��B����Ɏ��O�Ɂu���������@�\�������������A����\��v�Ƃ����u���b�N����ɂ܂Ƃ߂Ă������ƂŁA�S�̂̌��ʂ���ǂ����܂��B
�܂������̃u���b�N�����w�т܂��傤�BVisual Studio�ł́A�v���O�����R�[�h���Ɂu#region�`#endregion�v�Ə������ƂŁA�R�[�h���u���b�N(=�ЂƂ̃J�^�}��)���Ƃɂ킯�邱�Ƃ��ł��܂��B���̃u���b�N���Ƃ�Visual Studio�R�[�h�G�f�B�^�̃A�E�g���C���@�\���g�p���āA�W�J��܂肽���݂��ł���悤�ɂȂ�܂��B
�g�������ȒP�ŁA�u���b�N��}���������v���O�����̍s�ʼnE�N���b�N���āu�u���b�N�̑}���v�Łu#region�v��I�����邾���ł��B�����ł͏�L�̊�{�R�[�h�ɂ�����A�t�H�[���̐ڑ��{�^���Ɛؒf�{�^���̃u���b�N�ɑ��āu�t�H�[���̃{�^������(�ڑ��E�ؒf)�v�Ƃ������O�����܂��傤�u#region�v��I��ŁA���O�����܂��B
�u�u���b�N�̑}���v��I�сA�����ݒ肵�Ȃ��Ɖ��̂悤�ȃR�[�h���}������܂��B
#region MyRegion #endregion
���O�����ԈႦ�Ă��A�ꏊ���ԈႦ�Ă����ł͂���܂���B�u#region�v�͂����܂�C#�̃v���O�����ɏ����ꂽ�u�⑫�I�ȏ��v�ł���A�r���h���A�ŏI�I�ɂ͖�������܂�����A�C�y�Ɏg���ėǂ��̂ł��B�ł́u�t�H�[���̃{�^������(�ڑ��E�ؒf)�v���܂Ƃ߂邽�߂ɐ������ꏊ�ɏ����Ă݂܂��傤�B
#region �t�H�[���̃{�^������(�ڑ��E�ؒf) //�ڑ��{�^���������ꂽ�� private void button1_Click(object sender, EventArgs e) { wm.Connect(); //WiiRemote�̐ڑ� wm.WiimoteChanged += wm_WiimoteChanged; //�C�x���g���̓o�^ //���|�[�g�^�C�v�̐ݒ� wm.SetReportType(InputReport.IRAccel, true); } //�ؒf�{�^���������ꂽ�� private void button2_Click(object sender, EventArgs e) { wm.WiimoteChanged -= wm_WiimoteChanged; //�C�x���g���̓o�^���� wm.Disconnect(); //WiiRemote�ؒf wm.Dispose(); //�I�u�W�F�N�g�̔j�� } #endregion } }
�\����܂肽���ނɂ́A�R�[�h�̍���(�s��)�ɂ��鏬���ȁu�|�v���N���b�N����ƁA�R�[�h�u���b�N���B�����Ƃ��ł��܂��B
�Ȃ��u#endregion�v��}������ꏊ�ɒ��ӂ��Ă��������B�ߏ��ɂ���u}�v(���̏I���)�̈ʒu���ԈႦ�Ă��v���O�����͓����܂����A�R�[�h�u���b�N��܂肽���ނƂ����S���G���[�͋N���܂��A���������ƂŃR�[�h��ǂނƂ��ɑ�ςȂ̂ŁA�K���Ƃ��ċC�������܂��傤�B
�u���b�N���̊�{���w��A����WiiRemote�̏�Ԃ��X�V���ꂽ�Ƃ��ɌĂ��R�[���o�b�N���uwm_WiimoteChanged()�v�����ꂩ��������鏈���̒P�ʂŃu���b�N�ɕ������Ă����܂��B���ꂼ��̋@�\�P�ʂŊ������A�u���b�N�Ƌ�(�J��)�̊���p�ӂ��Ă����܂��B�ȉ��̒ʂ�ɃR�[�h���u���b�N�����Ă݂Ă��������B
���O���� #region WiiRemote�̏�Ԃ��ω������Ƃ��ɌĂ��� void wm_WiimoteChanged(object sender, WiimoteChangedEventArgs args) { if (isConnected == true) { WiimoteState ws = args.WiimoteState; //WiimoteState�̒l���擾 DrawForms(ws); // �t�H�[���`����� IR_Cursor(ws); // �ԊO���Ń}�E�X�J�[�\���ړ� Events(ws); //�{�^���C�x���g����(�_�~�[��) EffectsOut(ws); // LED�E���� } else { //�ؒf this.wm.SetLEDs(0); // LED���� this.wm.SetRumble(false); // �o�C�u���[�^�[��~ this.wm.Disconnect(); // WiiRemote�Ɛؒf this.wm.Dispose(); // �I�u�W�F�N�g�̔p�� } } #endregion #region �{�^���C�x���g�J���p public void Events(WiimoteState ws) { } #endregion #region �t�H�[���`��� public void DrawForms(WiimoteState ws) { //�O���t�B�b�N�X���擾 Graphics g = this.pictureBox1.CreateGraphics(); g.Clear(Color.Black);//��ʂ����F�ɃN���A g.Dispose();//�O���t�B�b�N�X�̉�� } #endregion #region �ԊO���Ń}�E�X�J�[�\���ړ� public void IR_Cursor(WiimoteState ws) { } #endregion #region LED�E���� public void EffectsOut(WiimoteState ws) { } #endregion #region �t�H�[���̃{�^������(�ڑ��E�ؒf) ���ȉ�����
����ۂ̊��������͕̂s�������邩������܂��A����ł����Ȃ��r���h�͒ʂ�܂��B�m�F���Ă����܂��傤�B
�r���uEvents(ws);�v�ɂ��āu�_�~�[���v�ƃR�����g���Ă����܂����B�����WiiRemote�������ꂼ��̃{�^���C�x���g�������������z�肵�Ă��܂��B��X��K�͂ɂȂ邱�Ƃ��\�z�����̂ƁA�N���X�Ƃ��Ă��Ƃōė��p�ł������Ȃ̂ŁAForm1.cs�ł͂Ȃ��A�ʂɐV�����N���X�I�u�W�F�N�g���쐬���Ď�������\��ł��B���̒i�K�ł́w�ʃN���X�ɂ����炢�����A���ʂ����Ȃ���I�x�Ƃ�����ԂȂ̂ŁuEvents()�v�Ƃ������̊��Ŏ������A���Ƃŕʂ̃N���X�ɈڐA���Ă����܂��B
�u#region�v���g�����ƂŁA�R�����g�Ɠ����ł��āA���₷���Ȃ�܂����BVisual Studio�ł͊��P�ʂ��s���ɂ���u�|�v���N���b�N���邱�ƂʼnB�������ł��܂����A�{���̈ȉ��̉���ł̓u���b�N�P�ʂʼn�����܂��̂ŁA#region�`#endregion�̈ʒu�͂�������ݒ肵�Ă����Ă��������B
�@�Q�[���J���Ȃǂɂ���\����鑽���̃C���^���N�V�����Z�p���g�����v���O�����́u�X�p�Q�e�B�R�[�h�v�ɂȂ肪���ł��B�������{�l�ɕ����ƁA��ȗ��R�́u(����Ɋւ���)���ȏ��Ƃ��Ȃ����c�v�Ƃ����������̂ł����A�O�̃R�����ł��Љ���Ƃ���A���ȏ��͑�R�o�Ă��܂��B
�@�|�C���g�́u���[�U�[�C���^�[�t�F�[�X�f�U�C���ɂ͊J���̃��[�v������v�Ƃ������Ƃ����ɂ߂Ă��邩�ǂ����A��������܂���B���슴��̌��̈�ۂɒ�������u�l�Ԓ��S�v�̋@�\����������̂ł�����A�R�[�f�B���O���e�X�g���`���[�j���O���lj��@�\�Ƃ������[�v�̒��Ɂu�l�Ԓ��S�v�������Ă��܂��B
�@���̂悤�ɃC���^���N�e�B�u�Z�p�Ƃ́u�l�ԁv���Ԃɓ���Z�p�ł��B���̂��߁u�@�\�v�����S�ɂȂ�Ɩ��A�v���P�[�V�����̈�ʓI�J����@�̂悤�Ɂu���ꂾ�v�ƌ��ߑł��Ŏd�l�����A���̒ʂ�ɍ���Ă��A���ۂɂł��オ�������̂�l�Ԃ��G���āA�������������x�A���z�I�ȃC���^���N�V�����ɂȂ�悤�A���r���[�Ɛv�A�t�B�[�h�o�b�N���J��Ԃ��Ȃ���A�����x�̍����̌���A�\�����������E�͂Ȃ��Ȃ��`���܂���(�Ƃ͂����Ɩ��A�v���P�[�V�������u��s��ATM�v�̂悤�ɐl�Ԓ��S�ōl����ׂ��v�f�͑����ɂ���܂�)�B
�@�Ȃ�ƂȂ��v���O���~���O���Ă���Ǝ��R�ƃX�p�Q�e�B������C���^���N�V�����Z�p���A���������R�[�h�ɗ��Ƃ����߂�悤�A�{���ł͌܌�墂����炢�ɒ��J�ɐ������Ă��܂�(�����v���O���}�ɂƂ��Ă͉�肭�ǂ������邱�Ƃł��傤�I)�B�{���ʼn�����Ă���R�[�f�B���O�X�^�C�����u�����v�Ƃ������̂ł͂���܂��A�����ʼn�����Ă���u���b�N����N���X�����A����������������Ƃ������̂ł�����܂���B
�@���Ȃ��Ƃ������邱�Ƃ́A���̂悤�ȃC���^���N�V�����J���v���W�F�N�g�̌��ʂ���ǂ�����ɂ́A��C�ɍ�����X�p�Q�e�B���u䥂ő�����v�����A�����������@�\������ۂ̂܂ܔz�u���āA�ЂƂЂƂ����ƕ]�������Ȃ��珇�ɉ������Ă������@�����ɗ��A�Ƃ������Ƃł��B���傤�ǃR�[�X�����́u�M�̍\���v���ɍl���āA��������w�ǂ��������Ԃŗ�������ׂ����H�x���l����悤�Ȃ��̂ł��傤�B�ꍇ�ɂ���Ă̓R�[�X�̓r���ŁA���q����̔��������ė����������ւ��邱�Ƃ��l���Ȃ���Ȃ�܂���B
�@���������Ӗ��ł́A���[�U�[�ɑ��āw���܍��ׂ������́A�X�p�Q�e�B���R�[�X�������H�f�U�[�g�͂���̂��H�x���A�܂����肪�������Ă���K�v������܂��B�����Ɏ��Ԃ������Ȃ��ƁA�X�p�Q�e�B�ǂ��납�A���q����̊�����Ȃ��œˑR�u�h���u���ɐ������œ�v���łĂ��邱�ƂɂȂ邩������܂���B
�u���b�N�����邱�ƂŃR�[�h�����₷���Ȃ�܂����B���������̏�ԂŃv���O���������s����ƁA�l�X�ȕs����c���Ă���͂��ł��B�Q�Ă��A�ЂƂÂЕt���Ă����܂��傤�B
�܂��̓v���O�������N���������Ƃ̃t�H�[���̃C�x���g���������Ȃ���������Ă����܂��傤�B���݂̏�Ԃł�WiiRemote�ւ́u�ڑ��v�Ɓu�ؒf�v�����J�ł͂Ȃ��̂ŁA�uisConnected�v�Ƃ���bool�^�̕ϐ���p�ӂ��āA�ڑ���Ԃ��Ǘ����Ă����܂�(WiimoteLib�ɂ�����ɂ�����v���p�e�B�������Ă��悳�����Ȃ��̂Ȃ̂ł����A�����WiimoteLib�̐v�ł͌X�̃A�v���P�[�V�������Ŏ�����������悳�����ł�)�B
#region �t�H�[���̃{�^������(�ڑ��E�ؒf) //�ڑ��{�^���������ꂽ�� private void button1_Click(object sender, EventArgs e) { if (this.isConnected == false) { this.wm = new Wiimote(); //WiiRemote�̏����� this.wm.Connect(); //WiiRemote�ڑ� this.wm.SetReportType(InputReport.IRAccel, true); //���|�[�g�^�C�v�̐ݒ� this.wm.SetLEDs(0); //LED ������ this.wm.SetRumble(false); //�o�C�u���[�^�X�g�b�v this.button1.Enabled = false; //�ڑ��{�^���� this.button2.Enabled = true; //�ؒf�{�^����L�� this.wm.WiimoteChanged += wm_WiimoteChanged; //�R�[���o�b�N��o�^ this.isConnected = true; //�ڑ���Ԃ�true } } //�ؒf�{�^���������ꂽ�� private void button2_Click(object sender, EventArgs e) { if (this.isConnected == true) { this.wm.WiimoteChanged -= wm_WiimoteChanged; //�R�[���o�b�N���폜 this.button1.Enabled = true; //�ڑ��{�^����L�� this.button2.Enabled = false; //�ؒf�{�^���� this.isConnected = false; //�ڑ���Ԃ�false } } #endregion
�t�H�[���̃{�^���������ꂽ�Ƃ��A�uisConnected�v���m�F���A�����܂��ڑ�����Ă��Ȃ��Ȃ�A�ڑ������A���|�[�g�^�C�v�̐ݒ�A�����ăR�[���o�b�N����o�^���āA�ϐ��uisConnected�v��true�ɂ��܂��B
���l�Ɂu�ؒf�v�{�^���������ꂽ�Ƃ��͊��ɐڑ�����Ă���WiiRemote�I�u�W�F�N�g(wm)�ɓo�^���ꂽ�R�[���o�b�N�����폜���Ă��܂��B
�t�H�[����́u�ڑ��v��u�ؒf�v�{�^���́uEnabled=false�v�Ƃ��邱�ƂŖ������A�܂�u�����Ȃ���ԁv�ɂ��邱�Ƃ��ł��܂��B���̂悤�ɂǂ��炩�������ƁA�ǂ��炩�̒l���r���I�ɕς��A�����̏Ɩ��̂悤�ȃ{�^�����u�g�O��(toggle)�v�Ƃ����܂����A������\�t�g�E�F�A�Ŏ������Ă��邱�ƂɂȂ�܂��B
�@�{���ł͌����⓮��𒆐S�ɉ�����Ă��܂��̂ŁA���[�U�[�̕s�ӂ̏I����WiiRemote�̓d�r��A���̑��G���[�����Ȃǂ�(�v���v���Ő������Ă͂��܂���)���S�ɂ͈�����Ă��܂���B�F���t���[�E�F�A�ȂǁA�����̃v���O�������w���L���A�N���x�Ɏg���Ă��炤�ɂ͓��ɋC�������������ǂ��ł��傤�B
�@�K���Ƃ��āu������-�I���v�A�u�I�u�W�F�N�g�̒lj�-�폜�v�̓����Z�b�g�ŃR�[�f�B���O���Ă����Ǝv��ʃ~�X�̌y���ɖ𗧂��܂��B����C#�̏ꍇ�́A���[�U�[�t�����h���[�ɐv���ꂽ������Ȃ̂ŁA�폜�������Ŏ��{���Ă����d�g�݂�����܂��B�ӎ����Ďg�����Ƃ��ł���G���K���g�Ȃ̂ł����A�t�Ɂu�����ςȂ��A�폜�́c���������v�Ƃ����v���O���~���O�X�^�C�����ɂ��ƁA�I�u�W�F�N�g�̃X�R�[�v(��������)�������Â炭�Ȃ�A�v���O�����̓��쎩�̂͊������Ă���̂ɁA�c������I�u�W�F�N�g�̂������ŕs���̃G���[�����s���ɋN��������A�����ԋN�����Ă����ƃ��������[�N(�������R��)���N�����A�������ˑR�x���Ȃ�����A�N���b�V�������肷��w���Ƃ��Ǝ�̂�����v���O�����x�ݏo���܂��B
�@���ɃI�u�W�F�N�g�̏I����j���͖Y�ꂪ���ł��BWiimoteLib�̂悤�ɒN������������C�u�����̏ꍇ�͒P�Ɂu�I���v�Ƃ���API�������Ă��A�����ʼn�������Ă��邩�킩��Ȃ��ꍇ������܂��B�R�[�f�B���O�̗����u���܂����ŏI�����ėǂ����킩��Ȃ��v�Ƃ������Ƃ�������ł��傤�B����ȂƂ��́u//To���F�����Ŕj���H�v�Ȃǁw�����̎������x�ɃR�����g�����Ă������ƂŁA��X�̃R�[�h�����̎��Ɍ����ɖ��ɗ������肵�܂��B
���͐ԊO���Z���T�[�𗘗p���āA�}�E�X�|�C���^���������̎��������܂��B�����Ȃ�}�E�X�����������������Ă������̂ł����A�ԊO���̏������Ȃ��ƊJ������q���܂��̂ŁA�܂��̓t�H�[���`����uDrawForms()�v�Ɏ�������ĐԊO����WiiRemote�̎��E�ɓ�������A�O���t�B�b�N�X�ƕ����ő���l��\������悤�ɂ��܂��B
#region �t�H�[���`��� public void DrawForms(WiimoteState ws) { //�O���t�B�b�N�X���擾 Graphics g = this.pictureBox1.CreateGraphics(); g.Clear(Color.Black);//��ʂ����F�ɃN���A //�����ԊO�����P�ł����������� if (ws.IRState.IRSensors[0].Found) { //�ԐF�Ń}�[�J0��`�� g.FillEllipse(Brushes.Red, ws.IRState.IRSensors[0].Position.X * 256 , ws.IRState.IRSensors[0].Position.Y * 128 , 5, 5); //�F�Ń}�[�J1��`�� g.FillEllipse(Brushes.Blue, ws.IRState.IRSensors[1].Position.X * 256, ws.IRState.IRSensors[1].Position.Y * 128, 5, 5); } g.Dispose();//�O���t�B�b�N�X�̉�� label1.Text = "IR[0] " + ws.IRState.IRSensors[0].RawPosition.ToString() + "\nIR[1] " + ws.IRState.IRSensors[1].RawPosition.ToString(); } #endregion
�ԂƐA2�̃|�C���^�������߂ɕ\�����Ă��܂��B�t�H�[���́ulabel1�v�ɕ\�������e�L�X�g��A���W�̕����Ȃǁu�������v�ɂ��āA���D�݂ʼn��ǂ��Ă��������Ă��܂��܂��A�Ō�Ɂu�����v�Ƃ��đ啝�g������\��ł��B���̃X�e�b�v�ł͂��܂�C�ɂ����A��ɐi�݂܂��傤�B
���̓}�E�X�|�C���^�[��ԊO���œ�������悤�ɂ��܂��B�܂��A�������R�[�h�̒��ɁA�ϐ��uScreenSize�v��lj����܂��傤�B
Wiimote wm = new Wiimote(); //Wiimote�N���X���쐬 System.Drawing.Point ScreenSize; //|��ʃT�C�Y���i�[ Boolean isConnected = false; //WiiRemote���ڑ����ꂽ��
���ɁA���uIR_Cursor�v���������܂��B����͐ԊO���̈ʒu�ɂ��킹�āA�}�E�X�|�C���^���ړ�������R�[�h�ł��B
#region �ԊO���Ń}�E�X�J�[�\���ړ� public void IR_Cursor(WiimoteState ws) { ScreenSize.X = Screen.PrimaryScreen.Bounds.Width; //��ʃT�C�Y���� ScreenSize.Y = Screen.PrimaryScreen.Bounds.Height; //��ʃT�C�Y�c�� //�����ԊO����1���������� if (ws.IRState.IRSensors[0].Found) { //�ԊO�����W(0.0�`1.0)����ʃT�C�Y�Ɗ|�����킹�� int px = (int)(ws.IRState.IRSensors[0].Position.X * ScreenSize.X); int py = (int)(ws.IRState.IRSensors[0].Position.Y * ScreenSize.Y); //X���W�]������ px = ScreenSize.X - px; //�}�E�X�J�[�\�����w��ʒu�ֈړ� System.Windows.Forms.Cursor.Position = new System.Drawing.Point(px, py); } } #endregion
�擾�����ԊO���}�[�J�[��1�ڂ�X,Y���W���}�E�X�J�[�\���̈ʒu�ɐݒ肵�Ă��܂��BSystem.Drawing�ɗp�ӂ���Ă���2�����̓_�������^Point(px,py)�������āA�}�E�X�J�[�\���ʒu��ύX���邽��System.Windows.Cursor.Poition�ɑ�����Ă��܂��B
�����������Ă݂܂��傤�BWiiRemote��Bluetooth�ڑ����A�Z���T�[�o�[�Ȃǂ̐ԊO���������������Ă���[F5]�L�[�������ăf�o�b�O�J�n���܂��B�\�����ꂽ�t�H�[���́u�ڑ��v�{�^���������A���Ȃ��ڑ����ꂽ��AWiiRemote��ԊO�������Ɍ����Ă��������B
���Ȃ��Ƃ�1�_�ł��ԊO�������o�����ƃt�H�[�����ɐԂ��}�[�J�[���\������AWindows�̃}�E�X�J�[�\������̓����ɂ����Ĉړ����܂�(�E�ɓ������A�E�Ƀ}�E�X�J�[�\���������͂��ł�)�B�ԊO�������o���Ă���Ԃ́APC�ɐڑ�����Ă���}�E�X��G���Ă��v���ʂ�ɓ��������Ƃ͂ł��܂���B
�Ȃ��A���s���Ƀ}�E�X�J�[�\�����o�^�o�^����ꍇ������܂��B�ԊO���Z���T�[�̏�Ԃ╡���̃}�[�J�[��WiiRemote�̎��E�ɓ����Ă��邱�ƂɋN������s����Ȍ��o��Ԃɂ����̂ł��BWiiRemote�ƃZ���T�[�o�[�Ƃ̋�����2m���x�܂ŗ����Ă݂��肷��ƈ���ɂȂ�܂����A��قǃR�[�h�̌������ƃ`���[�j���O�����{���܂��̂ŁA���ɍ��͋C�ɂ��Ȃ��Ă��悢�ł��傤�B
�I������ꍇ�́A�ԊO�������o���Ȃ��悤�ɂ���(�Z���T�[���������ɂ��ė��Ă�Ƃ������ł�)�ƁA�}�E�X�̐��䂪�߂�܂��̂ŁB�u�ؒf�v�{�^���������Ă���I�������Ă��������B�}�E�X�J�[�\���ɗ��炸�A[TAB]�L�[�𐔉��A[Enter]�L�[�Łu�ؒf�v����͂��鎖�ł��A�ȒP�ɏI�����邱�Ƃ��ł��܂��B
���̓{�^���C�x���g�ł��B��قǂ͋���ۂɂ��Ă����{�^���C�x���g����������_�~�[���uEvents()�v���������Ă����܂��傤�B
�{�^���C�x���g�ƊȒP�Ɍ����Ă��AWiiRemote�̃{�^���͂�������܂����A�}�E�X��WiiRemote�ɕt���Ă���f�W�^�����̓{�^���ɂ͈ȉ��́u3�̏�ԁv������܂��B
�yDOWN�z�c�{�^�������������(Push)�B
�yHOLD�z�cDOWN��A�{�^�����������ςȂ��ɂ��Ă�����(Press)�B
�yUP�z�c�{�^���𗣂������(Release)�B
����������ł������菈�����Ȃ��ƁA�_�u���N���b�N�Ȃǂ����o����͓̂���Ȃ�܂��B
�T�v�v�ɏ]���āAWiiRemote��[A]�{�^���ɑ��Ĉȉ��̃}�E�X��������蓖�Ă邱�Ƃɂ��܂��B
�EA�{�^������������(DOWN)�A�}�E�X�̍��N���b�N�s���܂��B
�EA�{�^����������������(HOLD)�A�}�E�X�̉E�N���b�N�s���܂��B
�EA�{�^������������(UP)�A�}�E�X�{�^���������Ă��Ȃ���Ԃɂ��܂��B
�u������(HOLD)�v��1�b�ԉ������ςȂ��ɂ��邱�ƁA�Ƃ��Ă����܂��傤�B
�܂��͊m���ɒ������C�x���g���E����悤�Ɂu���b�Z�[�W�{�b�N�X�v���g���Ċm�F���܂��B
�������������ɒlj��� //�{�^���C�x���g�J���p bool isDown; int StartTime, PressTime = 1000; string State = ""; �������� #region �{�^���C�x���g�J���p public void Events(WiimoteState ws) { if(ws.ButtonState.A) { if (isDown == false) { //���������߂ă{�^���������ꂽ�Ƃ� StartTime = System.Environment.TickCount; //�����ꂽ���Ԃ��L�^ State = "DOWN"; isDown = true; } else { //������Ă��鎞�Ԃ�PressTime��蒷�����HOLD if ((System.Environment.TickCount - StartTime) >= PressTime) { State = "HOLD"; //�����ꑱ���Ă��� //���b�Z�[�W�{�b�N�X��\�� MessageBox.Show(State); } } } else { if (isDown == true) { //�{�^���������ꂽ State = "UP"; isDown = false; } } } #endregion
���̒i�K�Ńe�X�g�����Ă݂܂��傤�B�v���O�������N�����Đڑ����A[A]�{�^�����������ςȂ��ɂ���1�b�܂ƁA�uHOLD�v�Ə����ꂽ���b�Z�[�W�{�b�N�X���\������܂��B
MessageBox.Show()�ŗ��p�ł���u���b�Z�[�W�{�b�N�X�v�͂��̎�̃f�o�b�O��J���ɔ��ɖ��ɗ����܂��B�����ł͂����m�F���I���܂����̂ŁA���̍s�̓R�����g�A�E�g�������͍폜���Ă��܂��Ė�肠��܂���B
�@�v���O�����̓�����m���߂邽�߂ɁA�f�o�b�O���K�v�ɂȂ邱�Ƃ�����܂��BVisual Studio�̕W���@�\�ł�[F9]���������ƂŃu���[�N�|�C���g��}�����邱�Ƃ��ł��܂��B�������v���O�������~�߂�܂ł��Ȃ��A������Ƃ����l���������Ƃ��Ȃǂ�����܂��B
�@����Љ���u���b�Z�[�W�{�b�N�X�v�ȊO�̃e�L�X�g�\���̕��@�Ƃ��āAC#�ł́uConsole.WriteLine()�v���g���ă��b�Z�[�W���o�͂��邱�Ƃ��ł��܂��B���̏o�͌��ʂ�Visual Studio��̕W���o�́u�\��(V)���o��(O)�v�Ō��邱�Ƃ��ł��܂��B(�Ȃ����l�̊���C++�ɂ�����܂����A�Ȃ���Visual C++��ŏo�̓E�B���h�E�����Ă��o�͂���Ȃ��悤�ł��c)�B
�@���̂悤�Ȃ�����Ƃ����e�N�j�b�N�͒m���Ă���ƕ֗��ł��B���������s���̓p�t�H�[�}���X�ቺ���Y�ޏꍇ������̂ŁA�ŏI�I�ȃo�[�W�����ł͖Y�ꂸ�ɃR�����g�A�E�g���Ă������A�u#if DEBUG�`#endif�v�f�B���N�e�B�u���g�����ƂŃf�o�b�O�ł����R�[�h�����������Ƃ��ł��܂��B
�@�f�o�b�O�e�N�j�b�N�́A�C���^���N�V���������コ����ׂ̂��܂߂Ȏ�����]���A�`���[�j���O�ɔ��ɖ��ɗ����܂��B
�����āAWiiRemote�̃{�^���_�E���ɂ��킹�āA�}�E�X�{�^���̃C�x���g�s���܂��B�v���O�����������Ȃ��Ă��܂��܂��̂ŁA���ꂩ��{�^���C�x���g�̌��o��ʂ�.cs�t�@�C���̕ʃN���X�ɈڐA���܂��B
�܂�Visual Studio�́u�v���W�F�N�g�v����u�V�������ڂ̒lj��v(Ctrl+Shift+A)���s���܂��B
�u�e���v���[�g�v�Łu�N���X�v��I�уt�@�C�������uButtonEvents.cs�v�Ƃ��āu�lj��v�������܂��B�v���W�F�N�g�G�N�X�v���[���[�ɁuButtonEvents.cs�v���lj�����A�ȉ��̂悤�ȏ����R�[�h���\�������͂��ł��B
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace WiiRemoteMouse { class ButtonEvents { } }
���̂܂܂ł͉��������܂���̂ŁA���܂܂ŃR�[�f�B���O�̒��S�ɂȂ��Ă����uForm1.cs�v����Events()���̃R�[�h�ƕϐ����ڐA���܂��B�u#region�v���Y�ꂸ�ɋL�q���Ă����܂��傤�B
using WiimoteLib; namespace WiiRemoteMouse { class ButtonEvents { bool isDown; int StartTime, PressTime = 1000; string State = ""; #region �{�^���C�x���g���� public void Events(WiimoteState ws) { if (ws.ButtonState.A) { if (isDown == false) { //���������߂ă{�^���������ꂽ�Ƃ� StartTime = System.Environment.TickCount; //�����ꂽ���Ԃ��L�^ State = "DOWN"; isDown = true; } else { //������Ă��鎞�Ԃ�PressTime��蒷�����HOLD if ((System.Environment.TickCount - StartTime) >= PressTime) { State = "HOLD"; //�����ꑱ���Ă��� //���b�Z�[�W�{�b�N�X��\��(�m�F�p) System.Windows.Forms.MessageBox.Show(State); } } } else { if (isDown == true) { //�{�^���������ꂽ State = "UP"; isDown = false; } } } #endregion } }
�ڐA�����R�[�h��Form1.cs����폜�A�������̓R�����g�A�E�g���܂��B
���O���� namespace WiiRemoteMouse { public partial class Form1 : Form { Wiimote wm = new Wiimote(); //Wiimote�N���X���쐬 ButtonEvents wbe = new ButtonEvents(); //�{�^���C�x���g�N���X���쐬 ���ȉ��̏������͍폜���Ă��܂��܂��� /* //�{�^���C�x���g�J���p bool isDown; int StartTime, PressTime = 1000; string State = ""; */ �������Ŋ����̑O�ɃN���X���uwbe.�v��lj����܂��� wbe.Events(ws); //�{�^���C�x���g���� ���ȉ�����
���̒i�K�ł��Ȃ炸���쎎�����s���Ă��������B[A]�{�^����������ƁA���b�Z�[�W�{�b�N�X���\�������͂��ł��B
�uButtonEvents wbe = new ButtonEvents();�v�ɂ����wbe�Ƃ����N���X��V�K�쐬���A�ڐA������(���\�b�h)�uwbe.Events(ws);�v���{�^���C�x���g�̏����Ƃ��ČĂ�ł��܂��B
���̂悤�Ƀ\�[�X�R�[�h���ڐA����������Ȃ����s�ł���A�����̃N���X���܂�����v���O�����̍쐬�ɐ��������Ƃ����܂��B
����ŁA�{�^���C�x���g������ʂ̃N���X���L�q���ꂽ�\�[�X�R�[�h�uButtonEvents.cs�v�ɕ����邱�Ƃɐ������܂����B���܂܂ł͑S��Form1.cs��Form1�N���X�ɋL�q���Ă����̂ł����A�v���O����������ɂȂ����Ƃ���A�����̃v���O���}�ɂ��`�[���ŊJ������Ƃ��ɂ́A�K�ȃ^�C�~���O�ŃN���X��t�@�C�����킯�Ă������Ƃ��d�v�ł��B
����WiIRemote�̃{�^���������ꂽ�Ƃ��ɁA�}�E�X�{�^���̃N���b�N�C�x���g�����s�����ׂ��p�[�g�̃R�[�h�������Ă����܂��B���́u�}�E�X�{�^���C�x���g�̔��s�v�͒P�Ƀ}�E�X�J�[�\�������Ƃ��ƈقȂ菭�X���G�ɂȂ�܂��B�܂�.NET Framework3.5�ł̓}�E�X�J�[�\���̈ʒu�͕ύX�ł��Ă��A�N���b�N����C�x���g�s�ł���API���p�ӂ���Ă��Ȃ��悤�ł��B�����ŏ]�����瑶�݂���Win32�v���b�g�t�H�[��SDK��Windows���[�U�[�C���^�[�t�F�[�X�T�[�r�X�uuser32.dll�v�Ƃ���DLL�Ɋ܂܂��uSendInput()�v�Ƃ���API��SendInput()�̂��߂̍\���̂���荞�ނ��ƂŁA���̋@�\���������܂��B
DLL�C���|�[�g�ƍ\���̂́A������x�`���ɉ������L�q���K�v�ł��B�����ł́uSendInput()�v�Ƃ���API����荞�݁A���̊��̈����ƂȂ�\���́uINPUT�v��INPUT�����p����}�E�X�C�x���g�̏ڍׂ��L�q����\���́uMOUSEINPUT�v����荞�݂܂��B
using WiimoteLib; //DllImport�ɕK�v��using��lj� using System; using System.Runtime.InteropServices; namespace WiiRemoteMouse { class ButtonEvents { bool isDown; int StartTime, PressTime = 1000; string State = ""; #region DLL�C���|�[�g [DllImport("user32.dll")] //DLL�ǂݍ��� extern static uint SendInput(uint nInputs, INPUT[] pInputs, int cbSize); [StructLayout(LayoutKind.Sequential)] struct INPUT { public int type; public MOUSEINPUT mi; } [StructLayout(LayoutKind.Sequential)] struct MOUSEINPUT { public int dx; public int dy; public int mouseData; public int dwFlags; public int time; public IntPtr dwExtraInfo; } #endregion ���ȉ�����
���̍\���̂�Win32(C++)�̃w�b�_�t�@�C���ł���uWinUser.h�v�ɋL�q����Ă�����̂ł��B�����ʓ|�ł����A�ԈႦ���ɋL�q���Ă��������B�Ȃ��A���̍\���̂̒�`�����낻���ɂ���ƁASendInput�������������Ă���܂���B
C#�Ń}�E�X�Ɋ�]�̃C�x���g�s����Ƃ��́A�ȉ��̂悤�ɂ��ăC�x���g�𑗐M���܂��B
input[0].mi.dwFlags = 0x0002; //���}�E�X�_�E�� SendInput(1, input, Marshal.SizeOf(input[0])); //�}�E�X�C�x���g�𑗐M
�uMarshal�v�̓A���}�l�[�W�R�[�h�̃��������蓖�Ă̂��߂Ȃǂɗp�ӂ��ꂽ�N���X�ł��BDLL�ƍ\���̂̃C���|�[�g�͋L�q�����ԈႦ�Ȃ���Γ��ɋC�����K�v�͂���܂���A���̂܂܉��ɑ����A�{�^���C�x���g�̎������s���܂��傤�B
���R�����g�̓��Ɂu|�v�����Ă���ӏ����V�K�lj������ł��� #region �{�^���C�x���g���� public void Events(WiimoteState ws) { INPUT[] input = new INPUT[1]; //|�}�E�X�C�x���g���i�[ if (ws.ButtonState.A) { if (isDown == false) { //���������߂ă{�^���������ꂽ�Ƃ� StartTime = System.Environment.TickCount; //�����ꂽ���Ԃ��L�^ State = "DOWN"; isDown = true; input[0].mi.dwFlags = 0x0002; //|���}�E�X�_�E�� SendInput(1, input, Marshal.SizeOf(input[0])); //|�C�x���g�𑗐M } else { //������Ă��鎞�Ԃ�PressTime��蒷�����HOLD���E�N���b�N if ((System.Environment.TickCount - StartTime) >= PressTime) { State = "HOLD"; //�����ꑱ���Ă��� input[0].mi.dwFlags = 0x0008; //|�E�}�E�X�_�E�� SendInput(1, input, Marshal.SizeOf(input[0])); //|�C�x���g�𑗐M } } } else { if (isDown == true) { //�{�^���������ꂽ State = "UP"; isDown = false; input[0].mi.dwFlags = 0x0004; //|���}�E�X�A�b�v SendInput(1, input, Marshal.SizeOf(input[0])); //|�C�x���g�𑗐M input[0].mi.dwFlags = 0x0010; //|�E�}�E�X�A�b�v SendInput(1, input, Marshal.SizeOf(input[0])); //|�C�x���g�𑗐M } } } #endregion } }
�e�C�x���g�ɑ��āuinput[0].mi.dwFlags = 0x0004�v�Ƃ��邱�ƂŃ{�^���̉�����Ă����Ԃs���邱�Ƃ��ł��܂��B���́u0x0002�v��u0x0004�v�Ƃ���16�i���\���̃t���O(dwFlags)�̓v���b�g�t�H�[��SDK�Œ�߂��Ă���萔�ŁA�uWinUser.h�v�Ŋm�F���邱�Ƃ��ł��܂��B���ɂ��E�N���b�N��z�C�[���Ȃǂ̃f�[�^�����邱�Ƃ��ł��܂��B
���� | �Ӗ� | �l |
---|---|---|
MOUSEEVENTF_MOVE | �}�E�X���ړ� | 0x0001 |
MOUSEEVENTF_LEFTDOWN | ���{�^���������ꂽ | 0x0002 |
MOUSEEVENTF_LEFTUP | ���{�^���������ꂽ | 0x0004 |
MOUSEEVENTF_RIGHTDOWN | �E�{�^���������ꂽ | 0x0008 |
MOUSEEVENTF_RIGHTUP | �E�{�^���������ꂽ | 0x0010 |
MOUSEEVENTF_MIDDLEDOWN | �����{�^���������ꂽ | 0x0020 |
MOUSEEVENTF_MIDDLEUP | �����{�^���������ꂽ | 0x0040 |
MOUSEEVENTF_WHEEL | �z�C�[������] | 0x0800 |
������API��\���̂̃t�H�[�}�b�g�́A�}�C�N���\�t�g�̃h�L�������g��SDK�Ɋ܂܂��w�b�_�t�@�C���ŗ^�����Ă��܂��B�ߋ����X�Ƃ����������j�����AWin32�v���b�g�t�H�[���ɂ�����C++��������Ă���l�̃z�[���y�[�W�Ɍf�ڂ��ꂽ�T���v���Ȃǂ����ɗ����܂��BC#�̃R�[�f�B���O�����Ă��邩��Ƃ����āu���������C++�̃T���v�����A���ɂ͊W�Ȃ��c�v�Ǝv���K�v�͂Ȃ��̂ł��I
.NET�����C#�v���O���}�ɂƂ��ăA���}�l�[�W�R�[�h�̎�荞�݂́A.NET Framework�ɕی삳��Ă��Ȃ��u���m�̋��|�v�����邩������܂��A����Ă��܂��Ε֗��Ȃ��̂ł��B����̂悤��SendInput�̓A���}�l�[�W�h�Ȏ����𗊂�Ȃ��Ă��A�����I��.NET Framework�Ɏ�荞�܂�A�C�y�Ɏg����悤�ɂȂ邱�Ƃ�]�݂܂����c�B
��SendInput��
�@http://msdn.microsoft.com/ja-jp/library/cc411004.aspx
��mouse_event��
�@http://msdn.microsoft.com/ja-jp/library/cc410921.aspx
����Ŋ�{�@�\�͂قڊ����ł��B�����������s���Ă݂܂��傤�B�v���O�������N������WiiRemote��Bluetooth�ڑ����u�ڑ��v�Ƃ���ƁA���E�ɓ������ԊO���ɂ���ă}�E�X�J�[�\��������悤�ɂȂ�܂��B
[A]�{�^���������ƃ}�E�X�̍��N���b�N�A1�b�Ԓ���������ƉE�N���b�N�ɂȂ�܂��B�{�^�������𗣂��ƁA���E�����̃}�E�X�{�^���𗣂������(Up)�ɂȂ�܂��B
�ȏ�ŁA�ŏ��Ɂu�T�v�v�v�Őv�����S�Ă̋@�\�̎������I���܂����B�����l�ł����I
�@�����WiiRemoteMouse�ł�C#.NET�݂̂ŊJ�����A��4�͂̂悤��C++�ł������܂���ł������A����C++.NET���͂��̂悤�Ȕ�.NET���݊�(�A���}�l�[�W�h�R�[�h)�ɋ����A�`���Łuwindows.h�v��#include�錾���邾���ŁA�֘A����\���̂�API�𗘗p�ł���悤�ɂȂ�܂��B�܂�C#�̃R�[�h�Łu0x0002�v�Ə����Ă����悤�Ȓ萔���uMOUSEEVENTF_LEFTUP�v�Ƃ��ĕ\���ł���悤�A���ׂĎ����Ŏ�荞��ł���܂��B���̂܂܃r���h����Ɓu���̎��̂�������Ȃ��v�Ƃ����G���[���o��̂ł����A�u�v���W�F�N�g�̃v���p�e�B�v���u�\���v���p�e�B�v���u�����J�v���u���́v���u�lj��̈ˑ��t�@�C���v��\�����āu�e�܂��̓v���W�F�N�g�K��l����̌p���v�Ƀ`�F�b�N�����邱�ƂŁA�r���h���Ɏ��ۂ̊��������N���Ă����悤�ɂȂ�܂��B
�T�v�v�Őv�����@�\�͎������I���܂������A����ŏI���ł͂���܂���B�ނ��낱�����炪�͂��܂�ł��B
�܂����[�U�[�r���e�B�̌���̂��߂ɁA�����Łu�����ȊO�̒N���v�ɐG���Ă�����Ă��������B����ɒN�����Ȃ��Ƃ��́A�������g�Ŏ��ێg���ł��낤���[�U�[(UI���p��Łu�y���\�i�v�Ƃ����܂�)��z�����Ȃ���G���Ă݂܂��B�����C���������Ƃ���������A�ǂ�ǂ����Ă����܂��B
����������ƂɎ��Ԃ��₷�ƁA�R�[�f�B���O�������Ă��鎞�ɂ͌����Ȃ����Ƃ������Ă��܂��B
�Ⴆ�N������A�wlabel1�x�ƕ\������Ă���Ƃ���́A���̃v���O�������͂��߂ĐG��l�͂Ȃ��킩��܂���B������label1�̃v���p�e�B���w�u�ڑ��v�{�^���������Ă��������x�Ƃ���ׂ��ł��ˁB����������������ƏڍׂɁuWiiRemote�����g����Bluetooth�X�^�b�N�Őڑ����Ă���A�v�Ə���������K�v�����邩������܂���B�t�H�[���̏㕔�ɕ\������Ă���uForm1�v��Text�v���p�e�B���uWiiRemoteMouse�v�Ƃ���ׂ���������܂���ˁB�z�肵�Ă��郆�[�U�[�u�y���\�i�v�������Ă��Ȃ���A�ǂ��܂ł������ȃv���O�����ɂȂ��Ă��܂��܂��B
this.label1.Text = "WiiRemote�����g����Bluetooth�X�^�b�N�Őڑ����Ă���A\n�u�ڑ��v�{�^���������Ă�������"; this.Text = "WiiRemoteMouse";
���̂悤�ȃt�B�[�h�o�b�N�J���͉��x�J��Ԃ��Ă��u�I���v�Ƃ������̂͂���܂���B���������̌J��Ԃ����[�v�ɂ����鎞�ԂŁA�v���O�����̊����x�͂ǂ�ǂ�ƍ��܂��Ă����܂��B
���[�U�[�e�X�g������Ă݂�ƁA���̐�AGlovePIE�Ŏ��������悤�ɁA���܂��܂ȃ{�^���Ȃǂɑ�R�̃A�N�V���������蓖�ĂĂ��������Ȃ�Ƃ������܂��B�c�O�Ȃ��ƂɁA���������͂ǂ�ǂ�WiiRemote�Ƃ͒��ڊW�Ȃ��b�ɂȂ��Ă��܂��܂��̂œK�x�Ɋ������Ȃ������������Ǝv���܂��B
�Ⴆ�A�{�^���A�N�V�����̊J���ɂ��āA[B]�ɂ��}�E�X�E�{�^�������蓖�Ă����Ƃ��܂��B���̏ꍇ�A
if (ws.ButtonState.B) { input[0].mi.dwFlags = 0x0008; //|�E�}�E�X�_�E�� SendInput(1, input, Marshal.SizeOf(input[0])); //|�C�x���g�𑗐M } else { input[0].mi.dwFlags = 0x0010; //|�E�}�E�X�A�b�v SendInput(1, input, Marshal.SizeOf(input[0])); //|�C�x���g�𑗐M }
���̂悤�ɏ���������Ηǂ��킯�ł��B���������̂悤�ɌX�̃{�^���C�x���g�ɂ���if���Ŏ������Ă����ƁA[A+B]�Ȃǂ̃{�^���R���r�l�[�V�����A�N�V�����Ȃǂ�������Ă����ƁA����ɕ��G�ɂȂ��Ă����܂�(�o�O�������܂�)�B�����������̕������N���X�������̂ŁA���܂��ė��p�ł�����@���l�������Ƃ���ł��B
�{���̒��҂̂ЂƂ�ł��鏬��搶�́A��قǎ�������State�̂悤�ȕ�������g�����āu������Ă���L�[����Ƃ��Ĉ����v�Ƃ����A�C�f�B�A�ŁA�ȉ��̂悤�ȕ��@�ŐV�����N���X��v���Ă݂܂����B���ꂪ�������ǂ����͏ꍇ�ɂ�肯��ł����A�ǂ��A�C�f�B�A���Ƃ������܂��̂ŊȒP�ɉ�����܂�(�����i�͏��⌤������HP����_�E�����[�h�ł��܂���)�B
�܂����݂̃C�x���g�N���X�ɁuButtonEvent�v�Ƃ����N���X��lj����܂��B
public ButtonEvent(String buttonName) { this.isDown = false; //�����l��false this.State = ""; //�����l��"" this.onButtonTime = 1000; //���������� this.Flg = false; //�����l��false this.ButtonName = buttonName; //�{�^���̖��O���擾 }
�X�̃{�^���̃L�[�Ƃ��ĕ�������`���Ă����܂��B
A�{�^�� �@�� A Home�{�^���� Home B�{�^�� �@�� B ���{�^���@�� Up 1�{�^�� �@�� One ���{�^���@�� Down 2�{�^�� �@�� Two ���{�^���@�� Left -�{�^�� �@�� Minus ���{�^���@�� Right +�{�^�� �@�� Plus
������[A]�{�^���ɂ��ĊǗ�����ꍇ�A�uA�v�Ƃ�����������g����ButtonEvent�N���X��new���āuButtonA�v�Ƃ����N���X�I�u�W�F�N�g���쐬���܂��B���̕��@�ŁA�e�X�̃{�^���ɂ��ăC�x���g���Ǘ�����N���X�Q���ł�������܂��B
public ButtonEvent ButtonA = new ButtonEvent("A"); public ButtonEvent ButtonB = new ButtonEvent("B"); public ButtonEvent ButtonUP = new ButtonEvent("Up"); public ButtonEvent ButtonDOWN = new ButtonEvent("Down") ��...�ȉ����ׂẴ{�^���ɂ���new���܂���
�����ButtonEvent�N���X�ɁuGetOnButton(WiimoteState ws)�v�Ƃ���String��Ԃ����\�b�h��p�ӂ��A�����ꂽ�{�^���̃e�L�X�g��Ԃ��܂��B�ȉ��̂悤�ɃR�[�f�B���O���邱�Ƃ��ł��܂��B
public String GetOnButton(WiimoteState ws) { //A�������ꂽ ���@" A" //B�������ꂽ ���@" B" //A,B�������ꂽ ���@" A B" //A,B,1,2�������ꂽ ���@" A B One Two" String onButtons = ""; if (ws.ButtonState.A) { onButtons += " A"; } if (ws.ButtonState.B) { onButtons += " B"; } if (ws.ButtonState.One) { onButtons += " One"; } ���ȉ��S�Ẵ{�^���� return onButtons; //�����ꂽ�{�^��onButtons��Ԃ� }
���̃��\�b�h���A
if (this.ButtonName.Equals(this.GetOnButton(ws).Trim()))
�c�Ǝg�����ƂŁA������Ă���{�^�������ڂ������{�^���ł���ButtonName�Ɠ������ǂ������ׂ鎖���ł��܂��B�Ȃ��O��̃X�y�[�X���������Ă���郁�\�b�hTrim()��Equals()�́AString�^���p�����Ă���̂ŁA�lj������Ȃ��ŗ��p�ł��܂��B
switch (ButtonA.onButton(ws))
�Ƃ��邱�ƂŁAswitch����p���Ă��ꂼ���[Down]�A[Up]�A[Hold]�Ή�����R�[�h�������Ă������Ƃ��ł��܂��B
�P����if���̑g�ݍ��킹�ŏ����Ă������@�������͂Ȃ��̂ł����A���̌�̃`���[�j���O�ŃX�p�Q�e�B���������A���[�U�[�e�X�g���Ɂu�������̎��Ԃ�ς������v�Ƃ������ׂ����`���[�j���O�̌J��Ԃ��ɋꂵ�߂��邱�ƂɂȂ邩������܂���B�N���X���g�����ĉ��A���\�������ł���������������������Ԃ�Ɛ������t���悤�ɂȂ�܂��B
�}�E�X�Ƃ��Ă̊�{�@�\����������ƁA���[�U�[�e�X�g�ɂ���Ắu�L�[�{�[�h�@�\���~�����v�Ƃ����]���ɂ��Ȃ�ł��傤�B
.NET�ɂ͕֗���API�uSendKeys.SendWait()�v�Ƃ������\�b�h������A�����ɔ��s�������L�[�{�[�h���͂����n�����ƂŁA�L�[�{�[�h���͂s���邱�Ƃ��ł��܂��B�Ⴆ�uAlt+F4�v�̂悤�ȓ��ʂȃL�[�������������͂����s�ł��܂��B
SendKeys.SendWait("%{F4}");
�J�[�\���L�[��Ctrl�L�[�ȂǂقƂ�ǂ̃{�^���R���r�l�[�V�����͂��̕��@�ō��o�����Ƃ��ł��܂��B�ڍׂ�SendKeys�ɂ��Ē��ׂ�ƁA�S�Ă̋L�q���[���������邱�Ƃ��ł���ł��傤�B
�܂��g�p���ɂ���Ắu���̃c�[�����g�̕\�����B�������v�Ƃ����v��������Ǝv���܂��B����ȂƂ��́A�ȉ��̃R�[���ł��̃v���O�������v���O�������g����ŏ������邱�Ƃ��ł��܂��B
this.WindowState = FormWindowState.Minimized;
���̂悤��.NET�̋@�\���t�����p���AWiiRemote�̃C�x���g�ɑ��ă}�E�X�ƃL�[�{�[�h�̓��͂����蓖�Ă���A���Ɂu�����`���[�v�Ŋw�A�v���P�[�V�����̎��s�Ȃǂ�g�ݍ��킹����A���ɂ͊O����API�����p���Ȃ��玩���ōD���ȋ@�\�荞��ŁA���N���̖��ɗ��uWiiRemoteMouse�v����肱��ł݂Ă��������B
�C���^���N�V�����Z�p�A����GUI(�O���t�B�J�����[�U�[�C���^�[�t�F�[�X)�ɂƂ��āu�����ځv�́w�d�v�ȋ@�\�x�ł��B�����ł́u�����v�f�v�ƌĂ�ł��܂����A�����Čy�����ς����Ă���̂ł͂���܂���B���������邱�ƂŁA�����ō�荞�ނ̂���������Ƃ��v���o���܂��傤�B����́u�T�v�v�v�Ŋ�{�@�\��f�����������A���[�U�[�e�X�g�̌J��Ԃ��̃��[�v�ɂ����āu�\���Ȏ��Ԃ������đ����������v�Ƃ����ړI�ɂ����̂ł��B
�������̊J���̏��Ԃ��t���ƁA�J���̏����Łu�����ځv�ɂ��莞�Ԃ������A�K�v�ȋZ�p�ۑ�̉������ς܂Ȃ��܂܁A�Ђ��Ă̓v���W�F�N�g�̐i�s�������̒i�K�ł܂������邱�ƂɂȂ�܂��B�u�����ڂ��d�v�v�����炱���A���܃��[�U�[�e�X�g�̃��[�v�̒��ŁA�v�������������܂��傤�B
�܂��͂�����Ƃ�������LED�̕\���������������܂��B
�C���[�W�Ƃ��Ă�LED�ɂ̓o�b�e���[�̎c�ʂ��o25%�ȉ��A50%�A75%�A75%�ȏ�p�Ƃ�����4�i�K�ŕ\���������̂�SetLEDs()���𗘗p���āA
wm.SetLEDs(1); //�������� 25���ȉ� wm.SetLEDs(3); //�������� 50�� wm.SetLEDs(7); //�������� 75�� wm.SetLEDs(15); //�������� 75���ȏ�
���̂悤�ɕ\�����Ă������Ƃ��ł���ł��傤�B
�������uswitch�`case�v�����g���ă��W�b�N(�_��)�ŕ\�����Ă������@�ɑ��āA������1�s�ɂ܂Ƃ߂�G���K���g�ȕ��@������܂��B�����1�s�ŏ����鐔���Ŏ������Ă݂܂��B
#region LED�E���� public void EffectsOut(WiimoteState ws) { //25%����LED��\�������� wm.SetLEDs((int)Math.Pow(2.0f, (int)(ws.Battery / 25) +1 ) - 1); } #endregion
������1�s�̎��ł����A�ȉ��̂悤�ȈӖ��������Ă��܂��B
�o�b�e���[�̒l��[0��Battery��100]��float�^�Ŏ�ɓ���܂��̂ŁA�����25�Ŋ����āA������(�����_�ȉ���藎�Ƃ�)���܂��B����ƃo�b�e���[�̎c�ʂɉ����āu0,1,2,3�v�Ƃ��������ɂȂ�܂��Bn�����R��(1,2,3,...)�Ƃ���Ƃ��A2�ׂ̂���[2^n]�́u2,4,8,16,...�v�Ƃ����l���Ƃ�܂��̂ŁA������-1���Ă����邱�ƂŁA�K�v�ȁu1,3,7,15�v�Ƃ���4��LED�o�͗p�̐����邱�Ƃ��ł��܂��B
���̂悤�ɖ@������������͉̂\�Ȍ��萔���A�܂���ŕ\���ł���悤�ɂ���N�Z������ƁA�R�[�f�B���O�������قǒZ���Ȃ�܂��̂ŁA�f�o�b�O����Ƃ��������Ƃ�������܂��B�����w�Z�Ŋw���w�����ɖ��ɗ����܂��B�u���w�v�Ƃ��������u�Z���p�Y���v�̂悤�Ȃ��̂Ȃ̂ŁA�������Ċ�������̂ł͂Ȃ��w�y����ʼn����Ă݂悤�I�x�Ƃ����Ƃ���ł��傤���B
�@�C���^���N�e�B�u�Z�p���v���O����������Ƃ��A�Ⴆ�Q�[���J���⌤���J���ɂ����āu�Ƃ肠��������������ԁv����A���̃`���[�j���O�����Ă�����Ŋ����A����������u�o���I�ȃ��W�b�N�𐔊w�ň����K���v�����邱�Ƃ͔��ɏd�v�ł��B
�@�{���Ɍf�ڂ��Ă���v���O�����͎��ʂł��̂ŁA�ł��邾���f�ڂ���R�[�h�̍s���ɖ��ʂ������A�����悢�����̂��߂ɗ����ǂ��₷���f�ڂ���悤�ɂ��Ă��܂��B����͕M�҂����`���w���̍����s���Ă����u�}�C�R��BASIC�}�K�W���v(�d�g�V����)�̍l�������̗p���Ă��܂��B�����A�ǎ��ȃv���O�����̎�ȗ��ʕ��@��Web��d�q���[���ł͂Ȃ��u���ʁv�ł����̂Łw�����ɒZ���Ĕ������R�[�h���������x�Ƃ����A������l����Ƌ��낵���X�g�C�b�N�ȃR�[�f�B���O�X�^�C�������s���Ă����킯�ł��B�����āABASIC�}�K�W���͌������ł����̂ŁA�K�x�Ȓ���A�ҏW���̖��ȃm�����A�i���ȍ����u�݂�Ȃō���Ă��������v�����o���Ă��܂����B
�@���̂悤�ȁu�W���m�v�╶���c�����ƍ����Ȍ�����������u�W���m�ɂ��n���I�R�[�f�B���O�v�A�ŋ߂̗��s�ŕ\������u�w�j�R�j�R����E�Z�p���x�ō���Ă݂��v�����Ȃ�߂����o�ł��傤�B�w�j�R���x�ł̃C���^���N�e�B�u�Z�p�Ɋւ��钍�ڂ͔��ɍ������̂�����܂�(�݂�Ȃ���Ȏ����m��Ȃ��̂��c�Ƌ������Ƃ������̂ł����I)�B
�@�����Ė{���̓ǎ҂��w�j�R�������x�ɍv���ł��邱�Ƃ��傫���Ƃ������܂��B�F��������ЁA�����ȍ�i�⊈�����f�������āA�O�ڂɂ��炵�Ă݂�Ƃ悢�ł��傤�B�u����www�I�v�Ə^���ꂽ���ƂɁA�����]���Č��J�����v���O�������u�����̃X�p�Q�e�B�R�[�h!!�v�ƃK�b�J������Ȃ��悤�ɁA�ė��p���₷���A���l�̕��ɂȂ�R�[�f�B���O�X�^�C�����ɂ߂Ă݂Ă݂�̂��J�b�R�C�C�Ƃ������܂��B
�܂����[�U�[�r���e�B����ɂ��W����v�f�Ƃ��āA�ԊO���̕i�������コ�������Ƃ������܂��B����̃v���O�������ƃ}�E�X�J�[�\���̓K�^�K�^���Ă���͂��ł��B�ԊO������ʼnB�����肵�āA�悭�l�q���ώ@����Ƃ킩��̂ł����A�Z���T�[�o�[��2�_��LED�̂����u�ǂ��炩1�_�v�����̂Ƃ��̏ō̗p����Ă���̂������ł͂Ȃ��ł��傤���B����̃v���O�����ł́u�ŏ��Ɍ�����1�_�v���}�E�X�J�[�\���̍��W�ɕϊ����Ă��܂��̂ŁA�ׂ�����������悤�Ƃ���ƁA�ׂɂ���u2�ڂ̐ԊO���v�ז������āA�l�����ł��܂����芴���Ȃ��Ȃ��Ă���̂ł��B
���̂悤�ȏɑ���ЂƂ̉��Ƃ��Ắu2��LED���������Ƃ��͉E�ɂ���ԊO�����̗p�v�Ƃ��������W�b�N�Ń��[������邱�Ƃł��B
#region �ԊO���Ń}�E�X�J�[�\���ړ� public void IR_Cursor(WiimoteState ws) { ScreenSize.X = Screen.PrimaryScreen.Bounds.Width; //��ʃT�C�Y���� ScreenSize.Y = Screen.PrimaryScreen.Bounds.Height; //��ʃT�C�Y�c�� //�ԊO�����W(�������Ƃ������X�V) float Ix1 = 0.5f, Iy1 = 0.5f, Ix0 = 0.5f, Iy0 = 0.5f; float Ix, Iy; //�ԊO�����W�̕��� int px, py; //�ŏI�I�ȃ}�E�X�J�[�\���̈ʒu if (ws.IRState.IRSensors[1].Found) { Ix1 = ws.IRState.IRSensors[1].Position.X; Iy1 = ws.IRState.IRSensors[1].Position.Y; Ix0 = ws.IRState.IRSensors[0].Position.X; Iy0 = ws.IRState.IRSensors[0].Position.Y; //Ix1,Iy1�ɑ傫����(��)���i�[������ if (Ix1<Ix0) { Ix0 = Ix1; Iy0 = Iy1; Ix1 = ws.IRState.IRSensors[0].Position.X; Iy1 = ws.IRState.IRSensors[0].Position.Y; } Ix = Ix0; Iy = Iy0; //�����ŕ��ς��Ƃ��Ă��ǂ����낤 px = (int)(ScreenSize.X * (1 - Ix)); //X���W�͔��] py = (int)( Iy * ScreenSize.Y); //�}�E�X�J�[�\�����w��ʒu�ֈړ� System.Windows.Forms.Cursor.Position = new System.Drawing.Point(px, py); } } #endregion
���s���Ă݂��(���ɂ����܂���)�o�^�o�^���͑����͉��P����Ă���̂ł͂Ȃ��ł��傤���B���̃p�[�g�͂��̂悤�ȃ`���[�j���O��ƁA���P���J��Ԃ����ƂŁA���[�U�[�r���e�B����ɑ傫���v���ł���\��������܂��B�Ⴆ�A�ԊO���������Ȃ������Ƃ��̏����Ƃ��āA�ߋ��̒l���g������A���ς��Ƃ�����A�������Ƃ�����c�Ƃ�����������̃R�[�h����{�Ƃ��Ēlj����邱�Ƃ��ł��܂��B
����ɂ���Ă�葽���e�X�g�����A�A�C�f�B�A�荞��ł������ƂŁA�s����ȓ�����y�����邱�Ƃ��ł���ł��傤�B
PictureBox�ɃJ�b�R�C�C�������\���������I�Ǝv�����Ƃ�����ł��傤�B���ɐ�قǂ̐ԊO���i���̌�����`���[�j���O�����ł́A�e�X�̃}�[�J�[�̒l���\���ł���ƁA��Ƃ��͂��ǂ�܂��B���������b�Z�[�W�{�b�N�X��x��������ł͏��̗ʂ�������ɑ������āA���ɗ����܂���B�����ŁA����͓���RawPosition(���̑���l)��PictureBox�ɉ摜�Ƃ��ĕ`�悵�܂��B����̓v���O���}�ɂƂ��Ắu��Ƃ̌������v�̈�ł����A�u�����ڂɃJ�b�R�C�C�v�Ƃ����u�@�\�v�����������܂��B
#region �t�H�[���`���DrawString�� public void DrawForms(WiimoteState ws) { //�O���t�B�b�N�X���擾 Graphics g = this.pictureBox1.CreateGraphics(); Font drawFont = new Font("Arial", 9); //|�t�H���g���w�� SolidBrush drawBrush = new SolidBrush(Color.White); //|�F�͔� String drawString = "Text"; //|�`�敶���� //|�`��ʒu������Point�^�ϐ� System.Drawing.Point pos = new System.Drawing.Point(0, 0); int irsize; //|���o�����ԊO���}�[�J�[�̃T�C�Y g.Clear(Color.Black);//��ʂ����F�ɃN���A //�����ԊO�����P�ł����������� if (ws.IRState.IRSensors[0].Found) { //�}�[�J0�̕`�� pos.X = (int)(ws.IRState.IRSensors[0].Position.X * 256); pos.Y = (int)(ws.IRState.IRSensors[0].Position.Y * 128); irsize = ws.IRState.IRSensors[0].Size + 5; g.FillEllipse(Brushes.Red, pos.X, pos.Y,irsize, irsize); drawString = "[" + ws.IRState.IRSensors[0].RawPosition.X + ", " + ws.IRState.IRSensors[0].RawPosition.Y + "]"; g.DrawString(drawString, drawFont, drawBrush, pos); //�}�[�J1�̕`�� pos.X = (int)(ws.IRState.IRSensors[1].Position.X * 256); pos.Y = (int)(ws.IRState.IRSensors[1].Position.Y * 128); irsize = ws.IRState.IRSensors[0].Size + 5; g.FillEllipse(Brushes.Blue, pos.X, pos.Y, irsize, irsize); drawString = "[" + ws.IRState.IRSensors[1].RawPosition.X + ", " + ws.IRState.IRSensors[1].RawPosition.Y + "]"; g.DrawString(drawString, drawFont, drawBrush, pos); } g.Dispose();//�O���t�B�b�N�X�̉�� label1.Text = "IR[0] " + ws.IRState.IRSensors[0].RawPosition.ToString() + "\nIR[1] " + ws.IRState.IRSensors[1].RawPosition.ToString(); } #endregion
�����ł�DrawForm()�́uDrawFormOrg()�v�Ƃ��ăR�s�[���y�[�X�g�ł��̂܂c���āA�e�L�X�g�\���p�@�\��lj����Ă��܂��B�u�}�[�J�[0�̕`��v�Ƃ��������肩��A�啝�ɏ��������Ă��܂����A���ǂ݂₷���Ȃ��Ă���͂��ł��B��������PictureBox�ɏ���\������̂ŁA�ȉ~��`��FillEllipse()�̑�4�A��5�����ɁA���o���ꂽ�ԊO���̑傫����^���āA�Ӗ����������Ă��܂��B
���s���Ă݂܂��傤�B�Z���T�[�o�[�ɋ߂Â���ƃ}�[�J�[�������~���傫�߂ɕ`�悳��܂��B���̂悤�ɁA�ԊO���̗l�q����������ώ@�ł���̂ŁA���[�U�[�̓�����������₷���Ȃ�A�ӊO�ȃ`���[�j���O�̃q���g�ɂȂ�܂��B
�e�L�X�g���\���ł���悤�ɂȂ�ƁA�֗��Ŋi�D�������Ƃ����낢�����悤�ɂȂ�܂��̂Ŋ��p���܂��傤�B
�Ō�ɁAWiiRemote�́u�X����\���v�ł���悤�ɂ��܂��B����Wii�{�̂ł悭�o�Ă���u�w�J�[�\���v�ŕ\������Ă���悤�ɁAWiiRemote�̌X������ʂŕ\���ł���ƁA���WiiRemote�炵���Ȃ�܂��B���������̎w�|�C���^�̌X���͉����x�Z���T�[�ɂ����̂ł͂Ȃ��悤�ł��B�����x�Z���T�[�̒l���g��Ȃ��Ă��A�Z���T�[�o�[�����2�̃}�[�J�[���W���擾�ł��Ă���Ȃ�u����2�_���Ȃ����̌X���v�ŕ\�����邱�Ƃ��ł��܂��B
�܂��A����������.NET�ɂ��J���ł�����A�l�b�g���[�N���g�����Z�p���Љ�܂��B��̓I�ɂ́u�w�J�[�\���v�Ɏg���摜���A�n�[�h�f�B�X�N���̃t�@�C���ł͂Ȃ��C���^�[�l�b�g�ォ��擾���ė��p���܂��B
������̉摜�t�@�C���͒��҂̃z�[���y�[�W���uhttp://akihiko.shirai.as/projects/WiiRemote/finger.bmp�v�ɂĂ����Ă�����̂ł��BInternet Explorer�Ȃǂ̃u���E�U�ł���URL���w�肷��ƁA�摜��\���ł��܂��B���Ȃ݂ɂ��̎w�J�[�\���摜�̓y�C���g���g����5�����炢�ŕ`�������̂ł���ŁA�F���g�ŗp�ӂ��Ă��������Ă����܂��܂���B�������w�i���u�����v�ɔ������߂ɁA���߂�1�F�œh���Ă��܂�(�ʏ́u�����F�v)�B
namespace WiiRemoteMouse { public partial class Form1 : Form { Wiimote wm = new Wiimote(); //Wiimote�N���X���쐬 ButtonEvents wbe = new ButtonEvents(); //�{�^���C�x���g�N���X���쐬 Bitmap bmp; //|�w�|�C���^�`��p System.Drawing.Point ScreenSize; //��ʃT�C�Y���i�[ Boolean isConnected = false; //WiiRemote���ڑ����ꂽ�� public Form1() { InitializeComponent(); //�O���t�B�b�N�X�������炦 String url = "http://akihiko.shirai.as/projects/WiiRemote/finger.bmp"; using (System.Net.WebClient wc = new System.Net.WebClient()) using (System.IO.Stream st = wc.OpenRead(url)) bmp = new Bitmap(st); // ���������n�[�h�f�B�X�N����ǂނ��Ƃ��\ // bmp = new Bitmap("c:����WiiRemote����yubi.png"); bmp.MakeTransparent(bmp.GetPixel(0, 0)); //�����F�̎w�� �������� #region �t�H�[���`���Finger�� public void DrawForms(WiimoteState ws) { �������� double radians, angle = 0.0f; //�ԊO����2�������炻�̒��Ԃ��Ƃ� if (ws.IRState.IRSensors[1].Found) { pos.X = (int)(ws.IRState.IRSensors[0].Position.X * 256 + ws.IRState.IRSensors[1].Position.X * 256) / 2; pos.Y = (int)(ws.IRState.IRSensors[0].Position.Y * 128 + ws.IRState.IRSensors[1].Position.Y * 128) / 2; radians = Math.Atan2(ws.IRState.IRSensors[0].Position.Y - \ ws.IRState.IRSensors[1].Position.Y, ws.IRState.IRSensors[0].Position.X - ws.IRState.IRSensors[1].Position.X); angle = radians * (180 / Math.PI); //���W�A�����p�x�ϊ� } else { //�ԊO����1�Ȃ�A1�߂̒l���̗p���� pos.X = (int)(ws.IRState.IRSensors[0].Position.X * 256); pos.Y = (int)(ws.IRState.IRSensors[0].Position.Y * 128); } double d = angle / (180 / Math.PI); //�p�x�����W�A���ϊ� //2D��]�ϊ� float x = pos.X; float y = pos.Y; float x1 = x + bmp.Width * (float)Math.Cos(d); float y1 = y + bmp.Width * (float)Math.Sin(d); float x2 = x - bmp.Height * (float)Math.Sin(d); float y2 = y + bmp.Height * (float)Math.Cos(d); //�V�����`��ʒu System.Drawing.PointF[] destinationPoints = {new System.Drawing.PointF(x , y ), new System.Drawing.PointF(x1, y1), new System.Drawing.PointF(x2, y2)}; //�摜��\�� g.DrawImage(bmp, destinationPoints); //���I������bitmap�I�u�W�F�N�g���̔p���Ȃǂ�Y�ꂸ�Ɂ� ���ȉ�����
�v���O�������s���ADrawForms()�͕b�Ԑ�10��͂܂���Ă��܂��̂ŁA����̕`�掞��URL����ǂݍ��ނƁA���삪�ƂĂ��x���Ȃ��Ă��܂��܂��̂ŁA���������Ƀ��[�h���Ă��܂��B���̂Ƃ��A�C���^�[�l�b�g�ɐڑ�����Ă���A������URL����摜�t�@�C�����擾�ł��Ȃ��ƃG���[�ɂȂ�܂��B�ubmp.MakeTransparent()�v�Łu�����F�v�Ƃ��āA�摜�̈�ԍ���̐F���w�肵�Ă��܂�(������w�肵�Ȃ��Ɓu�w�i���D�F�̎w�v���\������܂�)�B�����URL����BMP�摜��ǂݍ���ł��܂����A�n�[�h�f�B�X�N����PNG�摜��ǂݍ��ޏꍇ�̃\�[�X�R�[�h���R�����g�ɋL�q���Ă����܂����B
�ԊO��2�_����X�����Ƃ���@�́uMath.Atan2()�v���g���܂��B����̓A�[�N�^���W�F���g�Ƃ����O�p���ŁAtan(�]��)�̒�`����^�������p�O�p�`�̂Ȃ��p����ł��B180�x���Ȃ���Ζ��Ȃ����肵�Ċp�x���擾�ł��܂��B
Atan2�Ŏ擾�����p�x�̓��W�A��(�ϐ�radians)�œn����܂��̂ŁA�������₷���悤�p�x(�ϐ�angle�A�P�ʂƂ��Ă�degree)�ɕϊ����鐔�����p�ӂ��Ă����܂����B�Ō�Ɂu2D��]�ϊ��v�Ƃ����R�[�h�ŎO�p���ɂ��ϊ����������{���āADrawImage()�œǂݍ��摜��`�悵�Ă��܂��B
���w���ۂ����Ƃ���R�o�Ă��ē�������Ă���l�����邩������܂��A���e�I�ɂ͍��Z1�`2�N���x�̐��w�̋��ȏ��ɍڂ��Ă��邱�Ƃ����p���Ă��邾���ł��B�R���s���[�^�[�O���t�B�b�N�X�v���O���~���O�͐��w���y�������p�ł��钿������Ƃ������܂��B�u���w�Ȃ�Č������v�Ƃ����ǎ҂̕��́A�ǂ��@��ł�����A�����M�[���o�����Ɂu�y����Łv���g��ł݂Ă��������B
�u�w�J�[�\���v�������ɉ�]���܂��B�摜�t�@�C�������݂��Ȃ��̂ɁA�C���^�[�l�b�g�o�R��BMP�t�@�C����ǂݍ���ł���Ƃ���ɂ����ڂł��B�w�̌X���́A�ꌩ���Ɏg���̂��킩��܂��uWiiRemote���g���Ă���v�Ƃ������������܂����A������������p�x��ϋɓI�Ɏg�����R�}���h��A�x�N�g���𗘗p���������I�ȃC���^���N�V�����ȂǂɊ��p�ł��邩������܂���ˁB
�ȏ�ŁA�����v�f�Ɋւ��������I���܂��B�u�����v�f�v�͎����n�A�v���P�[�V�����ł͕����ʂ�f�R���[�V�����ł����Ȃ��̂ł����A�C���^���N�V�������d�v�ɂȂ�v���O�����ł͔��ɏd�v�ȗv�f�ɂȂ�܂��B�܂��A�v���O���~���O�̎����̎d���ɂ���ẮA�����v�f���v���O�����S�̂̃p�t�H�[�}���X��ቺ��������A���[�U�[�C���^���N�V���������コ������ƁA���[���v���O���~���O�v�f�ɂȂ邱�Ƃ��̊��ł����̂ł���K���ł��B
�ȏ�ŁA�uWiiRemoteMouse�v�̊J���͏I���܂��B���̏͂ł̊J����ʂ��āA�P�Ƀv���O���~���O�����ł͂Ȃ��A�����̂��Ƃ��w�Ԃ��Ƃ��ł����̂ł͂Ȃ��ł��傤���H
�����Ŋ����Ƃ͂����Ȃ���������܂���A�܂��܂������������@�\��`���[�j���O�������v�f����������Ǝv���܂��B�Ⴆ���́uWiiRemoteMouse�v��g�̂Ƀn���f�B���������l�Ɏg���Ă��炤�̂��A�������\�t�@�[�ɐQ���ׂ�Ȃ���l�b�g���y���ނ��߂Ɏg���̂��B���̂��߂ɂǂ̂悤�ȉ��P���ł���̂��B���̂悤�ȉۑ�ɑ��āA���\���m���ȉ͂���܂��A���܂Ŋw���Ƃ����p���A�z���͂��������A�K���S�[���ɂ��ǂ蒅����ł��傤�B�܂�A������{�l���[���ł��āA�����[�U�[�́u������Ă��Ċy�����v���O�����v�ɂȂ�Ƃ������Ƃł��B
���̎��H�I�ȃv���O���~���O�̌���ʂ��āA�F����̉\���͊m���ɍL�������͂��ł��B���ЁA�J��Ԃ����Ԃ�������WiiRemote���������C���^���N�e�B�u�Z�p�v���O���~���O�̑�햡���y����ł��������B���́u���K���v�ɂ�WiiRemote�����p�����C�}�W�l�[�V�����������邽�߂̎h���I�ȃX�p�C�X���R�Љ�Ă��܂��B���ꂼ��̉ۑ�ɕK�������u�͔͉v���p�ӂ���Ă���킯�ł͂���܂��A���̂��Ȃ��ł���A�������g�Ŋy���݂Ȃ���w�K���A�O�ɐi�߂Ă������Ƃ��ł���͂��ł��B
���̏͂́u�A�C�f�B�A�X�g�b�N�E���K���W�v�Ƃ��āA���܂܂Ŋw�Z�p�����p���邱�ƂŁAWiiRemote�������Ď����ł���l�X�ȃv���W�F�N�g�̎�����Љ�܂��B
�A�C�f�B�A�����߂Ă���"�I"�̂悤�Ȃ��̂��C���[�W���āu�A�C�f�B�A�E�X�g�b�N�v�Ɩ��t���܂����B�C���[�W���₷���悤�Ƀv���O���~���O�ҁA���m�ҁA�Q�[�����p�ҁA�T�[�r�X�ҁA��i�ҁA�����҂ɕ����Ă��܂����A���̃A�C�f�B�A�̊��p�͓ǎ҂݂̂Ȃ���ŗl�X�ȕ����ɍ���������A���ݏo���ꂽ�肵�Ă������Ƃł��傤�B
�{���������܂œǂݐi�߂Ă����Ǐ��ł���A�u�s�\�ȂقǓ���v�Ƃ������e�ł͂Ȃ��͂��ł��B�{�͂łׂ͍����X�e�b�v�o�C�X�e�b�v�̉���������Ċ������A���Ȃ����ʂŕ��L��WiiRemote�̉\����`���邱�Ƃɗ͓_��u���܂��B
�e�Z�N�V�����̏I���Ɂu���K���v�Ƃ��āA���̃e�[�}�̌������i���ɖ𗧂��W��p�ӂ��Ă����܂����B��Փx��5�i�K�́��ŕ\������Ă��܂��̂ŁA��Փx�ɍ��킹�Ď��Ƃ�ۑ�̐���A�_���̃��t�@�����X�Ȃǂɂ����p���������B
8�͂܂ł̒m��������i�߂āAWiiRemote��3D�O���t�B�b�N�X�v���O���~���O�̐��E�ŗ��p�ł���悤�ɂȂ�܂��傤�B�}�C�N���\�t�g�̖{�i�I�ȃQ�[���p3DCG�v���O�����J�����uXNA�v�ƁuWiimoteLib�v���g���܂��B
�����ł́uXNA Game Studio 3.1�v��WiimoteLib���g���āAC#.NET�ɂ��Q�[���J�������x�[�X�ɂ������A���^�C��3DCG�ɂ��v���O���~���O��������܂��B
XNA�Ƃ́A�}�C�N���\�t�g�����i���Ă���uDirectX�v�̗�������ލŐV��.NET�ɂ��Q�[���J���������ł��BXNA�̃R�[�f�B���O�X�^�C���́A�����̃��A���^�C��3DCG�J�����̖{���ł�����DirectX��Managed DirectX�Ƃ͈قȂ�AXNA Framework�ɂ�����C#����ɂ��J���ɂȂ�܂��BDirectX�����������ɃQ�[���J���ɕ֗��ȃc�[����API����������Ă���A�ȒP�Ɍ����悭�Q�[���v���O�������쐬�ł���悤�ɂȂ��Ă��܂��B
�v���̃Q�[���J���҂Ɍ��炸�A�w���Ȃǂɂ��e���݂₷�����ł�����܂��BWindowsPC�p�̃Q�[���J���ɉ����A�ŐV�̃R���V���[�}�[(�ƒ�p)�Q�[���@�ł���uXbox 360�v�̗����̃v���b�g�t�H�[���ŁA���Ɍ����I����i�I�ȊJ�����ł��邽�߁A�v���̃Q�[���X�^�W�I�����łȂ��A����z�r�[�v���O���}�𒆐S�ɑ傫�ȗ�������o���\��������ł��傤�B
���̃Z�N�V�����ł́AWiiRemote�̉����x�Z���T�[�̌X���ɂ���āA3D�ŕ`�悳�ꂽWiiRemote�����A���^�C���ŕω�����v���O�����uWiiRemoteXNA�v���쐬���܂��B�Ȃ��Ȃ��h��Ȋ���������f���ł����AXNA Game Studio 3.1���g���āA�����قǒZ���R�[�h�ō쐬���邱�Ƃ��ł��܂��B
�܂��́A�J�����̃Z�b�g�A�b�v���s���܂��傤�B�ŐV��Microsoft XNA Game Studio���_�E�����[�h���ăC���X�g�[�����܂��B
�@Microsoft XNA Game Studio 3.1�������œ���\�ł��B
�@http://www.microsoft.com/downloads/details.aspx?�@�@familyid=80782277-D584-42D2-8024-893FCD9D3E82
XNA�͖����ŊJ��������ɓ���邱�Ƃ��ł��܂��BPC���^�[�Q�b�g�v���b�g�t�H�[���Ƃ��ė��p�����ł̓��C�Z���X�ɏ]�������ŗ��p���邱�Ƃ��ł��܂����AXbox�v���b�g�t�H�[���ŊJ�����邽�߂ɂ͔N�ԃ��C�Z���X��(9,800�~��)���K�v������܂��B�{���ł�Xbox�v���b�g�t�H�[���ɂ��Ă͈����܂��AXbox 360�̂悤�ȁA�����ȃQ�[���pPC�ɔ�ׂāu���肵�Ĉ����œ���ł���R���V���[�}�Q�[���@�v�̊J�������A����قǍ����ł͂Ȃ����C�Z���X���œ���ł���̂͑�ςȖ��͂ł��B�J�������Q�[���v���O�����𐢊E����1200���l�ȏア��Xbox 360�̃��[�U�[�ɗV��ł��炦�邱�Ƃ��A���`�x�[�V�����ɂȂ�ł��傤(Xbox360��WiiRemote�������Ɏg����A�Ƃ����b�͕����܂���...)�B
�@�{���Ƃ͒��ڊW����܂��AXbox 360�p�Q�[�������s���邽�߂ɂ͔N�z9,800�~�́uXNA�N���G�C�^�[�Y�N���u�v�ɓ����K�v������܂��BXNA�N���G�C�^�[�Y�N���u��Xbox 360�p�l�b�g���[�N�E�T�[�r�X�uXbox Live�v��������ł��܂��B
[URL]�@http://www.xbox.com/ja-JP/live/
[URL]�@http://creators.xna.com/en-US/tour_detail
Microsoft XNA Game Studio 3.1�̃C���X�g�[���́A�_�E�����[�h�����C���X�g�[���[�̃E�B�U�[�h�ɏ]�������Ŗ��Ȃ��s����ł��傤�B�E�B�U�[�h�̍Ō�ɁuXbox 360�p�̃T�[�r�X���N�����邩�H�v�Ƃ������₪����܂����A�����Xbox 360�p�̃v���O�������J�������Ƃ��ɁA���[�J���l�b�g���[�N�o�R��Xbox 360�ɑ��M���邽�߂ŁA���ɗ��p����\�肪�Ȃ���`�F�b�N�͓���Ȃ��Ă���肠��܂���B
���Ď��̓Q�[���v���W�F�N�g�̍쐬�ł��BMicrosoft Visual C# 2008���N�����Ă�������(�����́uExpress Edition�v�ł����Ȃ����p�ł��܂�)�B�u�V�����v���W�F�N�g�v��I�ԂƁA���������ꂽ�V�K�v���W�F�N�g�쐬�̃_�C�A���O�ɁuXNA Game Studio 3.1�v�Ƃ������ڂ�����Ă���͂��ł�(�Ȃ��ꍇ��Game Studio�̃C���X�g�[�����ēx�m�F���Ă�������)�B�u�e���v���[�g�v����uWindows Game (3.1)�v���N���b�N���āA�v���W�F�N�g���ɁuWiiRemoteXNA�v�Ƃ������O�����āA�ꏊ���uC:\WiiRemote�v�Ƃ��āuOK�v���N���b�N���܂��B
���b�ԑ҂ƁA�V�����v���W�F�N�g���쐬����܂��B[F5]�L�[�������āA�����Ƀv���W�F�N�g�����s���Ă݂܂��傤�B���F�̔w�i�ɁA�����E�B���h�E���\�������ΐ����ł��B
����WiimoteLib��g�ݍ��݂܂��BXNA���ł�4�͂�8�͂ł�.NET���ɂ�����WiimoteLib�̑g�ݍ��ݍ�Ƃ̗���Ɠ����ł��B
�\�����[�V�����G�N�X�v���[���́u�Q�Ɛݒ�v���E�N���b�N���A�u�Q�Ƃ̒lj��v��I�����܂��B�Q�Ƃ̒lj�����u�Q�Ɓv�������́u�ŋߎg�p�����t�@�C���v����uWiimoteLib.dll�v��I�����܂��B
���܂܂ł̃v���W�F�N�g�Ɠ��l�A�v���O�����`����using��WiimoteLib��lj����A�N���X�̏���������Wiimote�I�u�W�F�N�g�̐V�K�쐬�uWiimote wm = new Wiimote();�v��}�����܂��B
using WiimoteLib; ������ public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; SpriteBatch spriteBatch; Wiimote wm = new Wiimote(); //Wiimote�I�u�W�F�N�g�̍쐬 ������
����������WiiRemote�ɐڑ����܂��傤�BXNA�t���[�����[�N�ł́uInitialize()�v�Ƃ����������łɗp�ӂ���Ă��܂��̂ŁA�����ɂ�����WiiRemote�ڑ�������lj����܂��B
protected override void Initialize() { base.Initialize(); wm.Connect(); //WiiRemote�ڑ� wm.SetReportType(InputReport.ButtonsAccel, false);//�{�^���Ɖ����x wm.SetLEDs(15); //LED�S�_�� }
�uSetReportType()�v�̑�2�����Ɂufalse�v��ݒ肵�Ĕ�A���f�[�^�擾���[�h�ɂ��Ă��܂�(�����ł����̂悤��true�ɂ��āA�R�[���o�b�N����ݒ肵�Ă��悢�̂ł����A����̃T���v���ł͊ȒP�ɉ����x�̒l������悢�̂ŁA�l�̂��������Ȃ��A���V���v���ȕ��@���Ƃ�܂�)�B
���̏�Ԃł��r���h�������������Ƃ͂ł��܂����AButtonState���u�����܂��ȎQ�Ɓv�Ƃ����G���[���o����~����͂��ł�(XNA��WiimoteLib�ɓ������O�̃v���p�e�B�����邽��)�B�G���[�̏o��s���R�����g�A�E�g����Ηǂ��̂ł����A�I���W�i���̃\�[�X�ł́A�����Łu�Q�[���p�b�h�̃{�^���������ꂽ��I���v�ƂȂ��Ă���悤�ł��̂ŁA�������uWiiRemote��[Home]�{�^���������ꂽ��I���v�ƕύX���Ă݂܂��傤�B
protected override void Update(GameTime gameTime) { // Allows the game to exit �����Ƃ��Ƃ̃R�[�h���R�����g�A�E�g // if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) if(wm.WiimoteState.ButtonState.Home) { this.Exit(); } base.Update(gameTime); }
���̒i�K��WiiRemote��Bluetooth�ڑ����A[F6]�Ŏ��s���Ă݂Ă��������B��قǂƓ��l�A���F�̉�ʂ��\������܂����AWiiRemote��LED��4�Ƃ��_�����A[Home]�{�^�����������ƂŃv���O�������I���ł���͂��ł��B
���ɓǂݍ���3D���f���t�@�C�����������܂��傤�B3D���f���f�[�^���[��������Ǝ��Ԃ��������Ă��܂��܂��̂ŁA�����ł͏��⌤�����̃z�[���y�[�W����WiiRemote�ɂ悭�����u.x�`���v�̃��f���t�@�C���uwiimodoki.x�v�ƁA���̕\�ʂ�����e�N�X�`���t�@�C���utexture_wii.jpg�v���_�E�����[�h�œ��肵�܂��B
�����⌤�����uXNA��WiimoteLib��3D�I�u�W�F�N�g�𑀍�v
[URL] http://www.kosaka-lab.com/tips/2009/06/xnawiimotelib3d.php
�������e�N�X�`���t�@�C��(texture_wii.jpg)
�t�@�C�����_�E�����[�h������AXNA�̃v���W�F�N�g�̃R���e���c�t�H���_�uC:\WiiRemote\WiiRemoteXNA\WiiRemoteXNA\Content�v�ɒu���܂��B
�t�@�C����u������ɁAVisual Studio���Ɏ�荞�݂܂��B�\�����[�V�����G�N�X�v���[���[�́uContent�v���E�N���b�N���āu�lj��v���u�����̍��ځv�Ƃ��āA��قǒu�����uwiimodoki.x�v�Ɓutexture_wii.jpg�v��ǂݍ���ł��������B
�Ȃ��A���f���f�[�^�ł���uwiimodoki.x�v�Ɓutexture_wii.jpg�v��3DCG�R���e���c����\�t�g�E�F�A�uMaya2008�v���g���č쐬�����̂��ucvXporter�v���g���ăR���o�[�g���Ă��܂��B
[URL]�@http://www.chadvernon.com/blog/downloads/cvxporter/
Maya2008�̂悤�Ȕ�r�I������3DCG�\�t�g�E�F�A��������A���{�l���J�����Ă�����j����3D�|���S�����f���[�uMetasequoia(���^�Z�R�C��)�v�ł��\�ł��傤�B�����łƗL����(�V�F�A�E�F�A)������A���i��1���C�Z���X�ɂ�5,000�~�ł��B�uMetasequoia LE R2.4�v�ł�.x�t�@�C���ڏ����o���܂��̂ŁAXNA��DirectX���ŊȒP�ɗ��p���邱�Ƃ��ł��܂��B��҂�O.Mizno���Ɋ��ӂł��B
[URL]�@http://www.metaseq.net/
���āA�R�[�f�B���O�ɖ߂�܂��傤�B���f���t�@�C���̓ǂݍ��݂ƕ\���ɂ��āA�uLoadContent()�v�ƁuDraw()�v�ɉ��M�����܂��B
������ Wiimote wm = new Wiimote(); //Wiimote�I�u�W�F�N�g�̍쐬 private Model xfile; //X�t�@�C���ǂݍ��ݗp ������ protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); this.xfile = this.Content.Load<Model>("wii"); //.x�t�@�C���̓ǂݍ��� foreach (ModelMesh mesh in this.xfile.Meshes) { foreach (BasicEffect effect in mesh.Effects) { //�r���[�s�� �J�����̎��_��ݒ�(0.0f,0.0f,10.0f)�̈ʒu���猴�_������ effect.View = Matrix.CreateLookAt(new Vector3(0.0f, 0.0f, 10.0f), Vector3.Zero, Vector3.Up); //�v���W�F�N�V�����s��@����p�Ȃǂ̐ݒ� effect.Projection = Matrix.CreatePerspectiveFieldOfView( MathHelper.ToRadians(45.0f), (float)this.GraphicsDevice.Viewport.Width / (float)this.GraphicsDevice.Viewport.Height, 1.0f, 50.0f ); } } } ������ protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue); //��ʂɕ`�悷�� foreach (ModelMesh mesh in this.xfile.Meshes) { foreach (BasicEffect effect in mesh.Effects) { //WiiRemote�̉����x�ɍ��킹�ĉ�]�p�x��ݒ� effect.World = Matrix.CreateFromYawPitchRoll(0, -wm.WiimoteState.AccelState.Values.Y, -wm.WiimoteState.AccelState.Values.X); } mesh.Draw();//mesh��`�� } base.Draw(gameTime); } ������
�����ł͌X��API�ɂ��ĉ���͂��܂��A�������3DCG�ɂ����邨��@�I�Ȏ葱���Ɓu�������v��ݒ肵�Ă�����̂ł��B����������l�́AMSDN�Ȃǂ̃}�j���A��������ׂ���A�p�����[�^�[��ύX���Ă݂��肵�āA�T�����Ă݂Ă��������B
���s����ƁAWiiRemote�̓����ɍ��킹�ĉ�]����uWiiRemote���ǂ��v���\������܂��B[Home]�ŏI�����܂��B
�t�@�C���̓ǂݍ��݂ȂǂŃG���[���N����Ƃ��́A�\�����[�V�����G�N�X�v���[���[�Ő�����Content�Ƀt�@�C������荞�܂�Ă��邩�m�F���Ă��������B�Ȃ��A�e�N�X�`���t�@�C���́uwiimodoki.x�v�̒��ŋL�q����Ă��܂��̂ŁA����Visual Studio�Ɏ�荞�܂Ȃ��Ă������œǂݍ��܂�܂��B�܂��uwiimodoki.x�v�t�@�C���̓e�L�X�g�ŋL�q����Ă��܂��̂ŁA�e�L�X�g�G�f�B�^�ŕҏW���邱�ƂŁA�}�e���A��(�\�ʍގ��̓���)��e�N�X�`���t�@�C�����������������肷�邱�Ƃ��ł��܂��B
�ȏ�ŁuWiiRemoteXNA�v�͊����ł��Busing�̐����ȂǍs���������ł̃R�[�h���Љ�܂��B
using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using WiimoteLib; namespace WiiRemoteXNA { public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; SpriteBatch spriteBatch; Wiimote wm = new Wiimote(); //Wiimote�I�u�W�F�N�g�̍쐬 private Model xfile; //X�t�@�C���ǂݍ��ݗp public Game1() { graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; } protected override void Initialize() { base.Initialize(); wm.Connect(); //WiiRemote�ڑ� wm.SetReportType(InputReport.ButtonsAccel, false); wm.SetLEDs(15); } protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); xfile = Content.Load<Model>("wii"); foreach (ModelMesh mesh in this.xfile.Meshes) { foreach (BasicEffect effect in mesh.Effects) { effect.View = Matrix.CreateLookAt(new Vector3(0.0f, 0.0f, 10.0f), Vector3.Zero, Vector3.Up); effect.Projection = Matrix.CreatePerspectiveFieldOfView( MathHelper.ToRadians(45.0f), (float)this.GraphicsDevice.Viewport.Width / (float)this.GraphicsDevice.Viewport.Height, 1.0f, 50.0f ); } } } protected override void UnloadContent() { ; } protected override void Update(GameTime gameTime) { if(wm.WiimoteState.ButtonState.Home) { this.Exit(); } base.Update(gameTime); } protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue); foreach (ModelMesh mesh in this.xfile.Meshes) { foreach (BasicEffect effect in mesh.Effects) { //WiiRemote�̉����x�ɍ��킹�ĉ�]�p�x��ݒ� effect.World = Matrix.CreateFromYawPitchRoll(0, -wm.WiimoteState.AccelState.Values.Y, -wm.WiimoteState.AccelState.Values.X); } mesh.Draw();//mesh��`�� } base.Draw(gameTime); } } }
���A���^�C��3DCG�Ƃ��������ڂ̔h�肳�ɑ��āA�ƂĂ��R�[�h���Z�����Ƃɋ����ꂽ�̂ł͂Ȃ��ł��傤��(XNA�̂������ł�)�B
�Ȃ�����̓R�[���o�b�N���g�킸�ɁA�`�惋�[�v�Œ���WiiRemote�̉����x�Z���T�[�̒l�����̂܂܉�]�̊p�x�ɗ��p����Ƃ����A������ƍr���ۂ����@���Ƃ��Ă��܂��B���ۂ̃Q�[���Ɏg���ꍇ�ɂ́A���̂悤�Ȏg���������邱�Ƃ͋H�ŁA�R�[���o�b�N�Ɠ���F�����Ȃǂ����ׂ��ł��傤�B
���������͓��e�ɂ���āA���܂ł̂悤�ȃX�e�b�v�o�C�X�e�b�v�̉����@���Ƃ�܂���B�A�C�f�B�A�݂̂������܂�ŁA�����̃v���W�F�N�g�ɗ��p���Ă����܂��傤�B
���̃Z�N�V�����ł͕M�҂��J���ɋ��͂������d�̓��[�V���O�Q�[�����i�uAceSpeeder2�v��WiiRemote�Ńv���C�ł���悤�Ɏ�����������Љ�܂��B
WiiRemote�͔C�V�����g�u�}���I�J�[�g�v�Ȃǂ����Ă��邱�Ƃ�����A���[�X�Q�[���ւ̗��p�͑z�肳��Ă���悤�ŁA�e�a���������p�ł��܂��B
�uAceSpeeder2�v��2007�N�ɔ��\���ꂽ�uRAINGRAPH�X�^�W�I�v�i�J�^�j�^�J�q�����ɂ��Q�[����i�ŁA�V�F�A�E�F�A�Ƃ��Ĕ��ɐl�C��������������uAceSpeeder�v(2000�N)�̑��҂ƂȂ钴����SF���[�V���O�Q�[���ł��B
[URL] http://www.raingraph.com/
�Q�[���V�X�e����DirectX8�x�[�X�ŊJ������Ă���ADirectX�̃W���C�X�e�B�b�N�@�\�ł���DirectInput���x�[�X�Ɏ��@�̐�����s���Ă��܂����B
�M�҂̓i�J�^�j�^�J�q�����̋��͂ɂ��A����GPU���g���������ȑS�g�摜�F���uGPUVision�v��A�uOpenCV�v���g������摜���͂ɂ��A�}���`���[�_���ȃ��[�V���O�Q�[���R���g���[���̌�����AceSpeeder2�̃\�[�X�R�[�h��p���čs���Ă��܂����B���̗���ŁAWiiRemote�ɂ��V����������@���������Ă݂܂����B
�Q�[���̃\�[�X�R�[�h�Ɋւ�镔���ł��̂ŁA�v���O���~���O�̏ڍׂ�������܂��A�v���C���[�C���^���N�V�����Ƃ��Ắu���E�͌X���A�O��̓A�N�Z��/�u���[�L�A2��U��ƃu�[�X�g�����v�Ƃ�������̌n�ɂ��Ă���܂��B
���ׂĉ����x�Z���T�[�ɂ��d�͌��o�����Ŏ������Ă���A�{�^���̓��j���[�I�����܂߁A�S���g�p���܂���B�܂�LED���u���@�V�[���h�̎c�ʁv�Ƃ��ĕ\��������A�o�C�u���[�^�[�����o�Ɏg������ƁAWiiRemote���ő���Ɋ��p���Ă��܂��B
AceSpeeder2�ł́u�u�[�X�g�v�Ƃ����@�\������A�G�l���M�[�����߂đ傫�ȉ����͂邱�Ƃ��ł��܂��B�܂��R�[�X�A�E�g���ɂ��u�[�X�g�ŕ����ł���Z������̂ŁA���ł��v���C���[�̈ӎv�Łw�u�[�X�g�����I�x�ł��邱�Ƃ��u�����ɂȂ���܂��B���̃u�[�X�g���u2��U��v�Ƃ����A�N�V�����A�܂�����x�Z���T�[�̃}�O�j�`���[�h����邱�ƂŎ������Ă��܂��B
[URL] http://www.youtube.com/watch?v=KowXAXdfO8E
WiiRemote�̂������ŁA�{�^����S���g��Ȃ�����̌n�ɂȂ�A�����Ȏq���ł��̌����邱�Ƃ��ł��܂����B
���ۂ̓W����ʂ������[�U�[�e�X�g�ł̊ώ@�ɂ��Ɩʔ������Ƃ��킩��܂����B�u�u�[�X�g�v�͊J���҂̈Ӑ}�ʂ�A�U���Ĕ�������ꍇ�̂ق��ɁA�R�[�X�̐�ڂ�����邽�߂ɖ��ӎ��Ɂu�W�����v�v�����Ƃ��ɔ���������A�R�[�X�A�E�g���āu������I������!!�v�Ƃ̂��������u�ԁA���ӎ��ŐU�������������Ŕ���������ƁA���S�g�Œ����I�Ɋy���߂�Q�[���ɂȂ�܂����B
�c�O�Ȃ��瓖����WiiRemote��Bluetooth�ڑ��͂���قLj��肵�����ł͂���܂���ł������A�{���̂悤�ȉ�������o�ł���Ƃ������Ƃ��l���Ă��܂���ł����̂ŁA���̃o�[�W�����͐��i�Ƃ��Ă͌��J����Ă��܂��A����قǓ�����Ƃ������킯�ł͂���܂���B���ꂩ��́A�����Ƒ�����PC���[�V���O�Q�[����WiiRemote�����p���Ăق����Ǝv���܂��B
�@�M�҂�2007�N�ɁA���̎�����WiiRemote�̐ԊO���Z���T�[�̓��������Ȃǂ��uWiiMedia: motion analysis methods and applications using a consumer video game controller�v�Ƃ����_���ɂ܂Ƃ߂Ă��܂��B���̘_���͔����������A�A�����J�Ŗ��N�J�Â����CG�ƃC���^���N�e�B�u�Z�p�̐��E�ō��̍��ۉ�c�uSIGGRAPH�v�ɂ�����r�f�I�Q�[���V���|�W�E���uSandbox�v�ɂ����āA�ŗD�G�_���܂����������܂����B�@�\�[�X�R�[�h�͌��J���A�����͔��\���Ă������̂��ȂƁA���Â��v���܂��B
[URL] http://sandbox.siggraph.org/about.html
�����x�Z���T�[�ɂ��X���̌��o��Atan2()���g���ΊȒP�ɋ��߂邱�Ƃ��ł��܂��B�}�O�j�`���[�h�̎Z�o�Ȃǂ�����7�́A8�͂Ȃǂň����Ă��܂��̂ŎQ�Ƃ��Ă��������B���������ۑ�̐ݒ�ɓ���܂��傤�B
�N�����uAceSpeeder2�v�̂悤�Ȃ��炵���Q�[����i�̃\�[�X�R�[�h�ɃA�N�Z�X�ł���킯�ł͂���܂���B�������t���[�Ń\�[�X�R�[�h�����J����Ă���Q�[���v���W�F�N�g��SDL�W�ł͈ӊO�ɑ����A�L���ȂƂ���ł́uTux Racer�v�Ƃ���Linux�y���M���̃��[�X�Q�[���Ȃǂ��\�[�X�����J����Ă���v���W�F�N�g�ł��B
�\�[�X�R�[�h���ǂ����Ă���ɓ���Ȃ��A�Ƃ������Ƃ��͋t�]�̔��z��3�͂Ŋw�uGlovePIE�v���g���܂��傤�B�v���O���~���O���s�v�Ƃ������Ƃ̓\�[�X�R�[�h�̓�����s�v�Ȃ̂ł��B���܂��W���C�p�b�h���G�~�����[�V��������R�[�h�������܂��傤�B�A�i���O���f�W�^�����͂ł��A���܂����Ǝ��R�ȑ̌�����邱�Ƃ��ł��܂��B
�ȉ��A�����̃��[�X�Q�[���v���W�F�N�g��WiiRemote�Ή��������ŁA��������_���������Ă����܂��B
�����̃Q�[���̏ꍇ��DirectX�̃W���C�X�e�B�b�NAPI�ł���DirectInput�ɏ]�����d�l�ɂȂ��Ă���͂��ł�(�֗��Ȃ̂�)�BWiiRemote��p�̃Q�[���Ȃ炢���̂ł����APC�Q�[���J���Ƃ��ẮA�Q�[���o�����X�⑼�̃R���g���[���[�ł̑��슴�����ɁA���̃Q�[���R���g���[���[�Ɠ��l�̊��o�ŁA���܂��Ȃ��܂��邱�Ƃ��K�v�ɂȂ�܂��B
�uAceSpeeder2�v�̏ꍇ���A���̃Q�[�����ׂ�������̂��߂Ƀf�W�^���W���C�p�b�h��z�肵�Đv����Ă����̂ŁAWiiRemote�̌X�����A�i���O�W���C�X�e�B�b�N�Ƃ��ē��Ă͂߂�ƁA�傫��������������A�ׂ����������ł��Ȃ�������Ƃ���Փx���オ���Ă��܂��܂����B
��Փx���オ�邾���Ȃ璲������Ηǂ��̂ł����A�u�X����v�Ƃ����v���C���[�̕����I�ȍs���ɂ͐�����܂���̂ŁA�Q�[�����ɓ�������(���x��ǂȂ�)�Ƃ����ɐe�a����ۂ��Ȃ���A�C���^���N�V���������コ���邩�Ƃ������_���傫�ȉۑ�ƂȂ�܂����B
������Ƃ����A�C�f�B�A�Ƃ��ẮA�u�Q�[�����̕����v�Ɓu���ۂ̃��[�U�[�̎p���v���C���^�[�t�F�[�X�����邽�߂́u���z�̎p���v�Ƃ������̂��l���āA�W���⎮�Ƃ��������l�ň������@������܂��B�������`���[�j���O���Ă������ƂŁA���̃Q�[���v���O���������ɁA��葀�슴�̌���ɒ��͂ł���͂��ł��B
�@�C�V�����烊���[�X���ꂽ�ŐV�̃��[�X�Q�[���ł̗�Ƃ��ẮuWii Sports Resort�v�́u�E�F�C�N�{�[�h�v���ǂ��ł��Ă��܂��B�����V�~�����[�V�������g����������CG�����邱�ƂȂ���ASF���[�V���O�Ƃ͈قȂ�w��ɐU���ăW�����v�x�Ƃ�������ɉ����āA�w���n�̂Ƃ���WiiRemote�𐅕��ɕۂx�Ƃ������[���������邱�ƂŁAWiiRemote���g��������ƃQ�[������u�����ƂƂ��Ɍ����ɏ����Ă��܂��B
��Wii Sports Resort�u�E�F�C�N�{�[�h�v(���悠��)
[URL] http://www.nintendo.co.jp/wii/rztj/resort/02_sports/index.html
�Q�[���ł�WiiRemote���p(...�Ƃ����Ă��A���Ƃ��ƃQ�[���p�R���g���[���[�ł����I)���l�����ŁA���[�X�Q�[���̂悤�ȃ_�C���N�g�ȕ������͂Ƃ��Ďg���ȊO�A�����Ƃ����҂����g�p���@���u�F���v�ł͂Ȃ��ł��傤���B
���̃Z�N�V�����ł͕M�҂����ۂɊJ���������p�A�N�V�����Q�[���uJaWii's Virtual Fencing�v(�W���E�B�̃o�[�`�����t�F���V���O)�̊J�����x�[�X��WiiRemote�����������[�V�����F���̊�{�e�N�j�b�N�ƁA���p�A���Ƀt�F���V���O�Q�[���ւ̉��p���ȒP�ɏЉ�܂��B
�@�ԊO���Z���T�[�ƑS�g���g�����Q�[�����i�́A�C�V��Wii�����E���A�Ƃ����킯�ł͂���܂���B�u���_�h���S���N�G�X�g�S�肵�`���̌��v(�X�N�E�F�A�E�G�j�b�N�X�E2003�N)�ŗ��p����Ă����̂��������W���[��i�ł͍ŏ��Ƃ����邩������܂���B
�@�t�H�g�_�C�I�[�h�ƐԊO��LED�����������(���g�̏�)�ɑg�ݍ��܂�A�u���g�̌��v�ɂ͍ċA�����ˍ�(���˔��X�v���[)����������Ă��܂��B���́u�d�r�̗v��Ȃ����v��U��āA8��ނ̐�����ɉ����A���ʂɍ\���Ė��@���g�����[�V��������͂��邱�Ƃ��ł��܂����B
�@���̐��i�͎��ꌧ���Îs�ɂ���C���^���N�e�B�u�Z�p�̌����J����Ɓu�V���㊔����Ёv�̂ɋZ�p����Ď������Ă��܂��B���̉�Ђ̃z�[���y�[�W(http://www.xavix.jp/)�ɂ����ƁA�Z�p�̍����Ɨl�X�ȎY�Ƃւ̃C���^���N�e�B�u�Z�p�̃C���p�N�g�����������m��܂��B
���̍�i�u�W���E�B�̃o�[�`�����t�F���V���O�v�͕M�҂��t�����X�̐��������@���s(Laval)�ɂāA�e�[�}�p�[�N�J���̂��߂̃G���^�e�C�����g�V�X�e���̊J���ɏ]�����Ă�����ɁA�s�̊ό��U�����Ƃ��ĊJ���������̂ł��B
�����@���s�͐l��10���l���x�A���E��Y�����T���~�b�V�F������Ԃ�2���Ԓ��x�̏ꏊ�ɂ���A�����̕��͋C���c�����������K�͓s�s�ł��B�o�[�`�������A���e�B���p�ŗL���Ȋw�p�E�Y�ƌ����s�s�ł�����܂��B�N�Ɉ�x���[���b�p�ł����Ƃ���K�͂ȃo�[�`�������A���e�B�̃C�x���g�uLaval Virtual�v(�����@���E�o�[�`����)���J�Â���܂��B
Laval Mayenne (Wikipedia�p��) [URL] http://en.wikipedia.org/wiki/Laval,_Mayenne
Laval Virtual (���{��y�[�W����) [URL] http://laval-virtual.org/
�t�F���V���O�Q�[���uJaWii's Virtual Fencing�v�͂���Laval Virtual�Ń����@���s�̃u�[�X�œW�������Q�[�����ł����B���傤�ǃ����@���s��2007�N�ɁA���s�o�g�̉�ƃA�����E���\�[(Henri Rousseau, 1844�`1910)�Ɠ�����������A�����@���s�o�g�̌���ƃA���t���b�h�E�W�����B(Alfred JARRY, 1873�`1907)�̖v��100�N�Ղ��j���Ă��܂����B
�W�����B�͍�ƂƂ��Ắu�E�r����(Ubu Roi)�v�V���[�Y���L���ł����A�Î��t�F���V���O�̖���ł�����܂����B�����œ����������ꂽ����Řb�肾����WiiRemote���g���āu�W�����B�ɌÎ��t�F���V���O�̎w�����v�Ƃ����Q�[���A�C�f�B�A���A�s���ɃW�����B�̐l����`����ǂ����Ƃ��Ď����オ�����̂ł��B
�܂��͉���ɓ���O�ɁA�����ł̓����YouTube�ɃA�b�v���[�h���Ă���܂��̂ŁA���Q�Ɖ������B
WiiMedia:Sword Fighting "JaWii's Virtual Fencing"
[URL] http://www.youtube.com/watch?v=Kl_-KoVLtx4
�t�F���V���O�̊�{�Ƃ��āA�u�˂��v�u���ʐ���v�u�E����v�u������v�Ƃ������U���A���ꂩ��e�U���ɑΉ������h��@������܂��B�Î��̃t�F���V���O�͂�蕡�G�ł����A����̂悤�ɓd�C���g�����ڐG���o�͂���܂��A�h������܂���B
���̂悤�ȕ��G�Ō`�������Î��t�F���V���O�̃��[�V�������A�q������������ʂ̂��q����ɓ`����̂͊��̎�|�ł͂���܂��A�W�����B�������ȂƂ����Î��t�F���V���O�͂����ƕ\���������Ƃ���ł��̂ŁA�t�����X�t�F���V���O����Ɉ˗����āAGypsy�А��̋@�B�����[�V�����L���v�`���[�ŌÎ����������^���܂����B
3D Studio Max��Virtools���g���āA�W�����B��͂���3D�L�����N�^�[�uJaWii�v�ɂ��̃��[�V�������������A�j���[�V�������蓖�Ă܂��B
�Q�[���͔w�i���e�̑�X�N���[���ɕ\������A�v���C���[���Ȏ��_�ŗV�т܂��B�v���C���[��3D���f���͕K�v����܂��A�t�F���V���O�̃T�[�x����U��A�j���[�V���������͎��O�ɕ����ʂ�쐬���Ă����܂��B
���Ă������炪WiiRemote�v���O���~���O�̉ۑ�ł��B
�v���W�F�N�^�[�w�ʓ��e�Ƃ����݉c�̍\����A�ԊO���}�[�J�[�͗��p�ł������ɂ���܂���B�����x�Z���T�[�����ł��܂��܂ȃv���C���[�̕����̓����F������K�v������܂��B
�u�U��v��F�����邾���ł���A�����x�Z���T�[�e���̋��x���Z�o����}�O�j�`���[�h�ŏ\���ł��傤�B�������A��l��q���Ȃǐl�ɂ���ă}�O�j�`���[�h�̋����͈قȂ�܂����A�u�˂��v�����Ȃ�Ƃ������A�t�F���V���O�炵������������������x�͌��o�������Ǝv���܂��B
�����ŕ����̃v���C���[�́u�����v�Ƃ�������ɂ��āA�����x�Z���T�[�̒l���e�L�X�g�t�@�C���ɕۑ����A��}���Ċώ@���Ă݂�ƁA���낢��Ȗ���������@�������Ă��܂��B�ȉ��A�|�C���g���������܂Ƃ߂Ă݂܂��B
���ɂ��܂��܂Ȗ��̍���Ɋ������錴���́AWiiRemote�̌��o����\�Ɖ�]���x�������Ȃ��_�ł��傤�B�}9-14�͉����x�Z���T�[�̉����x�f�[�^�ЂƂЂƂ�3�����x�N�g���ɂ��Đϕ����A�������x�����ƂɁA����ɂ��̐ϕ��������3�����I�Ȉʒu�ɔz�u�����}�ł��B�u�����ꏊ�Ő���A���R�ɐU��v�Ƃ����A�N�V�����ŁA�������قǑ傫���}�O�j�`���[�h��\���Ă��܂����A�Ȃ����E���獶�Ɉړ����Ă���悤�Ɍ����܂��B
�����x�Z���T�[�̕���\�ɂ��A3�������W���č\�z�ł��Ȃ����Ƃ�7�͂�WiiRemote���u���[���Ƃ��������ƌ��o����Ȃ��v�Ƃ��������s�����̂ŗ����ł���ł��傤�B�����āA�}���́��̕����ɒ��ڂ���Ƃ��ʔ������Ƃ������Ă��܂��B���̕����́u�U��v���[�V�����̍Ō�ŁA�L�����r�������āA���ɐU�肩�Ԃ����u�Ԃł��B���炩�ɐU��̍ō����ɔ�ׂĒ����I�ȓ����ł͂Ȃ��A�������͂ʼn�]���Ă���悤�Ɍ����܂��B
���ۂɂ͂��̏u�ԁAWiiRemote�͓��̌��Ŏ��������ĉ�]���Ă��܂��B�܂��]�̃G�l���M�[��WiiRemote���擾�ł��Ă��Ȃ����߁A���̂悤�Ȑ}�ɂȂ�悤�ł��B�������t�]�̔��z�ŁA���̏u�Ԃ̃}�O�j�`���[�h�́A�U��̍ő呬�̃}�O�j�`���[�h�Ƃ͈قȂ鐫���������Ă���̂ŁA�ア�}�O�j�`���[�h�����͂��ꂽ�Ƃ��Ɂu�����E�B���h�E�̍ŏ��v�Ƃ��ĕ]�����J�n���邱�Ƃ��ł��܂��B
�Ȍ�A���̂悤�ȁu�]�����v����肱��ł������ƂŖړI�̃��[�V�����������������Ă����܂��B���Ƃ͌X�̃��[�V�����ɑΉ�����]�������ꂼ�������Ă����܂��B
�������A�����x�Z���T�[�����̒l�����ł͊ώ@�ł���f�[�^�����Ȃ����܂��B�����ŕʂ̑�����@���g���ĐU�镑�����ώ@���܂��B�}9-15�͌��w���̃��[�V�����L���v�`���[��������ԂŁAWiiRemote�������āo���ʁA�E����A������p�̍U�����[�V�������J��Ԃ����l�q�ł��B
���[�V�����L���v�`���͍����ȋ@�ނȂ̂ŋC�y�Ɏg�����Ƃ͂ł��܂��A���̂悤�Ȏ����Ɖ�������x�s���Ă������ƂŖړI�̃��[�V���������o���邽�߂ɁA�ǂ̂悤�ȃx�N�g���ɒ��ڂ��ׂ����A�܂��ǂꂮ�炢�̃T���v������(�}�̖��̌�)���K�v�������ɂ߂邱�Ƃ��ł��܂��B���z�Ƃ��������Ƃ̋߂����̂�1.0�Ƃ���悢�̂ł�(�x�N�g���̓��ς��g���܂��傤)�B
�܂��]���������邱�Ƃŕ��G�ȃ��[�V�������ȒP�ɐv�ł���悤�ɂȂ�܂��B�]�����̑����Z��|���Z�������āA�����̕]�����������ɐ�����������f��������A�}�C�i�X�̕]�����g���āA�댟�o����₷����������t�̏������������܂��B
�Ⴆ�ΐ}9-15�ł́u�˂��v�ƕ]�������x�N�g��(�܂�Y���\���{�^�������ւ̉���)�ɑ��Ē��F���Ă��܂����A���̃x�N�g�����牓�����̂��u�E����v��u������v�ɊY�����܂�(�u�U��v���[�V�������͏d�͂̉e���͂قƂ�ǖ������Ƃ��ǂݎ��܂�)�B�u�˂��v�̍ō������[�V������5�T���v�����x�ŔF���ł��Ă��܂��̂ŁA���̕]�����ł́A��葽���̃T���v�����g���āu�˂��ł͂Ȃ����[�V�����v�ɒ��ڂ�����悢�̂ł��B
���̕��@���g���āu�W���E�B�̃o�[�`�����t�F���V���O�v�ł́A���܂��܂ȔN��w�̃v���C���[�ł�3�����̍U�����[�V�����Ɩh�䃂�[�V������F�������A�K�ȃA�j���[�V�����Đ��Ɋ��蓖�āA�Q�[����i�����������邱�Ƃ��ł��܂����B
WiiMotionPlus�͖{�����M�̍ŏI�i�K�Ŕ�������܂����̂ŁA��L�̂悤�ȃO���t��`�����Ƃ͂ł��܂���ł���(�������x��Ă��܂��܂��I)�B���K�ł�WiiYourself!�ɂ��C++���ӎ����Ă��܂����A�O���t��`���t�@�C�����o�͂����������������Ȃ�AC#.NET�ɂ��t�H�[���A�v���P�[�V�����̂ق����֗���������܂����(���⌤������CSV�t�@�C����ۑ�����T���v��������܂�)�B
���̂悤�ȁu���[�V�����]�����f�U�C���v�͍��A�Q�[���J���̐��E�ł͂ƂĂ����v������Z�p�ł��BHMM��SVM�Ȃǂ̋@�B�w�K��p�������@�������Ƃ��Ă͖ʔ���������܂����A�Ō�͂��̕]�����̃f�U�C���Z���X���A�Q�[���̖ʔ���������t���邱�Ƃ�����܂��BIF���̃J�^�}���ŊJ�����A�Q�[���v���O���}�[�̒N���ɓ������ꂽ�C���^���N�V�����ł͂Ȃ��A�G���K���g�ŃG�L�T�C�e�B���O�ȕ]������v�ł���悤�A�T�����Ă݂Ă��������B
�@�uJaWii's Virtual Fencing�v�̊J���Ŏg����Virtools�͍����ȎY�ƌ������i�ł��邱�Ƃ�����A���{�ł͂���قǗL���ł͂���܂��A���Ăł͍ł����p����Ă�������v���b�g�t�H�[���ł��B���f����摜�Ȃǂ̃��\�[�X�ɑ��ĕ��i�����ꂽGUI�v���O���~���O���{�������łقƂ�ǂ̃C���^���N�e�B�u�f�U�C���W�����Ă��܂�����I�ȃc�[���ł��B
�@�J�X�^�}�C�Y���������A�����_���[��v���O�C���ȂǂقƂ�ǂ̃\�[�X�͌��J����Ă��܂��B�Q�[���̗����ʔ����̍����Ɋւ�镔���̐v���v�����i�[��GUI�ō쐬���A�ŏI�H���ł���œK����v���b�g�t�H�[���̓Ǝ������Ȃǂ��v���O���~���O�ōs���A�Ƃ������Q�[���J����@�ł��B
�@�\�j�[PSP�p��C�V��Wii�p��Virtools�����݂��܂��B�C�V��Wii�̊J�����C�Z���X�������Ă���Q�[���J����Ƃł���AWiiRemote�W�̃v���O�C������肷�邱�Ƃ��ł��邻���ł��B�܂�Virtools�̃t���[�ȊJ���҃R�~���j�e�B�͊����ŁA�X���b�v�~�[�g(http://www.theswapmeet-forum.com/)�ŗl�X�ȏ���\�[�X�A�v���O�C�������L����Ă���APC��ŗ��p�ł���I�[�v���\�[�X��WiiRemote�̃v���O�C������������܂��B�����Q�[�������ڎw���w�������A�t���[�̃Q�[�����҂ɂƂ��āA����͋��͂ȃ\�����[�V�����ł��BVirtools���g����PC��ŃQ�[���̃v���g�^�C�v�𐧍삷��A���₭�A�C�f�B�A���`�ɂł��܂����A������Z�p�I�ȃ��X�N������ł��邩��ł��B
�@���{�ł̓N���b�Z���g�ƎO�������Ƃ�����Ђ����S�ɑ㗝�X���s���Ă��܂��B�R���e���c�̐���T�|�[�g��Z�p�T�|�[�g�A����x���A�w�Z�������C�Z���X�̔��Ȃǃ��Z���[�e�Ђ̓��ӕ��삪����܂�����A��������������܂��₢���킹�Ă݂Ă��������B���������C�Z���X�s���Ă���邩������܂���B
��������ЃN���b�Z���g�@http://www.crescentvideo.co.jp/virtools/
���O�������@�@http://virtools.jp/
���̃e�[�}�́u�o�����XWii�{�[�h�v�������܂�(�{���ł́uWiiBoard�v�ƕW�L���Ă��܂�)�B
��1.4�͂ŏЉ���w����i�w�l�Ԉ֎q�x�ł�WiiBoard��2�g���AWindows��̓Ǝ�API�ɂ��J�����s���Ă��܂����B
���̃Z�N�V�����ł�Mac���Processing���g�����w���̑��Ɛ����i�w�I�[���f�f�x�̊J���v���Z�X���A���ۂɖ{��i���J�����������H�ȑ�w�R�����f�B�A�f�U�C���������E�d����(���}���������A���ˍG�A������ԁA����L��)�̊F����̂����͂ɂ��w�����_�ŊJ���������Љ�邱�ƂŁAWiiBoard�ɂ���i���ɐe����ł݂����Ǝv���܂��B
�u�I�[���f�f�v�͓����H�ȑ�w���f�B�A�w���̑��Ɛ���W�u���f�B�A�R���e���c�W2009�v�́u���C�t�G���^�e�C�������g�v�Ƃ��Ĕ��\���ꂽ��i�ł��B
�܂��́u�I�[���f�f�v�̓���ƃu���O����Љ�܂�(�ȉ��A����L�ᎁ��Blog��蕶�̂��܂߂ł�����肻�̂܂܈��p���Ă��܂�)�B
YouTube����u�I�[���f�f�v
[URL] http://www.youtube.com/watch?v=3pL3ObUwoA8
�v���O���~���O���S��4�l��������u�I�[���f�f�v�Ƃ�����i
[URL] http://gryng.blog87.fc2.com/blog-entry-15.html
�u�I�[���f�f�v�͑̌��҂̃I�[����f�f�����i�ł��B�����̃I�[���̐F��`�����āA�]�����[�J�[�̂悤�Ɋy����ł��炤���Ƃ��_���ł��B
����Ȃ��ł��B
������]�����[�J�[�n�T�[�r�X�́A���O��a��������͂����鎖�Ō��ʂ��Z�o���Ă��܂��B�������Ȃ��ƁA���͂���肪���肪�Ȃ��̂œ��R�ł��B
�������A�I�[����f�f����ɂ������āA�̌��҂Ɂg���́h��������������܂���ł����B�����ɂ́A���͂��������C�������Ȃ��B���������̍�i�̃L���ɂȂ��Ă��܂��B
���̂��߂Ɏg�����f�o�C�X���A�o�����XWii�{�[�h�ł��B
NINTENDO Wii�p�̎��Ӌ@��ł���AWii Fit�ł��Ȃ��݂̃o�����XWii�{�[�h�BWii Fit�ł̓o�����X�Q�[����g���A���K�Ȃǂ��y���߂܂��B
���̃o�����XWii�{�[�h�́A������l�̏d�S�����߂邱�Ƃ��ł��܂��B��̓I�ɂ́A���E�̑��̑O��A���v�S�J���ɂ�����d���Ă���A���ꂼ����ׂ鎖�ŏd�S�ׂĂ��܂��B
���̃o�����XWii�{�[�h�Ȃ�A�̌��҂Ɉӎ��������ɏ�����͂����邱�Ƃ��ł���I�Ǝv�����킯�ł��B�Ȃ��Ȃ�A�����ɗ������邾���ŏd�S�̏��鎖���ł����Ⴄ��ł�����B
�o�����XWii�{�[�h��Mac��ڑ����邽�߂ɁuBBOSC�v�Ƃ����\�t�g�𗘗p�����Ă��������܂����B
[URL] http://456.im/wp/download/
�����グ�āAWii�{�[�h�̓d�r�{�b�N�X�̒��ɂ���[Sync]�{�^�������������B�т����肷��قNJȒP�ɐڑ��ł��܂����B
��������Mac�ɑ����Ă���S�J���̑̏d�̏����AProcessing�ɓn���킯�ł��B���̂�����́AWeb Designing 3����(2008�N)�̋L��[Beyond the Browser]���Q�l�ɂ����Ă��������܂����B
��G�c�Ɍ����ABBOSC���̏d�̏���OSC�Ƃ����K�i�ő��M�������Ă����̂ŁAProecssing���ł́uoscP5�v�Ƃ������C�u�������g���ăL���b�`����A�Ƃ��������ł��B
Processing�̓r�W���A���\�����e�ՂȃI�u�W�F�N�g�w���̃v���O���~���O����A�炵���B�͂����茾���Ė��O����m��܂���ł����B
Processing�ł͑̏d�̏������ɃI�[����`�悵�Ă����܂��B
�l�̏d�S�͐₦�������Ă�����́B���ꂾ�Ƃ�����ƈ����ɂ����̂ŁA���̐l�̕��ϓI�ȏd�S�ʒu�����߂邽�߂ɁA���b�̔��莞�Ԃ�݂��܂����B���̊ԁA�̌��҂ɂ͉�ʂɏW�����Ă����Ă��炢�܂��B�������Č��������d�S�̈ʒu���g���āA���̐l�̊�ƂȂ�1�F��ݒ肵�܂��B
���1�F�������Ɖ�ʂ��₵���̂ŁA�d�S�̈ړ��ɍ��킹�Ă�����x�A�F���ω�����悤�ɂ��܂����B���̕ω��̕����d�S�̈ʒu����ݒ肵�Ă��܂��B���g���̐l�����̃I�[���h���f�f�ł���悤�ɂȂ�܂����B
�����ĂȂ����Ƃ��܂��܂����������ł����A��i�̂����܂��Ȏd�g�݂��Љ�Ă݂܂����B
�ȏ�̟���L�ᎁ�̃u���O�G���g���[�����ł��ƁA�����܂���̂ňȉ��⑫���܂��B
�uBBOSC�v�͐��f(���������Ƃ�)�����G���u�E�F�u�f�U�C���j���O�v�A�ڋL���̂��߂ɊJ���������̂ŁAWiiRemote��Mac�𑀍�ł���uDarwiinRemote�v�Ȃǂ��J������Hiroaki Kimura���ɂ��AMacOS�ɂ�����WiiRemote�v���O���~���OAPI�uWiiRemote Framework�v���Q�l���ĊJ�����ꂽ�����ł��B
�uDarwiinRemote�vWiiRemote��Mac�𑀍�ł���
[URL]�@http://blog.hiroaki.jp/2006/12/000433.html
�uWiiRemote Framework�v
[URL]�@http://blog.hiroaki.jp/2007/05/000456.html
OSC�Ƃ�Open Sound Control�̗��ŁA�d�q�y���R���s���[�^�̉��y���t�f�[�^���l�b�g���[�N�o�R�Ń��A���^�C���ɋ��L���邽�߂̒ʐM�v���g�R���A�܂�MIDI�̑�ւƂȂ邱�Ƃ��Ӑ}���Ă���ꂽ�l�b�g���[�N�v���g�R���ł��B�J���t�H���j�A��w�o�[�N���[�Z�ɂ���CNMAT�iThe Center for New Music and Audio Technologies�j�𒆐S�ɃI�[�v���\�[�X�ŊJ������Ă��܂�(http://opensoundcontrol.org/)�B
�uBBOSC�v���s���ɁA�^�[�Q�b�g�ƂȂ�z�X�g��IP�A�h���X�ƃ|�[�g���w�肵�܂��B4�J���ɂ�����̏d��0-10000�ɃX�P�[������OSC�ő��M���܂��B�E��A�E���A����A�����ƁAWiiBoard�ɓ������ꂽ4�̂Ђ��݃Z���T�[�̒l�������܂����A���̂܂܂ł͎g���ɂ����̂ŁA�u�I�[���f�f�v�ł�{ X, Y}�̒l�ɕϊ����A���ς𗘗p���Ă��܂��B
�u�I�[���f�f�v���������邽�߂ɁABBOSC�̂ق��ɁA�J�����̗��p�Ə����ɁuJMyron�v�A�l�Ɣw�i���邽�߂ɔw�i�����@��p���A�l�̗֊s���Ƃ邽�߂ɁublobDetection�v�Ƃ���Processing�̃��C�u�������g���Ă��܂��B
�uJMyron�v
[URL] http://webcamxtra.sourceforge.net/download.shtml
�@���Ȃ݂ɁuMyron�v�Ƃ̓A�����J�̃R���s���[�^�A�[�e�B�X�g�~�����E�N���[�K�[(Myron Krueger, 1942)�B�ɗR�����閼�O�Ǝv���܂��B1980�N��ɃC���^���N�e�B�u�E�A�[�g��o�[�`�������A���e�B�[���g������i��������l�ł��B
�uMyron Krueger�v(YouTube����)
[URL] http://www.youtube.com/watch?v=A6ZYsX_dxzs
�ublobDetection�v[URL] http://www.v3ga.net/processing/BlobDetection/
�@Processing�̉摜�������C�u�����ł��B�uBlob�v�Ƃ́u������₵���J�^�}���v�̂��ƂŁA�l���Ȃǂ̌��o������ɂ͌����Ă��܂��B�Ȃ����̃z�[���y�[�W�ɂ͉摜�����𗘗p�������܂��܂ȃA�[�g�v���W�F�N�g�ւ̃����N������܂��B
�Ȃ����̍�i�����\���ꂽ�����H�ȑ�w�u���f�B�A�R���e���c�W2009�v�̃z�[���y�[�W�ɂ́u�I�[���f�f�v�̑��ɂ��ʔ�����i�����������\����Ă��܂��B
�u���C�t�G���^�e�C�������g�v
[URL] http://www.teu.ac.jp/mce/2009/work/lifeenter.html
���̃Z�N�V�����ɂ����͂�������������L�ᎁ���uEarth Surfer�v�Ƃ���WiiBoard���g�����ʂ́u�o�b�N�g�D�U�t���[�`���[���o�Ŏʐ^������v���W�F�N�g�v�\���Ă��܂��B
�@Windows���ł́uWiimoteLib�v��WiiBoard�𗘗p���邱�Ƃ��ł��܂��B����C#.NET��WiiBoard�𗘗p���������́A���⌤�C���ŃT���v�������J����Ă��܂��̂Ŋ��p����Ɨǂ��ł��傤�B
[URL] http://www.kosaka-lab.com/tips/2009/02/wiiwii-fit.html
���̃Z�N�V�����ł�WiiBoard��MacOS�ł̊w���v���W�F�N�g�������܂����B�{���ł�MacOS�ł�WiiRemote�v���O���~���O��Procsssing��ActionScript�ȊO�͈����Ă��܂���ł������ABluetooth�ڑ��̈��芴������uWiiRemote Framework�v�ȂǁAWindowsXP��������ɓ��{�l�J���҂ɂ���ăv���O���~���O�����J��Ă�������������܂����B
�܂����̃Z�N�V�����ň������悤��OSC�̂悤�ȁu�l�b�g���[�N�o�R�̊y��Ƃ��Ĉ����v�Ƃ������@�́AVJ��A�[�e�B�X�g�n�ɐe���܂�Ă���C���^���N�e�B�u�ȃT�E���h�v���O�������uMax/MSP�v�Ȃǂł悭�g������@�ł��B���ۂ�Max/MSP��WiiRemote��������VJ�����Ȃǂ��悭�����܂��BWindows�������ɂƂ����K�v�͖����̂ł��B
�u�I�[���f�f�v�Ŏg�����悤�ȁA�J�����摜�����A�摜�G�t�F�N�g��g�ݍ��킹�A���コ��ɕ��L���w�Ńo�[�`�������A���e�B�A�[�g�A�r�f�I�A�[�g�A�C���^���N�V�����A�[�g��i�����܂�邱�Ƃ����҂��܂��B
���E�I�ɗL���ȃo�[�`�������[���h�T�[�r�X�uSecondLife�v��WiiRemote���g����悤�ɂ��Ă݂܂��傤�BSecondLife�͖����ŗ��p�ł���o�[�`�������A���e�B��ԋ��L�T�[�r�X�ł��B�����f�����{�Ƃ�����Ђ��^�c���Ă���A�����f���h���Ƃ������Љ�Ɏ����ʉ݂�����A�y�n�̔����⌚�z�A�L�����N�^�[�̑�����v���O���~���O�Ƃ��������[�U�[�ɂ��R���e���c�쐬���s����̂������ł��B�悭�킩��Ȃ��l�́u�Q�[�����ړI�ł͂Ȃ�3D�l�b�g�Q�[���̂悤�Ȃ��́v��z������Ɨǂ��ł��傤�B
SecondLife�̃N���C�A���g�\�t�g�̃\�[�X�R�[�h�����J����Ă���킯�ł͂���܂��A��3�͂Ŋw�uGlovePIE�v���g���A�v���O���~���O��������邱�ƂȂ�SecondLife��WiiRemote�ő��삷�邱�Ƃ��ł���悤�ɂȂ�܂��BSecondLife���g�����o�[�`�������A���e�B��Ԃ̌��z��i���ŗL���Ȏ�s��w�����̓n糉p���搶���A�C���^���N�e�B�u�Z�p�̃C�x���g�̂��߂̎ʐ^�A�[�J�C�u��i�uLaval VRchive�v�̓W���p�X�N���v�g���쐬���Ă��܂��̂ŏЉ�܂��B
�܂��AGoogle Earth�p��PIE�X�N���v�g���x�[�X�ɁA������̃��[�U�r���e�B�������s�������ʁA�܂�SecondLife�ɂ��Ƃ��炠��O�i/��i�@�\���I�t�ɂ��邱�Ƃɂ��܂����B�u�o�[�`�������A���e�B��ԓ��œ��g��̃T�C�Y�ʼnߋ��̑̌��^�C�x���g�̎ʐ^�����L����v�Ƃ����R���e���c�̐v��A�O��Ɉړ����邱�Ƃ�����قǏd�v�ł͂Ȃ��Ɣ��f�����̂ł��B���̂悤�ȋ@�\�̊��荞�݂́A���[�U�[�C���^�[�t�F�[�X�f�U�C�������コ�����ŏd�v�ȋ@�\�����Ƃ����܂����AGlovePIE�œ��͂����Ȃ���Ηǂ��̂ŁA��r�I�ȒP�Ɍ������邱�Ƃ��ł��܂����B
�������Č������d�˂Ă�����ŁA�ŏI�I�ɂ́u�\���L�[�őO��ړ��{���E�]��C�w[B]�{�^���������Ȃ��灪���x�������́w�{�|�{�^���x�ŏ㏸���~�v�Ƃ����d�l�ɗ��������܂����B�ԊO���Z���T�[�̒l�̓}�E�X�|�C���^�Ɋ��蓖�ĂĂ���܂��BUSB���d�ł���Z���T�[�o�[���v���W�F�N�^�[�X�N���[���̉��ɐݒu���ASecondLife���́u�w�����v�Ɠ������o�ŁA��i���̃I�u�W�F�N�g��WiiRemote�������āA[A]�{�^�����������Ƃő��삷�邱�Ƃ��ł��܂��B
SecondLife�ł͂�����Ƃ������ƂŃJ�����A���O��������Ă��܂��̂ŁA[Home]�{�^���Ń��Z�b�g�ł���悤�ɂȂ��Ă��܂��B�܂�Second Life�̃R���e���c��W������ꍇ�A���j���[�o�[���ז��ɂȂ邽�߁A�f�B�x���b�p�[���[�h[Ctrl+Shift+D]�ɐ�ւ��A�u�C���^�[�t�F�C�X��off�v[Ctrl+Shift+1]�Ƃ������[�h�ɂ��Ă��܂��B���̏ꍇ�A��ʏ㕔�̃��j���[�o�[�͕s���ɂ͂Ȃ��Ă��܂����A���j���[�o�[���̂��̂͑��݂��Ă��邽�߁A��ʂ̏㉺�[��[A]���N���b�N����ƌ듮�삷�鋰�ꂪ����܂��B����̃X�N���v�g�ł͎������Ă��܂��A��ʂ̏㉺�[�Ƀ}�E�X�ړ��̃��~�b�^�[��t���邱�Ƃ��]�܂�����������܂���B
Mouse.LeftButton = Wiimote.A Keyboard.ESC = Wiimote.Home Keyboard.Up = Wiimote.Up Keyboard.Down = Wiimote.Down Keyboard.Left = Wiimote.Left Keyboard.Right = Wiimote.Right Keyboard.E = Wiimote.Plus Keyboard.C = Wiimote.Minus if Wiimote.B & Wiimote.Up Then KeyBoard.Up = False Keyboard.E = True Wait 600ms Keyboard.E = False endif if Wiimote.B & Wiimote.Down Then KeyBoard.Down = False Keyboard.C = True Wait 600ms Keyboard.C = False endif ���ȉ��A�ԊO���Z���T�[�̗��p����芴����̂��߂̃X�N���v�g��
�@WiiRemote�̍X�V�������ԂȂɂ��Ȃ��ƁA���̊Ԃɂ��ؒf����Ă��܂��܂��B�ԊO����������Ȃǂ��āA�ؒf����Ȃ����|�[�g���[�h���g���Ɗm���ɐؒf�͂���Ȃ��̂ł����A���x�͓d�r����Ă��܂��܂��B��������ɂ͒������Ԃ�������܂����A���XLED�o�͂Ȃǂ̐M���𑗂��Ă�����Ƃ悢�̂�������܂���B�Ȃ�Wii�{�̂ł́A���l��WiiRemote�������ԑ��삵�Ȃ��ƃX���[�v���[�h�ɓ���̂ł����A����WiiRemote�̃{�^���������ƁA�{�̑�����ēxBluetooth�̃y�A�����O��v������炵���A�ڑ�����������悤�ɂȂ��Ă��܂��B
�@Windows���ɂ����Ă͂܂�Bluetooth�����ڑ��ɐ��������\�t�g�E�F�A�͂���܂��A�����Ă���l�����Ȃ��킯�ł͂���܂���B�����I�ɂ�DDK������̂ŕs�\�ł͂Ȃ��͂��ł�(��p��HID�h���C�o����������������̂�������܂���...)�B���̂����������������x��WiiRemote�Ǘ����I�[�v���\�[�X��API�ʼn\�ɂȂ邩������܂���ˁB
WiiRemote�̐ԊO���Z���T�[�͔��ɑ��@�\�ō����ō��@�\�ł����A���̂܂܂̏�Ԃł́A�Z���T�[�o�[��Wii�{�̂ɐڑ����Ă��Ȃ���Ύg���܂���B��������PC��WiiRemote���g����̂ŁAWii�{�̂��Ȃ��Ă��悢�悤�ɁA�Z���T�[�o�[�̎d�g�݂�m��A����ɒ��킵�Ă݂܂��傤�B
WiiRemote�̉����x�Z���T�[�����g���\��̓ǎ҂̕���A�Z���T�[�o�[��Wii�{�̂ɐڑ����ė��p������́A���̃Z�N�V�����͓ǂݔ���Ă��������Ă����܂��܂���B
�Z���T�[�o�[�́A���O���������Ɓw���ɃZ���T�[�������Ă���x�悤�ɕ������܂����A���ۂɂ͐ԊO���Z���T�[��WiiRemote���Ɏ�������Ă���A�Z���T�[�o�[�����ɃZ���T�[�͑��݂��܂���B
�Z���T�[�o�[�����ɂ́A���E�ɂ��ꂼ��5�̐ԊO��LED����������Ă��܂��BWii�{�̂Ɛڑ����Ă���P�[�u���́A�����̓d���P�[�u���ŁA�ԊO��LED�̓v���O�������Ă���ԁA��ɓ_�����Ă���悤�ł��B�܂�LED�͐M���𑗂��ē���������A�ϒ�(���g����ς��Ė��x�⑬�x�����邱��)������A�Ƃ������Â������Ƃ͂����A�P���ɒ����d�����g���āA�������邳�œ_�����Ă��܂��B���Ȃ݂Ɂu�e���r�̗F�`�����l��G�K�C�hfor Wii�v�Ń����R���Ƃ��Ďg���Ƃ������́A�����R���M���̋K�i�ɍ��킹�č����ɓ_�ł��Ă��܂��B
������ϒ��Ƃ��������G�ȓd�q��H�̏ꍇ�́A�����ō��̂͏��X��ςł����ALED�_����H���炢�ł������قǓ���͂���܂���(���w�����x���̓d�q��H�ł�)�B����LED�_����H��ԊO��LED��p���Ď��삷��A�I���W�i���̐ԊO���}�[�J�[�̂ł�������ł��B�Z���T�[�o�[�͕K�v�Ȃ��Ȃ�܂��BPC��WiiRemote�𗘗p����̂ɁA��������Wii�{�̂��N�����ăZ���T�[�o�[��_��������K�v�͂���܂��A�ԊO���Z���T�[���g��������̍�i�𗘗p�����ł̎��R�x���L����ł��傤�B
���āA�����ł͐ԊO���ɂ��Ċw��ł����܂��傤�B�܂��A���̒��̌��ɂ͂��ׂāu�g���v������܂��B�g�����ς��ƐF���ς���Č����܂��B����v���Y����ʂ��đ��z�̌������Ă݂�Ɓu�Ԟΐ����v�Ƃ������Ԃɕ���Ō����܂��B�ԐF�ɋ߂��Ȃ�Ȃ�قǒ����g���A���F�ɋ߂��Ȃ�Ȃ�قǒZ���g���ł��B�l�Ԃ�����Ō��邱�Ƃ��ł���g���u�����v�ɂ͌��肪����A���ۂɂ͂����Ƒ����̔g�������݂��܂��B
�w�ԊO���x�ƈꌾ�Ō����Ă��A�{���ň����ԊO���͔g��700nm�`2500nm�ߕӂ́u�ߐԊO���v�ƌĂ��ԊO���ł��B���ɂ�2500nm�`4000nm�́u���ԊO���v��A�g��4��m�`1000��m�́u���ԊO���v(�M��)������܂��B��������l�̖ڂł͌����Ȃ����ŁA�u�d�g�v�����g���̒Z���u�d���g�v�̂��Ƃł��B���ԊO���ȏ�ɔg���������Ȃ�Ɓu�}�C�N���g�v�u���[�g���g�v�Ƃ������u�d�g�v�ƌĂ�܂��B
�l�Ԃ�������u�����v�́A���������Ԃ�750nm���率��380nm���x�ŁA��������Z���g���ɂȂ�Ɓu���O���v�ƂȂ�A����ɔg�����Z���Ȃ�ƁuX���v��u�K���}���v�ƌĂ�A�������قȂ��Ă��܂��B�l�̂ɋz�����ꂽ��A�R�⌚����ʂ蔲������A��������������A�����ʐM�ł�����c�c�Ɣg�����Ƃɂ����ȗ��p��̓���������܂����A����WiiRemote���g����ł͔g��1000�`800nm�́u�ߐԊO���v�̌����g���܂��B���̋ߐԊO���́A�l�Ԃ̖ڂɌ����Â炢�Ƃ����ȊO�́A���i��X���ڂɂ�����ƂقƂ�Ǖς��Ȃ������������Ă��܂��B
�ߐԊO���͖ڂɌ��邱�Ƃ��ł��܂��A�����ɋ߂����߁A�ڂɌ�������Ɏ����g�U�┽�˂��ώ@�ł��܂��B�ڂɌ����Ȃ��Ƃ������R����A�����h�A�̐ڐG�Z���T�[(�t�H�g�C���^���v�^)��A�e���r�̃����R���A�g�ѓd�b���m�̐ԊO���ʐM�uIrDA�v�ȂǂɎg���Ă��܂��B�������Ă݂�ƁA�X�̒��͐ԊO���Z���T�[���炯�Ȃ̂ł��I�Ȃ��C���t���G���U�Ŕ��M���Ă���l����������Ƃ��Ȃǂɂ��g����u�M�摜�J�����v��u�ԊO���T�[���O���t�B�[�v�Ƃ��鉷�x�ɉ����ĐF����肠�Ă�J����������܂����A����͍��̕��˂ɂ��7.5�`13��m�̔g���A�܂艓�ԊO���ł��B
�@�����Ȋw�Ȃ�2008�N�̉Ȋw�Z�p�T�ԂŔz�z�����u��Ƃ�1�����}�b�v�v�����ɗǂ��ł��Ă��܂��B�g�����A����Ƃ�������ɂ��āA���ۂɎg���Ă���Ⴊ�ʐ^����ŏЉ��Ă���|�X�^�[�ł��BPDF�ł������w�������̃z�[���y�[�W����_�E�����[�h�ł��܂��B
���u��Ƃ�1�����}�b�v�v
�@���쒘��F�����Ȋw�ȁ^�ďC�F�͓c���i�Ɨ��s���@�l�����w�������j
�@http://www.riken.go.jp/r-world/topics/080404_2/lightmap.pdf
���M�d���Ȃǂ��ڂɌ������(������)�ƂƂ��ɁA�M���ƋߐԊO�������Ă��܂��B�u�Z���V���O�p�r�v�܂�WiiRemote�̂悤�ȃZ���T�[�Ƃ��Č����g���ꍇ�ɂ́A������M�͕K�v�łȂ��A�������ǂ��Ȃ��̂ŁA�}�[�J�[�p�����Ƃ��ĐԊO��LED�̔������g���ꍇ�������悤�ł��B
�Z���V���O�p�r�ł́A�ԊO��LED�����ɂ��킹�āA�t�H�g�_�C�I�[�h(PD)��t�H�g�g�����W�X�^�Ƃ���������̔g���̌��ɑ��Ĕ������锼���̂ƃZ�b�g�ŗ��p����܂��BTV�̃����R����g�ѓd�b��PC�̋ߋ����ʐM�Ɏg��IrDA(Infrared Data Association)�K�i�A�����h�A�����̐ԊO��LED�Ɣ����̑f�q�̃Z�b�g�ō\������Ă��܂��B
�ڂɂ͌����Ȃ��ԊO���ł����A�f�W�J����g�сAWeb�J�����Ȃǂ̉摜�Z���T�[���g�����ƂŁA�ԊO�����摜�Ƃ��Č��邱�Ƃ��ł��܂��B�f�W�J���ɗ��p����Ă���摜�Z���T�[�ł���uCCD�v��uCMOS�v�́A�{���A���肳�ꂽ���̔g���̌������d�q�ɕϊ��ł��Ȃ��̂ł����A�ԁE�E�Ƃ������A�l�Ԃ��摜�Ƃ��ė��p���邽�߂̎�������ȊO�ɂق�̏��������A�����̊O���̔g���Ɋ��x������f�o�C�X������܂��B���̎�������𗘗p���āu�����Ȃ��ԊO��������v���Ƃ��ł��܂��B���̒m���͔��ɗL���ŁA�Z���T�[�o�[�����삵���Ƃ��⓮��m�F�������ŁA�ԊO����������J�������茳�ɂ����Ă����ƁA�ԊO��LED�̓_����Ԃ������Ĕ��ɕ֗��ł��B
�Ȃ��u�m�N�g�r�W�����v��u�i�C�g�X�R�[�v�v�ƌĂ��J�����́A���̎d�g�݂��g���ĖڂɌ����Ȃ��ԊO���Ƃ���������������āA�钆��Èłł��B�e�ł���J�������������Ă��܂��B
�@WiiRemote�̐ԊO���Z���T�[�͂��������ǂ̂悤�Ȏd�g�݂łǂ�Ȕg���̌��������邱�Ƃ��ł���̂ł��傤�H
�@���ۂɂ͌^�Ԃ����J����Ă���킯�ł͂Ȃ��̂ł悭�킩��܂���B�������Ă݂邵���Ȃ��̂ł����AWiiRemote�ɓ�������Ă���Z���T�[�́A�C�V������p��PixArt Imaging��(http://www.pixart.com.tw/)�ɓ������ĊJ�������A���ʂȐԊO���摜�Z���T�[�Ƃ����Ă��܂��B�����͈̔͂��o�܂��A��𑜓x��CMOS�ŁA�f�W�J���̂悤�ȁu��f�l�v�ł͂Ȃ��ԊO���̖�����́u�d�S�̈ʒu�v�������ɏo�͂���^�C�v�̃f�o�C�X�̂悤�ł��B
�@��ʓI��Web�J�����Ȃǂ̉摜�������x�����b30-60�t���[�����x�Ȃ̂ɑ��āA����PSD��2�����̏d�S�ʒu���o�͂��邾���Ȃ̂ŁA�����ł��B�l�i�Ƒ傫���ɂ����܂����A���b400�t���[�����炢�o����f�o�C�X������܂��B
�@�Ȃ��M�҂���w4�N�̎��ɏ������_���u���w�I�R�����ʒu���o�@��p�������A���^�C���l�ԓ�����̓f�o�C�X�v�ł́A�l���z�g�j�N�X�А���PSD(Position Sensing Device)�J�������g���܂����B���̃J������WiiRemote��CMOS�Ɏ��������̃f�o�C�X�ł����A����100���~�ȏ�Ō��������w���������Ƃ��L�����Ă��܂�...�I
[!]���������͓d�q��H���̒m����������A���c���Ă̈����Ȃǂ��\�ȕ��̂ݎ��H�ɗՂ�ł��������B�{���������Ƃ���PC�̔j����Ώ����̑��̕s���v�ɂ��āA���҂�o�ŎЂ͐ӔC�������܂���B
�����炪����USB�Z���T�[�o�[�̉�H�}�̗�ł��B
�ޗ��Ƃ��ẮA�ԊO��LED�ƒ�R�A��ՁA���c���Ĉꎮ�A���Ƃ͕s�v��USB�̃P�[�u����1�{�A�ؒf���č��܂��B���^��USB�v���O�Ȃ�A�����[�q�ʂ����ɂ��č����珇��1,2,3,4��4�̒[�q�����Ă��܂��B����1�Ԃ��d���ƂȂ�VCC(+5V)�ŁA4�Ԃ�GND(�|)�ł��B��`��USB�̒[�q�̏ꍇ�͑�`�̒��҂������ɂ��ĉE�オ1�ԁA�E����4�ԂɂȂ�܂��BUSB�̃P�[�u����K���Ȓ����Őؒf���āA�e�X�^�[�ȂǂŊm�F���Ȃ���A�}����USB1�Ԃ���H��+5V�ɁAUSB4�Ԃ���H��GND�ɂ��ꂼ�ꔼ�c�������ĂȂ��܂��B
�ԊO��LED�͕��ʂ�LED�Ɠ������A�H�t����ʔ̂œ���ł���d�q���i�̂��X�Ŕ������Ƃ��ł��܂��B
�^�ԁFOSIR5113A
VF=1.25V(��20mA)�A�s�[�N�g��940nm�A�����p15�x�A�����d��20mA
�@http://akizukidenshi.com/catalog/g/gI-00656/
�l�i��100�����700�~�ƁA�d�q���i�Ƃ��Ă͋C�y�ɔ����镔�ނɓ���܂��B�w���O�ɁA�d�l�����悭���Ă��������B�d�v�Ȃ̂́u�s�[�N�g���v�A�uVF(DC Forward Current)�v�A�u�����d���v�A����Ɂu�����p(50% Power Angle)�v�ƌĂ��l�ł��B�s�[�N�g���͕ۏ�͂ł��܂��AWiiRemote�ɂ�900�`1000nm�̊Ԃ��炢���悢�悤�ł��B�����p�́A���ʂ�100���Ƃ����Ƃ��ɖ��邳�������ɂȂ�p�x�ł�(LED�ɂ͍L�p�̂��̂ƁA���ʂɎw�����̍������̂�����܂�)�B�Ȃ������ŏЉ���uOSIR5113A�v�͏��⌤�����ł����p���т����邻���ł��B
�܂�VF(mA)�ɂ���Đ�����R�̒l�����܂�܂��̂ŁA����ɍ��킹����R����������ɔ����Ă��������B������R���Ԃɓ���Ȃ��ƁA�������ɓd��������Ă��܂��A���Ɋ댯�Ȍ����ɂȂ��Ă��܂��܂��B�ň�PC�{�̂���������܂���B
���̌x�����b�Z�[�W��USB�|�[�g�̓d����USB�̋K�i�Œ�߂�ꂽ���e�ʂł���500mA�����Ƃ��Ȃǂɕ\������܂��B�z�����Â���Vbus��GND���V���[�g���Ă���Ƃ��Ȃǂ����l�ɕ\������܂��̂ł��̃��b�Z�[�W���\�����ꂽ�Ƃ��́A���₭USB�|�[�g����v���O���A�e�X�^�[�ȂǂŃV���[�g���Ȃ����m�F���Ă��������B
�܂�LED�̓_�C�I�[�h�Ƃ����d����������ɂ��������Ȃ������������܂��B�A�m�[�h(���̒����ق�)����J�\�[�h�֗���܂����A�t�ɂ͗���܂���B�ԊO����������f�W�J����T��ɂ����āA���g�݂�����e�X�g�ŋ쓮���Ă݂��肵�Ȃ�����Ȃ��ƁA���������ł͋ɐ����킩��Ȃ��Ȃ�܂��̂Œ��ӂ��܂��傤�B
���̂悤�ɔ��ɏ�����USB�Z���T�[�o�[����邱�Ƃ��ł��܂��B���낢��Ɖ��p�̕����o�Ă��܂��B
���c���Ă����M�������Ĉ������݂̂����߂��܂��B���c���ĂʼnΏ������肵�Ă��A�{���͐ӔC�������܂���B
�ԊO���͖ڂɌ����Ȃ��̂ŁA��H�}�̐ԊO��LED�ɉ����āA�ʓd���Ă��邩�̊m�F�̂��߂ɉ��g��(�Ԃ��)��LED���g���ăp�C���b�g�����v�����Ƃ悢�ł��傤�B
���̉ۑ�͎���Z���T�[�o�[�����Ȃ��Ă�����ł��܂��B�O�p�`�̔F���ł�����Ɛ��w�p�Y��������܂����A�y����ʼn����Ă݂Ă��������BWiiRemote��4�_�܂Ō��o�ł��܂��̂ŁA�O�p�`�̌������E������A�ʂ�����ł�����ƁA���낢��ȉ��p������܂��B
WiiRemote���g���ă��W�R���J�[�𑀍삵�悤�Ƃ����A�C�f�B�A�����������l��(���E�ɂ�)�ӊO�ɂ���悤�ł��B
http://gigazine.net/index.php?/news/comments/20061222_wii_rc/
http://www.inside-games.jp/news/329/32904.html
����2006�N12���̃j���[�X(Gigazine)�ŏЉ��Ă����́AWiiRemote����̐M����Bluetooth�o�R��PC�Ɏ�M���āA��������W�R���J�[�̃R���g���[���[(�v���|)�Ȃǂɑ��M������@�ł��B
�uWiiRemote��PC�����W�R���v���|�����W�R���v
�����ЂƂ̓�������l�ŁAWiiRemote�ɖO�����炸�A�k���`���N��WiiBoard�A�����iPhone���g���ă��W�R���J�[�𑀍삷�铮������J���Ă��܂��B
�l����������Ƃ������^���Ă��ʔ�������܂���B�����ł́A��̂悤�ȍ\���ł͂Ȃ��A
�uWiiremote��PC��WiiRemote�����W�R���v
�Ƃ����v���|����g��Ȃ����@�ŁA���W�R���𑀍삵�Ă݂����Ǝv���܂��B
���m�ɂ́uWiiRemote�Ń��W�R���𑀍�v�ł͂Ȃ��AWiiRemote�����W�R���ƍ��́A�܂�uWiiRemote�����W�R�����v�����wWiiRemoteTank�x���J�����܂��B
�قƂ�ǃ��{�b�g����ł��B����͂���܂���B
�����͊ȒP�ł��BWiiRemote����v���C���[�C���W�Q�[�^�[(4�̐FLED)�́AWiimoteLib��SetLEDs���ŐM���𑗂邾���ŁAON/OFF�̏o�͂��ł��܂��B����LED�̓d�͂����[�^�[�h���C�o�[�ɐڑ����邱�ƂŃ��[�^�[�𐧌䂷�邱�Ƃ��ł��܂��B
���[�^�[�h���C�o�[�Ƃ́A���̖��̒ʂ胂�[�^�[�𐧌䂷��d�q���i�ł��B2�̐M���̑g�ݍ��킹�ɂ���āA���[�^�[�̉�]�A���]�A��~���s�����Ƃ��ł��܂��B���Ƃ��u[01]�őO�i�v�u[10]�Ŕ��]�v�u[00]�ŃX�g�b�v�v�Ƃ�����2bit�̃f�W�^���M���Ő���ł��܂��̂ŁALED�̓_��������o�͂����Ă�邾���ŁA���[�^�[�̓�����R���g���[���ł���킯�ł��B
�����ł̓��{�b�g�̊J�������K���Ă���A����w���p���H�w�ȋ@�B�n3�N���̉��K�u�@�B�n���H�w���K�v�̋��ȏ����Q�l�ɂ��Ă��܂��B
[URL] http://www.robot.ams.eng.osaka-u.ac.jp/hosoda/enshu/start.html
��Toshiba�̃��[�^�[�h���C�o�[�uTA7291P�v�f�[�^�[�V�[�g
[URL] http://www.robot.ams.eng.osaka-u.ac.jp/hosoda/enshu/doc/TA7291F_TA7291SG_ja_datasheet_070613.pdf
�����ŏЉ��Ă��郂�[�^�[�h���C�o�[�uTA7291P�v���g���܂��BWiiRemote��LED��4����̂ŁA���̃h���C�o�[���g����2�̃��[�^�[�𐧌䂷�邱�Ƃ��\�ł��B���[�^�[2�ő���ł����ԂƂ����A�u�^�~���^���N�H���{�Z�b�g�v�ł��傤�B�I�����C����1,500�~�ōw���ł��܂��B
http://tamiyashop.jp/shop/product_info.php?cPath=17_149��products_id=70108
�����ăR���g���[���[�p��WiiRemote�Ɛ���p��WiiRemote��2���p�ӂ��܂��B�܂�����p��WiiRemote�����ALED�̐M�������o���܂��B
�@����搶�́uWiiRemote���v�Ƃ������菑����Ă��܂����AWiiRemote�̃l�W�͓���ȃh���C�o�[�łȂ���Ή��Ƃ���ł��܂���B�������S���ۏ؊O�̍s�ׂł����A���̂悤�ȃh���C�o�[�Ȃǖ����Ă��J���悤�Ǝv���ΊJ���邱�Ƃ͂ł��܂��B
�y�Q�l�z[URL] http://ameblo.jp/akihiko/entry-10056910390.html
�@����l�W���͂�������A���ʂ̃l�W�����Ă����܂��傤�B
���āA���̐��ԓ���̂́A�uWiiRemote����LED�ɔz�����A���ʂ�Ɏ��߂邱�Ɓv���Ǝv���܂��B���Ȃ�̏W���͂��v������܂��B���⌤������Tips��WiiRemote��LED����������L��������̂ŎQ�l�ɂ��Ă��������B
[URL] http://www.kosaka-lab.com/tips/2009/05/wiiledled.php
�e�X�^�[���g���Ċm�F���Ȃ���i�߂Ă��������BLED�̂��߂̐M�����E���āA���[�^�[�h���C�o�[�ɐڑ����܂��B
�R���g���[���[�p��WiiRemote�̌X����PC���ǂݎ��A���̌X���ɍ��킹�āA����pWiiRemote�ɐM���𑗂�v���O������ʓr�쐬���Ă����܂��B
���[�^�[��2����܂��̂ŁA�����x�Z���T�[�̌X���ɍ��킹��2��LED�ɑ���[00]�`[11]���o�͂���悤�ȃv���O�����ŏ\���ł��傤�B
�����ł̓���͏��⌤�����ɂČ��邱�Ƃ��ł��܂��B
[URL] http://www.kosaka-lab.com/tips/2009/05/wii-2.php
�R���g���[���[�pWiiRemote���X����ƁAWiiRemoteTank���i�݂܂��B�����WiiRemote���v���|�ɂ��đ��삵�Ă��܂���WiiBoard�Ȃǂő��삵�Ă��ʔ������ł��B
LED�̏o�͂͂܂�2�`�����l�����c���Ă��܂�����A���ɂ������f�R���[�V������������AWiiRemote�̐ԊO���J�����𗘗p���āA�ԊO���������ɒǔ����ē������{�b�g��A���C���g���[�T�[(�������ɏ]���ē������{�b�g)�Ƃ��Ă��W�J���邱�Ƃ��ł���ł��傤�B
�����WiiRemote�����{�b�g�֓��������Ƃ��āALED����M�����Ƃ���@���Љ�܂����BLED�ȊO�ɃX�s�[�J�[�̃A�i���O�o�͂�A�g���[�q��I2C�C���^�[�t�F�[�X���g���@���\�������肻���ł��B�����ł̗�ł̓��{�b�g��Ԃł����A���킢�炵�������X�^�[�̂ʂ�����݂𒅂�����A�Q�[���ƘA���������肷��ƁA�r�b�O�ȃr�W�l�X�`�����X�����肻���ł�(��)�B
���̃Z�N�V�����ł́A��8�͂Ŋw�Z�p�����p���āA�n���f�B�L���b�v�̂������WiiRemote���g���āA���R�ɃR���s���[�^�[��G���悤�ɁA�����ł��邩�H�𒆐S�ɍl���Ă݂����Ǝv���܂��B
�u�̂��s���R�v�ƈꌾ�ł����Ă��A��V�I�ɕs���R�ȕ������łȂ��A���̂�a�C�ŕs���R�ɂȂ����l��A�ꎞ�I�ɕs���R�ȂЂƂȂǂ��ꂼ��ł��B
����ȕ��X��WiiRemote�����Ńu���E�U�[�𑀍삵���胁�[�����������肷�邱�Ƃ��ł���C���^�[�t�F�[�X���J���ł���A���g�s���̕��Ȃǂ̐l����傫���ς��邩������܂���B
���K���Ƃ͂����A��������������\�t�g�E�F�A�ł�����A�������̂��ł�������J���܂��傤�B�Ȃ�ƌ����Ă�WiiRemote�ƃ\�t�g�E�F�A�����ł�����A��ʓI�Ȉ�Õ����@��ɔ�ׂĔ��ɋC�y�ɗ��p�ł��܂��B
���Ȃ݂Ɂu�n���f�B�Ȃ�Ď����ɂ͊W�Ȃ��v�Ǝv���Ă���ƁA�������܂��B���������M�҂��A���܂ꂽ����̎����̐Ԃ�V��2���Ԃ����Ɏ������Ȃ���Ȃ�Ȃ��Ƃ�������܂����B��͘_�����������肵�Ă��邱�Ƃ������̂ŁA�Ȃɑ����Ď����S���Ȃ̂ł����A�~���N�������Ă��鎞�͗��肪�ӂ������Ă���̂ʼn����ł��܂���(�ƂĂ������Ȃ�)�B���̎��Ԃ��g���ă��[���ɕԐM������A�u���E�U�[��G������Ƃ������ȒP�ȍ�Ƃ��ł���A�q��ď����̎����X�g���X�͂ǂ�ȂɗL�Ӌ`�Ȏ��ԂɂȂ����ł��傤���I
�܂藼�肪�����Ă��錳�C�Ȃ����Ɂu���������\�t�g�E�F�A������Ă����悩�����I�I�v�Ɖ��x����������A�Ƃ������Ƃł�(��)�B
�u�c���Ɏ������郍�{�b�g�v�͉����x�Z���T�[�̒l�����܂��g���āA���������������A�X�s�[�J�[���g������c�ƃA�C�f�B�A���L����܂��B�t�����X��ł͈��S�h�肮��݂̂��Ƃ��uPoupee�v�Ƃ����܂����A�M�҂͉ߋ��ɂ��̃A�C�f�B�A�ŗc�������̃��N�K�L�V�X�e���uPapier Poupee Painter�v���J���������Ƃ�����܂��B�U�邾���œh��G���ۂ����Ƃ��ł����i�ł����B
�c�����C���^���N�e�B�u�Z�p�̎��_�ł́u�n���f�B�������[�U�[�v�Ƃ��܂�ς�肠��܂���B������y�C���g�u���V�̂悤�ȐF��I�Ԃ悤�ȋ@�\�͌��肵�āA���N�K�L�̖ʔ����������ۗ�������A�Ƃ����d�|����WiiRemote�̖����@�\�ƈ��萫�\�͑�ϖ��ɗ����܂����B
WiiMedia:Painting "Papier Poupee Painter" ver.Alpha (YouTube����)
[URL] http://www.youtube.com/watch?v=S8kYQbfN_9I
WiiRemote�̐ԊO���Z���T�[�͔��ɍ����ŁA�g��������������܂��B�����ł�2�_�̐ԊO��LED�̏���ŁA�ǂ��܂Ő��m�ȁu���s�����܂߂�3�������W�v���擾�ł��邩���_�I�ɓ˂��l�߂Ă݂܂��B
�����ł́A�I�ȕ��@��������2�_��LED���W����WiiRemote��3�������s�����̍��W���擾������@���l���܂��B�l�����̃g���[�j���O���Ǝv���ēǂ�ł݂Ă��������B
���܁AP(x,y,z)�Ƃ����ʒu�ɂ���WiiRemote���A���_O(0,0,0)�Ƃ����ꏊ�ɂ���Z���T�[�o�[�Ɍ������ĐԊO���Z���T�[���������Ƃ��AWiiRemote�Ŏ擾�ł���2��LED�Q�̈ʒu��(IrX1,IrY1), (IrX2, IrY2)�Ƃ��܂��B
����2��LED��X���W�AIrX1�AIrX2�ɂ��āA���̍��̐�ΒlIrZ�ɂ��ĉ����𗧂ĂĂ݂܂��B
IrZ = | IrX1 - IrX2 | ...(9-1)
���܂���WiiRemote�����_���牓����������Ɉړ��������ꍇ�A����IrZ�̒l�͉��ߖ@�ɏ]���āA�����ɍs���Ή����ɂ����ق�2��LED�̍��͏������Ȃ�܂��BWiiRemote�ƃZ���T�[�o�[�̋���(�Ȍ�PosZ�ƕW�L�A�P�ʂ�mm)�͔��W�ɂ��邩������܂���B
���ŕ\���A
PosZ = K * IrZ ...(9-2)
�Ƃ����W�������\��������܂��B��������K���ȒP�ɋ��܂�Ȃ�AWiiRemote�̐ԊO��LED�̒l(IrX1, IrX2)����A���s��PosZ���Z�o�ł������ł��B
�Ȃ��A���̎�(9-2)�ł�K�͔��W��\���Ă��邾���ŁA�萔���ǂ����A�܂�1�����Ȃ̂��ǂ����͍��̂Ƃ���킩��܂���B��蕡�G��2�����ȏォ������܂���B���ۂɑ��肵�Ă݂邱�Ƃɂ������܂��傤�B
�܂��A�ԊO���̑���l���擾�ł���v���O������p�ӂ��܂��傤�B�V���ɊJ������̂��ʓ|�ł���uWiinRemote�v�Ȃǂ��g���đ��肵�Ă����܂��܂���B
���܁A���_O(0,0,0)�Ɏ����LED�Z���T�[�o�[�̒��S������A�Z���T�[�o�[���ɂ���2��LED�����O���[�v�Ԃ��AX��������200mm����Ă���Ƃ��āA�����LED2�_�ԋ���d�ƌĂт܂��B2��LED�̒��_�����ꂩ�����������W�n�̌��_O�A{x,y,z}={0,0,0}�ɂ���A����Ɏg�p����WiiRemote�͍��WP(x,y,z)�ɂ���Ƃ��܂��BWiiRemote���Z���T�[�o�[����܂������������Ă����������A���߂����u���s��Z�v�A���E������X�A�㉺������Y�ƌĂт܂��BP�̍��W�ł͂Ȃ�������\������Ƃ��́uPosZ�v(�P�ʂ�mm)�ƌĂԂ��Ƃɂ��܂��B
������n�߂܂��傤�B���肵�₷�����Ȃǂ̈��肵���ꏊ�ɃZ���T�[�o�[��u���܂��B���̂Ƃ����ʂɐԊO�������˂��Ă���Ǝ��������s���Ă��܂��܂��̂ŁAWiiRemote��f�W�J�����g���āA�ԊO�����̋������˂��Ȃ����m�F���܂��傤�B�����ǂ����Ă����˂���ꍇ�͎����g���Ĕ��˂��g�U������Ɨǂ��ł��傤�B�Z���T�[�o�[���O�r�ɏ悹��Ȃǂ��Ă��悢�ł����A�ł����WiiRemote�ꕽ�ʂɒu���Ă��������B
�܂�WiiRemote�����_O�ɋ߂��ꏊ�ɒu��(�Ԃ����Ă��܂��܂��̂�)�A�������ƃZ���T�[�o�[���牓�����Ă����܂��B�ŏ��AWiiRemote��LED�̋��������܂�ɋ߂�����Ƒ���ł��܂���B�ԊO���̔������x������������A1��LED�����Z���T�[�̎��E�ɓ���Ȃ������肷�邱�ƂɋN�����܂��B���X�ɉ��s�����L���Ă����ƁAPosZ = 300mm���x�̋����ɂȂ�ƁA�X�̐ԊO������lIRX1, IRX2��ǂނ��Ƃ��ł���̂ŁA����l�𑪒�V�[�g(EXCEL���ɒ��ړ��͂��Ă��ǂ�)�Ƀ������Ă����܂��B
����̎����ł͉��s�������̋��������ꂼ��PosZ = {330, 660, 990, 1320, 1650, 1980, 2310, 2640, 2970, 3300}(mm)��10��ނƂ��܂����B�܂����E�����̓������m�F���邽�߂ɁAX�����ɂ����ꂼ��PosX = {0, 330, 660}(mm)��3��ނő��肵�Ă��܂��B�S�Ă̑g�ݍ��킹��30�ʂ肠��܂��̂ō��C�悭�A���������ŁA�ӂ���ЂƑg�Ȃǎ�������Ɨǂ��ł��傤�B
�ȉ��̕\�̂悤�Ɏ����l���܂Ƃ߂܂��B
[Pos] | X = 0 | X = 0 | X = -330 | X = -330 | X = -660 | X = -660 |
---|---|---|---|---|---|---|
PosZ | IRX1 | IRX2 | IRX1 | IRX2 | IRX1 | IRX2 |
330 | 925 | 140 | �\ | �\ | �\ | �\ |
660 | 737 | 348 | �\ | �\ | �\ | �\ |
990 | 628 | 368 | 1003 | 755 | �\ | �\ |
1320 | 645 | 450 | 941 | 746 | �\ | �\ |
1650 | 598 | 442 | 874 | 717 | �\ | �\ |
1980 | 572 | 442 | 821 | 690 | �\ | �\ |
2310 | 583 | 471 | 768 | 656 | 957 | 845 |
2640 | 569 | 471 | 734 | 637 | 923 | 824 |
2970 | 597 | 512 | 709 | 622 | 854 | 768 |
3300 | 576 | 499 | 710 | 632 | 855 | 777 |
�u�\�v�ƂȂ��Ă���ӏ��͐ԊO��LED�͏�̒l���ǂ߂Ȃ������ꏊ�A�܂�ԊO���Z���T�[�̉�p�̊O���ł��B���ۂɑ���\�ȃ|�C���g��22�_�ɂȂ�܂����B���̃f�[�^��PosZ�������A�ԊO���̑���lIx���c���Ƃ��ăv���b�g����ƈȉ��̂悤�ɂȂ�܂��B
�O���t�������Ƃ���AIrX1��IrX2�͉��s��PosZ�ɑ��āA�P���Ȕ��W�������Ă͂��Ȃ��悤�ł��B���������E�ɑ��Ă͂قڑΏۂƂ�����ł��傤�B������PosX�����S����O��邱�Ƃ�(PosX = -330mm, -660mm)�A���E�̑Ώې��͕���Ă����悤�ł��B
PosZ | X=0 | X=330 | X=660 |
330 | 785 | ||
660 | 389 | ||
990 | 260 | 248 | |
1320 | 195 | 195 | |
1650 | 156 | 157 | |
1980 | 130 | 131 | |
2310 | 112 | 112 | 112 |
2640 | 98 | 97 | 99 |
2970 | 85 | 87 | 86 |
3300 | 77 | 78 | 78 |
���Ɋe�ʒu�ł�2��LED�̍��̐�ΒlIrZ�ɂ��ĎZ�o���܂��BPosZ�������AIrZ�Əc���ɂƂ����O���t�Ƀv���b�g����ƁAPosZ�ɑ��锽���Ɍ����܂��B���x��X ={0, 330,660}�ɑ��Ă��ꂼ��APosZ�������A�����Ė{���萔�ł���͂���K�A���Ȃ킿�ud / IrZ�v���c���Ƃ��Đ}9-32(�E)�̂悤�Ƀv���b�g���Ă݂܂��B
X�����ꂼ��X = {0, 330,660}�ƈقȂ�ɂ�������炸�A������1�{�̒����ɏ���Ă��܂��B���̒����̌X����PosZ�̍ő�-�ŏ����狁�߂��
K = 1284.64 * PosZ - 0.02 ...(9-3)
�Ƃ����AK��PosZ�̒�����1���������ŕ\�����邱�Ƃ��ł��܂��B
����K��p���Ď�����PosZ�ƁA�ő�ŏ��Ȃ�2�_���x��IrZ���v������A���̊Ԃ̉��s��Z���ȒP�ɋ��߂邱�Ƃ��ł��܂��B
�}9-33�́A���̗��_��p���ĎZ�o�������s���ƁA�����̉��s�����قڈ�v���邱�Ƃ������Ă��܂��B
���������̉�p�ɂ��Ă͂��̃Z�N�V�����ŏЉ���f�[�^�����ƂɁA�Z�o���邱�Ƃ��ł��܂�(�ӊO�Ƌ����ł�)�B
�L�͈͉��ɂ��Ă͂��܂��܂ȕ��@�����肦�܂����A�ȉ��̐}���q���g�ɍl���Ă݂�Ɨǂ��̂ł͂Ȃ��ł��傤���B
�����x�Z���T�[�ƘA�g������@�ȊO�ɂ��A�C�f�B�A�͂���܂��BWiiRemote�̐ԊO���Z���T�[�̓f�W�J����CCD�Ȃǂ̉摜�Z���T�[�ƈقȂ�A�c��ł��{�P�Ă�������l�͓����ł��̂ŁA�u�߂��猩��v�Ƃ������@�Ŏ����̑���͈͂��L��������@�͂���ł��傤�B
���̃Z�N�V�����ŏЉ��A�W���j�[�E���[�̃T���v�����A�ԊO���|�C���^���u�߂Ɍ���v���ƂŁA�L���͈͂�����\�ɂȂ�R�[�h���܂�ł���悤�ł��B
�A�����J�l�̃W���j�[�E���[��(Johnny Chung Lee, http://johnnylee.net/)�́A�J�[�l�M�[��������̊w�������AWiiRemote���g�����v���W�F�N�g�uHead Tracking for Desktop VR Displays using the Wii Remote(WiiRemote���g�����f�X�N�g�b�vVR�f�B�X�v���C�̂��߂̓����Ǐ])�v��2007�N12��21����YouTube�Ō��J���A�����܂�721����ȏ�Đ����ꐢ�E�I�ɗL���ɂȂ�܂����B
http://johnnylee.net/projects/wii/
����2��WiiRemote�v���W�F�N�g���A���ꂼ��200����ȏ�Đ�����Ă��܂��B
�ߋ���WiiRemote�W�͎���Web�T�C�g�ɂ܂Ƃ߂��Ă��܂��B���ׂă\�[�X�R�[�h�Ǝ��s�t�@�C��������ł��܂��B�܂��͓���ƂƂ��Ɉȉ��̓��{������ǂ�ł݂Ă��������B
�u�A�C�f�B�A�ꔭ�����I�v�̔��ɃV���v���ȃf���ł����A������J�̓��t�����Ă��킩��悤�ɁA�J���̃X�s�[�h���ƂĂ��������Ƃ��b��ɂȂ�܂����B
�܂��W���j�[�͌����҂Ƃ��Ă��������肵�Ă��āAWiiRemote�ȊO�ɂ����[�R�X�g�ȓ���J������A�v���W�F�N�^�[���g���čD���ȏꏊ(�Ⴆ�A��Ɏ�������)�ɍD���ȉf���𓊉e���錤�����s���Ă��܂�(�����炱��WiiRemote�̊��p�����������̂ł���)�B���ɂ��ʐ^��i��A����ȃy�C���g�{�[���p�`���R�̐���ȂǁA���낢��y�����v���W�F�N�g����������Ă���܂��B
���݁A�ނ̓}�C�N���\�t�g�̌������Ŏ��p�Ȋw(Applied Sciences)�O���[�v�œ����Ă��邽�߁A�\������WiiRemote�W�̊����͂���܂��A�����̌�A�Ȃ��2009�N6��1���̃u���O�G���g���[�ŁuProject Natal�v�ɊW���Ă��邱�Ƃ��������܂����B
[URL]�@http://procrastineering.blogspot.com/
��Microsoft Project Natal(YouTube����)
[URL]�@http://www.youtube.com/profile?user=xboxprojectnatal
�uProject Natal�v�Ƃ́A��������Ă���������킩��܂����A�C�V��Wii�ɑR����}�C�N���\�t�g�̑S�g�^�Q�[���C���^�[�t�F�[�X�ł�(�ڍׂ͎��̏͂ŏЉ�܂�)�B
�ނ̌����҂Ƃ��Ă̘_�������ɖʔ����ł��B�֘A����ʔ����_��������ǂ�ǂ�ǂ�ł݂܂��傤�B�Ȃ��C�O�̘_�������₭���ׂ�Ƃ��ɂ́A�uGoogle Scholar�v�A���J����Ă���v���O�����R�[�h����������Ƃ��́uGoogle Code�v�����ɗ����܂��B���{��̘_�����C�ɂȂ�Ƃ��́uCiNii�v�Ƃ����������w���������^�c���Ă���_�������G���W�����g���Ɨǂ��ł��傤�B
�_�������uGoogle Scholar�v
[URL]�@http://scholar.google.com/intl/ja/
�������w�������uCiNII�v(�L�[���[�h"Wii"�Ō���)
[URL]�@http://ci.nii.ac.jp/search?q=Wii
�\�[�X�����uGoogle Code�v[URL]�@http://code.google.com/
�{�͂̍Ō�́AWiiRemote�ɃA�N�Z�X����API�������ō��ۑ�ł��BDDK���g�����AC++�̃v���O���~���O�ł��B���ɗp�����Ȃ����͓ǂݔ���Ă��������Ă��܂��܂��A���̌���Ȃǂ�WiiRemote��API���ڐA����Ƃ��ȂǁA���ɗ���������܂���B
�uWiiMedia2�v
[URL] http://code.google.com/p/wiimedia/source/browse/#svn/trunk/Wiimedia2/
��L�AGoogle Code�Ō��J����Ă���ADDK��C++���������@�\�ŏ����̎���API�ł��B
�}��p���u�d�]2007�FWii�����R��������������Ă݂܂��vby Iketaki
[URL] http://paken.s1.hayasoft.com/files/down/denno2007_wii.pdf
�}�g��w������ꒆ�E�����w�Z�p�[�\�i���R���s���[�^�������̕����ՂŔ��s���ꂽ������PDF�łł��B���ɒ��J�ɉ������Ă���܂��B
�uWiiMedia2�v����d�v��OpenWiiRemoteHID()�ߕӂ����p���Ă����܂��B
HANDLE wm_base::OpenWiiRemoteHID(void) { //LONG iHIDs; DWORD indexHID = 0; BOOL bEndofDeviceList = FALSE; BOOL bDeviceDetected = FALSE; PSP_DEVICE_INTERFACE_DETAIL_DATA DeviceDetail = NULL; DWORD size = 0; DWORD RequiredSize; HIDD_ATTRIBUTES Attributes; HidD_GetHidGuid( &guidHID ); hDeviceInfo = SetupDiGetClassDevs( (LPGUID)&guidHID, NULL, (HWND)NULL, DIGCF_INTERFACEDEVICE | DIGCF_PRESENT ); if ( 0 == hDeviceInfo ) { return INVALID_HANDLE_VALUE; } //���s do { bDeviceDetected=FALSE; //HID�C���^�t�F�[�X��� deviceInfoData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA); if ( SetupDiEnumDeviceInterfaces (hDeviceInfo, NULL, &guidHID, indexHID, &deviceInfoData)!=0 ) { printf("[%d] HID found.\n",indexHID); //����HID�̏ڍׂ��擾 SetupDiGetDeviceInterfaceDetail(hDeviceInfo, &deviceInfoData, NULL, 0, &size, NULL) ; DeviceDetail = (PSP_DEVICE_INTERFACE_DETAIL_DATA)malloc(size); DeviceDetail -> cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA); printf("HID detail size =%d.\n",DeviceDetail->cbSize); SetupDiGetDeviceInterfaceDetail (hDeviceInfo, &deviceInfoData, DeviceDetail, size, &RequiredSize, NULL); hWiiRemoteHID = CreateFile( DeviceDetail->DevicePath, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, (LPSECURITY_ATTRIBUTES)NULL, OPEN_EXISTING, 0, NULL); bDeviceDetected = FALSE; Attributes.Size = sizeof(Attributes); if ( HidD_GetAttributes( hWiiRemoteHID, &Attributes ) ) { if ( Attributes.VendorID == 0x057e && Attributes.ProductID == 0x0306 ) { if ( HIDP_STATUS_SUCCESS == GetDeviceCapabilities( hWiiRemoteHID ) ) { printf(" WiiRemote found.[V=0x%04d,P=0x%04d]\n", Attributes.VendorID,Attributes.ProductID); bDeviceDetected = TRUE; } else { printf(" GetDeviceCapabilities() failed.\n "); } } else { printf(" It didn't match with WiiRemote.[V=0x%04d,P=0x%04d]\n", Attributes.VendorID,Attributes.ProductID); CloseHandle( hWiiRemoteHID ); } } else { printf(" HidD_GetAttributes() failed.\n"); CloseHandle( hWiiRemoteHID ); } free(DeviceDetail); } else { bEndofDeviceList = TRUE; } indexHID++; } while ( (bEndofDeviceList == FALSE) && (bDeviceDetected == FALSE) ); if ( bDeviceDetected == FALSE ) { printf("Finally, I couldn't find any WiiRemote.\n"); hWiiRemoteHID = INVALID_HANDLE_VALUE; } else { printf("Yes, I found a WiiRemote.\n"); } SetupDiDestroyDeviceInfoList(hDeviceInfo); return hWiiRemoteHID; }
�ŏ������T��ō��̂͑�ςł�����A�����������g��API���쐬�ɒ��킷��ꍇ�A��̃R�[�h�̂ق��ɁAWiimoteLib��WiiYourself!���Q�l�ɂ���Ɨǂ��ł��傤�B
�uGetDeviceCapabilities()�v�ߕӂ��d�v�ŁA���ꂪ�X��PC����Bluetooth�X�^�b�N�ɂ���ĈقȂ�܂��B����ɑ��č��x�Ɋ������Ă���API�́AWriteFile()�Ȃǂ��H�v���āA�m���ɒʐM���s����悤�ɂ��Ă��܂��B���̑��A���|�[�g�^�C�v�̐ݒ�Ȃǂ́uWiili.org�v��uWiiBrew�v�Ȃǂ�Wiki�T�C�g�ŏ������߂č\�z���Ă����܂��B
���̃Z�N�V�����ł̉��K���͓�Փx����ɍ����ݒ肵�Ă��܂��B���ɘr�Ɏ��M��������̂ݒ��킵�Ă݂Ă��������B
����Ŗ{�͂͏I���ł��B���܂܂Œʂ�X�e�b�v�o�C�X�e�b�v�̉�����s�����Ƃ��������܂����A�قƂ�ǂ��A�C�f�B�A�̗v�_�����A���Ƃ͉��K���Ƃ����\���ʼn�������A�ۑ�ݒ�ɗ͓_��u�����Ă��������܂����B
�ǎ҂̃X�L���L���Ƃ����{���ɂ����āA�p��ŏ������_�������̂܂ܗ��Ƃ����ނ͓̂�V���܂����B�c�O�Ȃ��犄�������l�^������������܂����A�M�҂̌o������WiiRemote�v���W�F�N�g�̂��������A���߂ē��{��ʼn������@��Ɍb�܂�܂����B
�{����WiiRemote�v���O���~���O���w�F���A�{���ł́u�l�^�v�����������ɁAYouTube�Ȃǂ�ʂ��āA��葽�����E���̐l�X�ƌ𗬂���邱�Ƃ��F���Ă���܂��B���̍ہu���l�^��WiiRemote�{���v�ƁA�{�������p���ɏ����Ă���������Ƃ���݂ɂȂ�܂��B
�܂�WiiMotionPlus�̓o��ȂǂŁA�{���̓��e���Â��Ȃ�����u�����Ƃ������@�������I�v�Ƃ��������ӌ�������Ǝv���܂��B��L�ŏЉ���uWiiMedia�v�v���W�F�N�g��AGoogle Groups�ɂăR�~���j�e�B�𗧂��グ�Ă���܂��̂ŁA�����p����������K���ł��B
[URL] http://akihiko.shirai.as/projects/WiiRemote�{���̃|�[�^���Ƃ��Ă����ɏ����܂Ƃ߂Ă��܂��B
Google Code�uWiiMedia�v
[URL]�@http://code.google.com/p/wiimedia/
�{���ŏЉ���T���v���ȂNJ֘A�̃R�[�h�������ŋ��L���Ă��܂��B
Google Groups�uWiiRemote�v
[URL] http://groups.google.com/group/wiiremote
�������u����Ȃ��Ƃł�����I�v�Ƃ����������������B
���͖̏͂{���̍ŏI�͂ł��B���܂ŕM�҂ƂƂ��ɒ����������ɂ��t���������������A���肪�Ƃ��������܂����B
�����ł�WiiRemote�ł̃v���O���~���O���班������āA�C���^���N�e�B�u�Z�p�̖�����ǎ҂݂̂Ȃ���Ƃ�������ɍl���Ă݂����Ǝv���܂��B
�܂��͖{���ň�����WiiRemote�v���O���~���O�Ɋւ���Ă���A���E�̍v���҂��疢����ǂ݉����Ă݂����Ǝv���܂��B
WiiRemote�v���O���~���O�ɂ�����PC�ł̍v���҂Ƃ����AAPI�J�����s����Brian Peek����gl.tter���ł��B�ӂ���̈̑�ȃn�b�J�[�ɁA���[���ł̃C���^�r���[�ɉ����Ă��������܂����B
Q:�ǂ���ɂ��Z�܂��ł����H
A:�A�����J�A�j���[���[�N��Glenville�ɂ���ł��܂��B�j���[���[�N�s����120�}�C���قǖk�ɂ������Ƃ���ł��B
Q:���Ԃ̂��d���́H
A:�\�t�g�E�F�A�R���T���^���g�A���ҁA�����ăI�[���A���E���h��.NET���ł��ˁB
Q:WiimoteLib���J�����悤�Ǝv�������`�x�[�V�����́H
A:���́uCoding4Fun�v�Ƃ����E�F�u�T�C�g�̒��҂̈�l�Ȃ̂ŁA�v���W�F�N�g�Ƀg�s�b�N���K�v�ł���(��)�B���ۂɂ́A�����ł́u�ł��邩�ǂ��������v�Ƃ��������ł����B���̌�A���S�Ȃ��̂���������ɁA����WiiRemote��PC�Ŏg�����Ƃ̋���ȃ|�e���V����������ł����A�Ƃ��������ł��B
Q:�����ʔ����G�s�\�[�h�͂���܂��H
A:�����Ƃ��ʔ������ƂƂ����uNEWSWEEK�v���ɂ���Ď�ނ���A�L���Ƃ��Đ��E���ɔz�M���ꂽ���Ƃ��Ǝv���܂��B�G�L�T�C�e�B���O������...�B
Q:�����̖���ǎ҂ւ̃��b�Z�[�W���ǂ���
A:������������ȁuThank you�v�����̃��C�u�������g���Ċy����ł��ꂽ�F����ɂ��`���������ł��ˁB����͑�ςȎd���ł������A���炵��(amazing)�v���W�F�N�g���A���̃��C�u�������g���ēo�ꂵ�Ă���̂�q������̂͊y���������ł��B(���⌤�����́uLa Fleche l'odeur�v�Ȃǂ�����)���̎d�����A����Ȃɂ������̈قȂ�g�����Ɏg���Ă��邱�Ƃ�m���āA���ɖ������Ă��܂��B�@�@�\�\�\�u���C�A��
Q:�ǂ���ɂ��Z�܂��ł����H
A:�u�C�M���X��gl.tter�v�Ƃ�������点�Ă���B
Q:�uWiiYourself!�v���J�����悤�Ǝv�������`�x�[�V�����́H
A:���Ƃ͂Ƃ����A�����ׂ�(amazing)WiiRemote�ɐ�D�ȁAC++�̃Q�[���v���g�^�C�v�Ɏ��g��ł����B�l�͓���Brian Peek����.NET�̃R�[�h���烉�C�u�������������Ă��B�L�͂ɏ��������A�����̍D���ȕ��@�œ����悤�ɍœK�����A���������WiiRemote�̃T�|�[�g�A���悢�X�^�b�N�̃T�|�[�g�A�������o�A�X�s�[�J�[�@�\�ȂǁA�V�����@�\��lj������B���g�݂͂��߂ăx�[�^�����J�����̂��A2007�N��6���B�o�[�W����1.0��2008�N2��13�����J���ˁB�l�̃Q�[���A�C�f�A�́A1��1�̃��[�V�������蓖�Ă��K�v�������B�����WiiRemote�����ł͐������Ȃ������B�J���}��(Kalman)�t�B���^�[�Ƃ��A������萔�w�����ӂȁA������悤�ɂ��Ă����u�N���v�����@�������Ă����ɈႢ�Ȃ��A���ꂪ���̃��C�u���������J�����ЂƂ̗��R�ȂB
Q:�u�ǂ�����WiiYourself!�Ȃ�Ė��O�Ȃ́H�v
A:���O�͎��Ȑ����̈ꕔ�uGet your self Wii'ed up�v���WiiRemote���L�~�̃A�v�����\�ɂ����I���ĈӖ��B�C�M���X�̂ق��̐l���������ʂ�C++���C�u�����ɑ��鉸�₩�ȃW���[�N�ȂB�ނ͂��̃��C�u���������J������Nintendo����Ɋ��ݕt����Ȃ����Ƌ��ꂽ�̂ŁA�l�́uWiiYourself!�v���������B
Q:�ǂ����āu!�v�������Ă���́H
A:�P�Ȃ鋭���B�u���I���܂����I�v���Ă���(��)�B
Q:Wii�{�̂������Ă�H
A:�c�O�Ȃ��疳���B���Ċy���ވȊO�͗V���Ɩ�����BWiiYourself!��Web�T�C�g�ɓ��悪����A�l�̃v���W�F�N�g�̃v���W�F�N�g�̂ЂƂł�������e�Q�[���uQ2Gunfrenzy�v���Ă����R���s���[�^�[�W����Ȃ��l���v���C�ł���悤�Ȃ̂������Ǝv���Ă�B�e���g���͎̂��R�ȍs�ׂ�����ˁB
Q:�c���[�ƁA�ŋ߂̋����́H
A:�}�C�N���\�t�g�́uProject Natal�v�͌����H�S�g�X�L�����Ɖ����F������BML�ɏЉ����A�݂�Ȝ������̂�������B
Q:�����̖���ǎ҂ւ̃��b�Z�[�W���ǂ���
A:�l��́A1��1�̃��[�V�����̎����ɂ́AWiiMotionPlus�̃W���C���X�R�[�v���Ȃ��ƕs�\�����Ēm���Ă���A������WiiYourself!�ŃT�|�[�g�������Ǝv���Ă���B�@�@�\�\�\�\"gl.tter in UK"
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@��
gl.tter���͓T�^�I�ȃC�M���X�̃n�b�J�[�Ƃ��������̐l���ł����A�����Ȑl�����Ɗ����܂��BML�ł̕ԓ��͂��܂߂ł����A�Ȃɂ���M������܂��B�Ȃ�WiiYourself!��v1.13����A�������ꂽ����́uWiiMotionPlus�v���T�|�[�g����悤�ł��I
2009�N6���A�C�V����WiiRemote�̒lj��I�v�V�����uWii���[�V�����v���X�v(�{���ł́uWiiMotionPlus�v�ƕ\�L)�����܂����B
WiiMotionPlus�ƂƂ��ɔ��\���ꂽ�Q�[���^�C�g���uWii Sports Resort�v�́A���̖��̒ʂ�A���]�[�g�������Ղ�̃Q�[���ł��B
�@�A�����J�Ŗ��N6�����J�Â����uE3(http://www.e3expo.com/)�v��Electronic Entertainment Expo�̗��ŁA���傤�Ǔ��{�Ō����Γ����Q�[���V���E(TGS)�̂悤�ȃC�x���g�ł��B
�@E3�ɕ��ԁA�A�����J�ŊJ�Â����A�d�v�ȃQ�[���Z�p�̃J���t�@�����X���uGDC(http://www.gdconf.com/japan/japan.html)�v�ł��BGame Developers Conference�̗��ŁA���N3���ɊJ�Â���܂��B���{�ɂ͓��l�̋ƊE�J���t�@�����X�Ƃ��āuCEDEC�v�Ƃ����C�x���g������܂��BE3���Z�[���X�����AGDC���Z�p�����A�Ƃ������ݕ����ł��傤���B
���̂Ƃ���A�M�҂͂���WiiMotionPlus���A2008�N�́uE3�v�Ŕ��\����Ă���A���ۂɔ������O�ɂȂ�܂ł��܂苻���͂���܂���ł����B�{���ŏЉ�Ă����悤�ɁA�����WiiRemote�ł����Ȃ�̂��Ƃ��ł��܂��̂ŁA�C�V�����g���uWiiRemote�̃Z���T�[���s�\�����v�Ƃ������Ƃ������ĉ���Ă���悤���Ȃ��A�Ƌt�ɗ�߂Ă������炢�ł��B�������������O�ɂȂ��āA�C�V�������z�[���y�[�W�w�В����u���x�V���[�Y�Ō��J���ꂽ�AWiiMotionPlus�J����b��ǂ�ŁA�Ռ����܂����B
�w�В����u���x�uWii���[�V�����v���X�v�{�uWii Sports Resort�v���u2��ނ̃Z���T�[�̑g�ݍ��킹�Łv
http://wii.com/jp/articles/wii-motion-plus/crv/vol/page2.html
�@�w�В����u���x�V���[�Y�͔C�V����c�В������ځA�V�����v���W�F�N�g�ɊW�����Ј����C���^�r���[����`���ō\������Ă��܂��B
�@���̃y�[�W�̓d�q��H�S���̈ɓ����ɂ��w������1�b�Ԃ�1600�x�܂ŃZ���V���O�ł���悤�ɂ��܂����x�Ƃ������Ƃ��ǂ�ŁA���͈���ł���R�[�q�[�𐁂������ɂȂ�܂���(��)�B
�u�q���[�}���C���^�[�t�F�[�X�ɃW���C���X�R�[�v���g���v�Ƃ����A�C�f�B�A��WiiMotionPlus���p�C�I�j�A(����)�ł͂���܂���B�A�����J�̃W���C���[�V������(Gyration, http://www.gyration.com/)�����ɁA���������m����PC�𑀍�ł���W���C���}�E�X�Ȃǂ��J�����Ă���A�}�C�N���\�t�g�́uWindows XP Media Center Edition�v�̃����R���u���f�B�A�Z���^�[�E�����[�g�v�ɍ̗p����Ă��܂����B
���f�B�A�Z���^�[������[�g�́A���E�����̃����R���̐U�肾���Ń|�C���^�[�������Ƃ��ł��܂�(�ԊO���Z���T�[�͕s�v�ł�)�B���������ۂɎ����Ă݂�ƂȂ��u��������Ƃ��������v�ŁA����ɂ��܂蓮��ʂ��傫���Ȃ��̂ŁA�ړI�̈ʒu�A���Ƃ��Ή�ʂ̒[�܂Ń|�C���^�[�������߂ɉ��x�������R����U��Ȃ����K�v������܂����B
���̃W���C���X�R�[�v(�R���I���̗͂𗘗p������]���x�Z���T�[�ł��邱�Ƃ�����)���AWii�p�ɏ]���̌��o�����u5�{�v�ɍ��߂�Ƃ́c���{�̃Q�[���@��Y�ƁA����ׂ��A�ł��B
����ɂ��́w�В����u���x��ǂݐi�߂�ƁA�����Ɩʔ����������Ă��܂��B�{���ŏЉ�Ă����悤�ȁA�V�����C���^���N�V��������邽�߂̂��܂��܂Ȏ�����g�D�I�ɍs���Ă��邱�Ƃ��ǂݎ��܂��B�{���������܂œǂ݉������ǎ҂̊F����ł���A�C�V�����̊J���҂ł����܂��܂ȋ�J�����Ă��邱�Ƃ������ł���̂ł͂Ȃ��ł��傤���B
����SDK��S���������c���̊���́A�ǂ�ł��ă��N���N�ł���͂��ł��B�b�̒��ŏЉ��Ă���u�l�`�f���v�̕��ʊp�ł̉�](WiiRemote�𗧂Ă��Ƃ���Y����])�̃��[�V�����́A��ʂ̃Q�[���t�@���ɂ́u�H�v��������܂��A�{���̓ǎ҂͈ꌩ�ɒl���܂��B
���̑��ɂ��A�{���ň������b��ɋ߂��b���o�Ă��܂��B
�w�В����u���x�uWii Sports Resort�v���uWii���[�V�����v���X�Ő��~�߂��v
[URL] http://wii.com/jp/articles/wii-sports-resort/crv/vol/index.html
���̃y�[�W�ɂ���u�l�`�f���v�̓���͕K���ł��I
���u���@�̋Z�p��70�l�ƃ`�����o���v
[URL] http://wii.com/jp/articles/wii-sports-resort/crv/vol/page3.html
�@�{�{�����u���@�̎d�g�݁v�Ɛ�������u�U��ΐU��قǐ������Ȃ�v�Ƃ���������A�{���̓ǎ҂Ȃ�ǂ�����Ď������Ă���̂��A�z�����āA���삵�Ă݂����Ȃ��Ă���̂ł͂Ȃ��ł��傤���B
�u���~�߁v�͑�7�͂��9�͂ň����Ă���Ƃ���A�u�U�蔲���́v�Ɓu�~�߂�́v�̈Ⴂ�ŁA�]���̉����x�Z���T�[�ł����o�ł���̂ł����A���̏����ɂ͗��_��A���~���b�ł����A�f�B���C�����܂�Ă��܂��܂��B4000�~�ȉ��œ���ł���WiiRemote�ƃ\�t�g�E�F�A�Z�p�����ł͉����ł��Ȃ����E�������ɂ͂���܂��B
���́w�В����u���x�œǂݎ��郁�b�Z�[�W�́A�P�Ɂu�]���̉����x�Z���T�[�ɃW���C���X�R�[�v�����܂����v�Ƃ����b�ł͂Ȃ��̂ł͂Ȃ��ł��傤���B�����̃Z���T�[��g�ݍ��킹�A�����āA�{���ʼn�������悤�ȃC���^���N�V�������������邽�߂̃\�t�g�E�F�A�Z�p������A����ɖȖ��ȃe�X�g�̌J��Ԃ��ɂ��t�B�[�h�o�b�N�J���ɂ���Ă͂��߂āA�u��莩�R�Œ����I�Ŋy�������슴�v���ɂ߁A���x�ȃC���^���N�V��������荂�x�ɃQ�[���̌��ɂ����Ď����ł���悤�ɂȂ��Ă����̂ł��B���̊�Ǝp����C�V��������A���E�̃Q�[���t�@���ƃQ�[���Y�ƂɌ����Ĕ��M���Ă���̂��Ɗ����܂��B
���āA���{�l�̍������������uWiiMotionPlus�v�̊J���ł����A��L�w�В����u���x�̃y�[�W��(�����̒x��������Ă͂��܂���)�p���e����ɑf�����|��uwii.com�v�őS���E�Ɍ����Č��J����Ă��܂��B
���̔��Ŋ��������o�ł����A���{���̔��������A�p�ꌗ�̂ق����AWiiMotionPlus�ɑ���J���҂̐���オ��͑傫���悤�Ɋ����܂��B�J���҃R�~���j�e�B�ł́A6���̓��{���������O�ɁAWiiRemote�����҂��W�܂�|�[�^���uWiiBrew�v�ɂ����āAWiiMotionPlus�ɐڑ����邽�߂̏����Ă��܂��B
[URL] http://wiibrew.org/wiki/Wiimote/Extension_Controllers
NOA(�C�V���A�����J)�̐헪������̂ł��傤�A�k�Ďs��ł͓��{�́uWii Sports Resort�v�̔�����2009�N6��25��������ɁA�uEA SPORTS Grand Slam Tennis�v�ƂƂ���2009�N6��8���ɁuWii Motion Plus�v���A�s��œ���ł���悤�ɂȂ�܂����B�A�����J�A���[���b�p�ł́uWii Sports Resort�v��7�������Ȃ̂ŁA�{�i�I��WiiMotionPlus�̏Ռ��́A���̂��Ƃ̃t�F�[�Y�ōL�����Ă���͂��ł��B
�C�V�������̃~�h���E�F�A�ł���uAiLive�v�������O�̑����i�K�őΉ����i���o���Ă��܂����B����AWiiMotionPlus���g�����V��������̃C���^���N�V�����J���́A���{�i�I�ɂ��܂��܂Ȑw�c����������œW�J������̂Ɨ\�����܂��B�l���x���̌����ҁA�w���v���W�F�N�g�Ƃ������������A��Ƃ̎��v�Ɛړ_�����`�����X�ł�����܂��B
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@��
�C�V�����uReVolution�v�ŋN�������u�v���v�͂��̌�A�ǂ��������̂ł��傤���H�����̓��C�o���ł���}�C�N���\�t�g��\�j�[���A�V�����R���g���[���[(�ƐV�����C���^���N�V�����ւ̃A�v���[�`)�ɑ��Ė��m�ȓ����͏o���Ă��܂���ł������A���̃Q�[�����[�U�[���u�Z�ݕ����v�Ƃ��������Ɍ��������悤�Ɋ����܂��B
���[�U�[�̊��o�͂����ł������Ƃ��Ă��A�Q�[���Y�Ƃ̌����J����5�N�������Ƃ��āA������z���ē����Ă��܂��B�v���b�g�t�H�[���̒��S�ɂȂ�悤�ȋZ�p�v�f������A�����Đl�ނ̊m�ۂɂ��ẮA�e�ЂƂ��傫�ȓ��������m�ɂȂ��Ă��܂����B
�{�������́u�V�v���b�g�t�H�[����������2�N���v�Ƃ����A���̐ߖڂ̎����ł�����܂��B
��9�͂̍Ō�ɏЉ���W���j�[�E���[���̂悤�ɁA��w�̌����҂���}�C�N���\�t�g�œ����n�߂��l�������܂��B�W���j�[��Blog�ł������ɔ��\���������uProject Natal�v�Ƃ͂����������Ȃ̂ł��傤�H
http://www.xbox.com/en-US/live/projectnatal/
�uProject Natal�v��2009�N6��1���A�}�C�N���\�t�g��E3�ŊJ�Â����L�҉�Ŕ��\����܂����B
��YouTube�`�����l���uXboxProjectNatal�v�Ȃ����̋L�҉�ɂ͉f��ēX�e�B�[�u���E�X�s���o�[�O�������\�҂Ƃ��ĎQ�����Ă���A�����̗l�q�͐�p��YouTube�`�����l���Ō��邱�Ƃ��ł��܂��B
http://www.youtube.com/user/xboxprojectnatal
��Steven Spielberg and Xbox Project Natal
http://www.youtube.com/watch?v=jh9plZmFIP4
�uProject Natal�v�́A�摜�J������[�x�J�����A�����z�u�����}�C�N���t�H�����p�v���Z�b�T����������Q�[���C���^�[�t�F�[�X�V�X�e���ŁA�S�g�̓�����3D�ŒǐՂ��A���߂�w���͉������g���āA�Q�[�����v���C�ł���Ƃ������̂ł��B
�{�[�����R��A�łA�L���b�`����Ƃ�����������R���g���[���[���g�p�����Ɏ������A������A�����Ђ˂�A�b���ȂǁA���퐶���ōs�Ȃ���������邾���ŃL�����N�^�[�������Ƃ��ł���Ƃ������Ƃł��B�u�Q�[������R���g���[���[��s�v�ɂ���v�Ƃ������m�ȃR���Z�v�g���ł��o����Ă��܂��B
Xbox 360���g�����f���ł́A�v���C���[��48�J���̊߂�b��30�t���[���Ń��A���^�C���ɒǐՂ��A�e�Ԑڂ̕���������x�͂��A�l�Ԃ̐g�̂��ǂ̕����֓����̂���\�����Ă��������ł��B
�Ȃ��u�[�x�J�����v�Ƃ́u���s�����B�e�ł���J�����v�ł��B���݂����Șb�ɕ������邩������܂��A���ۂɐԊO����TOF(Time of Flight�A���𓊂��Ă���߂��Ă���܂ł̎���)���g���Đ[�x�J�����͎����ł��܂��B���͕M�҂�2004�N���A�������x���Ŏ��g��ł������Ƃ�����܂����A���̃}�C�N���\�t�g�͂��́uProject Natal�v�̂��߂ɁA���s���J�����ȂNJ֘A�Z�p�̉�Ђ����������A�ƃZ���V���O�f�o�C�X�ƊE�ł͉\�ɂȂ��Ă��܂��B
���̂�����1�ЁA�C�X���G���́u3DV Systems�v�Ђ�6��2���t���̃v���X�����[�X�Łu�T�[�h�p�[�e�B�����̏o�ׂ��~���܂����v�ƍ��m���o���܂����B
http://www.3dvsystems.com/news/news.html
TGS2007�ł�SIGGRAPH2008�ł����\���Ă����̂ŁA�����̃Q�[�����[�J�[�͖ڂ����Ă����͂��ł����c�B
��You Are the Interface! ZCam?, 3DV's Depth-Sensing Camera (SIGGRAPH 2008)
http://www.siggraph.org/s2008/attendees/newtech/3.php
���Ȃ݂Ɂunatal�v�Ƃ͓��{��ł́u�o���v�Ƃ����Ӗ��ł��B�V�����G���^�e�C�����g�́u�o���v�ɂȂ邩�ǂ����A���҂��W�܂�܂��B
�����ЂƂ̍��Y���Y�Q�[���v���b�g�t�H�[���ƌ����\�j�[�ł��B������2009�N��E3�ɂ����āA�\�j�[��Natal�̂悤�ȑ傫�ȃV�X�e���ł͂Ȃ��A���݂̃v���b�g�t�H�[���ł���PlayStation3������2010�N�t��\��Ƀ��[�V�����Z���V���O�R���g���[���[�𓊓����Ă���悤�ł��B
��Sony PS3 Motion Sensing Controller E3 2009 (YouTube����)
http://www.youtube.com/watch?v=gaQsXdKbUw8
��Engadget�ł̏Љ�
http://www.engadget.com/2009/06/02/sony-announces-new-ps3-motion-controller/
Play Station Eye�ƘA�g���邱�̃v���g�^�C�v�́A�J���[�{�[���̕t�����u���@�̏�v�Ƃ����������ڂł����A�~�����[�g���ȉ��̐��x�������Ă���Ƃ̂��Ƃł��B
�u�{�^���͊��S�ɂ͔p���Ȃ��v�Ƃ����R���Z�v�g�̂悤�ŁA�u���[�V�����R���g���[���[�Ō����g���A�]���̃R���g���[���[�ł���DualShock3�ŏ|���g���v�Ƃ������g������z�肵�Ă��邻���ł��B
���̓\�j�[�͉摜���g�����V�����Q�[���C���^�t�F�[�X�Ƃ��Ă͘V�܂ł�����܂��BPlayStation2�uEye Toy Play�v�������J�����x���ł�2001�N�ɂ̓v���g�^�C�v���o�Ă��܂������A�ŋ߂ł́uTHE EYE OF JUDGMENT�v�Ȃǂ̃J�[�h���g�����������܂��B
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@��
�܂�ŃQ�[���G���̂悤�ɁA�{���������O�̍ŐV�̃Q�[���̓����ɂ��ă��|�[�g���Ă��܂��܂������A�v���b�g�t�H�[�����s���ׂ��A������G���^�e�C�����g�Z�p�̌����J���̕������́A�͂����肵�Ă����̂ł͂Ȃ��ł��傤���B
�V�����G���^�e�C�����g�A�C���^���N�V��������邽�߂ɂ́H�e�ЂƂ����̕����̌����J���ɕK���ł��B�\�t�g�E�F�A����n�[�h�E�F�A�A�C���^���N�V�����f�U�C���܂ł����郌�x���Ō��������i��ł��܂��B
�������x���̂��̂��A�ǂ�ǂ�ƐϋɓI�Ɏ�荞�܂�Ă����܂��B���{�̓C���^���N�V�����Z�p�̌����J�������E�ł����ɐi��ł��鍑�ł����A�����ڂ́u�`���h�����ɂ��������Ȃ��v�Ǝv���Ă������̕���̌������A���ꂩ��͐��E�I�Ɂu�M����������v�ɂȂ��Ă����ƍl���܂��B
���������ł͂Ȃ����ۂ̖ʔ����Q�[���ɂ��ǂ蒅���Ȃ���Ȃ�܂���B�Q�[���J���҂��A�����ăQ�[���G���Ȃǂ̃��f�B�A���A�����ăv���C���[���A�����́u�Q�[�����Ă̂́A����...�v�Ƃ����X�e���I�^�C�v�ɌŎ������A�V�����G���^�e�C�����g�Y�ƂƃC���^���N�e�B�u�Z�p�̖������������Ă��������Ƃ���ł��B
�����Łu�\���̏��v�Ƒ肵�āA�G���^�e�C�����g�Z�p��10�N������Ă݂����Ǝv���܂��B
10�N���肤�ɂ́A�܂�10�N�O�����邱�Ƃł��B
�̘b�ɂȂ��Ă��܂��܂����A�G���^�e�C�����g�Z�p�̌����J���Ƃ����A��炪���Y�\�j�[�́u�\�j�[�R���s���[�^�[�T�C�G���X������(Sony CSL)�v�Ƃ����������������Ă��܂��B�O�߂ŏЉ���uTHE EYE OF JUDGMENT�v�̋Z�p��CSL�́u�C���^���N�V�������{���g���[�v�Ƃ����������ŊJ������Ă��܂��B����SonyCSL�̓Q�[���Z�p�Ɍ��炸�A10�N�ȏ�O����l�X�ȃC���^���N�V�����V�X�e�����J�����Ă��܂����B
[URL] http://www.sonycsl.co.jp/
�e���r�ł悭����Ȋw�ҖΖ،���Y�����������Ă��錤�����ł�����܂��B
1998�N��SIGGRAPH�ɂ����āA�M�҂́ASonyCSL�̗�{���ꎁ(���E����)�uHoloWall�v�ׂ̗ŁA�X���b�p�^�C���^�[�t�F�[�X�uFoot Interface: Fantastic Phantom Slipper!�v�\���Ă��܂����B�R�i�~���uDance Dance Revolution�v�\������̘̂b�ł��B
��SIGGRAPH'98 Enhanced Realities Fact Sheet http://www.siggraph.org/s98/media/realities.html
��HoloWall(SonyCSL)
http://www.sonycsl.co.jp/person/rekimoto/holowall/
���̌�A��{���́ASonyCSL�Œ��N�C���^���N�V�������{���g���[�̎������߂��Ă����܂����B
�n���E�b�h�Ȃǂ�CG�Y�Ƃ̉e�����������E�ICG�̃t�F�X�e�B�o���Ɖ����Ă���uSIGGRAPH�v�ł����A�{���́u�R���s���[�^�[�O���t�B�b�N�X�ƃC���^���N�e�B�u�Z�p�v�̊w��ł��B1998�N�́uEnhanced Realities�v�Ƃ����A���݂ł́uEmerging Technologies�v�Ƃ��đ����Ă���A��i�I�ȃC���^���N�e�B�u�Z�p��W������f���Z�b�V����������܂����B
��L�̃t�@�N�g�V�[�g������ƁA��{���́uHoloWall: Interactive Digital Surfaces�v�ƕM�҂́uFoot Interface: Fantastic Phantom Slipper�v���ׂɕ���ł��܂��B���ۂɂ͂��ׂ̗�MIT�̊w�������[�U�[�X�L���i�[���g���ăC���^���N�e�B�u�ȃz���C�g�{�[�h������ēW�����Ă�����A���������{�b�g���g���ăQ�[����ʂƃC���^���N�V��������悤�ȃV�X�e�����W������Ă��܂����B���ɂ��L���m����MR(Mixed Reality�A����������)��������A�^���W�u���C���^�[�t�F�[�X�ŗL����MIT�Έ�T�搶�́uPingPongPlus�v��A����F�搶(�c���)�����E�I�ɗL���ɂȂ����u���w���ʁv���͂��߂Ĕ��\�����ꏊ�ł�����܂����B
���������10�N�O��U��Ԃ��Ă݂�ƁA�Ȃ����݂̃C���^���N�V�����Z�p�̊�ՂɂȂ��Ă���R���Z�v�g�A�Z�p�𐔑����������邱�Ƃ��ł��܂��B�����Č����҂�����10�N�O�Ƀf�����Ē�Ă����Z�p���A�܂������̎Y�ƂɂȂ��Ă��Ȃ����̂�����܂��B
�G��I�Ȍ������ԊJ���̂ɂ́A10�N���炢�̎��Ԃ�������A���������E�̎Y�Ƃ�傫���������悤�ȖG��I�Ȍ����ł���\���������A���̎�̃C���^���N�V�����Z�p�̊�Ռ������A���́u���܂̓`���h�����ɂ��������Ȃ��v�Ƃ������Ƃ��������܂����ł��傤���H
�uSIGGRPAH'98�v���猻��܂ł�10�N�Ԃ̗��U��Ԃ�ƁA���܌����҂������M���Ȃ��Ă���u�l�^�v��10�N��̎Y�Ƃ̒��S�ɂȂ�Ƃ������Ƃ��A�����Â�����̂ł͂Ȃ��ł��傤���B
���́u�������Y�Ɓ������̊ԁv�Ƃ������Ԑi�s���o�́A���̂Ƃ��둼�̃n�C�e�N���p��������Ƃ��܂�ς�肠��܂���(��b�Ȋw�����ɂ�20�N����50�N�A����ȏ�Ƃ������������܂���...�I)�B
�ȉ��A�L�[���[�h�����ł����Ă݂܂��B
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@��
�Ō�̍Ō�ɁA���ӂ̌��t�ŏI��肽���Ƃ������܂��B
�܂��A���ۊw��VR�R���e�X�g�uIVRC�v�Ɋւ�����F����Ɋ��ӂł��B����搶�Ƃ̏o���IVRC�ł������A���Ɛ����������Q�[���ƊE�ɏA�E���Ă��܂��B�l�b�g�⎆�ʂł͏Љ�ł��Ȃ��悤�ȉ�����Face2Face�̃R�~���j�e�B�NIVRC���x���Ă��������Ă�����s�ψ����̊�?����(����A���c���)���͂��߃{�����e�B�A�w���̊F����A��Ƃ̊F����Ɋ��ӂł��B
�����āA�u�C�V���ւ݂̂Ȃ���v�Ɋ��ӂł��B�{���̓n�b�L���O��ړI�Ƃ������Ђł͂���܂���B�Q�[���ƊE�̖�����ꂩ��x����ׂ̏��ЂɂȂ�悤�A�撣���ď���������ł��B���j�Ɏc��v���A�u�^�̉��l����J���v���s�����͕̂�����Ȃ��C�V���̊F����ł��B�{���͂��̋Z�p����j�̈ꕔ����闧��ʼn�������Ă��������������ł��B���������̋Z�p���u�A���_�[�O���E���h�ȃn�b�L���O�v�ł͂Ȃ����{�̃Q�[���������Z�p�ʂ���x�����Ռ����͂ɂȂ��čs�����Ƃ����͖]��ł��܂��B�{���̓ǎ҂��C�V����T�[�h�p�[�e�B�̏A�E�ʐڂɗ����Ƃ��́A�ޓ���������������Ă���������K���ł��B
�����čŌ�Ɂu�ǎ҂̖����Ɋ��Ӂv�������Ƃ������܂��B
�t�����X����3�N�ԁA���{���i�i�����猩�Ă����M�҂́A�Q�[���Y�Ƃ�C���^���N�V�����Z�p�̍Ő�[���s�����{�������܂����Ďd�����Ȃ������ł��B����͉��Ă̊w������ɋ��ʂ̊��o�Ȃ̂ł��B
���͌��݁A���{�Ő��E�̊F����Ɍ����āA�Ȋw��`����d�������Ă��܂��B
���̖{����ɂƂ��āA�Ō�܂œǔj���ꂽ���Ȃ��͂����A�Q�[���Ɏg���Ă���C���^���N�e�B�u�Z�p���u�����̗V�сv�Ƃ͎v��Ȃ��Ȃ��Ă���ł��傤�B
�����āA���̐�̖����ɂ́A�����̑����Ƃ���܂������Ȃ������u���v��������͂��ł��B���̓��������������Ői�ނ��߂́A�v���O���~���O�ƍl�����Ƃ����u�ŏ��̕���v���A�{���͎������͂��ł��B
������Ă��������A�܂����������܂��傤�I
2009�N7��1���A�z�[���^�E���̃}�N�h�i���h�̂����̐ȂŁ@�@�@�\�\���炢�����Ђ�
http://akihiko.shirai.as/projects/WiiRemote/
Google Groups�Ŏ�����t���Ă��܂��B
���C�V�������w�����u���x(wii.com)
���E�������ڂ��Ă��܂��B�L��헪�Ƃ��Ă��A�_�C���N�g�Ɏv�z���`�����ɂ悢�����y�[�W���Ǝv���܂��B
��WiiLi.org http://wiili.org/
��WiiBrew http://wiibrew.org/
��Wiimote Project http://www.wiimoteproject.com/
��mixi�R�~���uWii�����R����PC�Ŏg����vhttp://mixi.jp/view_community.pl?id=1610444
���{����Google Docs http://code.��
���M�҂�Blog��
����㗝.�C�V���g�����h�ޕ�����.���{�o�ϐV���o�Ŏ�, 2009.
�A�E�����ŔC�V�����u�]����l�́w�В����u���x�Ƌ��ɓǂ�ł����������ǂ��{�ł��B
�������݂�����. Visual C# 2008�t�����N�C�b�N���t�@�����XWindows Vista/XP�Ή�.�����R�~���j�P�[�V�����Y, 2009.
���̖��̒ʂ�AC#�ŋt�����������Ƃ��ɕ֗��Ȗ{�ł��B
�����㋱�q.���G�`���\�t�g���Ŋw�ԃO���t�B�b�N�X�v���O���~���O����.�G�a�V�X�e��, 2007.
Windows�ł��G�����\�t�g���J�����邽�߂̃v���O���~���O����{�ł��B���G�����\�t�g�������ŊJ���������l�͕K�ǂł��B���҂̑��㋱�q����͖{��9�͂łق�̏��������������u�ς҂Ղy�C���^�[�v�̎菑�����p�X�e���`��G���W�����J�����������҂ł�����܂��B
���Ė{��.�y�����d�q�y��|����̃X�X���|.�I�[���ЊJ����, 2008.
�{���ł̓e���~���ɂ��Ă������舵���Ă��܂��܂������A���[���d�q�y��̐��E���܂Ƃ܂��Ă��܂��B�u���y�A�[�g×���c���āv���u�]����l�͂��ЁB
����C�q��. XML SmartDoc�������t�@�����X�}�j���A��.�s�A�\���G�f���P�[�V����, 2002.
�{�����M�ɂ�SmartDoc���g���܂����B�{���̂悤�ȋ���ȏ��Ђ������̂ɂ͌����Ă��Ȃ���������܂��A�e�L�X�g�G�f�B�^�Ŏ��M���ASVN�Ń\�[�X���Ǘ����AHTML��TeX���ɍ쐬�������Ƃ��͕֗��ł��傤�B
����ŕF�A�v�ėS��Y�A�Óc���v�A���c�L�F:���w�I�R�����ʒu���o�@��p�������A���^�C���l�ԓ�����̓f�o�C�X�A�e���r�W�����w��Z�p�A20���A7���App.21-26�A1996.
Akihiko SHIRAI, Erik GESLIN, Simon RICHIR, WiiMedia: motion analysis methods and applications using a consumer video game controller, Sandbox: an ACM SIGGRAPH Video Game Symposium, San-Diego, 2007.
���̑��A�M�҂̘_���̓z�[���y�[�W(http://akihiko.shirai.as/)��A�uCiNii�v���̘_�������T�C�g�œ���\�ł��B
[1] | ��r ����. �o�[�`�������A���e�B�͎q�ǂ��ɉ����ł��邩 : �Տ���ʂł�VR. ���{�o�[�`�������A���e�B�w� = Journal of the Virtual Reality Society of Japan, 2003/09/25. |
[2] | ���� �ŕF. �G���^�e�C�����g�V�X�e��. �|�p�Ȋw��_����, 2004. |