public XTerrainInfo LoadTerrainInfo(string path) { FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read); BinaryReader reader = new BinaryReader(fs); XTerrainInfo info = new XTerrainInfo(); float x = reader.ReadSingle(); float y = reader.ReadSingle(); float z = reader.ReadSingle(); info.pos = new Vector3(x, y, z); info.sliceSize = reader.ReadInt32(); info.treeDistance = reader.ReadSingle(); info.treeBillboardDistance = reader.ReadSingle(); info.treeCrossFadeLength = reader.ReadInt32(); info.treeMaximumFullLODCount = reader.ReadInt32(); info.detailObjectDistance = reader.ReadSingle(); info.detailObjectDensity = reader.ReadSingle(); info.heightmapPixelError = reader.ReadSingle(); info.heightmapMaximumLOD = reader.ReadInt32(); info.basemapDistance = reader.ReadSingle(); info.lightmapIndex = reader.ReadInt32(); info.castShadows = reader.ReadBoolean(); LoadPartsInfo(reader); reader.Close(); fs.Close(); return info; }
public void SetRoot(Transform terrain, Transform collider, string name) { terrain_root = terrain; collider_root = collider; parts_root = GameObject.Find("runtime_parts").transform; terrain_name = name; string path = "Assets/Resources/" + name + "/" + name; terrain_info = LoadTerrainInfo(path + ".bytes"); if (map == null) { map = new Dictionary<int, Terrain>(); } else { map.Clear(); } bxs = collider_root.GetComponentsInChildren<TerrainNode>(); }