Ejemplo n.º 1
0
    private void OnLodCullingGroupOnStateChangedHandler(CullingGroupEvent evt)
    {
        GPUSkinning_SpawnObject obj = gpuSkinning.model.spawnObjects[evt.index];
        MeshRenderer            mr  = obj.mr;

        if (evt.isVisible)
        {
            if (!mr.enabled)
            {
                mr.enabled = true;
            }

            MeshFilter mf = obj.mf;
            if (evt.currentDistance > 1)
            {
                if (mf.sharedMesh != newLodMesh)
                {
                    mf.sharedMesh = newLodMesh;
                    additionalVertexStreames.SetRandomStream(obj);
                }
            }
            else
            {
                if (mf.sharedMesh != gpuSkinning.model.newMesh)
                {
                    mf.sharedMesh = gpuSkinning.model.newMesh;
                    gpuSkinning.matrixTexture.additionalVertexStreames.SetRandomStream(obj);
                }
            }
        }
        else
        {
            if (mr.enabled)
            {
                mr.enabled = false;
            }
        }
    }