I’m not a fan of benchmarks as they’re rarely real world but in my case I needed to know how to rig these particular object of which there will be a lot so I ran some tests.
Test:
400 object
418 polys
1 diffuse texture no light (1 call each object)
- skinned: 4 bones 1 influence 1 merged geometry
- segmented: 3 parts parented to the same bones
- segmented NOBONE: 3 parts parented to each other
- animation starts activated for 10 seconds, then goes dormant for 10 seconds then goes back active expect 3 fps values for each of the 3 rigs
These ran compiled at Good quality 800x600 on intel quad core 2.6 + 5GB + Radeon x1900 … and paused a syslogd
TEST1:
all parented to a static GO
- skinned: 39 → 47 → 42
- segmented: 37 → 57 → 40
- segmented NOBONE: 43 → 62 → 46 **
all parented to a rotating GO
- skinned: 30 → 32 → 32 **
- segmented: 24 → 24 → 26
- segmented NOBONE: 28 → 30 → 32
You can expand on this bench.
var thingToMultiply: Transform;
var number : int;
var rows:int;
var width: float;
var length : float;
var rotate : boolean;
function Start()
{
for (var i = 0; i< number; i++)
{
var column = Mathf.Floor(i / rows);
var instance = Instantiate ( thingToMultiply, transform.position + Vector3 (width*column,0,i%rows*length),Quaternion.identity);
instance.parent = transform;
}
BroadcastMessage ("Debugging",null,SendMessageOptions.DontRequireReceiver);
}
function LateUpdate()
{
if (rotate) transform.Rotate (0,100*Time.deltaTime,0);
}
[/quote]