![]() If you set the shader to diffuse and the transparency type to Alpha Clip, you can even have your animated sprites interact with lights, shadows, and other objects! ![]() Just add it as an object, set the X and Y grid numbers, adjust the timing, and you’re good to go. SpriteHandler makes it extremely easy to import and play any sprite sheet. There are a few sprite related addons out there, and I’m always attracted by fun names like Get Sheet Done, but the best and most fully featured one I can find is called SpriteHandler. If you’re into making games though, there are definitely times where you’ll need to cross that divide between 3D and 2D. ![]() When you think of animating in a 3D software, you probably don’t think of pixel art and sprite sheets. Recently I’ve discovered these Blender 2.8 addons that I think you’ll enjoy, which can help make rigging and animation in Blender a bit easier. A half height dude will have to walk twice as fast to move the same rate as a 1x scale guy.Making one or two things move in Blender is pretty easy, but if you’ve ever needed to make more complex effects, things can sometimes get messy or, in some cases, downright impossible. If your model is scaled up or down multiply the animation playback rate by the inverse of the scale. So if the walk animation at 1x speed is 5 m/s, and you want to have the player run at 7 m/s, you simply play back at 7/5 = 1.4x speed. Use that to figure out how fast to play back the animation. ![]() Use that to figure out the speed of the animation, and export the animation without the forward velocity. Then you get your artists to animate a character walking (complete with forward movement). For example, 1 unit in Maya and your game is 1 meter. What I suggest doing is first making sure all your units are consistent. Now doing it "in code" is a lot easier from the programming side of things. I'm also not really sure how IK really plays into it, if at all. It can get tricky with things like trying to get the "walk" animation to work on stairs (ideally you'd have a separate stair/ladder climbing anim and do all the movement for that in the animation as well). Mixamo did a good example with root motion control using Unity. Real people move at a variable speed over time, or maybe they're shuffling left and right a bit, or whatever. But the real advantage of root motion is that to get truly realistic animations you need to account for the fact that movement isn't a true linear path. You might be able to do a reverse lookup of sorts to figure out that if you want to be at position X what frame you need to be at. You use the motion of that object to determine how quickly to play back the walk cycles. With root motion you have basically exactly what you're suggesting with the "moveTrans" node. There are two ways of doing it: root motion or "in code". I've not seen anything like this in open-source land, and there's certainly no provision for that in the Ogre Exporter script. So in the Maya file, the character will walk forward for one cycle and this extra node will follow along with them by their feet. So my question is: what's the normal approach for this kind of thing? At work we use Maya, and the animators either animate a special 'moveTrans' node that represents the "position" of the character (or have the exporter generate it for them from the movement of the root node), then the game can read this to know how fast the animation moves the character. This is because I just animated the walk in-place (at the origin) in Blender, and of course I don't know what "speed of walk" that corresponds to, so when I move the character in-game the motion doesn't necessarily match up with the movement of the feet in the animation. By fine, I mean it works, but there's terrible foot sliding. I've made a very simple walk cycle in Blender and exported it to Ogre, and it plays just fine. I'm a programmer trying to animate a character walking for a game project, using Ogre. I've just posted this at the Blender artists' forums before realising I would probably get a better response from a more game development-specific audience, so apologies for cross-posting! It's for the right reasons :)
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |