McjWiiKitV0.zip can be found at the bottom of this web page in the attachments section
a PC/DOS program that communicates with the WiiMote through BlueTooth
a Daz Script for Daz Studio 1 and 2
a Daz Script for Daz Studio 3 and 4
the GNU GPL library of functions used by mcjStdWiiV0.exe to communicate with the wiimote
see here http://www.wiiuse.net/
this zip file should be unzipped in your daz studio content folder
typically it means c:\program files\daz\studio\contents
if installed properly, mcjWiiClientV0DS1.ds and mcjWiiClientV0.dsa
will be accessible in Daz Studio in the contents tab in studio/scripts/mcasual/
will also be placed in the scripts/mcasual/ folder.
Dec 23, 2010 5:08 PM
released version for DS3 only
Dec 27, 2010 1:51 PM released the server's cpp source code.
May 28, 2012 3PM tested with DS4, created icons, created version for DS1 and 2, tested under DS1.8, released new package
- PC running Windows and equipped with Bluetooth ( i use a $15 dongle that plugs in a usb port )
unfortunately, not all Bluetooth hardware will be able to establish a communication with the WiiMote
for a list of working/non-working Bluetooth hardware
- Establish the Bluetooth radio link between the WiiMote and Windows , this is called "pairing".
instructions here: http://www.kudzuworld.com/blogs/Tech/20070817A.en.aspx
- In your daz scene, select the nodes you want to put under the control of the WiiMote
example: Aiko's Head and Neck
- Launch mcjWiiClientV0.dsa
The "Client Channels" list now contains the list of parameters and morphs for the nodes you selected in the scene
- Click on the Server Path button and browse up to mcjWiiServerV0.exe
- Click on the Start Server button.
If all went well, mcjWiiServerV0.exe in now running ( though it's invisible ) it attempted to communicate with the WiiMote, if this worked, it ordered your WiiMote to rumble/vibrate for 1/5 second and turned on a blue led, then it transmitted back to mcjWiiClientV0.dsa the names of available channels, so
the "Server Channels" List should now be filled with the list of the Wii channels. ex : wm.or.roll which varies with the banking of the wiimote.
note: Sometimes mcjWiiClientV0.dsa fails to properly terminate mcjWiiServerV0.exe on exit. So you should probably use Windows' Task Manager and terminate any ghost of mcjWiiServerV0.exe , since it may be using a lot of CPU power for no good reason.
- Select a Server Channel, select a Client channel, type in values for "Mult" and "Add" use the "Add Link" button
Before being applied to the Client Channel, the value coming from the Wii is multiplied
by the value "Mult" then the offset "Add" is added. To obtain a 1-to-1 result use Mult = 1 and Add = 0
example: link the wm.or.roll ---> head.Twist and link wm.or.pitch ----> head.bend
example: link wm.but.a.hld ( 1 when the wiimote A button is held down ) to head.BlinkLeft , mult = 0.5 Add = 0.1
this way the LeftBlink is at 10% when button A is released and 60% when it is held down
- Click on the WiiMote's HOME button
mcjWiiServerV0.exe should now be sending us data up to 10 times per second, and mcjWiiClientV0.dsa is applying them to the nodes in our scene !
- If you click on the record button, mcjWiiClientV0.dsa will advance the timeline frame number as it receives new data
it's mocap !
| improving mocap results
Below i plotted the result of linking the roll channel of the wii to the ZRotate parameter of a primitive-sphere in the Daz Studio scene and the a_roll channel to the ZTranslate parameter. The wiimote's "roll" data is mathematically filtered and unfortunately it exhibits very jumpy results ( bug?). The wiimote's "a_roll" channel is the same data but unfiltered, it's somewhat more "noisy" but more reliable. Using my mcjDecimate script ( http://forum.daz3d.com/viewtopic.php?t=143251 ), you can simplify the a_roll curve and get smooth results
| Things that will be fixed in upcoming versions:
sometimes daz studio accumulates 2 messages from the wiimote before passing them to mcjWiiClientV0.dsa , and
currently, we just dismiss the second message.
ability to control material properties using the wii
world-space client channels
changing the sample rate
better filtering of the very noisy accelerometer data
* mcjWiiServerV0.exe and mcjWiiClientV0.dsa
* written by mCasual/Jacques
* Copyright 2010
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
// this program uses the wiiuse library to communicate with the wii
// the library is under the GNU General Public License
// you can get it here: http://www.wiiuse.net/