Hi,
#1, I recently wrote an application that captures bone data from a Kinect for Windows devices (Important: this is not the XBox Kinect) and sends it to a device driver running in Softimage. It is a functional solution for getting the raw skeletal motion data into Softimage using the device driver interface. I know there is already an ICE-based Kinect solution out there, but this takes a different approach by using a device driver which I find a little more to my liking. I can observe values in a custom parameter set and pull the values from there to do whatever I need with them such as binding in ICE or more basic expressions. Plus I don’t have to run the simulation to see what is going on, you just activate the driver and it works even while Softimage is sitting in pause mode.
#2, I also wrote a driver that is designed to work with Xbox-style controllers. The input data is provided as positional data and all driver item names are mapped to Xbox controller names.
I’m wondering if there would be any interest in a bundle of these two drivers & the support application for something around $50. I am really under the gun to get my next game out (I’m a solo indie game dev) and I just can’t spend any more time on it unless I have some hope it can pay for the time it would take me to make a proper release out of it.
I don’t want to assume anyone has any interest at all, and won’t be surprised if there isn’t. I wrote these for my own needs and find them useful so I am happy with that. However, if these sound like tools you would like, please let me know. If enough people want access to them then I can wrap up a few loose ends, do some more testing and do the various things I’d have to do. If a lot of people expressed interest I would be keen to add support for Kinect face tracking data as well as a plug-in mechanism to allow people to easily filter the skeleton data with a .NET DLL prior to handing the data to Softimage. It’s all doable but I can only take the time if it makes business sense which I can only hope everyone understands.
Here are some screenshots: http://imgur.com/a/7ayDJ
Thanks
Eric Cosky
Set up a kickstarter possibly?
Hi, thanks for the responses.
Here’s a very short & rough capture of Softimage being fed Kinect data through the driver: http://www.youtube.com/watch?v=cc66W0c5vHA I didn’t make any effort to get a clean capture or anything, just turned it on and moved around a bit. That start/end show me leaning down to hit the keyboard. You see the driver window with some of the driver inputs mapped to a custom parameter set, and the custom parameter set controls updating in real time while I move around. What isn’t shown is the companion app which shows the video stream and skeleton as provided by the Kinect SDK. If it turns out that I get time add features I’d like to add support for face tracking; the Kinect API makes this look pretty doable. Another thing I could see adding is a simple plug-in API to allow people (probably just me) to make DLLs that would process the skeleton data prior to sending it to Softimage. While I don’t personally have the need, the system could be extended to send data to Softimage running on another PC or even multiple skeleton streams from multiple Kinects. There really are a lot of interesting ways this tool could evolve if there were enough people to support the effort.
Regarding the Xbox controller, as a gamer/gamedev I find the xbox controller an ideal input device for two hand control of all kinds of things. The main thing I like about this setup is that the driver channel names map to the controller, no generalized joystick labels that I have to remember what is what (== what axis is the left trigger?) and it uses positional data so there is no need to set up a proxy to accumulate data like with the Mojoke driver. Another nice feature is that it supports 4 controllers for collaborative control of a rig. The xbox controllers are fairly inexpensive and I use a “Xbox 360 Wireless Gaming Receiver for Windows” which allows me to repurpose by xbox controllers if/when I need more inputs. Here is a short video of a character (please forgive the crude model) being manipulated by a single controller: http://www.youtube.com/watch?v=FpJ7mAvLC4w. There are a few bones in the neck/jaw hooked up to the parameter set which is being controlled by the two thumb sticks and triggers.
With Softimage there is of course any number of ways to process data, and I am still learning what kind of setup is the best workflow for me but at the moment I think the easiest way to go is to use the “load preset” command for the driver (the folder icon in the toolbar) to point the targets at different custom parameter sets, which are then referenced by expressions on deformers in the model being animated. This has allowed me to switch what I am recording motion for within a scene pretty easily. An alternative is a synoptic with scripts to load specific presets.
As an aside, I did a rough experiment with making custom ICE nodes to read device data (essentially ICE input devices) and I might have been doing something wrong but I found that it was less responsive than drivers & expressions. I also didn’t care for the need to run the scene to see the inputs change; I think perhaps this is because the drivers use a push model whereas ICE uses a pull model for how data is propagated. Also, the need for quite a few nodes to just do a simple “make the right trigger rotate something” led me away from using ICE nodes as the source of input data. If necessary or useful I can always make ICE trees get data from the custom parameter set data targeted by the driver.
Currently the companion software is written in .NET for Windows. It’s not a terribly complicated app, but it does use the Kinect SDK and XAML which means it would take a complete rewrite to get something on Linux. The driver itself is fairly portable but does use a few Win32 APIs to communicate with the companion app. While I have adequate Linux dev experience, I don’t currently have a Linux rig to develop on. I’m open to the idea of a Linux version but as I mentioned in the first email I have to be very careful about how I spend my time on projects right now and it would be a much larger investment for me to get a rig built and rewrite everything.
I have considered a Kickstarter, and I might still do that but I just wanted to test the waters a bit to see what people might think before I took the next step (whatever that may be). If you think you would be interested, please let me know.
Thanks for your feedback,
Eric Cosky
>> > Grönegatan 4a
Yes, that’s normal. I already wrote up the campaign page, but until IndieGoGo validates the bank information it will show as “draft” mode to other people. The validation process requires PayPal to validate my business info, which takes a few days. The YouTube links are unlisted at the moment, so in theory people should only see them when reading this thread. I’m guessing it will be visible on Wednesday.
Thanks,
-Eric Cosky
I apologize for not communicating this earlier, but I was very close to committing to this project but after much thought and discussion I decided I need to stay focused on finishing up the game I am working on right now. The game has been over a year in the works and despite the appeal of turning the mocap connector into a proper product, I really can't let myself switch gears right now - I just have too much invested in the game and I need to get it done. I won’t release the mocap connector unless I can take the time finish it up properly and provide the necessary support for both the project itself and the people who would be using it, and I just can't do that right now. Hopefully I can revisit this project in the future because it isn’t really that far from where it needs to be, but I just can’t afford the time right now. I simply must to get this game done ASAP, really don’t have any choice in the matter. Sorry! I’ll review the state of similar products when my workload will afford it, and if it looks like it still makes sense to do I’ll bring it up again and see if anyone is still interested.
Thanks,
Allright now you got us curious about your game. What is it. ;)
Hi Greg,
I’m still focused on the game. The Softimage capture projects are going to have to be on hold for a while. Sorry, just not enough time in the day. Or month, apparently ;)
If you were asking about the game progress, I recently announced it – www.boundingboxgames.com/thunder-moon . It’s coming along and I’m thinking it might just be a few weeks before I can start making alpha builds available (just finished the installer and initial publish-pipeline testing today).
Of possible interest to Softimage people is that the game is very mod-friendly and I’ll be including a Softimage exporter addin that works with the pipeline used to create content for the game. It should be possible for someone with moderate skill to create new assets that can be used by the game engine with a minimum of fuss (and equally possible for a C# programmer to plug in new game logic ranging from trivial to full conversions). Maybe, just maybe, a few people will discover Softimage in the process who might not have bothered trying otherwise.
I created the exporter out of frustration with trying to get FBX & Collada to bend to my will – just seemed like there were too many hoops to jump through and too many errors that were only caught later in the pipeline. I’m pretty happy with the results. One goal I’ve been pretty good at sticking to is not having to ‘cook’ the source art too much to make it work with the exporter – things like ngons, subd and instancing just work, there is no need to freeze operator stacks, etc. I’m hoping the budget will eventually allow me to contract out for some art and I want to make sure the pipeline is easy to use and the learning curve is as flat as possible when that happens.
Anyway, this is a bit of a ramble post so I’ll stop now, but if anyone is interested in what I’m doing please feel free to contact me off list and I’ll talk your ear off J
-Eric Cosky
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Greg Maguire
Sent: Friday, October 05, 2012 3:06 AM
To: soft...@listproc.autodesk.com