Sign in to follow this  

Non-Character Animation

This topic is 4592 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Does anyone know a good resource for non-character animation. I looked at the samples in the SDK and found that everything uses bone structures and effects files, which I'm not sure are necessary in a non-character animation. Thanks a lot for any help...I'm out of options at this point.

Share this post


Link to post
Share on other sites
DirectMesh is a simple and easy-to-use keyframed mesh format. It's pretty good for objects that aren't very good for using bones with. However, be careful with how many frames and triangles your export, because the files can get quite big.

Share this post


Link to post
Share on other sites
Thank you for the reference...I tried using DirectMesh, however some of the sample code that came with the SDK did not compile in Visual Studio. Thus, I couldn't get the code to work in my application.

I did a little more research and I think the term for the animation I need is non-skinned animation. I would like to learn how to program this myself in DirectX without using outside libraries. Is there a way I can use the animation functions in DirectX to animate a .x file from 3d Studio without having an effect file or a skin for my animation? Are there any good tutorial links perhaps that are different from the SDK tutorials?

Thanks a lot for any help.

Share this post


Link to post
Share on other sites
Thanks for the link...it has some good content, however I have a few questions about it.

First, their example tank has multiple separate moving parts (turret, wheels, etc.) However, my animation for my application only has one moving object and doesn't contain a hierarchy. Can I use the LoadMeshHierarchy function with an animation that doesn't contain a hierarchy?

Also, in the sample SDK they use an effect file in all the animations. Do I need this in a non-skinned animation? And if it is absolutely necessary, how would I extract an .fx file from 3d Studio?

Thanks so much.

Share this post


Link to post
Share on other sites
Quote:
Original post by LilTrooper
I did a little more research and I think the term for the animation I need is non-skinned animation.

Ah, I've been wondering what you meant with "non-character" animation [smile]. What you're looking for is keyframed animation, where you store a lot of "frames" for your mesh, at various instances during the animation sequence, and interpolate between them in realtime.

Quote:
I would like to learn how to program this myself in DirectX without using outside libraries.

Basically, you can either do the interpolation between the 2 frames in software (on the CPU) and send the results to the GPU (via a dynamic buffer), or use vertex tweening. If you'd like a very simple and primitive example on this type of stuff, lookup MD2 model format and/or loaders. MD2's are used in Quake2, and they're simple keyframed models.

Quote:
Is there a way I can use the animation functions in DirectX to animate a .x file from 3d Studio without having an effect file or a skin for my animation?

You can store pretty much anything in an X file, so it's definitely possible. I have no experience with 3DS though, so I can't tell how to do it. Dustin (circlesoft) has written a keyframed exporter for 3DS though (part of the DirectMesh SDK), so you might want to check it out and mofiy it for your purposes.

Share this post


Link to post
Share on other sites

This topic is 4592 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this