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�Ɗւ�è�‡ï¿½ï¿½ï¿½ï¿½ï¿½Å‰ï¿½ï¿½ï¿½ï¿½Å‚���̂����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. |