void FixedUpdate() { if (LodMan != null && LodMan.Observer != null && _frameCnt != Time.frameCount && VFVoxelTerrain.bChunkColliderRebuilding) //water is low prior { _frameCnt = Time.frameCount; Vector3 posCurrent = LodMan.Observer.position; int cx = ((int)posCurrent.x) >> VoxelTerrainConstants._shift; int cy = ((int)posCurrent.y) >> VoxelTerrainConstants._shift; int cz = ((int)posCurrent.z) >> VoxelTerrainConstants._shift; int nOffset = VFVoxelTerrain.OrderedOffsetList.Count; for (int n = 0; n < nOffset; n++) { IntVector3 vecOffset = VFVoxelTerrain.OrderedOffsetList[n]; VFVoxelChunkData chunk = _voxels.readChunk(vecOffset.x + cx, vecOffset.y + cy, vecOffset.z + cz); VFVoxelChunkGo vfgo = VFVoxelTerrain.GenOneCollider(chunk); if (null != vfgo) { vfgo.OnColliderReady(); break; } } } }