How should I animate simple objects in UE5?

Sorry if this is a stupid question, or if I am overthinking this.

I am talking about objects such as a bow, where I cannot animate by moving/rotating static meshes in the engine itself, as parts of the bow move relative to other parts (such as the drawstring ‘folding’ when it is pulled back, and the handle deforming slightly when pulled). Should this be done with a custom skeletal mesh?

When I look at guides for using animation montages and skeletal meshes, everything I find is about character animations, and the whole process seems overkill, and my first thought is that it would be overkill and too performance heavy for animating lost of little objects (correct me if I’m wrong and a skeletal mesh itself isn’t too performance heavy, I just associate it with characters that can be expensive to have lots on the screen).

Another example might be a water wheel on a building in a city builder game - in this example I suppose that I could make the wheel itself a separate static mesh and rotate it about an axis, but in this case I don’t want to complicate my code for my ‘water mill’ actor, as the visuals are not the focus of my code, the functionality is. I would rather just be able to do something like WaterMill.GetMesh().PlayAnimMontage() for example - which would play an animation I have made in Blender or something.

For the Bow String have you thought about using Blend Shapes?

I know of quite a few games that used that succesfully on many props to avoid dealing with too many skeletal mesh. Another technique is doing things with materials instead of mesh, which in the context of a simple string could work just as well but it requires some knowledge of material conception.

You could make the water wheels their own actor(s), give them a rotation movement component, then add them to the mill as child actors. That way they handle themselves without making the mill code more complicated and not require an animation. This gives you more control over the speed of the wheels.

As for the bow, I recommend at least making it a skeletal mesh. That way you can apply warps, blends, or any other type of animation (baked or procedural) that works best for you.

For something like a bow in UE5, where parts move differently, using a skeletal mesh might actually be your best bet. It sounds complex, but it gives you the control you need for those detailed animations, like the bowstring moving. For simpler stuff, like a water wheel, you could just make it spin as a separate piece without getting too deep into animations. Keeping things simple and clean in your code is key, especially when you’re focusing more on how things work than just how they look.

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.

Privacy & Terms