Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
        }