- Home /
Optimizing colliders for a third person character action/action RPG game
In games like Devil May Cry, Monster Hunter, and Dragon's Dogma, you are able to fight large enemies. In addition these games either allow you to do "sub-systems" damage, being able to damage and even destroy parts of an enemy, like the tail of a dragon or the engines of a space ship in space combat games, or the player is still able to damage these sub-systems but they don't really do much else than just deal damage. These games also allow the player to use different types of weapons, like swords, spears, scythes, and so on and so forth.
What kind of colliders should I use for weapons to maximize performance? Would it be ok to mix and match colliders, like using box colliders for sword weapons, but use sphere or capsule colliders for spear-like weapons? Would it be ok to use multiple colliders on large enemies? If I do use multiple colliders on large enemies,how should I go about it if I want to have sub-systems damage and have that damage affect that enemy in certain ways, like heavily damaging their legs will cause them to move slower?
Answer by Hellium · Nov 07, 2016 at 11:06 PM
If you have various types of weapons, it's totally normal to have a specific type of collider for each of them.
About your ennemies, I guess one ennemy is not a single GameObject but the root of a hiearchy describing the components of the ennemy (arms, legs, head, ....). You can have a "main" script handling the life of your ennemy, and a script on each sub-part of your ennemy holding a collider adapted to the morphology of it, and responsible for calling the main script indicating the ammount of damages caused by the weapon.
Your answer
Follow this Question
Related Questions
Does disabling colliders increase performance? 2 Answers
colliders performance 1 Answer
Box collider vs Quad(mesh) collider 1 Answer
my thing keeps going through walls, but ridged bodies can touch the collider 0 Answers
Multiple Colliders On A Single Object Detecting Each Collider In OnTriggerEnter() 1 Answer