none
KMotion Capturer 2.2(with Kinect V1.0 SDK) complete source code release

    General discussion

  • Result Video(kinect motion capture v2 by Akira32):http://www.youtube.com/watch?v=j9K3iQJo60I&feature=player_embedded

    more detail infor at below website, I will translate the chinese words to english later.

    http://tw.myblog.yahoo.com/akira32-akira32/article?mid=1554

    KMotion Capturer 2.0 complete source code release

    use Kinect SDK to create wpf application to generate 3ds Max Script for create a biped and assign animation key to each bone. And then bind to a 3d model and export the animation(model and bone),

    play the animation in XNA Appliaction. finished!

    If any one have a operation question, I am glad to help you and answer the question.

    ============================================================

    KMotion Capturer v2.0

    Solution and Project complete source code(use Kinect Beta SDK)

    download: https://skydrive.live.com/embed?cid=FBEB6373D9321A7F&resid=FBEB6373D9321A7F%21815&authkey=AKbr8Yx7PbdYOnY

    KMotion Capturer v2.1

    Solution and Project complete source code(use Kinect 1.0 SDK)

    https://skydrive.live.com/embed?cid=FBEB6373D9321A7F&resid=FBEB6373D9321A7F%21923&authkey=APXjOT-xrcUnf80

    KMotion Capturer v2.2

    Solution and Project complete source code(use Kinect 1.0 SDK)

    fix speech initializtion

    https://skydrive.live.com/embed?cid=FBEB6373D9321A7F&resid=FBEB6373D9321A7F%21924&authkey=AAhjVXKBZKc4MlQ

    bipedExporter.ms ( the MaxScript used to export XML that record bones position)

    download: https://skydrive.live.com/embed?cid=FBEB6373D9321A7F&resid=FBEB6373D9321A7F%21921&authkey=AKTpffqvsjqhMsA

    Kinect Offline Motion Capture(Beta).docx

    https://skydrive.live.com/?cid=FBEB6373D9321A7F&id=FBEB6373D9321A7F%21815

    PS:Must use with 3ds Max

    ============================================================

    20120303

    release KMotion Capturer 2.0 version,include mixer and XNA Test Game

    20120304

    more complete source code release,include AnimMixer (Mix the Kinect Bone Data into your 3ds Max biped into a biped with the pose record by kinect) and FileAccessor and XNA Test Game(assign biped animation and export it in 3ds max into xfile, XNA read the xfile and play animation with your pose)

    20120310

    Upgarde to Kinect 1.0 SDK

    20120311

    fix speech initialization

    I will record the video of all flow to help everyone more understand how to use

    You better has 3ds Max and even use it. If you do not get 3ds Max, you can register student version at Autodesk website.

    ============================================================

    << Operation Description >>

    All Key Frame Mode + Speech Recognition

    speech"Command Start", start record pose

    speech"Command End",stop recording and export max script to 3ds Max Script Directory(one1.ms,one3.ms)

    All Key Frame Mode without Speech Recoginition

    lift your hands above your head for 1 second later, start recording, if you want to stop recording, lift your hands over your head again

    Take One Key Frame Mode + Speech Recognition

    speech "Command Take" to record current posture, do the same as every cut. At last, speech "Command Save" to stop recording and automatically export max script to 3ds Max Script Directory (one1.ms,one3.ms)

    Take One Key Frame Mode without Speech Recognition

    Push "Take" button to record current posture

    Push "Save " button to record current posture, do the same as every cut. At last, speech "Command Save" to stop recording and automatically export max script to 3ds Max Script Directory (one1.ms,one3.ms)

    PS1:

    remember push Reset or Speech "Command Reset" after export max script for the next time.

    PS2:

    all1.ms or one1.ms  create biped in 3ds Max(open MaxScript in 3ds Max and push Ctrl+e to run)
    all3.ms or one3.ms set keyframe animation (open MaxScript in 3ds Max and push Ctrl+e to run, change the frame number firstly)

    PS3:

    Re:show speech recogntion sentance(match the program setting)

    Hy:show the result of speech recognition(maybe not match the program setting)

    =====================================================================

    If you want to donate me, you can save money to my bank data as below:

    Bank:TAIWAN BUSINESS BANK HUALIEN BRNCH

    A/C NO: 76062523596

    F/O: Chen, Chang-Min

    SWIFT ADDRESS:MBBTTWTP050

    Remember write your name at comment! Thanks!!

    <<操作說明>>

    All Key Frame Mode + Speech Recognition
    唸"Command Start",開始錄製動作
    唸"Command End",停止錄製動作並輸出max script到3ds Max Script Directory(one1.ms,one3.ms)

    All Key Frame Mode without Speech Recoginition
    雙手舉高過頭後一秒開始錄製,第二次舉高就停止錄製並輸出max script到3ds Max Script Directory(one1.ms,one3.ms)

    Take One Key Frame Mode + Speech Recognition
    唸"Command Take",紀錄當時的動作,可以將所以分鏡的動作個唸一次,最後唸"Command Save"停止錄製並輸出max script到3ds Max Script Directory(one1.ms,one3.ms)

    Take One Key Frame Mode without Speech Recognition
    按下"Take"按鈕,紀錄當時的動作
    按下"Save"按鈕,停止錄製並輸出max script到3ds Max Script Directory(one1.ms,one3.ms)

    PS1:
    記得輸出max script後,要按下Reset按鈕重置,如果Speech Recogintion有開可以唸"Command Reset"

    PS2:
    all1.ms or one1.ms 建立biped(開啟max script後按下ctrl+e執行)
    all3.ms or one3.ms 設定biped動作(開啟max script後按下ctrl+e執行,記得先調整影格數)

    PS3:
    Re:顯示語音辨識成功的語句(與所指定辨識的語句符合)
    Hy:顯示假設的語句(可能與所指定辨識的語句不同)

    =====================================================================

    如果覺得這個程式對您有幫助的話,您可以用郵政劃撥到我的帳號06690594,贊助我的研究,謝謝!!


    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32
















    • Edited by akira32 Sunday, May 06, 2012 12:44 PM
    Saturday, March 03, 2012 5:47 PM

All replies

  • question can so i can export my movements as a biped animation that your program will also apply to my xna model (*.x file)?

    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda

    Monday, March 05, 2012 11:28 PM
  • I've also installed v1 sdk because it uses the xbox kinect for development purposes so if you code for v1 could you provide an plug-in or script for blender also? I wish to use your program but I dont have beta 2 anymore on any of my computers.

    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda

    Monday, March 05, 2012 11:42 PM
  • After recording, the program will export 3ds Max script to 3ds Max Directory (in UI). If you use one-key frame mode:

    one1.ms is to create biped in 3ds Max. Open the max script and control+E to run. Push "z", you will auto zoom in. Zoom in/out can use mouse scrolling.(all-key frame mode, the file is all1.ms)

    one3.ms is to create the key of animation use previous biped in 3ds Max. Open the max script and control+E to run. The biped will be add animation you recorded. And then you can export the biped to bip file(swithc to system menu, the right docking toolbar),biped page click "Save File".

    The biped file(*.bip) can be use other biped in 3ds Max, just click the biped and then click "Open File" in biped page to select the bip file you exported. The biped will be add the animation in bip file. At last, export your model and bone to xfile by 3ds Max Panda plugin.(remember to assign the animationset, from which key to which key you want to export and type the animationset name) In XNA, read the xfile and play the animationset(you type on panda plugin). 


    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Tuesday, March 06, 2012 12:26 PM
  • Question if you convert to v1 code as long as full sdk is installed for v1 instead of runtime you can use xbox kinect. I might donate to your project if you convert to v1 but you can still keep beta 2 version. Also, I have a little python experience so I might be able to help you reasearch how to load  biped animation into blender for next release.

    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda





    • Edited by The Thinker Tuesday, March 06, 2012 7:00 PM
    Tuesday, March 06, 2012 6:55 PM
  • Great job!

    I wait your Kinect SDK v1 version too.

    Thursday, March 08, 2012 9:59 AM
  • I will upgrade it to v1

    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Thursday, March 08, 2012 12:26 PM
  • akira32 I might take a look at your script code for 3ds max and see how different it would be to do for blender.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda

    Thursday, March 08, 2012 8:32 PM
  • I add Kinect Offline Motion Capture(Beta).docx in my blog

    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Friday, March 09, 2012 1:18 PM
  • When you get v1 source code for your project after I help with blender script and then I will donate something to you. Although you would have to have a paypal donate button on blog probably for me to do that.

    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda

    Friday, March 09, 2012 4:17 PM
  • KMotion Capturer v2.1

    Solution and Project complete source code(use Kinect 1.0 SDK)

    https://skydrive.live.com/embed?cid=FBEB6373D9321A7F&resid=FBEB6373D9321A7F%21923&authkey=APXjOT-xrcUnf80


    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32


    • Edited by akira32 Saturday, March 10, 2012 2:31 PM
    Saturday, March 10, 2012 2:31 PM
  • KMotion Capturer v2.2

    Solution and Project complete source code(use Kinect 1.0 SDK)

    fix speech initializtion

    https://skydrive.live.com/embed?cid=FBEB6373D9321A7F&resid=FBEB6373D9321A7F%21924&authkey=AAhjVXKBZKc4MlQ


    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Sunday, March 11, 2012 11:03 AM
  • I tried opening KMotionCapturer.sln and got

    C:\Users\path\KMotionCapturerv2.2\KMotionCapturer\Content\Content.contentproj : error  : The project file 'C:\Users\path\KMotionCapturerv2.2\KMotionCapturer\Content\Content.contentproj' cannot be opened.
    The project type is not supported by this installation.
    C:\Users\path\KMotionCapturerv2.2\KMotionCapturer\ContentLibrary\ContentLibrary.csproj : error  : The project file 'C:\Users\path\KMotionCapturerv2.2\KMotionCapturer\ContentLibrary\ContentLibrary.csproj' cannot be opened.
    The project type is not supported by this installation.
    C:\Users\path\KMotionCapturerv2.2\WindowsGameKinect\WindowsGameKinect\WindowsGameKinect.csproj : error  : The project file 'C:\Users\path\KMotionCapturerv2.2\WindowsGameKinect\WindowsGameKinect\WindowsGameKinect.csproj' cannot be opened.
    The project type is not supported by this installation.
    C:\Users\path\KMotionCapturerv2.2\WindowsGameKinect\SkinnedModel\SkinnedModelWindows.csproj : error  : The project file 'C:\Users\path\KMotionCapturerv2.2\WindowsGameKinect\SkinnedModel\SkinnedModelWindows.csproj' cannot be opened.
    The project type is not supported by this installation.
    C:\Users\path\KMotionCapturerv2.2\WindowsGameKinect\SkinnedModelPipeline\SkinnedModelPipeline.csproj : error  : Unable to read the project file 'SkinnedModelPipeline.csproj'. 
    C:\Users\path\KMotionCapturerv2.2\WindowsGameKinect\SkinnedModelPipeline\SkinnedModelPipeline.csproj(62,3): The imported project "C:\Program Files (x86)\MSBuild\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.ContentPipelineExtensions.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

    Ideas?

    Eisenanstreicher

    Monday, March 12, 2012 12:26 AM
  • Do you have visual studio 2010 or visual c# 2010 express edition? You need 2010 edition for this to work. I got the code to compile just fine. Remember to have visual studio sp1 installed also as I use xna 4.0 with sunburn and you need sp1 for the xna side of this.

    Heres the programs that need to be installed before his project can be used above:

    1. Xna Game studio 4.0

    2. Visual Studio sp1 if you have visual studio instead of visual basic express edition.

    3. 3ds studio max until I help him develop a script for blender which im researching now.

    4. Kinect v1 commerical sdk

    I've started a sample model in blender to see how it has changed in a few months and blender is now an awesome product because I can actually move the a lot better in this one like in 3ds max and apply some moderate changes. akira32 I will help point you to the documentation for the bones in blender at minimum in case I cant post back here in awhile. I think 3ds max and blender are very similar now compared to versions 2.49 and below that was out a year ago.

    akira32 can you tell me which code creates the 3ds max script or do i need to type it in because you could just hide the 3ds max script code unless the person exports it.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda

    Monday, March 12, 2012 12:54 AM
  • 1. Xna Game studio 4.0

    That solved it. Nice. Also I found that for other countries having different number separation signs, you should use

    .X.ToString().Replace(",", ".") instead of .X and so on for every time the coordinates are being written to file. Otherwise you'd get <number>,<number>,<number>,<number>,<number>,... instead of <number>,<number>,<number>,<number> as "." equals "," in german notation f.i..


    Apart from that, was anyone successful in importing it into 3dsmax?


    Eisenanstreicher



    Monday, March 12, 2012 4:15 AM
  • I tried opening KMotionCapturer.sln and got

    C:\Users\path\KMotionCapturerv2.2\KMotionCapturer\Content\Content.contentproj : error  : The project file 'C:\Users\path\KMotionCapturerv2.2\KMotionCapturer\Content\Content.contentproj' cannot be opened.
    The project type is not supported by this installation.
    C:\Users\path\KMotionCapturerv2.2\KMotionCapturer\ContentLibrary\ContentLibrary.csproj : error  : The project file 'C:\Users\path\KMotionCapturerv2.2\KMotionCapturer\ContentLibrary\ContentLibrary.csproj' cannot be opened.
    The project type is not supported by this installation.
    C:\Users\path\KMotionCapturerv2.2\WindowsGameKinect\WindowsGameKinect\WindowsGameKinect.csproj : error  : The project file 'C:\Users\path\KMotionCapturerv2.2\WindowsGameKinect\WindowsGameKinect\WindowsGameKinect.csproj' cannot be opened.
    The project type is not supported by this installation.
    C:\Users\path\KMotionCapturerv2.2\WindowsGameKinect\SkinnedModel\SkinnedModelWindows.csproj : error  : The project file 'C:\Users\path\KMotionCapturerv2.2\WindowsGameKinect\SkinnedModel\SkinnedModelWindows.csproj' cannot be opened.
    The project type is not supported by this installation.
    C:\Users\path\KMotionCapturerv2.2\WindowsGameKinect\SkinnedModelPipeline\SkinnedModelPipeline.csproj : error  : Unable to read the project file 'SkinnedModelPipeline.csproj'. 
    C:\Users\path\KMotionCapturerv2.2\WindowsGameKinect\SkinnedModelPipeline\SkinnedModelPipeline.csproj(62,3): The imported project "C:\Program Files (x86)\MSBuild\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.ContentPipelineExtensions.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

    Ideas?

    Eisenanstreicher


    Install XNA 4.0

    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Monday, March 12, 2012 1:12 PM
  • void ScriptAnimationKey() to export MaxScript

    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Monday, March 12, 2012 1:14 PM
  • This is what I did. Seems to have a lot of issues. Watch in HD.

    http://www.youtube.com/watch?v=Mn_f7nE4D1g


    Eisenanstreicher


    Monday, March 12, 2012 9:14 PM
  • Richard is it compiling issues or whats the error you receive or is the quality of capture bad like off by a little when capturing?

    I see that the capture is a little off but thats mostly having to do with kinect placement and configuration issues like too high or not up enough. It worked like a perfect animation for me Richart but I have to have the kinect up high pointing down for it to get good skeleton capture data. try the Kmotion capturer solution first which is for seeing what the animation will look like since he doesn't have a good xna model to go off of in the youtube video but I tested his software and I like it.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda




    • Edited by The Thinker Monday, March 12, 2012 11:15 PM
    Monday, March 12, 2012 11:05 PM
  • This is what I did. Seems to have a lot of issues. Watch in HD.

    http://www.youtube.com/watch?v=Mn_f7nE4D1g


    Eisenanstreicher


    Run all1.ms all3.ms (ignore all2.ms) or

    Run one1.ms one3.ms(ignore one2.ms)

    Before you run the third ms, change the total frame to be the maxiumu in max script


    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Tuesday, March 13, 2012 3:35 PM
  • Richard, are you alright?


    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Wednesday, March 14, 2012 12:04 PM
  • Does anybody run successfully? I maybe will record a video to demo how to use the program at several days.

    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Friday, March 16, 2012 6:40 PM
  • I maybe will record a video to demo how to use the program at several days.
    That is a very wise idea.

    Eisenanstreicher

    Monday, March 19, 2012 4:36 PM
  • Hi Akira,

    I have couple of issue please if you could help me.

    1. The Take and Save buttons are not working for me, how can I make them work?

    2. How can I play back the recorded gesture captured?

    3. How can I get the model to work in VS2010 run mode?

    Thank you very much.

    Thursday, March 29, 2012 10:54 AM
  • 1.you need a miscrophone or directly push the "Take" and "Save" button by another one

    2.the gesture will be write to biped in 3ds Max, you can play the gesture in 3ds Max if  you run one1.ms and one3.ms or all1.ms and all3.ms in 3ds Max

    3.you can combined the biped with your 3d model in 3ds Max by skin modifier. at last export them by panda plugin to xfile. in XNA, you can read the xfile to your game and play them.


    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Thursday, March 29, 2012 12:16 PM
  • Still looking up docs for blender but the new blender interface is a lot easier to use compared to the old one.

    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda

    Thursday, March 29, 2012 12:33 PM
  • That was quick reply, thanks for the reply, I tried the Take and Save button using different combinations of both, but nothing appears to be showing in the Motion Take List, where I assume they should be saved. What could be the reason behind this? Thanks.
    Friday, March 30, 2012 4:12 AM
  • When You click Save button or speech "Command Save", the program will generate 3ds Max script file in tha path of WPF(3ds Max Directory). Did you install 3ds Max?


    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Friday, March 30, 2012 11:36 AM
  • No, not yet.
    Friday, March 30, 2012 10:32 PM
  • But I just got it installed now.
    Friday, March 30, 2012 10:37 PM
  • Akira,

    I now got the biped , but I am struggling to combine the biped with the 3d model and I can't find export as biped option as well. Could you please help with this? Thanks

    Saturday, March 31, 2012 12:29 PM
  • You click biped and then switch to Motion Page(Bip Panel), "save" biped to bip file.

    And then open your another model with biped, just click biped and open the previous bip file.

    The Animation will "load file" for bip file to your new model's biped.

    If you have any quetion,welcome to post.


    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Saturday, March 31, 2012 5:24 PM
  • Hi Akira, if I want to make changes to your code to record gestures, play the gesture recorded and simultaneously capture a new live skeleton while the recorded one is playing? Please could you flick me an email on mndayak@gmail.com. Thank you.
    Tuesday, April 03, 2012 9:45 AM
  • Dear MohNdaToday
    I had send a mail to you. Your idea is great.

    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Wednesday, April 04, 2012 9:29 AM
  • Im thinking about making the script for blender still but can you akira tell me what subs/functions I should focus my energies on so I write you a blender script also? I think its very similar though to place a skeleton/bone animation in blender as in 3ds max. 

    Also, if i create an animation using your xna helper app can i use it in my game/model? I want to use it for a test game sample code right now but in future in some games and possible some future kinect projects. I will gladly send you xna code (probably inside a sbpack file and you need sunburn to open it) and/or  xbox code to play final game if you wish if this KMotion project is open source and thats allowed and also I will give you credit inside game for using KMotion.  BTW, host on codeplex and you could get money off just ads because if people visit a lot you get money off the ads just by visits.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda







    • Edited by The Thinker Thursday, April 05, 2012 3:13 PM
    Thursday, April 05, 2012 2:59 PM
  • You could just modfiy the function call ScriptAnimationKey that exports max script to a file.

    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Thursday, April 05, 2012 4:46 PM
  • Thanks i wil do that!

    Just in case in future you want to see my xna projects or kienct projects on codeplex heres what i have now:

    http://kinectmultipoint.codeplex.com - emulate each person from kinect as a seperate individual mouse.

    http://kinectsignlanguage.codeplex.com - still in early stages but will start on this project after i finish kinect multipoint.

    http://sunburncustomsamples.codeplex.com - nice first person fps shooter xna source samples so you can mess around with putting kinect into sunburn or xna better.

    sunburn is very flexible i wouldn't doubt it if with a small ounce of coding their could be a add-on for sunburn editor that allows kinect coding and helper items.  I will allow you to use the sunburn source as examples but the models are sunburns models because im just editing their light mapping example to do my game tests before i implement them in a real game.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda

    Thursday, April 05, 2012 5:55 PM
  • Okay i will do that thanks! I will be sure to give you help.  If you look to my codeplex page for my progress those xna files require some version of sunburn but heres all my codeplex pages pages with kinect and xna on codeplex if you ever want to help:

    http://kinectmultipoint.codeplex.com - emulate multiple mice as individually multiple people from kinect which is close to a beta version for people to test and i will compile a executable here soon for it.

    http://kinectsignlanguage.codeplex.com - use kinect to interpret sign language to speech (still in first stages)

    http://sunburncustomsamples.codeplex.com/ - xna 4 refresh sunburn samples for first person shooters and some advanced games. 


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda

    Thursday, April 05, 2012 6:25 PM
  • Akira, having created this software you proved that you have the necessary knowledge needed to make this idea real. I would appreciate your help.

    http://social.msdn.microsoft.com/Forums/en-US/kinectsdk/thread/8cb55402-ab12-42de-986a-a8a36dbf7725/#b39cd99e-7376-4e0a-a886-9e6ca3ea0c83

    Eisenanstreicher

    Monday, April 09, 2012 12:22 AM
  • If you want to donate me, you can save money to my bank data as below:

    Bank:TAIWAN BUSINESS BANK HUALIEN BRNCH

    A/C NO: 76062523596

    F/O: Chen, Chang-Min

    SWIFT ADDRESS:MBBTTWTP

    Remember write your name at comment! Thanks!!


    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32



    • Edited by akira32 Monday, April 23, 2012 10:33 AM
    Wednesday, April 18, 2012 1:12 PM
  • http://youtu.be/-sMDrvwBnks

    One Key Frame Mode Demo Video


    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Sunday, May 06, 2012 12:44 PM
  • Thanks I will make sure to donate if i use with my game and im just doing xna game samples right now but havent started on anything yet for my game. I have some projects to get done at work but once i finish them I will start on making a script for add-on in blender/doing the task for blender.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda. Blog - http://jefferycarlsonblog.blogspot.com/



    Tuesday, May 08, 2012 12:23 PM
  • can you please update to 1.5? If you just modified the kinect mouse sample I figured out you just need to readd the microsoft.kinect reference with v1.5 microsoft.kinect reference when playing out with my code which uses some of kinect mouse code.

    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda. Blog - http://jefferycarlsonblog.blogspot.com/


    Tuesday, May 29, 2012 7:59 PM
  • hello akira,

    I stumbled onto this project a few days ago, and was able to compile it and make it run too without problems, having installed the kinect 1.5 SDK. the project itself is great, and quite fresh compared to those expensive solutions (iClone, ipisoft) and Brekel (which to me produces such hard glitches, the captures aren't usable. plus having to go Brekel->MotionBuilder->3dsMax seems convoluted since I work in 3dsMax)

    I've noticed that the captures I do are quite stiff (and then, the ones in your videos are too). and this is because Biped does not allow to set position on most of the bones (only hand/arm/upperarm and foot/calf/leg, and root), which means all of the head and spine motion is being lost.

    to fix this I'm trying to export the bone rotations as well, which should add proper motion to the head and spine, and should make the arms and legs look more natural. so I'm trying to access the kinect bone rotations (I think they're only available since KinectSDK 1.5 but I'm new to this so I'm not sure), and I've successfully been able to access BoneOrientations[(JointType)index].AbsoluteRotation.

    I'm using AbsoluteRotation instead of HierarchicalRotation because in Maxscript you can only set a Biped Bone rotation using     biped.setTransform $'Bip001 Spine' #rotation myQuat True      -and this command only accepts a quaternion in world-space coordinates

    following up, I was able to export the rotations as quaternions into 3dsmax, but once applied into the model the appear all wrong. I'm banging my head against the wall because I don't know why they're wrong. I'm transferring the quat values directly as X,Y,Z,W, but I read that kinect uses XYZ instead of 3dsMax's XYZ. but you export the positions straight up as XYZ so that doesn't seem to be it.
    then there's the fact that the Biped is rotated -90 in Z at startup, but I don't know how to make up for that, or if that's even the cause of the problem.

    btw when (if) I'm done doing this I plan on publicly releasing pre-compiled binaries if that's ok, and give you (akira) the modified sources as well.
    any ideas?

    later

    Monday, June 04, 2012 9:47 PM
  • i think arika would like that but I recommend strongly giving him credit since he poured his energy into making this. BTW, can i try your modified source code? send me an email at: jefferycarlson@gmail.com with modified source code and akira too. I plan on modifying his for blender too want to help me out?

    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda. Blog - http://jefferycarlsonblog.blogspot.com/

    Monday, June 04, 2012 10:06 PM
  • oh don't worry I intend to give akira full credit for his work. the idea of 'releasing binaries' is not to hijack his work at all, but to try to make the program more accessible and mainstream.

    sure I'll send you my modified sources. be warned: they are a little messy.
    you'll see a lot of commented code, most is something I tried to get head rotation: I did a lookat node for the head, then baked the rotation and deleted the LookAt. it works but it's only looking at it (ie. only produces pitch and yaw but not roll) which is not enough.

    for now my tries of exporting rotations are only being applied to the head and spine btw. but again, comes out all wrong
    anyway to get all of this working I had to create a new var called SkelData in MyKinectBasicInfo, into which I feed *all* the skeleton data (not ideal and unoptimized I know, but I wanted to access the bone rotations without wasting time)

    sure you can try my modified sources. by the time you read this you should have the file in your email. I'd send it to akira but I don't have his email.

    also, sorry but I don't use blender and I'm busy with other stuff (a game on UDK for which I need new animations cause my handmade ones are barely decent, all of which drove me here), so I can't help you there.

    • Edited by Chosker Tuesday, June 05, 2012 7:24 AM
    Tuesday, June 05, 2012 7:17 AM
  • oh crap I just found out something important: ConvertVectorToMaxWithScale is actually converting +X+Z+Y to -X+Y+Z in order for 3dsMax to understand it. that might be the key as to why I can't get it working

    Elium - 3D Action RPG Project - http://www.sanzpont.com/chosker/elium 3D Art Portfolio - http://www.sanzpont.com/chosker

    Tuesday, June 05, 2012 9:25 AM
  • I agree the hardest part about 3d models in a game is the animations.

    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda. Blog - http://jefferycarlsonblog.blogspot.com/

    Tuesday, June 05, 2012 12:21 PM
  • so, can anyone help me converting the rotation quaterions from the Kinect coordsys to 3dsMax's?

    Elium - 3D Action RPG Project - http://www.sanzpont.com/chosker/elium 3D Art Portfolio - http://www.sanzpont.com/chosker

    Wednesday, June 06, 2012 12:18 PM
  • his page is in chinese but use google translate to email akira about the equivilent properties in 3ds max because I didnt reinstall it when I wiped and reinstalled my windows laptop here recently. I believe that 3dsmax as akira has pointed out has more skeleton points then the kinect sdk does so you have to choose your points how you want them.

    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda. Blog - http://jefferycarlsonblog.blogspot.com/


    • Edited by The Thinker Wednesday, June 06, 2012 12:27 PM
    Wednesday, June 06, 2012 12:26 PM
  • oh it's not a matter of how many bones there are, Akira's setup and code already applies positions to only the needed nodes (the rest are ignored which is fine)

    I just need to transform the rotation values I'm getting from Kinect's coordinate system to 3dsMax's coordinate system (which is where I keep getting stuck), and then only make up for the default biped rotations (since the biped bones do not come with a zero rotation by default, they are already rotated at creation).

    for positions I can understand that he's setting X to negative and swapping Y and Z, but I can't find a way to do a similar thing with a quaternion (or even a matrix)


    Elium - 3D Action RPG Project - http://www.sanzpont.com/chosker/elium 3D Art Portfolio - http://www.sanzpont.com/chosker

    Wednesday, June 06, 2012 2:10 PM
  • show me some code here of akiras and I will try to see if it has a property that will help but that sounds like its a new property because i knew most of the basic properties in v1 kinect sdk but not all of the properties. At minimum I will post reference to help file and maybe my keywords so you can see if anything I was searching for helps.

    It seems kinect is half theory so using it requires some scientific background.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda. Blog - http://jefferycarlsonblog.blogspot.com/


    • Edited by The Thinker Wednesday, June 06, 2012 7:52 PM
    Wednesday, June 06, 2012 7:50 PM
  • well I already sent you my code by email. at MainWindows_Maxscript.cs around line 170 there's this:
    for (int index = 0; index < (int)JointType.FootRight + 1; index++)

    inside it there are the lines that write the position into maxscript.
    I'm trying to write rotations as well, by using:
    Microsoft.Kinect.Vector4 newQuat = oneKinectJoints.SkelData.BoneOrientations[(JointType)index].AbsoluteRotation.Quaternion;
    or
    Microsoft.Kinect.Vector4 newQuat = oneKinectJoints.SkelData.BoneOrientations[(JointType)index].HierarchicalRotation.Quaternion;
    and then
    szResult += "myQuat = (quat " + newQuat.X + " " + newQuat.Z + " " + newQuat.Y + " " + newQuat.W + ")\r\n";
    szResult += "biped.setTransform $'" + szJointName[index] + "' #rotation myQuat True\r\n";

    do remember that oneKinectJoints.SkelData is a variable I implemented (find it in my code, not akira's original code)

    the bone rotations are there, I just want to translate them into 3dsMax's coordinate system, I believe from Kinect's XZY to 3dsMax's XYZ. that's easy for positions (switch Y and Z), but as I said I can't get to do it with quaternions


    Elium - 3D Action RPG Project - http://www.sanzpont.com/chosker/elium 3D Art Portfolio - http://www.sanzpont.com/chosker

    Wednesday, June 06, 2012 8:27 PM
  • Sounds about right your code. In kinect mouse they take the kinect code in the class file section and change it so x and y are using absolute position coordinates on the screen of the computer. Heres the screen code they use:

      i(0).MouseInput.X = (positionX * 65535) \ maxX
                i(0).MouseInput.Y = (positionY * 65535) \ maxY

    The reason I point this out is it improves the kinects ability to be used as a mouse or for moving joints around when getting positions from them. Will continue searching for the 3dsmax coordinate system though.

    P.S. blender uses python and most of it would just be name differently from 3ds max but is very similar.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda. Blog - http://jefferycarlsonblog.blogspot.com/


    • Edited by The Thinker Thursday, June 07, 2012 1:33 PM
    Thursday, June 07, 2012 1:32 PM
  • nevermind that, I almost got it working.

    I'm still exporting the quaternions as -X,Z,Y,W; and that seems to do the trick.

    my only problem now is that in the arms the rotations do not seem to be like the rest of the body so I can't get them to their proper rotations in 3dsmax.
    buuuuuuut, save for that my export now handles pelvis, spine, neck and head rotation in at least a believable form (the arms and legs, I'm still only setting their positions), which is a step forward in terms of the motions looking more natural

    I'll keep working on it


    Elium - 3D Action RPG Project - http://www.sanzpont.com/chosker/elium 3D Art Portfolio - http://www.sanzpont.com/chosker

    Thursday, June 07, 2012 2:52 PM
  • Send me the final version again with it working when you do. I appreciate that you updated akiras code and akira will too. I can forward it to akira but you might need to translate his blog page to english and copy his email if you are just wanting to help.

    Put modified sources on google docs or msdn code gallery when you get done so people can access them.

    I will make sure to contribute to you something nice (money or project help - need to be emailed a few weeks in advance before starting the project to tell you if im busy on another project) when you get the movement more fluid especially when you repost the updated source code and  i will give akira some of my time or money too on a project.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda. Blog - http://jefferycarlsonblog.blogspot.com/

    Thursday, June 07, 2012 4:19 PM
  • Hi Chosker,

    I'd like to get a copy of the kmotion source code with joint orientation. I'm trying to develop a system which deforms a mesh using the kinect joint orientation information but I cant seem to get it right. Anything that will give me a clue as to whats wrong would be extremely helpful. Heres a link to my forum post, link, I stripped back my program to the bare minimum and just tried to get hipcenter and hipright and kneeright to chain together but no such luck yet.

    Thanks in advance

    Thursday, July 12, 2012 9:16 AM
  • hello akira,

    I stumbled onto this project a few days ago, and was able to compile it and make it run too without problems, having installed the kinect 1.5 SDK. the project itself is great, and quite fresh compared to those expensive solutions (iClone, ipisoft) and Brekel (which to me produces such hard glitches, the captures aren't usable. plus having to go Brekel->MotionBuilder->3dsMax seems convoluted since I work in 3dsMax)

    I've noticed that the captures I do are quite stiff (and then, the ones in your videos are too). and this is because Biped does not allow to set position on most of the bones (only hand/arm/upperarm and foot/calf/leg, and root), which means all of the head and spine motion is being lost.

    to fix this I'm trying to export the bone rotations as well, which should add proper motion to the head and spine, and should make the arms and legs look more natural. so I'm trying to access the kinect bone rotations (I think they're only available since KinectSDK 1.5 but I'm new to this so I'm not sure), and I've successfully been able to access BoneOrientations[(JointType)index].AbsoluteRotation.

    I'm using AbsoluteRotation instead of HierarchicalRotation because in Maxscript you can only set a Biped Bone rotation using     biped.setTransform $'Bip001 Spine' #rotation myQuat True      -and this command only accepts a quaternion in world-space coordinates

    following up, I was able to export the rotations as quaternions into 3dsmax, but once applied into the model the appear all wrong. I'm banging my head against the wall because I don't know why they're wrong. I'm transferring the quat values directly as X,Y,Z,W, but I read that kinect uses XYZ instead of 3dsMax's XYZ. but you export the positions straight up as XYZ so that doesn't seem to be it.
    then there's the fact that the Biped is rotated -90 in Z at startup, but I don't know how to make up for that, or if that's even the cause of the problem.

    btw when (if) I'm done doing this I plan on publicly releasing pre-compiled binaries if that's ok, and give you (akira) the modified sources as well.
    any ideas?

    later

    Do you read the Kinect Offline Motion Capture(Beta).docx  https://skydrive.live.com/?cid=FBEB6373D9321A7F&id=FBEB6373D9321A7F%21815 in my blog http://tw.myblog.yahoo.com/akira32-akira32/article?mid=1554&next=1474&l=f&fid=58 ?

    biped creation is by max script called one1.ms or all1.ms
    biped.createNew 1.6 -90 [0,0,1.6] spineLinks: 1 toeLinks: 1 fingers: 1

    Ctrl + E run it in MaxScript window


    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Wednesday, July 18, 2012 12:11 PM
  • so, can anyone help me converting the rotation quaterions from the Kinect coordsys to 3dsMax's?

    Elium - 3D Action RPG Project - http://www.sanzpont.com/chosker/elium 3D Art Portfolio - http://www.sanzpont.com/chosker


    Use transform coordinates, do not need convert quaterions. Because quaterions are the same in maths.

    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Wednesday, July 18, 2012 12:18 PM
  • well I already sent you my code by email. at MainWindows_Maxscript.cs around line 170 there's this:
    for (int index = 0; index < (int)JointType.FootRight + 1; index++)

    inside it there are the lines that write the position into maxscript.
    I'm trying to write rotations as well, by using:
    Microsoft.Kinect.Vector4 newQuat = oneKinectJoints.SkelData.BoneOrientations[(JointType)index].AbsoluteRotation.Quaternion;
    or
    Microsoft.Kinect.Vector4 newQuat = oneKinectJoints.SkelData.BoneOrientations[(JointType)index].HierarchicalRotation.Quaternion;
    and then
    szResult += "myQuat = (quat " + newQuat.X + " " + newQuat.Z + " " + newQuat.Y + " " + newQuat.W + ")\r\n";
    szResult += "biped.setTransform $'" + szJointName[index] + "' #rotation myQuat True\r\n";

    do remember that oneKinectJoints.SkelData is a variable I implemented (find it in my code, not akira's original code)

    the bone rotations are there, I just want to translate them into 3dsMax's coordinate system, I believe from Kinect's XZY to 3dsMax's XYZ. that's easy for positions (switch Y and Z), but as I said I can't get to do it with quaternions


    Elium - 3D Action RPG Project - http://www.sanzpont.com/chosker/elium 3D Art Portfolio - http://www.sanzpont.com/chosker


    Kinect does not have joint orientation information. But we can calculate by using each two joints. Quaternion is dependent on coordinate system.

    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Wednesday, July 18, 2012 12:24 PM
  • Hi Chosker,

    I'd like to get a copy of the kmotion source code with joint orientation. I'm trying to develop a system which deforms a mesh using the kinect joint orientation information but I cant seem to get it right. Anything that will give me a clue as to whats wrong would be extremely helpful. Heres a link to my forum post, link, I stripped back my program to the bare minimum and just tried to get hipcenter and hipright and kneeright to chain together but no such luck yet.

    Thanks in advance


    I also try to calculate joint orientation, but I failed. I can not find the bug. My source code includes those source code (AnimateMixer). Mixer means to mix 3ds Max's biped length and kinect joints vector.

    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Wednesday, July 18, 2012 12:31 PM
  • oh Akira32, there you are!

    Kinect does not have joint orientation information. But we can calculate by using each two joints. Quaternion is dependent on coordinate system.

    Kinect does have joint orientations since the Kinect SDK 1.5, this what I wanted to take advantage of to improve this software (among other things).

    I've already done most of what I wanted to do with the joint rotations, except the hands and feet (they are very tricky because as they are the last bones in the hierarchy the Kinect is not able to determine their orientations correctly). there's still a bunch of stuff to fix but I haven't had time to do it. Here's a video capture from my version so far: http://www.youtube.com/watch?v=41bNigrVgMI&feature=plcp

    also I tried contacting you personally about this (couldn't ever find your email, tried here and via a YouTube message) but hadn't heard from you until now. So here's the thing: I want to release this software with a new name, pre-compiled and free, and giving you the due credit. That's of course if you don't have any problems with this.


    Elium - 3D Action RPG Project - http://www.sanzpont.com/chosker/elium 3D Art Portfolio - http://www.sanzpont.com/chosker

    Tuesday, July 31, 2012 10:38 AM
  • Dear Chosker:

    There is a sample code called Avateering-XNA in Kinect SDK 1.5. That is similar to your work.


    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Tuesday, July 31, 2012 1:21 PM
  • I know about the avateering sample, it's not at all what I'm doing here. All I'm doing is improving your own KMotionCapturer, and I want to release it for the general public, pre-compiled and free, except with a new name. would you agree on this?


    Elium - 3D Action RPG Project - http://www.sanzpont.com/chosker/elium 3D Art Portfolio - http://www.sanzpont.com/chosker

    Tuesday, July 31, 2012 1:33 PM
  • Chosker i would make the hands flat with the arm until kinect has better support for the fingers but you can still add the skeleton part in for the fingers.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda. Blog - http://jefferycarlsonblog.blogspot.com/


    • Edited by The Thinker Wednesday, August 01, 2012 7:18 PM
    Wednesday, August 01, 2012 7:18 PM
  • I know about the avateering sample, it's not at all what I'm doing here. All I'm doing is improving your own KMotionCapturer, and I want to release it for the general public, pre-compiled and free, except with a new name. would you agree on this?


    Elium - 3D Action RPG Project - http://www.sanzpont.com/chosker/elium 3D Art Portfolio - http://www.sanzpont.com/chosker


    I agree your idea. Remember share it with me and others.

    akira32 編程之家 Yahoo http://tw.myblog.yahoo.com/akira32-akira32

    Saturday, August 04, 2012 1:09 PM
  • Choosker can you send me the latest copy or put on google docs or codeplex so people can view the source code? I will contribute my blender script code for it too so people are not limited to just 3dsmax but will have to finish my other xna project im working on in my spare time (before school that is if i have time even this school semester).

    I will be taking a high up english class  this semester and need to concentrate so I will not be doing much besides my xna project with a grenade and my kinectmultipoint project. Although I can offer some help to people as need be but will be busy mostly this semester.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda. Blog - http://jefferycarlsonblog.blogspot.com/

    Tuesday, August 07, 2012 7:45 PM