The LFA Scene Manager for MAYA

The place for artists, modellers, level designers et al to discuss their approaches for creating content for OGRE.
User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

Just to clarify, you only need to make things exportable once. When you make something exportable it is saved to the object and you don't need to do it every time.
You also don't need to select them every time. Just use 'export ALL' ... all things that you had made exportable will export, everything else will be ignored.

So if you have already identified what to export using make exportable, there are only 2 steps: 'export ALL' then, if you want: 'export .scene file'
it doesn't matter if they are joints or meshes. everything is automatic. Also, you almost always dont want to make any geometry bound to joints exportable, only the root joint of the skeleton - LFA will automatically grab the bound geo through its association with the skeleton that was made exportable.

recon
Gnoblar
Posts: 1
Joined: Mon Feb 09, 2009 2:18 pm

Re: The LFA Scene Manager for MAYA

Post by recon »

Hi

I just posted a question about this tool over at the LFA forums, nut there seems to be little or no activity there so I thought I just redirected the question to this thread instead :roll:

Link: http://www.lfagames.com/LFAforums/viewt ... f=14&t=418

Thanks for any help

jeenanrex
Gnoblar
Posts: 1
Joined: Sat Mar 20, 2010 6:58 am

Re: The LFA Scene Manager for MAYA

Post by jeenanrex »

Hi,

I am using LFA scene manager to export a scene from Maya 2008 to a .scene file to be used in Ogre3D. I have 74 frames of animation on a single Maya object of the scene. When I try to export the animation, it does not get exported. I looked into the scene file. It has all the nodes to which I applied export parameters, including the node which is supposed to have the animation, but the animation information is missing.

Now, when I use the native Ogre exporter for Maya 2008 to export the "Animation Curves" I get the .anim file exported which has the timing, translation, rotation and scaling information for that node. I can use this information to modify the scene file manually and put in the animation information for that node, but I would like to know what the problem here really is. Is it because the type of animation in the scene is "Animation Curve" and not "Blend Shape" or "Skeletal" animation ? If yes, is there a way to export "Animation Curves" using LFA scene manager or Is it possible to convert the existing animation to "Blend Shape" or "Skeletal" animation type ? If no, then what am I doing wrong when exporting animation using LFA scene manager ? (Note: I apply animation after applying export parameters to the object)

User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

Can you be more specific as to what you are trying to animate? is it a skeleton?

I'm not sure if this is what you are doing; but if you are trying to translate/rotate a mesh around the world without bones it will not export correctly. If this is the case I recommend binding it 100% to a single bone, and animating and exporting the bone.

User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

hi guys a small update is available:

update to 3.91 >>HERE<<

for more info :arrow: HERE

CHANGES + NEW FEATURES:
- added a 'glass' material preset
- added a 'flatColor' material preset (this will display the specified color flatly on screen no matter what the lighting conditions)
- specified -fullPath on returnUsedMaterials to reduce possible errors if you happen to have duplicate child object names

let me know of any problems.

User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

hi guys,
I updated the tools. The main improvement this time is a lot more robust userDataReference features.
This could be especially useful for anyone using physics where you need to give many custom properties to different objects.

update to 3.95 >>HERE<<

for more info :arrow: HERE

CHANGES + NEW FEATURES:
- 'make exportable' now works on multiple objects
- removed 'multiple make exportable' menu item
- added ability to allow specification of both ID and VALUE in userDataReference
- added 'Append' tool for userDataReference
- improved .scene output regarding userDataReference
- updated deprecated code for choosing export directory
- visual improvements to gui
- improved list .scene of selected to include environment settings and also will now print out the entire .scene if nothing is selected
- improved feedback with getting .scene info from a locator with a bad path

as always please let me know of any bugs!

User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

Hey guys i have 2 news about the LFA Tools:


1) if you hadn't seen yet, i published video tutorials for the LFA tools HERE. I've been putting it off for long enough and I finally made them :)

2) the tools have been updated to 4.02 >>DOWNLOAD HERE<<


CHANGES/ NEW FEATURES:
4.0------------------------
- removed 'apply' button. Parameters are now always applied automatically when changes are made
- changed terminology 'make exportable' to 'tag for export'
- fixed 'apply' bug, where attributes would not be saved that was introduced in 3.95
- added option define minOgreVersion, sceneManager, and formatVersionin .scene
- changed defaults for minOgreVersion, and sceneManager in .scene to be blank for compatability with OgreMax viewers
- fixed bug exposed by Maya 2011 that the 'material' checkbox showed up instead of staying unamanged (-manage 0) so i commented it out everywhere
- updated animation manager gui
4.01------------------------
- fixed bug where changing the object's node name didn't auto apply
- changed 'ID' and 'sub ID' to read 'node ID' and 'entity ID'
- minor improvements to pop up descriptions
4.02------------------------
- changed lfa_deleteExportParameters to take in an argument instead of use selected automatically
- fixed the display of custom buttons to match the other buttons


as always please let me know of any bugs!

SusanLL
Halfling
Posts: 41
Joined: Thu Jan 06, 2011 9:47 pm

Re: The LFA Scene Manager for MAYA

Post by SusanLL »

Thank you.
Question, can you think why my Normal Maps using your normalMaps_S material wouldn't display in the OgreMax viewer?

-SusanLL :D
SusanLL
3D Modeler, Models and Simulations
BAE Systems, Inc
susan.littleton@baesystems.com

User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

SusanLL wrote:Thank you.
Question, can you think why my Normal Maps using your normalMaps_S material wouldn't display in the OgreMax viewer?

-SusanLL :D
a lot of things could go wrong here... do the LFA tools show your intended textures in the gui before you export the material? are you using a legit normal map? are you exporting your geo with 'normal mapping' checked? theres other possibilities too... lighting in the ogremax viewer could cause it to not show... does it work with the regular normal mapping material?

maxiwill
Halfling
Posts: 45
Joined: Sat May 22, 2010 8:43 am

Re: The LFA Scene Manager for MAYA

Post by maxiwill »

Hi,

How can I export animations if the animation is keyed on controllers and its stored in Trax Editor ?

btw my animation file is separate from the mesh and rig from another file. (Ex. file A contains mesh and skeleton and controller NURBS, file B references A and contains keyed controllers and stored in Trax Editor)

User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

maxiwill wrote: How can I export animations if the animation is keyed on controllers and its stored in Trax Editor ?

btw my animation file is separate from the mesh and rig from another file. (Ex. file A contains mesh and skeleton and controller NURBS, file B references A and contains keyed controllers and stored in Trax Editor)
It doesn't really matter where the keys are: having them on controllers should not cause an issue. The exporter will just sample where the export joints are at x frame and export that. The thing you will not be able to do is have IK's and locked attributes on the export skeleton. Follow my tutorials in this sticky topic to see how you can work around this.

The short answer: you need 2 skeletons: a controller skeleton with whatever you want on it, and an export skeleton that has your geo bound to it.

maxiwill
Halfling
Posts: 45
Joined: Sat May 22, 2010 8:43 am

Re: The LFA Scene Manager for MAYA

Post by maxiwill »

Hi!

Thanks for replying here and pm :D

Actually I have watched all the videos, but what puzzles me most is :

With a scene referencing mesh, rig, controller, and an animation clip in Trax Editor.
If it doesnt matter how the animation was built (whether it's keyed by adjusting joints itself, or by using controllers) is it right to select the root joint, then export ?
because that doesn't seem to work :?

btw, I am using only FK and no IK is involved. I'm using NURBS curves controllers.

User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

if you are using the LFA Scene Manager, you need to make sure that your root is tagged and then you can do export selected. (Not sure if you did it, just saying because you didn't mention it)

Aside from that, I am not sure that the geometry can be referenced? :? I would try a test having the geo in the scene and see if that works?

Let me know how it goes!

maxiwill
Halfling
Posts: 45
Joined: Sat May 22, 2010 8:43 am

Re: The LFA Scene Manager for MAYA

Post by maxiwill »

Here's a high res screenshot,

Image

as you can see from reference editor, I referenced the mesh and rig from another file, and did the animation here.

mReal1:jRoot is the root of skeleton joints
mReal1:jRoot_GRP is the group for controllers that controls the joint movements

and I created a Character Set for the controllers, so when I select the controllers, the attributes (mostly rotateXZ, only the root can be translated) animated will be highlighted in yellow in channel box

and here's the result when I select the root of joints and export

Image

As you can see right away the problem is that some attributes are connected to other nodes, namely the ones controlled by controllers

So I tried to break the connections then export, but then the skeleton wont animate

so yeah, what should I do here? :o

User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

how are the joints managed by the controllers? what types of constraints are you using?

maxiwill
Halfling
Posts: 45
Joined: Sat May 22, 2010 8:43 am

Re: The LFA Scene Manager for MAYA

Post by maxiwill »

well the joints are connected to the controllers for the rotation values via mel command connectAttr

I'm not sure if this is the way others do it, but this is how I was taught to do it

and there's a point constraint on the root joint and the root for controllers group.

I'm not sure if I'm making much sense,

but if you know a more sophisticated way of using controllers that can work when I use LFA, it'd be great if you can point me in the right direction :oops:

thanks for taking your time to answer :)

User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

yea there are 2 things i think you should try differently:

1) do not constrain, lock, or otherwise modify any of the transforms of the root joint. This will definitely cause problems. You can just add another joint to the top of the hierarchy and tag it instead of the original root to solve this issue quickly.

2) don't use any connectAttr on the exporting skeleton. Use a parent constraint. Notice that when you use connectAttr it does not allow any movement of the constrained attribute at any time. When you use parent constraint, it allows the attributes to be changed but Maya just snaps them back into place as soon as there's an update to the time or to the parent object.

maxiwill
Halfling
Posts: 45
Joined: Sat May 22, 2010 8:43 am

Re: The LFA Scene Manager for MAYA

Post by maxiwill »

Hi,

I eventually managed to get an export on the skeleton, however, no animations were present when I load the mesh into OgreMax viewer.

What I did was select the mesh and export it first, along with the material, which resulted in a A.mesh (170 kb)

then I selected the root joint and set the clip, and exported, which resulted in a RootJoint.mesh (490 kb) and a RootJoint.skeleton ( 0 kb, upon closing maya it became 1 kb)

I think I did everything according to the video tut's right,

or am I missing something?

User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

you should not be getting an A.mesh, only a RootJoint.mesh. Thats what you want.

Also, are your animations defined in the LFA Tools animation manager?

maxiwill
Halfling
Posts: 45
Joined: Sat May 22, 2010 8:43 am

Re: The LFA Scene Manager for MAYA

Post by maxiwill »

I think I have done that, launching animation manager and adding a clip , then export RootJoint right?

thing is, jRoot.skeleton stays 0 kb, which I don't know why

Here's the Output from Maya:

Code: Select all

Export selected objects
Found mesh node: |mReal|mRealShape
Loading mesh node |mReal|mRealShape...
Found skin cluster skinCluster2 for mesh mRealShape
Loading skeleton data...
num influence objects: 13
Loading skeleton with root: |jRoot...
Loading joint: |jRoot
Loading joint: |jRoot|jPelvis (parent: jRoot)
Loading joint: |jRoot|jPelvis|jLegR (parent: jPelvis)
Loading joint: |jRoot|jPelvis|jLegR|jFootR (parent: jLegR)
Loading joint: |jRoot|jPelvis|jLegL (parent: jPelvis)
Loading joint: |jRoot|jPelvis|jLegL|jFootL (parent: jLegL)
Loading joint: |jRoot|jSpine (parent: jRoot)
Loading joint: |jRoot|jSpine|jArmR (parent: jSpine)
Loading joint: |jRoot|jSpine|jArmR|jHandR (parent: jArmR)
Loading joint: |jRoot|jSpine|jArmL (parent: jSpine)
Loading joint: |jRoot|jSpine|jArmL|jHandL (parent: jArmL)
Loading joint: |jRoot|jSpine|jNeck (parent: jSpine)
Loading joint: |jRoot|jSpine|jNeck|jHead (parent: jNeck)
OK
OK
Found 1 connected shaders
Get vbas
Iterate over mesh polygons
num polygons = 852
done reading mesh triangles
Found material: lambert2
Loading submesh associated to material: lambert2...DONE
OK
Loading joint animations...
clip "clip1"
length: 3.33333
num keyframes: 81
Clip successfully loaded
Writing mesh binary...
Writing skeleton binary...
and here's the OgreMax Log:

Code: Select all

13:25:34: Mesh: Loading jRoot.mesh.
13:25:34: Skeleton: Loading jRoot.skeleton
13:25:34: OGRE EXCEPTION(2:InvalidParametersException): Couldn't read 16 bit header value from input stream. in Serializer::determineEndianness at ..\src\OgreSerializer.cpp (line 75)
13:25:34: Unable to load skeleton jRoot.skeleton for Mesh jRoot.mesh. This Mesh will not be animated. You can ignore this message if you are using an offline tool.
13:25:34: WARNING: jRoot.mesh is an older format ([MeshSerializer_v1.40]); you should upgrade it as soon as possible using the OgreMeshUpgrade tool.
13:25:34: Texture: testing1.tga: Loading 1 faces(PF_A8R8G8B8,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,512x512x1.
13:25:34: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource C:\tmp_resources\jRoot.mesh.lua in resource group General or any other group. in ResourceGroupManager::openResource at ..\src\OgreResourceGroupManager.cpp (line 756)

it seems the .skeleton wasn't exported correctly? What could be wrong?

User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

not sure. Why don't you try just making a simple skeleton and binding some junk geo to it, and try to get ogremax to load an animation on it? just to get a grips with the pipeline.
Then see if you can do all the steps again with your more complex setup.

right now I can't say whether something is wrong with your model or the pipeline.
See if you can get an animation going without using references etc.

maxiwill
Halfling
Posts: 45
Joined: Sat May 22, 2010 8:43 am

Re: The LFA Scene Manager for MAYA

Post by maxiwill »

Hi, I eventually decided to delete all of the controllers and the mesh exports and animates fine.

I have another problem when I'm constructing my scene, however.

Suppose you have A.mesh & A.material to Z.mesh & Z.material, and you have a scene.mb.

Q1: Do you reference A.mb ~ Z.mb into scene.mb ? and then export scene ? or do you use locators and select Entity mode and put in A~Z.mesh instead?

Reason I'm asking is because I'm getting all the entities using the same material file.

Q2: A probably better question will be: Should I have a scene.material or something?

Q3: Also, how do you remove the name prefixes of the reference files? (ex. A.mb will be referenced and exported to have a name of A:A.mesh for the meshFile field, which would result in File not found)

User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

maxiwill wrote: Q1: Do you reference A.mb ~ Z.mb into scene.mb ? and then export scene ? or do you use locators and select Entity mode and put in A~Z.mesh instead?
it's up to you, both methods should work.

maxiwill wrote:Reason I'm asking is because I'm getting all the entities using the same material file

Q2: A probably better question will be: Should I have a scene.material or something?.
Click export materials. It will export scene.material containing the materials of all tagged objects. Were you expecting something else to occur?
maxiwill wrote:Q3: Also, how do you remove the name prefixes of the reference files? (ex. A.mb will be referenced and exported to have a name of A:A.mesh for the meshFile field, which would result in File not found)

I guess no one had needed the tools with references before, so fixed it for you!
Download the latest.
If a file is referenced it will now be named referenceFile~yourAsset.mesh
If you don't like this you can override the auto naming of meshes by turning off: Tools > preferenes > Use object names as entity names
(but then you will have to manually manage your export names)

maxiwill
Halfling
Posts: 45
Joined: Sat May 22, 2010 8:43 am

Re: The LFA Scene Manager for MAYA

Post by maxiwill »

thanks metaldev!! :D

I have a question however.

Q: Correct me if I'm wrong. In a scene, when you want to have multiple entities of same mesh, you have 2 options:

Original referenced object name = "A_A.mesh"

1. Duplicate reference in Reference Editor

new object's meshFile when .scene is exported = "A:A1.mesh"

ps. this is just bad - because you get duplicated material as well

2. Duplicate referenced object as an instance

new object's meshFile = "A_A1.mesh"

entity name = "A_A1" meshFile = "A_A1.mesh", instead of what should be meshFile = "A_A.mesh"

the number suffix is very annoying to parse in code, so is there a way to not have the suffix number altered for meshFile?

User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 12
Contact:

Re: The LFA Scene Manager for MAYA

Post by metaldev »

imo, option 1 is not an option at all, and is not a good idea.


instancing the objects is what you want. If its not working you might try using locators to force the .scene to export it as an instance. Simply put in the field A_A.mesh

If the LFA Tools are not recognizing the objects as instances, you can try:
1) designate the appropriate object as 'preferred instance'
2) check that maya itself recognizes them as instances (if Maya doesn't the tools won't)
3) if nothing works you can simply force the .scene to behave by using a locator instead of a mesh instance to represent the object.

Post Reply