0
\$\begingroup\$

I am building a player model for my game, the model is very complicated due to its ability to be customizable. A single player entity can have 70 + entities including the head, parts to the face, arms, legs, shoes, and the clothes and armor it wears, and the weapons it has equipped. I just need to know, at what point does the unity game engine start lagging due to too many entities? Also, the game is low poly, there are many entities, but each one is block based, or very simple in design.

A good illustration of the player model may look like:

\$\endgroup\$
3
\$\begingroup\$

You can't generalize that because the resources consumed by an entity (CPU, system-memory, bus bandwidth, GPU and GPU-memory) vary greatly depending on their components. Do they have colliders? Do they have renderers, and if yes how complex are their meshes and their shaders? Do they have scripts? Do they have rigidbodies? Are they animated? All that (and many more) affects how much an entity taxes the engine.

Also, different target platforms have different resource capabilities. When you are targeting smartphones you won't be able to do as much as you would be able when you are targeting gaming PCs.

But keep in mind that you might be able to reduce the number of game objects by modifying meshes at runtime (which is useful for things like face customization) and merging meshes (which allows you to combine multiple objects into one object with one mesh).

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ Here is the thing, I can't combine meshes as certain parts must be individual pieces. For instance, the most complex part of the model is the head. It is designed so that the eyes can look in different directions, the teeth and lips can move to mimic speech, Even the eyebrows can move. Also, the hair, beard, eye, can be customized to have different looks, and colors. In all, the model can have up to 65 individual pieces. This is to allow character customization, and for the best animation effects. On a computer with good specs, such as 8 gigs ram memory or more, how much lag would there be? \$\endgroup\$ – Kenneth Carrington Mar 21 '17 at 16:53
  • \$\begingroup\$ The character is also very block based, so the graphics are similar to minecraft. Also, on multiplayer, there can be up to 16 of these player models roaming around, so at what point would a 8 gig ram computer start to lag? \$\endgroup\$ – Kenneth Carrington Mar 21 '17 at 16:56
  • 1
    \$\begingroup\$ @KennethCarrington none of the reasons you cite are reasons the meshes can't be combined. With a mix of skinned animation, vertex attributes, and custom shaders, all of these can be accomplished with a single combined mesh at runtime, if you wanted to. As Philipp says, we can't tell you when or how much lag you'll get, as it depends on everything mentioned in the answer above. The best way to find out is to profile your actual assets in the context of your game running on your actual target hardware. \$\endgroup\$ – DMGregory Mar 21 '17 at 17:05
  • \$\begingroup\$ Well can you answer this? In minecraft there are soo many blocks per chunk. Thousands of them. How can the game register all of the blocks within each chunk visible without crashing? \$\endgroup\$ – Kenneth Carrington Mar 21 '17 at 18:01
  • \$\begingroup\$ @KennethCarrington Minecraft isn't made with Unity. It uses a custom rendering engine to handle that many blocks with reasonable performance. What optimizations it uses specifically is an interesting topic, but far too much to answer with just a comment. \$\endgroup\$ – Philipp Mar 21 '17 at 18:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.