public MeshDetailsWindow() { InitializeComponent(); log = new StringBuilder(); MeshSelector.BeginUpdate(); foreach (TPMesh m in Global.meshes) { ListViewItem temp = new ListViewItem(m); temp.Tag = m; MeshSelector.Items.Add((TPMesh)temp.Tag); } MeshSelector.EndUpdate(); }
GameObject BuildLODGroup(MeshLODs list, MeshSelector selector, VoxModel model, GameObject modelGO, string name, Material material) { var go = new GameObject(name); go.transform.SetParent(modelGO.transform); var g = go.AddComponent <LODGroup>(); g.SetLODs(list.LODs.Select((m, l) => selector(list.LODs[l])).Select((m, l) => { var goLOD = new GameObject(l.ToString(), typeof(MeshFilter), typeof(MeshRenderer)); goLOD.transform.SetParent(go.transform); var h = Mathf.Pow(2 - (model.Settings.LODBias / 16f), -l); //Debug.Log(h); var r = new[] { goLOD.GetComponent <MeshRenderer>(), }; r[0].material = material; var mf = goLOD.GetComponent <MeshFilter>(); mf.mesh = m; return(new LOD(h, r)); }).ToArray()); g.RecalculateBounds(); return(go); }