Jump to content
The Dark Mod Forums

Needed for Standalone: Animated Werebeast


Springheel
 Share

Recommended Posts

Sorry, I left that file in an old PC that is right now in another country and with a power source problem (it doesn't turn on). So I can't even have my gf send it to me. However, I was so sure I sent this file to someone else here! Or maybe I just offered it and he said no. I'll see if there's any trace of it in previous conversations.

Link to comment
Share on other sites

:( This is too bad! Hm, maybe someone has a working md5 importer for Blender? This would also solve the problem... Blender is just so advanced, you need a tutorial for each small step you want to do and, of course, always the exact right version for each script you want to use. This makes working with Blender quite annoying. But on the other hand it is free, so I am complaining on a very high level ;)

Link to comment
Share on other sites

Found springheel asking me the same thing last year on a PM and I said exactly the same thing. Gosh, my memory is just bollocks. I read online that Blender has an importer for every game ever made though.

 

The chances of getting my gf to restore my PC and send the files are pretty slim. It's actually easier to just remake the whole thing. Which I would be willing to do, actually, but it would make me feel better if we were a little more certain it wouldn't be in vain. Test your idea with a simple animated model. If that works I'll get to work right away. I remember being able to import md5 models but not animations, so if all I have to do is the animations it shouldn't take so long.

 

We really need a better art pipeline. We would have a lot more models by now if getting them in-game were not such a mystery.

Link to comment
Share on other sites

Thanks Arcturus, you are a genius! May I ask, how you did it, i.e. which importer and version you used?

 

BTW: Could it be that the Idle animation is incomplete? At least, the end pose is different than the start... And regarding this, another noob-question: Does it make sense to copy the start pose and copy it to the end, to ensure, it is a good loop? I will start working on the pain animation tomorrow morning as I think it might be one the easier ones and it would be good to know, if the animation has to end with the same pose as it starts.

Edited by Destined
Link to comment
Share on other sites

Thanks, I will get this version in addition to the current one. I hope I can import md5s myself then.

 

I started with the pain animation this morning and also tried to set up the IK, but there was no option for the latter available. But I only saw the bones, that represent the joints and not the "original" skeleton, so maybe this is just in another layer or have to be unhidden. I will have a look again this evening or tomorrow.

Edited by Destined
Link to comment
Share on other sites

That's how joints look when exported to md5. For some reason, exporters rotate joints, making them almost impossible to animate. Doom 3 character models look the same when imported. Interesting that Blender md5 exporters don't do that.

It's only a model...

Link to comment
Share on other sites

If I'm not mistaken md5 animations are vertex based, so my original bone system is lost in the export, as it translates the bone animation to vertex animation. Then when you import back to a bone system it adds dummy bones just to replicate the vertex animation. I'm not sure this is how it works, so don't take my word for it. It should be possible to edit the generated bones so they look nice (the way bones look in animation programs is mostly to make it more human readable, all they really need is position and rotation information).

Link to comment
Share on other sites

Hm, this is too bad, but it makes sense. So far I had no problems working with just the generated bones, but as I have started with the pain animation it does not involve any forward movement. I will see, how well I can handle movement, when I start with the running or searching animation. I think, for these the IK would be nice to have.

Link to comment
Share on other sites

Well, from what I see after re-importing, it looks rather joint-based. But since you can theoretically calculate the bones by linking the joints it is basically the same or at least transferable (see also the last section about interpolation in the link you posted)

Edited by Destined
Link to comment
Share on other sites

Whatever the max and maya exporters are doing, I believe Blender exporters do it diferently. From my experience Blender doesn't mess with joint rotations on export. Horse for example was made in Blender from scratch and when you import md5 back to editor you can see that bones are not rotated 90 degrees, like in original Doom 3 md5:

 

post-2001-0-00046200-1477414702_thumb.png

 

Also Blender doesn't optimize animations so the files are rather heavy.

It should be possible to edit the generated bones so they look nice (the way bones look in animation programs is mostly to make it more human readable, all they really need is position and rotation information).

You can connect the joints in Blender:

 

post-2001-0-39846900-1477413870_thumb.png

 

However this causes some problems. Here for example bones generated on import seem to be linked by wrong ends (?):

 

post-2001-0-42388700-1477413827_thumb.png

 

What's more important, animations created in Blender with a modified skeleton will not match md5.mesh exported from max. That's why I made a new armature for proguard, which then controls the imported md5 joints. I based it on the character fbx files that are on our repositories. Someone could export the werebeast from MAX to fbx format. Blender has no problems reading those. Then you have couple of options:

  • Like I did, make (veeery painstakingly) a control rig to animate the imported md5 skeleton. You would need to assign copy rotation and location constraints, so that one skeleton follows the other. This way would be compatible with animations exported from 3ds max.
  • Make animations with the nice rig in Blender, then export both md5mesh and md5anim. This however will not be compatible with 3ds max, because of different joint rotations. You will still want to have some constraints, IK chains in your rig and so on, which requires some knowledge.
  • You can use one of the Blender plugins like rigify or blenrig and create your own flexible, professional rig. One would have to know how to "skin" the character (assign weights to bones) and how to use those plugins. This options completely disregards Diego's rig.

You can also:

  • Animate with what you got. It will be difficult, and result will suck, but hey! It's possible. I have made on or two animations for TDM like that :)
  • Pay someone to make a md5 export script that works exactly like the one from max.
  • Buy 3ds max and work there using original Diego's file.
  • Like 2

It's only a model...

Link to comment
Share on other sites

Also Blender doesn't optimize animations so the files are rather heavy.

Yeah, I also noticed, that for the imported animations each frame has a definition for each bone, which also makes using these as a basis quite difficult.

 

 

 

Then you have couple of options:
  • Like I did, make (veeery painstakingly) a control rig to animate the imported md5 skeleton. You would need to assign copy rotation and location constraints, so that one skeleton follows the other. This way would be compatible with animations exported from 3ds max.

  • Make animations with the nice rig in Blender, then export both md5mesh and md5anim. This however will not be compatible with 3ds max, because of different joint rotations. You will still want to have some constraints, IK chains in your rig and so on, which requires some knowledge.

  • You can use one of the Blender plugins like rigify or blenrig and create your own flexible, professional rig. One would have to know how to "skin" the character (assign weights to bones) and how to use those plugins. This options completely disregards Diego's rig.

Well, the first option may be the one, that sounds the most feasible, even it is the most work. This lets us use the rig provided by Diego and consequently also lets us use the existing animations. If the mesh does not fit, the existing animations will also have to be redone.

 

You can also:

  • Animate with what you got. It will be difficult, and result will suck, but hey! It's possible. I have made on or two animations for TDM like that :)
  • Pay someone to make a md5 export script that works exactly like the one from max.
  • Buy 3ds max and work there using original Diego's file.

 

Of these, I will also only be able to try the first. I really have no money at the moment (quite the contrary, actually) and even if I had, the original 3ds max files are not available as they would have to be recovered from an inaccessible computer.

Well, for the pain animation, I think the existing bones are sufficient. I am by far not yet satisfied with how it looks so far, but for this animation I mainly need rotations around a couple of joints, which actually gives me a better feeling for the motion. But as I said: For any movement animation IK will most likely be necessary, so for these I will need a different rig. Hm, this will apparently take much longer and require a lot more work than I have anticipated.

  • Like 1
Link to comment
Share on other sites

... and also tried to set up the IK, but there was no option for the latter available.

The IK is defined in the entity definition, not within the modeling program

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

Normally you need an IK in the application you're making the animations with, along with other tools that make animating easier. They don't get exported to the game however, as the animation is "baked". In-game IK is another thing.

It's only a model...

Link to comment
Share on other sites

The IK is defined in the entity definition, not within the modeling program

Ok, sorry, I did not know that these are two different things depending on the context. I will see, if I can do it.

 

 

Normally you need an IK in the application you're making the animations with, along with other tools that make animating easier. They don't get exported to the game however, as the animation is "baked". In-game IK is another thing.

Thanks for clarifying. IK in Blender would help for movements, as it is easier to simply put the feet, where you want them instead of placing them by rotating the respective joints. I already watched two different tutorials about IK in Blender and I think, if I had the skeleton I might be able to set it up. But as discussed, this would require a new skeleton (be it resulting in a new mesh or just linked to the existing one), so this is another thing for the future. Maybe I will still try the searching animation with the existing skeleton (as I think this is easier than running, especially without IK) and then after hours of frustratting work will make the skeleton, anyway. We will see ;)

  • Like 1
Link to comment
Share on other sites

 

Whatever the max and maya exporters are doing, I believe Blender exporters do it diferently. From my experience Blender doesn't mess with joint rotations on export. Horse for example was made in Blender from scratch and when you import md5 back to editor you can see that bones are not rotated 90 degrees, like in original Doom 3 md5:

 

 

I can sign that. It (3ds Max bone rotation) was what was stopping me from modeling animated stuff for TDM. At least if you don't want to start completely from scratch (without importing previous TDM things, like animated skeleton, etc.)

Edited by SeriousToni

"Einen giftigen Trank aus Kräutern und Wurzeln für die närrischen Städter wollen wir brauen." - Text aus einem verlassenen Heidenlager

Link to comment
Share on other sites

Well, I will see how discouraging this experience will be for me. I will work on it again, tomorrow morning and hope that I will get a presentable pain animation soon. The main problem for me presenting it here will be that I have no software to record videos on my PC so far. But I still have another video to make (to be exact, the strange IK behaviour in another animation), so maybe it is time to get the respective software...

  • Like 1
Link to comment
Share on other sites

After playing around a bit more, I realised that I really need the IK for animating. As long as it is only arm movement or bending the body, it is fine, but as soon as you want the best to duck or do anithing that moves the core area, you are completely lost without IK.

This is why I have decided to try to create a control rig, even though it will be a lot of work. Especially, because I have no experience with constraints and copy rotations. So, it might be that this will take quite some time and you won't hear anything new for some time...

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

So, after creating a new skeleton for the werebeast and trying to put constraints on it so the original skeleton mimics the movement, I have finally given up on this. My problem is that the new bones are ususally not in a 90° angle to the old ones, which results in very strange movement, as I have different directions for each axis. I got the z-axis to work for both, but I believe the x- and y-axes are switched (at least this is what it looks like) and I have no idea how I can link the y-axis of the new to the x-axis of the old skeleton and vice versa.

So, now I have introduced IK to the hands and feet of the old skeleton. The problem that now ensues is, that the existing animations do not work anymore, because the IK pins down the hands and feet of the old skeleton. This leads me to my real question: Is it possible to turn off IK for specific animations? And do the additional bones introduced for IK result in a new mesh? If the latter is not the part, we can still use the old animations as long as we export them without the introduced IK, so the IK would not get in the way for that. If the IK bones result in a new mesh, can I simply put them into another layer to avoid this?

Edited by Destined
Link to comment
Share on other sites

You can't have different skeletons for different animations. The names and number of bones is set by the MD5mesh and has to be consistent.

Link to comment
Share on other sites

Yeah, that's what I feared. That is why I thought that I could maybe link a bone in a new skeleton to the old skeleton, so I can then control the IK via a bone that is in another skeleton. But if I have seen this correctly, the IK control bones have to be in the same skeleton as the bones controlled by them. Hm, I think I will try to change the new skeleton, so I can set the constraints in a way that correctly transfers the movement.

 

Edit: I had the brilliant idea, that if I want to make a new skeleton for the IK and link it to the old one, I might as well just copy the old skeleton, paste it into a new one in a new layer, create the constraints, and finally create the IK bones for the new skeleton. This way I would just have to link the respective bones without any inversion etc. This seems to work quite well in itself, but still the existing animations are blocked through the constraints of the new skeleton. Do you think it might work to export the animations without the new skeleton and use the new one to create new ones which then can be exportet with the old skeletons?

Edited by Destined
  • Like 1
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.

 Share


  • Recent Status Updates

    • STiFU

      I started skateboarding again after a 20 year hiatus. Whish me luck I don't break anything. 😄
      · 2 replies
    • freyk

      Some years earlier i created some launchers for TDM. uploaded today some new sourcecode and executables on my github repo.
       
      · 0 replies
    • Epifire

      Say, I know it's been a while since the site got overhauled from the crash. But did we ever figure out if/how to get the recent topics & replies list back? It's not a total deal breaker but it was nice for becoming a thread creeper again...


      · 2 replies
    • Epifire

      Some of you who've been on the TDM discord know I was out of work last Winter, just putting in hrs for the developer portfolio. Currently I've been working a seasonal job to pay the bills and now I'm finally in my last week before I get bumped off. Things will be tight but I'm planning a long off period to make as much content as I can. Big plans in Unreal Engine as well as my most ambitious TDM collab yet! Never been so excited to be a stuck at home to pursue my life's work. With a lotta time and maybe some luck, I'm hoping to get enough art work done that I may start applying around to studios.
      · 4 replies
    • STiFU

      I finally got around to play Prey and I truly loved it. It is an incredible homage to System Shock and Deus Ex. While the gameplay is not en par with those two titles, the game makes up for that with its well written lore and story. The whole "world" just feells so authentic and it features a ton of really god environmental story-telling. Recommended for every immersive sim fan, i.e., everyone on this forum.
      · 5 replies
×
×
  • Create New...