Lag за опресняване на терена c# - Колко ефективно опресняване на терена?

В играта играчите могат да режат дървета. След това създавам пример за падащо дърво на негово място.

Премахвам дървото от списъка с терени и опреснявам терена така:

        var treeInstancesToRemove = new List<TreeInstance>(terrain.treeInstances);
        treeInstancesToRemove.RemoveAt(closestTreeIndex);
        terrain.treeInstances = treeInstancesToRemove.ToArray();

        // I refresh the terrain so the collider gets removed...
        float[,] heights = terrain.GetHeights(0, 0, 0, 0);
        terrain.SetHeights(0, 0, heights);

Теренът е МНОГО ГОЛЯМ... Това означава, че когато едно дърво бъде отсечено, играта замръзва за няколко секунди и след това се възобновява (докато се обновява). Има ли по-бърз или по-ефективен начин, който мога да разгледам? Замразяването след всяко отсечено дърво не е идеално?

МНОГО БЛАГОДАРЯ ПРЕДВАРИТЕЛНО!


person Mingan Beyleveld    schedule 01.12.2014    source източник


Отговори (2)


Най-доброто, което мога да предложа, е светът да бъде разделен на части, които можете да актуализирате отделно. Или това, или актуализирайте колайдера в отделна тема от основната.

person Benjamin James Drury    schedule 01.12.2014
comment
Харесва ми идеята за парчета, просто НЯМАМ ИДЕЯ как да направя това в Unity! Ще направя малко проучване... - person Mingan Beyleveld; 01.12.2014

person    schedule
comment
Този отговор може да бъде подобрен чрез добавяне на съдържание без код. - person Thomas; 07.10.2015