Efficient crowd (audience) rendering I'm looking for a way of rendering an audience in a decently sized stadium with about ten thousand seats. Usually not all seats will be filled. The project is using Unity3D Currently I'm instantiating a GameObject with a skinned mech and armature+bone objects for each seat. Initially I simply animated them using Animator components on each but the framerate was unacceptably low. No real surprise there :) What I have now is a smallish number of identical skinned mesh game objects with actual Animator components on them. I then copy the transform data from the armatures of the animated meshes to the armatures of randomly assigned audience members. While this is better it still takes 20ms or more per frame to do this. After rendering, overhead etc it leaves little to no room for actual gameplay without dropping the framerate below an acceptable level. The problem seems to be the process of copying/setting tens of thousands of individual positions+rotations from the animated objects' bones to the audience's. I've tried splitting the copying across multiple frames which improves update time and overall framerate but makes the audience animations look choppy. Any ideas on how to either make this current implementation more efficient? Or any alternative solutions? https://ift.tt/eA8V8J
I'm looking for a way of rendering an audience in a decently sized stadium with about ten thousand seats. Usually not all seats will be filled. The project is using Unity3D Currently I'm instantiating a GameObject with a skinned mech and armature+bone objects for each seat. Initially I simply animated them using Animator components on each but the framerate was unacceptably low. No real surprise there :) What I have now is a smallish number of identical skinned mesh game objects with actual Animator components on them. I then copy the transform data from the armatures of the animated meshes to the armatures of randomly assigned audience members. While this is better it still takes 20ms or more per frame to do this. After rendering, overhead etc it leaves little to no room for actual gameplay without dropping the framerate below an acceptable level. The problem seems to be the process of copying/setting tens of thousands of individual positions+rotations from the animated objects' bones to the audience's. I've tried splitting the copying across multiple frames which improves update time and overall framerate but makes the audience animations look choppy. Any ideas on how to either make this current implementation more efficient? Or any alternative solutions?
from GameDev.net https://ift.tt/2XBkhSd
from GameDev.net https://ift.tt/2XBkhSd
ليست هناك تعليقات