Powered by SmartDoc

�A�C�f�B�A�X�g�b�N�E���K���W

21:40 2009/06/15-
����ŕF
shirai at mail.com
http://akihiko.shirai.as/projects/BookWii/

�ڎ�

���̏͂́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

�v���O���~���O��(1)�FXNA���g�������A���^�C��3DCG�ł̗��p

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

�uWiiRemoteXNA�v������

�����ł́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

XNA�̃C���X�g�[��

�܂��́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

�@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

Xbox 360�p�Q�[���̊J��

�@�{���Ƃ͒��ڊ֌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

XNA Game Studio 3.1�̃C���X�g�[��

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�̍쐬

�V�K�v���W�F�N�g�̍쐬��Game Studio 3.1�̃e���v���[�g�������

���Ď��̓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

Visual Studio�ɍ쐬���ꂽ�V�����Q�[���v���W�F�N�g

���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�ݍ���

����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

[C#]Wiimote�I�u�W�F�N�g�̍쐬(Game1.cs)
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

[C#]WiiRemote�̏������Ɛڑ�(Game1.cs)
 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

[C#]Home�{�^���ŏI��(Game1.cs)
 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���̏���

���ɓǂݍ���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

3D���f���t�@�C���uwiimodoki.x�v�̓���

�����⌤�����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)

�e�N�X�`���t�@�C���utexture_wii.jpg�v

�t�@�C�����_�E�����[�h������AXNA�̃v���W�F�N�g�̃R���e���c�t�H���_�uC:\WiiRemote\WiiRemoteXNA\WiiRemoteXNA\Content�v�ɒu���܂��B

WiiRemoteXNA�́uContent�v��.x�t�@�C����z�u����

�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

�\�����[�V�����G�N�X�v���[���[�́uContent�v�ɒlj�����

�Ȃ��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

Maya�����.x�t�@�C���G�N�X�|�[�^�[�ucvXporter�v

[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

3D�|���S�����f���[�uMetasequoia(���^�Z�R�C��)�v

[URL]�@http://www.metaseq.net/

.x�t�@�C���̓ǂݍ��݂ƕ\��

���āA�R�[�f�B���O�ɖ߂�܂��傤�B���f���t�@�C���̓ǂݍ��݂ƕ\���ɂ‚��āA�uLoadContent()�v�ƁuDraw()�v�ɉ��M�����܂��B

[C#]���f���t�@�C���̓ǂݍ��݂ƕ\��(Game1.cs)
������
  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

WiiRemote�̓����ɍ��킹�ē����uWiiRemote���ǂ��v

�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

�ȏ�ŁuWiiRemoteXNA�v�͊����ł��Busing�̐����ȂǍs���������ł̃R�[�h���Љ�܂��B

[C#]�����ŁuWiiRemoteXNA�v(Game1.cs)
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

�y���K���zXNA�̗��p

�y���K�z��
��L�̃v���O�������R�[���o�b�N���g�����@�ɏ��������Ă݂܂��傤�B�]�T������΁A�u���X�g�v���‚����čŋ�50��̉����x�Z���T�[�̃f�[�^�̕��ς��擾���A���Ȃ߂炩�ɉ�]����WiiRemoteXNA���쐬���Ă݂܂��傤�i�𓚗�͏��⌤�����̃z�[���y�[�W�ŏЉ��Ă��܂��j�B
�y���K�z����
Metasequoia���‚����āA�����ōD����.x�t�@�C�����e�N�X�`���ƂƂ��ɍ쐬���A�ǂݍ��߂�悤�ɂ��Ă݂܂��傤�B�]�T������΁u�{/�|�v�{�^���Ń��f���f�[�^��؂�ւ�����A�\���{�^���ŃJ�����̃Y�[����������Ƃ������u3D���f���r���[�A�[�v�Ƃ��Ă̋@�\�������Ă݂܂��傤�B

�Q�[�����p��(1)�F���[�X�Q�[���ւ̉��p

���������͓��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

���d�̓��[�V���O�Q�[���uAceSpeeder2�v

�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

���d�̓��[�V���O�Q�[���uAceSpeeder2�v
RAINGRAPH�X�^�W�I�uAceSpeeder2�v

[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

���[�X�Q�[���p���[�V�����F��

�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

WiiRemote�ɂ��R���g���[��

���ׂĉ����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

AceSpeeder2 WiiMedia Edition(Youtube����)

[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

�]�k�uSIGGRAPH�r�f�I�Q�[���V���|�W�E���FSandbox�v�ł̎��

�@�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

�y���K���z���[�X�Q�[���ւ̉��p

�����x�Z���T�[�ɂ��X���̌��o��Atan2()���g���ΊȒP�ɋ��߂邱�Ƃ��ł��܂��B�}�O�j�`���[�h�̎Z�o�Ȃǂ�����7�́A8�͂Ȃǂň����Ă��܂��̂ŎQ�Ƃ��Ă��������B���������ۑ�̐ݒ�ɓ���܂��傤�B

�y���K�z����
GlovePIE���‚����ČX�����A�i���O���͂ɗ��p����B
�y���K�z��������
�����̃Q�[���v���W�F�N�g��WiiRemote�ɂ�鑀���g�ݍ��݊��p����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

Wii Sports Resort�u�E�F�C�N�{�[�h�v

�@�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�[�����p��(2)�F�u�U��v�̔F���E���p�A�N�V�����ւ̉��p

�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

���فu���_�h���S���N�G�X�g �S�肵�`���̌��v

�@�Ԋ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

�u���_�h���S���N�G�X�g�v

�@�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

�t�F���V���O�Q�[���uJaWii's Virtual Fencing�v

�u�W���E�B�̃o�[�`�����t�F���V���O�v�������ł̃��[�U�[�e�X�g

���̍�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

�A���t���b�h�E�W�����B�ƌÎ��t�F���V���O

�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

�Î��t�F���V���O�w��Q�[���̊J��

�܂��͉���ɓ���O�ɁA�����ł̓����YouTube�ɃA�b�v���[�h���Ă���܂��̂ŁA���Q�Ɖ������B

�u�W���E�B�̃o�[�`�����t�F���V���O�v(Youtube����)
Youtube������

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

�v���t�F���V���O�I��Benoit Pincemaille���ɂ�郂�[�V�����L���v�`�����^

�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

���A���^�C���A�j���[�V������Virtools�ŊJ��

���[�V�������o�̂��߂̕]���֐������

���Ă������炪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

�����E�B���h�E
���‚��炢�‚܂ł̎��Ԃ��u���́v�Ƃ���̂��B�M�������̗p��ŁA�����̋�Ԃ��u�E�B���h�E�v�ƌĂт܂����A��������߂���@���‚���Ȃ��Ƙb���O�ɐi�݂܂���B
���K��
�����̃v���C���[�ɑ΂���ő�}�O�j�`���[�h�͈قȂ�܂��B���K�������A�‚܂�ő�l��1.0�ɂ���悤�Ȋ���Z���s�����ƂŁA������x���������ɒ��ڂł���悤�ɂȂ�܂��B
WiiRemote���˂����
�u�܂������U�艺�낷�v�Ƃ����Ă��A�l�Ԃ̎��͉����x�Z���T�[�̎��Ƃ͊֌W�Ȃ����ԓI�ɂ˂���邱�Ƃ�����܂��B�e�j�X�Ȃǂł��������Ƃ��N���܂��B
���o���Ă���ł͒x��
�Ⴆ�΁u�˂��v�̃��[�V���������o����̂͊ȒP(�ł������x�������x�N�g���������I)�ł����A�u�˂��v��\������A�j���[�V�����ɂ��Đ�����(duration)������܂��B�ő�̉����x���擾���Ă���u�˂��v�̃A�j���[�V�������J�n�����̂ł́w�Ȃ񂾂��x���ȁx�Ƃ������슴�ɂȂ�܂��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�[�̒l��ϕ����ē�����3�����ʒu

�����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�`���[�ɂ��u�U��́v�l�q(���F���ʐ}�A�E�F��ʐ})

���[�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

�y���K���z�U��̌��o

�y���K�z����
��7.5�͂́uWiiRemote�����v���Q�l�ɂ��āA�e�j�X��u�X�C���O�v�Ɓu���~�߁v�u�o�b�N�n���h�v�u(���E�ւ�)�ł������v�𕪗ނ���]���֐����쐬����B
�y���K�z������
��L�̕]���֐��ɑ΂��AWiiMotionPlus�ƍŐV��WiiYourself!��p���āA��]��ϋɓI�ɗ��p�����]���֐����쐬���u�t�F�C���g�����o�ł��錕���Q�[���v���쐬����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

3DVIA Virtools+WiiRemote

�@�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/

��i��(1)�FWiiBoard��p�����u�I�[���f�f�v

���̃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

�v���O���~���O���S��4�l��������u�I�[���f�f�v

�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

Mac��Processing��WiiBoard�ō�����u�I�[���f�f�v

�܂��́u�I�[���f�f�v�̓���ƃu���O����Љ�܂�(�ȉ��A����L�ᎁ��Blog��蕶�̂��܂߂ł�����肻�̂܂܈��p���Ă��܂�)�B

�u�I�[���f�f�v

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�̊T�v

�u�I�[���f�f�v�͑̌��҂̃I�[����f�f�����i�ł��B�����̃I�[���̐F��`�����āA�]�����[�J�[�̂悤�Ɋy����ł��炤���Ƃ��_���ł��B

����Ȃ��񂶂ł��B

�������u�I�[���v�f�f��

���̍�i�̃L��

������]�����[�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

�o�����XWii�{�[�h

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

BBOSC

�o�����XWii�{�[�h��Mac��ڑ����邽�߂ɁuBBOSC�v�Ƃ����\�t�g�𗘗p�����Ă��������܂����B

4nchor5 la6 [BBOSC]�_�E�����[�h

[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

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

�⑫�F�uBBOSC�v�Ƃ́H

�ȏ�̟���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

�Q�l�FHiroaki Kimura���̃u���O�uHirolog�v

�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

�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

WiiBoard���瓾����Z���T�[�l�̗��p

���̑��́u�I�[�������Z�p�v

�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

���̑��F�摜�����̂��߂̃��C�u����

�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

�y���K���zMac��WiiBoard�̗��p

�Ȃ����̍�i�����\���ꂽ�����H�ȑ�w�u���f�B�A�R���e���c�W2009�v�̃z�[���y�[�W�ɂ́u�I�[���f�f�v�̑��ɂ��ʔ�����i�����������\����Ă��܂��B

�����H�ȑ�w�u���f�B�A�R���e���c�W2009�v

�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

�uWiiBoard�vC#.NET�ł̊J��

�@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

�y���K�z����
Mac�‹��œ����uBBOSC�v��uWiiFlash�v�Ȃ�WiiRemote���p�c�[����T���AProcessing���g�����u�N���������Ƃ��Ȃ��v���f�B�A�A�[�g��i����ɒ��킹��B
�y���K�z������
WiiBoard���g���āA�l�Ԃ́u�����݁v�����o����VR���E���U������B�Ȃ��u�����ݓ����́v�ɂ‚��ẮA�����_�H��̓��c�Ӗ�搶���A�_������������܂��̂Ō������ĎQ�l����Ƃ悢�ł��傤�B

���̃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

��i��(2)�FSecondLife�Ŏg��

���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

Second Life��i�uLaval VRchive 2009�v

SecondLife�pPIE�X�N���v�g

�܂��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

WiiRemote���g���ĕЎ�ő���ł���
[GlovePIE]SecondLife�uLaval VRchive 2009�v�W���pPIE�X�N���v�g(����)
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��

�y���K���zSecondLife�{GlovePIE���ɂ߂悤

�y���K�z������
��LPIE�X�N���v�g�ƁA�{��3�͂��Q�l�ɂ��āA�uGlovePIE�v�ƁuSecondLife�v���g���āA���R�Ƀo�[�`�������A���e�B��Ԃ��U���ł���PIE�X�N���v�g���쐬����B���̍ۃk���`���N�Ȃǂ����p���āA�W�������A�f�X�N�g�b�v�����Ȃǂ̃J�X�^���o�[�W��������������B
WiiRemote���玩���ؒf����Ȃ��悤�ɂ�����

�@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

���m��(1)�F�Z���T�[�o�[�����삷��

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�[�̂�����

�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

�ڂɂ͌����Ȃ��u�ߐԊO���v

���ā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

�ڂɂ͌����Ȃ��ߐԊO��

�u�ߐԊO���v�Ƃ�

�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

���̕s�v�c�ɂ‚��Ă����ƒm�肽��������c

�@�����Ȋ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

�����Ȃ��ԊO����������悤�ɂ���ɂ́H

���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

�Z���T�[�o�[�̐ԊO�����f�W�J���ŎB�e�����l�q

�ڂɂ͌����Ȃ��Ԋ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�̎�������́H

�@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���i�����낦��E�H�삷��

�y���Ӂz

[!]���������͓d�q��H���̒m����������A���c���Ă̈����Ȃǂ��”\�ȕ��̂ݎ��H�ɗՂ�ł��������B�{���������Ƃ���PC�̔j����Ώ����̑��̕s���v�ɂ‚��āA���҂�o�ŎЂ͐ӔC�������܂���B

�����炪����USB�Z���T�[�o�[�̉�H�}�̗�ł��B

����USB�Z���T�[�o�[�̉�H��

�ޗ��Ƃ��Ắ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

�u�H���d�q�ʏ��v�̐ԊO��LED�����̗�

�^�ԁ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

USB�d�͂̃T�[�W�x��

���̌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�[�̐����

���̂悤�ɔ��ɏ�����USB�Z���T�[�o�[����邱�Ƃ��ł��܂��B���낢��Ɖ��p�̕����o�Ă��܂��B

�y���K���z�ԊO���Z���T�[�o�[�̎���

�y���K�z����
��L�̉�H�}�����p���āALED�ɑ΂��ēK�؂Ȑ�����R�l���Z�o���AUSB�ŋ��d����ԊO���Z���T�[�o�[��2�Z�b�g���삹��B
�y���K�z����
��L2�Z�b�g�̃Z���T�[�o�[(�eLED2�_)�A���v4�_�̐ԊO���}�[�J�[���擾�ł���v���O������WiiYourself!��WiimoteLib���g���č쐬����B
�y���K�z������
��1�́uSoundQuest�v�ɂ���悤�ȁA�񓙕ӎO�p�`�̒��_�ɐԊO����z�u���w�O�p�`�̌����x���擾�ł���v���O�������쐬����B�q���g�͕M�҂̃z�[���y�[�W�uAki4IRDemo�v�A�𓚗��Youtube����uSound Quest V1�v(http://www.youtube.com/watch?v=TMK7ULUG7S4)������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

�ԊO��LED4�_�œ񓙕ӎO�p�`�����o�������

���m��(2)�F���{�b�g����uWiiRemoteTank�v

WiiRemote���g���ă��W�R���J�[�𑀍삵�悤�Ƃ����A�C�f�B�A�����������l��(���E�ɂ�)�ӊO�ɂ���悤�ł��B

WiiRemote���‚����ă��W�R���J�[�𑀍�

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

���{�b�g����uWiiRemoteTank�v

�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����uWiiRemoteTank�v

�قƂ�ǃ��{�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

�uWiiRemoteTank�v�̊J��

�����ł̓��{�b�g�̊J�������K���Ă���A����w���p���H�w�ȋ@�B�n3�N���̉��K�u�@�B�n���H�w���K�v�̋��ȏ����Q�l�ɂ��Ă��܂��B

����w �דc�k�搶�ɂ��u�@�B�n���H�w���KIII�v�e�L�X�g

[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

[URL]�^�~�� �^���N�H���{�Z�b�g

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

WiiRemote���u�����v...�H

�@����搶�́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

�����h���C�o�[�ƃy���`���g��

���āA���̐��ԓ���̂́A�uWiiRemote�𕪉���LED�ɔz�����A���ʂ�Ɏ��߂邱�Ɓv���Ǝv���܂��B���Ȃ�̏W���͂��v������܂��B���⌤������Tips��WiiRemote��LED����������L��������̂ŎQ�l�ɂ��Ă��������B

���⌤����Tips�uWii�����R���̐FLED��ԐFLED�ɕύX�v

[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

LED�M�������[�^�[�h���C�o�[�ɐڑ�

�����ł̓���͏��⌤�����ɂČ��邱�Ƃ��ł��܂��B

���⌤����Tips�uWii�Ń��W�R���v

[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

�y���K���zWiiRemote�ɂ�郍�{�b�g�J��

�y���K�z������
WiiRemoteTank�����p���āA���͂̐ԊO����T���ċ߂Â��Ă���u���{�b�g�y�b�g�v���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

�T�[�r�X�ҁF�̂��s���R�ȕ��̂��߂̃C���^�[�t�F�[�X

���̃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

�y���K���z�̂��s���R�ȕ��̂��߂̃C���^�[�t�F�[�X

�y���K�z����
WiiBoard���g���āA�肪�g���Ȃ��Ă��}�E�X����ł���\�t�g�E�F�A���쐬����B
�y���K�z������
WiiRemote�����ŕ������͂��ł���uWiiRemote�L�[�{�[�h�v���J������B
�y���K�z��������
WiiRemote�Ɂu�ʂ�����݁v�̔�����Ԃ��āA�c���Ɏ�������u���S�ʂ�����݃��{�b�g�v���J������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

�c���������N�K�L�V�X�e���uPapier Poupee Painter�v�Ŏg�����u���S�ʂ�����݁v

�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

������(1)�ԊO�����ɂ߂�

WiiRemote�̐ԊO���Z���T�[�͔��ɍ����ŁA�g�������������񂠂�܂��B�����ł�2�_�̐ԊO��LED�̏�񂾂��ŁA�ǂ��܂Ő��m�ȁu���s�����܂߂�3�������W�v���擾�ł��邩���_�I�ɓ˂��l�߂Ă݂܂��B

�ԊO�����s������̊�{���_

�����ł́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

�����ł̍��W�n�ALED��WiiRemote�̈ʒu�֌W(���ʐ})

����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

�����F�ԊO�������̑���

�܂��A�ԊO���̑���l���擾�ł���v���O������p�ӂ��܂��傤�B�V���ɊJ������̂��ʓ|�ł���΁uWiinRemote�v�Ȃǂ��g���đ��肵�Ă����܂��܂���B

WiiRemote�ԊO����������̔z�u(��ʐ})

���܁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

�y����V�[�g�z�ԊO���Z���T�[�̓����������[d=200mm]
[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

WiiRemote�ԊO����������̌���

�O���t�������Ƃ���AIrX1��IrX2�͉��s��PosZ�ɑ΂��āA�P���Ȕ��֌W�������Ă͂��Ȃ��悤�ł��B���������E�ɑ΂��Ă͂قڑΏۂƂ�����ł��傤�B������PosX�����S����O��邱�Ƃ�(PosX = -330mm, -660mm)�A���E�̑Ώې��͕���Ă����悤�ł��B

���ۂ̉��s��(PosZ) - �ԊO���̍�(IrZ)[��]�CPosX���ꂼ��ɑ΂��� K �̗l�q[�E]
�e�ʒu(PosX,PosZ)�ł�IrZ(2�‚�LED�̍��̐�Βl)
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

����Z(����) �\ �Z�oZ(�c��)

�y���K���z�ԊO�����ɂ߂�

�y���K�z��
�ԊO���Z���T�[�̎���p(��p)�͉��x���B���������A���������ɂ‚��čő�l�𑪒肵�A�p�x�Ƃ��ĎZ�o����B
�y���K�z������
�{�Z�N�V�����ʼn���������_���Q�l�ɂ��āA�ԊO���̌v���l�Ǝ��ۂ̉��s�����L�����u���[�V��������v���O�������쐬����B
�y���K�z��������
�����x�Z���T�[��A�t�B���ϊ���g�ݍ��킹�āA���L�͈͂����o�ł���d�g�݂��l����B

���������̉�p�ɂ‚��Ă͂��̃Z�N�V�����ŏЉ���f�[�^�����ƂɁA�Z�o���邱�Ƃ��ł��܂�(�ӊO�Ƌ����ł�)�B

�L�͈͉��ɂ‚��Ă͂��܂��܂ȕ��@�����肦�܂����A�ȉ��̐}���q���g�ɍl���Ă݂�Ɨǂ��̂ł͂Ȃ��ł��傤���B

�����x�Z���T�[���g�����L�͈͉�
�X�v���[�ʂ̂悤�Ȏ�����

�����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

������(2)Johnny Chung Lee������w�ڂ�

�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

(���g���~���O��])Mr. Johnny Chung Lee�Ɣނ̂ڂ�ڂ�̃^�u���b�gPC(Laval Virtual 2008�ɂ�)
Johnny Chung Lee����WiiRemote�֌W�̃v���W�F�N�g�ꗗ

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

�uWiiRemote�ŋM���̎w���g���b�L���O�v(2007�N11��08�����J)
�ԊO��LED�̍s���WiiRemote�Ɠ������A�ċA�����ˍރe�[�v(���]�Ԃ̖h�Ɣ��˃e�[�v�̂悤�Ȃ���)���‚����āA�f��u�}�C�m���e�B���|�[�g�v���̋󒆑��_������������Ă��܂��BWiimoteLib1.1��C#�ADirectX���g���Ă��܂��B
�uWiiRemote���g�������[�R�X�g�A�����_�C���^���N�e�B�u�z���C�g�{�[�h�v(2007�N12��07�����J)
�ԊO��LED���d���񂾃y�����g���āA�C���^���N�e�B�u�ȃz���C�g�{�[�h�\�t�g�E�F�A���������Ă��܂��BWiiRemote���X�^���h�ɏ悹�Ă���v���W�F�N�^�[�Ɍ������ăy�������Z���ɂȂ��Ă��܂��B���Ɉʒu���킹�̃\�t�g�E�F�A���G��ł��BWiimoteLib1.2.1��C#�ŏ�����Ă��܂��B�I�[�v���\�[�X������AMac/Linux�ł����J����Ă��܂��B
�uWiiRemote���g�����f�X�N�g�b�vVR�f�B�X�v���C�̂��߂̓����Ǐ]�v(2007�N12��21�����J)
�t�]�̔��z�ł��B�e���r�̑O��WiiRemote�������āA�Z���T�[�o�[����̐ԊO��LED�����K�l�̗��e�ɂ‚��܂��B�uWiiDesktopVR�v�Ƃ����f���v���W�F�N�g�����J����Ă���A���𓮂�����3DCG�ŕ`����3�����I�ɔz�u���ꂽ�}�g�����_�ɂ��킹�ē����܂��B�傫�ȕ��i�ʐ^�Ȃǂ����_�ɂ��킹�ē����܂��B���傤�Ǒ��g��ʂ��Ă݂�悤�Ȋ����ł��BWiimoteLib��C#�ADirectX���v���O�����ł��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

�W���j�[�E���[���̃u���O�uprocrastineering�v

[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

�y���K���z�������悤

�y���K�z����
�W���j�[�E���[�̃T���v�������s���A������m�F����B�ԊO��LED�O�b�Y�̍쐬�͑�9.6�͂��Q�l�ɂ��A�”\�ł���Γ��{��ŕԐMYouTube������A�b�v���[�h����B
�y���K�z��������
�T���v�������r���h�������̃v���W�F�N�g�ɍė��p����B���ɃA�t�B���ϊ���f���f�������Ȃǂ͕֗��ł��傤�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

�_���������T�[�r�X

�_�������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/

�v���O���~���O��(2)�F������API���‚���

�{�͂̍Ō�́AWiiRemote�ɃA�N�Z�X����API�������ō��ۑ�ł��BDDK���g�����AC++�̃v���O���~���O�ł��B���ɗp�����Ȃ����͓ǂݔ�΂��Ă��������Ă��܂��܂��񂪁A���̌���Ȃǂ�WiiRemote��API���ڐA����Ƃ��ȂǁA���ɗ��‚�������܂���B

API���g��Ȃ��ڑ��ɂ‚��Ă̏��

�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

wm_base.cpp wm_base::OpenWiiRemoteHID()
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

�y���K���z

���̃Z�N�V�����ł̉��K���͓�Փx����ɍ����ݒ肵�Ă��܂��B���ɘr�Ɏ��M��������̂ݒ��킵�Ă݂Ă��������B

�y���K�z������
DDK��C++���g���Ď�����API���J������B�l�X�ȃX�^�b�N�œ��삷��悤�AWiiYourself!��WiimoteLib��lj����Q�l�ɂ���Ƃ悢�B
�y���K�z��������
Windows Mobile�ȂǑ��̃v���b�g�t�H�[���p��API���ڐA����B
�y���K�z����������
�X�^�b�N��DDK�����p���ABluetooth�ڑ����������ł���h���C�o�[���J������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

�I�����C���R�~���j�e�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