[Closed] Moving stuff in real-time with external data. where to start?
Hi everyone,
Yesterday I came across a very interesting open-source project called KMotion Capturer (link), which uses the Kinect camera to capture movements into a .ms file that will create and animate a Biped with the saved movements. Having no binary releases I was forced to download and compile the sources until I finally got it working.
The software is quite nice, but I thought it’d be nice if it had an option to move the Biped in real-time (and capturing those movements directly in the timeline) instead of saving to a file for later opening.
Now for the 3dsmax part: I have some experience with maxscript (I wrote a full custom game file format exporter with materials and animations at some point, as well as some less advanced stuff), but I have zero experience with the 3dsmax SDK (and no time to learn) so I’d like to try this via maxscript only.
But I have no idea where to start on this one. It would seem I need to feed commands into MaxScript in real-time and have them executed in real-time as well… and from there on I’m lost. I also have zero experience with the DotNet maxscript extensions (save for watching a few sample stuff around here), which to me vaguely seem could be the key here.
Now remember this KMotion Capturer software already outputs maxscript code, so it’s only a matter of getting it to communicate with Maxscript, make it feed it directly instead of writing a .ms file.
So could this be as simple as using a DotNet timer and copying-pasting through the clipboard via DotNet? I’m trying to update a full Biped skeleton in real-time so that sounds a little overkill.
I’ve searched around and I’ve seen talk about a dll communicating with maxscript but I’m also at a loss here. Is a dll necessary when I already have an .exe running? and if so how could I write that dll to branch out from the existing c# code? (I know, this last question might just be too forum-off-topic here)
Bottom line: could there be proper way to make this software communicate with Maxscript?
and also important: if I could update the bones in real-time, would I even be able to record those movements in 3dsmax? (I imagine something like activating auto-key and hitting play in the 3dsmax timeline but that doesn’t sound like it would work)
lots of questions here, so thanks
though you want to use mxs to implement this there is actually a plugin mechanism to handle this sort of thing in the sdk using the motionCapture controllers and the Motion Capture recording utility. The source code for these controllers is also included in the SDK in samples/motioncapture.
Ive wriiten some code that enables user to record and playback movements froma controller (say a spline controller for example) in real time…I found it more useful and intuitive and easier to use than deploying the native motion capture utility…if you want I will post it but t does form part of my facial rigger called rigvadar that i’ll be releasing soon…