Пример #1
0
        void Start()
        {
            if (!starData)
            {
                Debug.LogError("No StarData asset assigned to the renderer", this);

                enabled = false;
                return;
            }

            Star[] stars = starData.stars;

            List <Star> starsList = cullBelowHorizon ?
                                    starsList                         = Starmap.GetStarsCulledBelowHorizon(stars, transform.InverseTransformDirection(Vector3.up), cullBelowHorizonOffset) :
                                                            starsList = new List <Star>(stars);


            if (useCubicSplitting)
            {
                var cubicSplitStars = CubicSplit(starsList);

                foreach (var cs in cubicSplitStars)
                {
                    var splits = Starmap.SplitToMax(cs, Starmap.MESH_STAR_COUNT_LIMIT);

                    foreach (var chunk in splits)
                    {
                        Mesh m = GenerateStarsAsStaticQuadsMesh(chunk);

                        GameObject go = new GameObject("Stars");
                        go.AddComponent <MeshFilter>().sharedMesh = m;
                        go.AddComponent <MeshRenderer>().material = material;
                        go.transform.SetParent(gameObject.transform, false);
                    }
                }
            }
            else
            {
                var splits = Starmap.SplitToMax(starsList, Starmap.MESH_STAR_COUNT_LIMIT);

                foreach (var chunk in splits)
                {
                    Mesh m = GenerateStarsAsStaticQuadsMesh(chunk);

                    GameObject go = new GameObject("Stars");
                    go.AddComponent <MeshFilter>().sharedMesh = m;
                    go.AddComponent <MeshRenderer>().material = material;
                    go.transform.SetParent(gameObject.transform, false);
                }
            }
        }
Пример #2
0
        void Start()
        {
            if (!starData)
            {
                Debug.LogError("No StarData asset assigned to the renderer", this);

                enabled = false;
                return;
            }

            var stars = new List <Star>(starData.stars);

            var splits = Starmap.SplitToMax(stars, Starmap.MESH_STAR_COUNT_LIMIT);

            foreach (var chunk in splits)
            {
                Mesh m = GenerateStarsAsGeometryMesh(chunk);

                GameObject go = new GameObject("Stars");
                go.AddComponent <MeshFilter>().sharedMesh = m;
                go.AddComponent <MeshRenderer>().material = material;
                go.transform.SetParent(gameObject.transform, false);
            }
        }