Beispiel #1
0
        protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container)
        {
            YAMLMappingNode node = base.ExportYAMLRoot(container);

            node.AddSerializedVersion(ToSerializedVersion(container.ExportVersion));
            node.Add(LocalReferencePointName, LocalReferencePoint.ExportYAML(container));
            node.Add(SizeName, Size);
            node.Add(FadeModeName, (int)GetFadeMode(container.Version));
            node.Add(AnimateCrossFadingName, AnimateCrossFading);
            node.Add(LastLODIsBillboardName, LastLODIsBillboard);
            node.Add(LODsName, LODs.ExportYAML(container));
            node.Add(EnabledName, Enabled);
            return(node);
        }
Beispiel #2
0
    void Update()
    {
        if (Vector3.Distance(player.transform.position, meshObj.transform.position) < treshhold)
        {
            currentLOD = LODs.LOD2;
        }
        else
        {
            currentLOD = LODs.LOD1;
            if (gen == true)
            {
                ConstructMesh(this.GetComponent <MeshFilter>().sharedMesh, subdivx, subdivy, sizeOfChunk);
                gen = false;
            }
        }

        if (currentLOD == LODs.LOD2)
        {
            Destroy(meshObj.GetComponent <MeshRenderer>());
            Destroy(meshObj.GetComponent <MeshFilter>());
            GameObject[,] subs = new GameObject[2, 2];
            if (meshObj.transform.childCount == 0)
            {
                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < 2; j++)
                    {
                        subs[i, j] = new GameObject();
                        subs[i, j].transform.parent = meshObj.transform;
                        subs[i, j].AddComponent <MeshFilter>();
                        subs[i, j].GetComponent <MeshFilter>().sharedMesh = new Mesh();
                        if (subs[i, j].GetComponent <MeshRenderer>() == null)
                        {
                            subs[i, j].AddComponent <MeshRenderer>().sharedMaterial = mat;
                        }
                        subs[i, j].AddComponent <tester>().treshhold       = treshhold / 2;
                        subs[i, j].GetComponent <tester>().player          = player;
                        subs[i, j].GetComponent <tester>().planetRadius    = planetRadius;
                        subs[i, j].GetComponent <tester>().temp_Resolution = temp_Resolution;
                        subs[i, j].GetComponent <tester>().mat             = mat;
                        subs[i, j].GetComponent <tester>().sizeOfChunk     = sizeOfChunk / 2;
                        subs[i, j].GetComponent <tester>().Type            = Type;
                    }
                }

                float subdiv = (temp_Resolution / 2) - 0.5f;


                subs[0, 1].GetComponent <tester>().subdivx = -subdiv;
                subs[1, 0].GetComponent <tester>().subdivx = subdiv;
                subs[0, 0].GetComponent <tester>().subdivx = -subdiv;
                subs[1, 1].GetComponent <tester>().subdivx = subdiv;

                subs[0, 1].GetComponent <tester>().subdivy = subdiv;
                subs[1, 0].GetComponent <tester>().subdivy = -subdiv;
                subs[0, 0].GetComponent <tester>().subdivy = -subdiv;
                subs[1, 1].GetComponent <tester>().subdivy = subdiv;

                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < 2; j++)
                    {
                        subs[i, j].GetComponent <tester>().gen = true;
                    }
                }

                //ConstructMesh(subs[0, 1].GetComponent<MeshFilter>().sharedMesh, -subdiv, subdiv, sizeOfChunk / 2);
                //ConstructMesh(subs[1, 0].GetComponent<MeshFilter>().sharedMesh, subdiv, -subdiv, sizeOfChunk / 2);
                //ConstructMesh(subs[0, 0].GetComponent<MeshFilter>().sharedMesh, -subdiv, -subdiv, sizeOfChunk / 2);
                //ConstructMesh(subs[1, 1].GetComponent<MeshFilter>().sharedMesh, subdiv, subdiv, sizeOfChunk / 2);
            }
        }
    }