Tag Archives: Macros

Seminar about Motion Retargeting

creatureanimationwbTwo weeks ago I had to give a presentation about Motion Retargeting, which I want to share with you now.
I created it due to me attending a seminar about the latest developments in Computer Graphics at university and my presentation was about the Siggraph '08 paper "Real-time Motion Retargeting to Highly Varied User-Created Morphologies" from Chris Hecker et al.
You can check it out on Chris Hecker's homepage - his website also contains a bunch of other really cool articles and presentations from various conferences, so it certainly is worth taking a look at it.

I've also sifted through quite a lot of IK papers and lectures for my presentation to understand the later part about the IK solver in Spore and I've found a few links that are a nice read:

Ive created a huge PowerPoint presentation for my seminar  :-) It includes a few videos (thanks again to Chris Hecker for uploading them and replying to my emails incredibly fast ´) and two awesome IK solvers that I've implemented with VBA macros´ to show how CCD and Particle IK solvers work.

You can find a zip with all the videos and high resolution images here (includes both a PPT 2003 file and a 2007 file). I've also uploaded a small version without videos, macros as PPT 2003 file here, if you don't feel like downloading the 23 MB .zip file.

Here's a YouTube video of the two IK solvers:

I've exported the code into an additional IK Playground presentation which contains just one slide and the two IK solvers with the setup you see in the video above. You can find the PPT 2003 version of it here and the 2007 one here.

I've zipped up the macros here if you want to use them in your own slides. I've also written a handy VBA form that allows one to edit everything more easily (the macros are hardly documented though, but if anyone really wants to use them and runs into problems - you can always drop me a line or two in a comment :) )

The IK Solver Tool Form

The IK Solver Tool Form

BTW I'm not sure you know about it´, but Blender contains an awesome video editor - the UI needs some time to get used to, but the online documentation has improved a lot and with it, it works like a charm. Blender also supports some pretty professional filters, so it's going to be my video editing tool of choice from now on.

Cheers,
Andreas

A Visual Studio Macro Day

Today I decided to continue work on a Visual Studio macro I started developing on Sunday (I mainly worked on it today though - Sunday was just document reading before heading back to Munich and going out with friends).

The samples from Microsoft simply use the comments from MSDN on functions/methods that are part of a class's interface implementation.

I 'documented' a few of my functions by copying the summary out of MSDN but it's a tedious job and consequently I decided to try and automate it.
Although Visual Basic 'sucks' or is a least quite some change from writing C/C++/C# code all the time, the Automation model is very powerful and quite nice to use.

My macro provides two methods:

  • One to add comments to all methods that are part of an interface's implementation
  • One to add comments to the method the cursor currently resides in

My code currently only adds comments from interface definitions that have been defined outside the current project. It's pretty nifty in my opinion because usually these interface comments won't change a lot and thus it's safe to add them to the source code, while the interfaces one has written themself can still change and the macros can't track that and/or update the comments afterwards.

However, I've added a configuration boolean, so this behavior can be turned off if needed.

My code won't remove or replace comments, it will just add the comment in front of other comments - if the comment doesn't already exist - I've tried to make it quite safe, so code loss or corruption will be avoided.

I hope this code is helpful. I'm releasing it under the Microsoft Public License. If there are good reasons to use a different license, feel free to tell me so :)

Cheers,
Andreas

Read more »