[3d animation, mobile game art] technical advice needed

Started by
5 comments, last by riuthamus 11 years, 1 month ago

Hi, I am making a game for mobile platforms now and I have some technical questions.

Lets say, I have a hero character. He fights bad guys and may execute a combo skill which leads to an animation like this: the character pierces s monster with his sword and then lifts it to the air. How do I approach this kind of relationship between different models? I thought about a number of solutions, but they all seem to lead to somewhat improper alignment between the characters in the game.

2nd question: what is the best way to make a model for a character who might switch armor (like in most RPGs). Should I just throw all possible gear in one scene (it will also allow me to do correct skinning) and then in the game switch visibility for different kinds of armor/textures? Will this solution work properly for mobile platforms with limited amount of power?

And lastly: imagine a level for a mobile RPG game. Some of it is done using a constructor (I mean I made a number of walls and corners and stuff and just place them one after another like LEGO), but some cannot be done this way. I have long bridge-like path above a canyon and the bridge is sorta curvy and I prefer to create it bypassing constructor pipeline. So the question it, given the bridge is much longer than the screen, is it necessary to split it on chunks or will it work as huge solid mesh?

I suppose it makes sense to split it so once a part of it leaves the screen, the engine 'forgets' about the chunk and is not longer allocating memory for it. Is it correct?

Thank you very much for any advice!

Advertisement

For the combo the best thing is to make a animation for both models and then to lock the positions when the animation is running, get the player's distance and lock the enemies position to the player.

The best way to make armor swapping models is to make a player mesh wearing each armor, this way you can have more control over the poly count and not waste faces filling in the holes,but it takes longer to make.(and you need a good base mesh to work from)

Parenting objects to bones is fine but will cause deformation problems and drop more frames than if it was a single mesh with the same poly count, keep this instead for weapons, shields,arm guards and other none deforming meshes.

A single mesh will render faster than chunks of mesh, but smaller pieces load faster.

With the bridge it depends on the poly count and game engine you are using and platform, yet say a 50000 poly bridge would be better to cut into nice chunks and clear them from memory than to render such a huge mesh.(for the current mobiles the poly count could be a lot lower, say 5000)

Thank you!

For the combo the best thing is to make a animation for both models and then to lock the positions when the animation is running, get the player's distance and lock the enemies position to the player.

I see. It seems it will need some work in the engine to make sure that the player and the enemy will stay in correct angle and range to perform the animation.

The best way to make armor swapping models is to make a player mesh wearing each armor, this way you can have more control over the poly count and not waste faces filling in the holes,but it takes longer to make.(and you need a good base mesh to work from)
Parenting objects to bones is fine but will cause deformation problems and drop more frames than if it was a single mesh with the same poly count, keep this instead for weapons, shields,arm guards and other none deforming meshes.

So basically I end up with (in its simpliest form) two kinds of models for clothing:

1. When I swap shoulder armor, a helmet, etc - I just parent them to the rig.

2. When I swap chest armor, I swap whole character model. Correct?

I my case I don't need to swap pants. But if I did, then swapping whole model would not work. Because its nearly impossible to make enough models if I have 50 pants and 50 chests :)

A single mesh will render faster than chunks of mesh, but smaller pieces load faster.
With the bridge it depends on the poly count and game engine you are using and platform, yet say a 50000 poly bridge would be better to cut into nice chunks and clear them from memory than to render such a huge mesh.(for the current mobiles the poly count could be a lot lower, say 5000)

So lets say we have fairly detailed mesh as the bridge. Will it make sense to make first few segments of the bridge as small chunks and the next segment - big mesh with lots of polys. And while the player walks his way towards the big mesh, the system will have some time to preload this mesh until it becomes actually visible for the player. Or there is so small amount of loading time involved, therefore making this kind of tricks useless?

I my case I don't need to swap pants. But if I did, then swapping whole model would not work. Because its nearly impossible to make enough models if I have 50 pants and 50 chests

Correct in this case you would make pants meshes that could batch together with the rest, this takes a lot of coding and a engine that can handle it.(Blender can't)

Will it make sense to make first few segments of the bridge as small chunks and the next segment - big mesh with lots of polys. And while the player walks his way towards the big mesh

I would say that if you are using chunks, use them all the way, yet with out testing it this way means you won't know if it will make a deference.

Correct in this case you would make pants meshes that could batch together with the rest, this takes a lot of coding and a engine that can handle it.(Blender can't)

Is "Batch together" means that in the code should be a function that will glue together a pants with the rest of the model automatically by merging vertices and in the end producing new solid mesh?

I would say that if you are using chunks, use them all the way, yet with out testing it this way means you won't know if it will make a deference.

I see. Thanks for answers.

Is "Batch together" means that in the code should be a function that will glue together a pants with the rest of the model automatically by merging vertices and in the end producing new solid mesh?

Yes, you would take a mesh from one object and a other and then merge them in a single mesh buffer, the mesh is then applied to the first object and the second destroyed.

Eh.... honestly it really depends on what type of engine you are running. As for our game engine we just attach the armor to the set of bones they are associated with and export them in correct position. This can get expensive though if your system is not capable of loading in multiple mesh's and having one attached to the other.

The second option is to do like wow does it, create normalized seems that you cut the mesh in, for the arm and such in the same place no matter what. The game code can then sitch those verts together when applying new armor and such and thus your bones/animations have no real bearing on it. The issue with this setup is that it limits the things you can do with the armor. This would be faster though if your engine is less powerful.

*shrugs* hope that answered what you were looking for.

This topic is closed to new replies.

Advertisement