Previous Blog Next Blog
Prev/Next Blog
by date

Shaper 1.05

Shaper 1.05
Name:Alexander Luddy 
Date Posted:Jun 23, 2007
Rating:Not Rated
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Alexander Luddy

Blog post
Shaper is a 3D modelling, texturing and animation package developed by Inverse Software. It includes support for the Torque engine.



The latest version can be downloaded from here.

More information on Shaper can be found here.

Quite a bit has been added and fixed since I last posted here. I am very interested to hear feedback from potential users. What features do you feel are missing? What bugs did you encounter?

I recently added a tool for automatically attaching a skeleton to a mesh. It uses a very simply distance based algorithm. Basically: vertex A is close to bones B and C so it will be influenced by them. And so on. I would be interested to hear if anyone has heard of any other simple algorithms in this area.

Discussion

Shaper makes extensive use of the Lua scripting language. The user interface is configured using Lua. Various tools, Face Sub-division for example, are written in Lua as Shaper extensions. All import and export extensions are written in Lua.

I use Luabind as the glue code between C++ and Lua. Luabind is great. My only other experience with script glue code was Unreal. In that case special headers had to be exported from native code which was less than ideal. It made building more complex than it needed to be.

So far there have been no major issues. Lua and Luabind do what they need to do.

Recently I wanted to add a progress indicator for export and import. Export and import are potentially very time consuming tasks so it is important that the user interface show the user that progress is being made and that Shaper has not imply hung. Long story short: I now wish I had isolated the script code in its own thread.

At this point all script processing occurs in the main thread. That is to say I create one instance of the Lua engine in the main thread and call into it when necessary. So to import I have the Lua engine run the requested Lua import script. This blocks the main thread until import is finished. I tried creating a thread to be used only for importing and exporting tasks however that did not work out. I concluded I would need to move all Lua processing over to a secondary thread. This will be a major change. Instead I have made all importers and exporters call back into native code periodically to update progress. This gives the native code a chance to update the user interface.

If from day one I had put all Lua processing in its own thread I could solve this problem without relying on importers and exporters to notify the native code of their progress. I could also add protection for runaway script code.

Lesson learned.

Recent Blog Posts
List:07/16/08 - Shaper Mac
11/26/07 - Shaper
06/23/07 - Shaper 1.05
01/01/07 - Shaper 1.03
11/01/06 - Shaper 1.01
09/28/06 - Shaper 1.00
08/18/06 - Shaper 0.99 Released (Available for Purchase)
06/20/06 - Shaper Version 0.97

Submit ResourceSubmit your own resources!

Mark   (Jun 23, 2007 at 06:48 GMT)
It's free too?

WEEE!!!

Mark   (Jun 23, 2007 at 06:51 GMT)
Nevermind I guess not, lol

Aaron   (Jun 23, 2007 at 11:41 GMT)
@Mark
While it's not free, Shaper is definitely worth the $35 price tag -- it certainly was for me, anyway.

@Alexander
Very satisfied customer here. I do have a question for you, though. Attaching a skeleton to a mesh sounds intriguing, but I can't seem to figure out how to do it in 1.05. Could you explain the process a bit? I'm hoping that feature will allow me to export some of my character meshes with the default Kork skeleton. Thanks.

Alexander Luddy   (Jun 24, 2007 at 02:53 GMT)
@Aaron
Thanks for the kind words :) To use automatic skin attachment switch to "Bone" selction mode to show the Bone tools. Then simply press the "Automatic Skin Attachment" button. Improving the documentation is near the top of the "to do" list.

Aaron   (Jun 25, 2007 at 12:19 GMT)
@Alexander

Thank you for the tech tip. That worked great. It's a very cool feature.

Ben Galanti   (Aug 04, 2007 at 14:15 GMT)
Do you still have plans to make a Mac version of Shaper?

You must be a member and be logged in to either append comments or rate this resource.