Jump to content
The Dark Mod Forums

Revenant Maya Issues


greebo

Recommended Posts

actually for the forger i used the md5mesh importer for maya to work with the latest md5mesh that you created. Also because the uv's in the obj files are flipped. Only difference once you import is you lose any smoothing groups but that's simple to adjust.

 

Really? Is there any reason we can't just work from the md5mesh then?

 

but what if you want to animate a conversation with nice facial animation? If i for instance have to animate a character talking i like to do the facial animation on the face in the same scene that has the body movements. Have there been thoughts about having character setup with full facial(joints in the face) controls?

 

We already have a head rig set up for facial animations. We just don't have many animations for it yet. I'm not sure if there's a maya version or not. All of our current heads are using this skeleton.

Link to comment
Share on other sites

  • Replies 61
  • Created
  • Last Reply

Top Posters In This Topic

@squill: I'll do some test with Maya 7, I think I have that version somewhere.

 

@Springheel: if the revenant mesh is about to be fixed and adjusted, then there's no point in me trying to rig that in Maya - I'd have to re-paint everything from scratch again if the mesh is changed. As for the shadowmesh: once we have a properly weighted Maya version of the revenant, I can just export it and you can see the actual size of the model. Then you just export the shadowmesh as single obj file and I can weight-paint that in Maya

 

Really? Is there any reason we can't just work from the md5mesh then?

The md5mesh is not weighted against the animation rig/skeleton in Maya, if I'm understanding correctly. Squill knows best where the differences are.

Link to comment
Share on other sites

the md5mesh that you import with this importer comes binded with the same skeleton as the one in our animation rig. The difference here is that you can't rig (rigging i mean connecting animation controls) to the skeleton the importer creates because the orientation of those joint are not same as we have in our animation rig. Another thing i could test:

- Save the skin weight of the imported meshes

- unbind meshes and rebind those meshes to the animation rig skeleton.

- see if you can apply those exported weights back.

 

However i think you can use the meshes which i'm using now for the forger to bind. I think we did the same thing when I and Domarius worked on the proguard. Although for new characters, and i mentioned the reason above, i think it's better to create the mesh in a certain package and deliver the final object in obj format if not created in Maya.

Link to comment
Share on other sites

if the revenant mesh is about to be fixed and adjusted, then there's no point in me trying to rig that in Maya - I'd have to re-paint everything from scratch again if the mesh is changed.

 

That's one thing I hate about Maya, and why I probably won't bother learning it. In LW, I can change anything I want without losing the weights, including copying and pasting entire body parts.

 

So what do we do here then? The mesh does need some work; in terms of the end user there is no reason I can't do that work after you're done weighting (as the weights would be preserved on my end). The only consequence is that the maya version would no longer be up to date. If that is unacceptable then I guess the mesh will have to be adjusted in advance.

 

 

As for the shadowmesh: once we have a properly weighted Maya version of the revenant, I can just export it and you can see the actual size of the model. Then you just export the shadowmesh as single obj file and I can weight-paint that in Maya

 

That would create extra work for you. My usual method of creating a shadowmesh is to take the original mesh and reduce the polys a bit at a time until I get the best result with the lowest number...however in LW the weighting info is preserved through this process, so the shadowmesh is automatically weighted the same way the original mesh was (or as close as it can be since it has less verts).

 

edit: Although, if I'm understanding Squill correctly, it seems like there's only a problem when creating an animation rig, not when creating characters for use in game. Is that correct?

Link to comment
Share on other sites

Squill, I've been testing the process with Maya 7 now and I finally got the revenant in-game, all separated into 2 meshes! :)

 

I used the exact process as in Maya 2008:

- Use the revenant_rig in model_src, open it and delete the existing mesh

- Import first OBJ (revenant bottom)

- Import second OBJ (reventant_top)

- Select both, delete history, freeze transformations, smooth bind

- [Optional] assign second mesh to different shader, so that the md5mesh doesn't get merged down to 1 single mesh.

- Export using the Maya 7 exporter

- Success

 

So the first statement is that the above process works in Maya 7, but not in Maya 2008.

 

To rule out the exporter, I tested the following. I created a revenant_rig2008.ma file in Maya 2008 (the same steps as above). Saved the file as .ma Maya Ascii file and loaded that up in Maya 7 (after changing the version strings). Save as Maya 7 format and export this file using the Maya7 exporter DLL. Result: the mesh is broken/distorted in Doom 3, so the problem is already there in the Maya file.

 

Second statement: it's not the exporter, as the Maya 2008 file "converted" to Maya 7 produces the same faulty md5mesh.

 

Left to test is whether Maya 8.5 or Maya 2009 / 2010 is doing the same.

 

@Springheel: Well, I guess I'm not the one who is deciding which way to go here, as most of the AI modeling workload won't be on my shoulders, clearly. I just thought it would be nice to have a clean Maya > Doom 3 workflow without worrying about meshes getting out of date. Given our limited resources I guess the most practical solution leading to our goals wins.

Link to comment
Share on other sites

Well, I guess I'm not the one who is deciding which way to go here, as most of the AI modeling workload won't be on my shoulders

 

I guess my question was a little more broad, but I was actually thinking specifically about the revenant. If you want me to deal with the mesh before you work on it in Maya I could take a day or two to clean it up. Otherwise I could do it after the fact.

 

I just thought it would be nice to have a clean Maya > Doom 3 workflow

 

It certainly would be handy if we could avoid the exporting inconsistencies, I'll grant you. But realistically, I'm not going to be learning Maya any time soon. I'd be more than happy to hand off the job of weighting AI to someone else if there are any takers...I don't mind fixing up the meshes but I find weighting a pain and not enjoyable at all.

Link to comment
Share on other sites

Yes, go ahead with any mesh changes, these can be made beforehand with no problem. I was importing the mesh from the .md5mesh file into Maya anyway (via Blender > OBJ).

 

As for the weighting: I don't mind doing that, at least not yet. :)

Link to comment
Share on other sites

Ok then, I'll take a look at the revenant mesh shortly. Might not be today, as I'm still finalizing some issues with the noblewoman.

Link to comment
Share on other sites

Squill, I've been testing the process with Maya 7 now and I finally got the revenant in-game, all separated into 2 meshes! :)

 

I used the exact process as in Maya 2008:

- Use the revenant_rig in model_src, open it and delete the existing mesh

- Import first OBJ (revenant bottom)

- Import second OBJ (reventant_top)

- Select both, delete history, freeze transformations, smooth bind

- [Optional] assign second mesh to different shader, so that the md5mesh doesn't get merged down to 1 single mesh.

- Export using the Maya 7 exporter

- Success

 

So the first statement is that the above process works in Maya 7, but not in Maya 2008.

 

To rule out the exporter, I tested the following. I created a revenant_rig2008.ma file in Maya 2008 (the same steps as above). Saved the file as .ma Maya Ascii file and loaded that up in Maya 7 (after changing the version strings). Save as Maya 7 format and export this file using the Maya7 exporter DLL. Result: the mesh is broken/distorted in Doom 3, so the problem is already there in the Maya file.

 

Second statement: it's not the exporter, as the Maya 2008 file "converted" to Maya 7 produces the same faulty md5mesh.

 

Left to test is whether Maya 8.5 or Maya 2009 / 2010 is doing the same.

 

 

ok thanks, that's good to know. I have a copy of 2009 which i'll try over or after the weekend. Otherwise i'll have to install 7.0 again. But at least we know we have a working version.

Link to comment
Share on other sites

I was searching a bit on doom3world and there was one guy, who said there is a code fix needed for Maya 2008 and Maya 2009: http://www.doom3worl...hilit=maya+2008

 

But I tried that and this doesn't work at all (it's even worse). I see that id software already have such a function in place which is negating and swapping the coordinates, so this doesn't solve our issues. The problem was about rotation anyway, and our models are rotated correctly so far.

 

Another thing to test is whether the mb file created with Maya 7 can be converted to Maya 2008 and exported to the game.

Link to comment
Share on other sites

I just tested exporting a .ma file (in Maya7 format) using the Maya2008 exporter, which is working. I also tried opening the Maya7 ascii file and saving it as Maya2008 .mb file - the export still succeeds, so there is something going fundamentally wrong when just binding the mesh to the skeleton in Maya 2008. A mesh bound in Maya 7 works.

Link to comment
Share on other sites

Have you tried using edit> deleting all by type > history before binding? And/or maybe freeze transformations, then reset transformations.

 

Like this guy mentions, which i've heard a few times.

http://www.garagegam...logs/ view/10385

 

Further explained here in the 2010 help:

 

If you experience any issues with transformations, check this section for some common issues and their workarounds. Double transformation when objects are parented with history

 

When an object is parented with its construction history, the output surface may get a double transformation when the group is moved.

 

Workaround

 

To fix this toggle the inhertsTransform flag (on the surface) to off. This stops the surface from inheriting the group's transformation and fixes the problem. Note: the group command automatically detects and toggles this flag in these situations but the parent command does not.

 

Revolved surface limitation

 

If a revolved surface is grouped with its input curve then transforming the resulting group will change the shape of the revolved surface since the revolve node's pivot will not be transformed.

 

Workaround

 

This can be avoided by not grouping the curve with the surface or by creating a locator under the group and connecting its position to the revolve node's pivot.

 

<a name="TOC_ENTRY__d0e68836">Transform with multiple surfaces

 

If a transform has multiple surfaces under it the shape node may have to be selected in the outliner for commands like makeLive to work properly.

 

 

Reset transformations sets the transformations on the selected objects back to zero. This undoes any transformations since the object was created or the last "freeze". Freeze transformations makes the current transformations on the selected objects be the objects' zero position.

 

TipPerform a freeze transform before executing operations such as stitch, align, attach, sculpt, wire, and wrinkle; or delete history before doing freeze. Related topics

 

Modify > Reset Transformations, Freeze Transformations >

 

Use the options to control which types of transformations (translate/move, rotate, scale, joint orientation) are reset or frozen.

 

NoteFreeze Transformations does not affect the translation transforms of joints because their translation transforms are required to define the lengths of their bones. Normals The normals on polygonal objects will be frozen.

 

NoteYou only need to turn on Normals if you are applying Modify > Freeze Transformation to an object that has been sheared, skewed or non-proportionally scaled. Turning on Normals will bake the normals so they will not update if you make subsequent tweaks to the object's shape. Normals will not be frozen on a polygonal object that has been negatively scaled.

 

[/url]Only for non-rigid deformations The normals on polygonal objects will be frozen only if it's a non-rigid transformation matrix (that is, a transformation that does not contain shear, skew or non-proportional scaling).

 

<a name="WS73099cc142f487553b93539f117ea10ce8f4165">This option is only available when Normals is on.

 

 

Hope this helps

Link to comment
Share on other sites

Yes, I always deleted the history of the meshes right after importing them from OBJ. If I don't do that, I cannot even freeze the transforms, Maya would complain. So Delete History > Freeze Transform has been the way I went, but Maya 2008 does something differently.

 

The weird thing is that in Maya the animation plays perfectly fine, but in-game it turns out wrong.

Link to comment
Share on other sites

Wow, just looked at the mesh, and it's FULL of see-through gaps. It will take me a few days to polish things up.

Link to comment
Share on other sites

Ok, I think the revenant is ready. I fixed all the gaps, removed the head, and added a shadowmesh. I've also resized him to be porportional with the current skeleton (and fixed the reversed normals on the chain).

 

I put the chains on a separate layer so he could be used with a different head for just a regular old builder skeleton.

 

I've uploaded revenant_work.obj to the ftp...hopefully the export worked properly with the layers.

Link to comment
Share on other sites

That's good news. :) As long as we are not stuck with Maya 7 forever, I'm happy with that.

 

Shader export settings? For me, the MayaImportx86.dll is looking for the texture filename and cuts off everything beyond the mod name:

 

C:\Games\Doom3\darkmod\models\md5\chars\revenant\revenant_top

 

is converted to

 

models/md5/chars/revenant/revenant_top

 

in the md5mesh, so during tweaking the weight-paints I just run exportmodels and reloadmodels while in-game and I see the changes immediately. Very handy.

Link to comment
Share on other sites

C:\Games\Doom3\darkmod\ models\md5\chars\revenant\ revenant_top

 

is converted to

 

models/md5/chars/revenant/revenant_top

 

Are you sure that's what is happening? I'm pretty sure that's the actual name of the material shader.

Link to comment
Share on other sites

Are you sure that's what is happening? I'm pretty sure that's the actual name of the material shader.

I've seen it happening and I used it to quickly bring the updated model in-game. And I read the corresponding code, so yes, I'm pretty sure.

 

I guess you can of course type in the actual shader name in the Maya material properties as well.

Link to comment
Share on other sites

And I read the corresponding code, so yes, I'm pretty sure.

 

I certainly didn't mean to suggest you didn't know what you were talking about. :)

 

I use different images on the surfaces sometimes when I'm modelling, so I just wanted to make sure it was actually using the appropriate shader, not looking for a texture file name that might only exist on my local drive.

Link to comment
Share on other sites

I use different images on the surfaces sometimes when I'm modelling, so I just wanted to make sure it was actually using the appropriate shader, not looking for a texture file name that might only exist on my local drive.

I'm confused about what we're talking about here - you mean whether the md5mesh is using the actual shader? (Yes of course.)

 

I was just talking about the Maya exporter - I assume you're not working with Maya, are you?

Link to comment
Share on other sites

I'm confused about what we're talking about here

 

Me too, apparently. Forget I said anything...if there's actually a problem, it will be easy enough to notice.

Link to comment
Share on other sites

  • 1 month later...

I've uploaded revenant_work.obj to the ftp...hopefully the export worked properly with the layers.

Hm, I think I'm lost trying to find that file - where did you put it exactly?

 

edit: nevermind, found it, was looking at the wrong FTP.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recent Status Updates

    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 4 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
×
×
  • Create New...