Using Messiah or GameSpace animation from Lightwave to B3dCommunity Forums/Developer Stations/Using Messiah or GameSpace animation from Lightwave to B3d
| Hopefully the title of this thread isn't too confusing.|
I'm trying to get animated characters out of Lightwave into Blitz3d's B3D format. I was wondering if anyone has successfully used either Caligari's gameSpace or pmg's Messiah Animate (along with Milkshape 3D for file conversion) to successfully get animated models into Blitz's B3D format.
I've tried unsuccessfully using Lee Page's Lightwave converter programs LWDeformConv and LWRigidConv to go from animated Lightwave scenes to B3D files, but LWDeformConv.exe keeps blowing up on me saying "Please remove any geometry from Bones layer". (I don't think I can do that in Lightwave Layout - bones are needed to animate the model). LWRigidConv.exe doesn't work at all for animated models apparently.
| Hi Gameboy,|
The message to 'Remove Geometry from the bones layer' is due to the .LWO file rather than the .LWS scene.
The Deform .exe expects that you will have one layer for the deforming model. If you have more, these will need to be flattened to one layer before exporting to .B3D (This 1 layer limitation is only for deforming animation, you can use as many layers as you like in the 'Rigid' convertor, but bones deformation animation is not supported in the rigid one because it is, well rigid :)
In summary, you need to have all geometry in the first layer for bone deforming animation. The second layer can have either nothing or Skelegons in it.
| I've successfully created an animation from gameSpace and exported it through Milkshape and also through Ultimate UnWrap 3D. |
| Thanks for the information guys. :) |
DangerDave: Great! That's just what I was hoping to hear! Do you know if Milkshape supports the importing of animation information for the Wavefront (.obj) file format? If so, output from Messiah:animate could also be used to get animated objects into Blitz3D. (Messiah:animate is fantastic because of its awesome 'autorig' skinning, and 'muscle-bone' technology - I'm considering purchasing it - although not cheap, you get what you pay for I suppose - unfortunately the demo version of it doesn't support saving or exporting).
Lee: I was able to get Deform to read my .LWS scene file by moving the skelegons in the model (.LWO) file into layer 2. However, when I load the resulting .b3d file into Blitz3D and then use the command "Animate model_handle, 2" command (or "Animate model_handle,2,1,0"), I'm still not seeing any animation.
Perhaps I'm not using the 'Animate' command correctly? From the Blitz documentation, it seems to me that if I wanted to see my animation ping-pong back and forth from start to finish I would only have to issue this command once, rather than continually run it inside the main game loop. (I apologize for this newbie question about animation -- perhaps I should ask it in another thread, but I just want to make sure I'm not doing anything else wrong.)
Another thing regarding the Rigid.exe program I am confused about. It says it allows multi-layered objects to be animated, but doesn't support deformation, just rotation and positioning information. Does this mean it supports endomorphs but not bone manipulation?
Does this mean it supports endomorphs but not bone manipulation?
No - it does not support either one! For animation in this context Lee means hierarchial rigid body animation - think "robot welder arms" and stuff like that.
| Rigid is for Heirarchical stuff as Mustang says, it's not got bones at all, just rotation, scale and position animation for whole entities.|
As for the deforming model if you can't get it going, can you send me the .LWO/.LWS pair to have a look at?
It should also be noted that you will need to produce more keyframes than usual in LightWave, becuse blitz does not interpolate animation in quite as effecive a manner as LW.
| (Grr, I wish there was a way to search for the poster's name)|
Sorry, I lost this thread.
Gameboy, I forgot to mention that I used the full version of Milkshape as I could get the gS version to use the B3D Exporter DLL.
As far as animated OBJ files, I don't know. I supose I could save the animation in gS and then have UUnwrap3D save it to an OBJ file and then have Milkshape export it to a B3D file to see how it works.
Remember, Blitz can't use weighted vertices for animation, for some silly, short sighted reason.
So, your muscle animations wouldn't be exported and therefore won't be shown in Blitz.
| Lee: It would be so cool if I could get the output from your exporter working in Blitz3D - I've triangulated the model, moved the skelegons in the model file to layer2, and ran LWDeformConv.exe, and it gave me no errors, but so far I can't get the model to animate in Blitz3D. (I assumed I must be doing something wrong in Blitz3D). However, I'll try and send you the lightwave model (.lwo) and scence (.lws) files. |
DangerDave: I found out that the OBJ file format does not contain animation information. Apparently, the export options in messiah:animate only export static models - animation information is evidently transferred to other 3D applications like Lightwave (and 3d Studio Max, Maya, Cinema 4D) via plug-ins.
By the way, messiah:animate is a great application for animation, as it features some really nice tools for speeding up game animation workflow. For example, it's AutoRig feature creates a skeleton "armature" which only needs to have a few points dragged to the appropriate place in a model; skinning (vertex weighting for realistic mesh deformation) is automatic! (Although it can be easily tweaked with a neat tool from inside messiah). So the whole step of skinning a model is basically done away with! "Muscle-bones" (bones that automatically deform a mesh as if muscles were contracting), and easy bone mirroring and editing are also some other cool features.
Since messiah will work seamlessly with Lightwave, if I could just get the model and animation output from a Lightwave scene file into Blitz3D format, I'd have a complete Level and model animation workflow established:
For level design and architecture:
SketchUp > gile[s] > .b3d
For modeling and animation (using messiah:animate):
Lightwave > messiah > Lightwave > .lws (scene file) > [conversion program] > Blitz3D (.b3d)
For modeling and animation (using gameSpace):
gameSpace > Milkshape > Blitz3D (.b3d)
Neither SketchUp nor messiah are cheap, but for professional work, they are very nice indeed, which is what I am looking to use them for.
| gameSpace really needs built-in support (which could be done with the released SDK) for B3D files.|
gameSpace has good features for animation and the skinning process is very easy.
If Blitz had support for vertex weights, then I would feel more compelled to keep hounding the gameSpace peeps for built-in support.
I'd love to have SketchUp and what I've seen of Messiah puts it on my wish list.
One of our local lotteries has a jackpot of $17.5 million.
If I won that, I'd definitely pick them up.
Ah, to dream ...
| No promises, but I guess I'm a "yet another person" to be attempting a direct blitz3d plugin for gameSpace (ie: dunno if anybody else is making one or not ).|
I'm still sussing through the ts6.6 doc to figure out how gameSpace objects are made up. It'll probably take me a while to make one because of finding dedicated time for it if nobody else does it first. I really really want to use gameSpace for my b3d projects as it is really powerful and more easier to do FOR ME( ie: as newbie as I am in modelling/animating/texturing) than MS3D,CharacterFX and 3DUnwrap combos. The 3DBuzz modelling tutorial rocks!
| Todd: Before getting too far along on your project, you might want to see what David Mathews is working on at his Greenbriar Studio webpage. From what others have told me he has done some fine tools for porting between various 3D packages and game development tools like 3D GameStudio; and it looks like he is now working on some trueSpace/gameSpace tools as well. It's worth looking into or contacting him about it.|
I'm considering buying his Lightwave to 3D GameStudio map conversion tool, and Lightwave to 3D GameStudio MDL7 exporter.
I may end up making my game with 3D GameStudio if the workflow between development tools is superior - 3D GameStudio already supports weighted model vertices, boned animation, and even some DirectX 9 features - but I like the 'elegance' of the Blitz3D language and Protean Editor. ;)
| Thanks for the tip. I'm able to already compile a test plugin example of my own design and use/see it in gameSpace so I will continue with it. Looks like David is on the commercial side for making plugin/convertors. My gameSpace( and truespace?) plugin will be free if I ever finish it. |
| @ Gameboy|
There appears to be some problems with the way that the scene is set up. I've sent you a mail with an example scene and a few pointers. :)
Which just to sent back to me.. :(
| Lee: Oh well, thanks for trying. I probably had some stuff in the scene which shouldn't have been there for the conversion process. Chalk it up to newbie error I guess. |
| Basicly something was weird with the layers. |
Add the Object
Convert the Skelegons to bones
Select Layer one and select 'bones'
'p for Object Properties'
Select bones from Layer2
Go to layer 2 (where the bones are), tweak the bones settings and you're ready to go. The hand model had a 'Floor' in the scene also, and had somehow amalagamated the skelegons into layer 1 (this is in layout)
The schematic should look like
Hand Layer1 (the actual Geometry)
Hand Layer2 (the bones as a collection)
| Lee: Thanks. In my newbie confusion I didn't remove 'Ground' from the schematic view in Layout, but I'm still a bit confused about the instructions for setting up the file for conversion. For DeformConv they say:|
"The model (in modeler I assume) must reside in layer 1. Skelegons (if present) must reside in layer 2. Layout created bones reside in layer 1 (along with the model)."
I thought that meant that in Layout, the model and its bones should all reside in layer 1. It appears now that I took that the wrong way, and that they should be on separate layers, even in Layout. However, Lightwave puts converted skelegons as bones into layer 1. Sorry for the confusion, and thanks for your help. :)
For me, in the long run this probably won't be an issue, as I would like to use messiah:animate for character animation, and it doesn't export bones to Lightwave, but (I think?) it exports vertex animation. But this brings up another question. Does your conversion program handle vertex animation?
Does your conversion program handle vertex animation?
Not directly. Only the bones system which is supported in the .B3D format. Not Endomorphs or other funky stuff which are as yet not supported by the .B3D format.
I've uploaded the example scene and model. You can get a look here
| Thanks, Lee. :)|
Your example scene converted flawlessly, and I saw the robot animating in the window when the conversion was completed.
I'm not sure how you got that second layer in Layout - I didn't know Lightwave Layout had different layers.
| What version of Lightwave are you using? |
| Lee: I'm using Lightwave version 7.5c, but I'm not very skilled in it yet. I've been spreading myself rather thin looking at a lot of different 3D apps and game engines as of late.|
When I try searching in the online help for lightwave, it seems that everything having anything to do with layers is for modeler, not layout. For example searching for the terms "Layout" and "Layer" in the same search yields nothing.
In Layout I see under Items > Add > Objects > Load Object Layer that you can evidently load objects into different layers in Layout - now, after already loading an object into layout, how to create a new layer in layout and move the bones to that layer, and then insert that new layer as a child of the first layer...
When I load an object that has the mesh in one layer and its skelegons in another layer, Lightwave puts them all into one layer in the manner as the file I sent you. Perhaps I've got some weird default set that automatically does that.
Oh well, it doesn't really matter I suppose. If your conversion software doesn't handle endomorphs or vertex animation, then messiah:animate's output that Lightwave imports won't get converted anyway. I can't really test exactly what messiah:animate exports to Lightwave because the demo version of it doesn't allow saving or exporting of any kind. I'll probably end up having to use 3D GameStudio or TrueVision3D for my game project for use with messiah:animate. Another option would be to stick with Blitz3D but use gameSpace for animation (and perhaps modeling) - but I hate it's all-icon interface. :P However, the video tutorials at 3D Buzz help a lot.
Thanks for all your efforts, though. Best of luck.
You can try using Ultimate Unwrap 3D to see how it converts .lwo files to .b3d files. You may have to save it as version 6 .lwo (I don't know if it has support for 7)
I consider uunwrap3d's support for many file types a hidden feature as file format converter.
| Thanks DangerDave!|
Ultimate Unwrap sure seems to support a lot of file formats! I'll have to see if it handles animation data exported from messiah:animate into Lightwave and then exported out of Lightwave without problems.
| I'm not sure if it will. The problem with lightwave it that the animation is in a different file to the object. Even if it supports .LWO (binary) it might not support .LWS (ASCII Scene with the animation in!) |
| I was afraid of that. You mentioned to files .lwo and .lws and I didn't know what file contained the animation.|
Why is it so complicated!
| Exactly what I thought when I was writing the LightWave convertor! |
| I never really "got" LW skelegons.. I usually define the deforming parts of my model with weightmaps, and set up the bones in the scene editor. LWDeformConv has no problem converting scenes set up that way. |
I never really "got" LW skelegons
They are SO handy...