コード例 #1
0
        void OnGUI()
        {
            materialSettings = thisMaterial.GetTransitionSettingsFromShader();

            GUI.skin = _mySkin;
            GUILayout.Label("Transition settings");
            GUI.skin = null;

            EditorGUILayout.BeginHorizontal();
            {
                materialSettings.transitionLength1 = EditorGUILayout.FloatField("Transition1 Lenght", materialSettings.transitionLength1);
                materialSettings.transitionLength2 = EditorGUILayout.FloatField("Transition2 Lenght", materialSettings.transitionLength2);
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            {
                EditorGUILayout.BeginVertical();
                {
                    EditorGUILayout.BeginHorizontal();
                    {
                        EditorGUILayout.PrefixLabel("Transition1 Position");
                        EditorGUILayout.FloatField(materialSettings.transitionPos1);
                    } EditorGUILayout.EndHorizontal();
                    DrawTPosition(ref materialSettings.transitionPos1, ref materialSettings.transitionType1);
                }
                EditorGUILayout.EndVertical();

                EditorGUILayout.BeginVertical();
                {
                    EditorGUILayout.BeginHorizontal();
                    {
                        EditorGUILayout.PrefixLabel("Transition2 Position");
                        EditorGUILayout.FloatField(materialSettings.transitionPos2);
                    } EditorGUILayout.EndHorizontal();
                    DrawTPosition(ref materialSettings.transitionPos2, ref materialSettings.transitionType2);
                }
                EditorGUILayout.EndVertical();
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Separator();
            EditorGUILayout.Separator();

            EditorGUILayout.BeginHorizontal();
            {
                EditorGUILayout.BeginVertical();
                {
                    EditorGUILayout.BeginHorizontal();
                    {
                        EditorGUILayout.PrefixLabel("Transition1 Type");
                        EditorGUILayout.FloatField(materialSettings.transitionType1);
                    } EditorGUILayout.EndHorizontal();
                    DrawTType(ref materialSettings.transitionType1);
                }
                EditorGUILayout.EndVertical();

                EditorGUILayout.BeginVertical();
                {
                    EditorGUILayout.BeginHorizontal();
                    {
                        EditorGUILayout.PrefixLabel("Transition2 Type");
                        EditorGUILayout.FloatField(materialSettings.transitionType2);
                    } EditorGUILayout.EndHorizontal();
                    DrawTType(ref materialSettings.transitionType2);
                }
                EditorGUILayout.EndVertical();
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Separator();
            EditorGUILayout.Separator();

            EditorGUILayout.BeginHorizontal();
            {
                DrawT1Textures();
                GUILayout.FlexibleSpace();
                DrawT2Textures();
                GUILayout.FlexibleSpace();
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Separator();
            EditorGUILayout.Separator();
            EditorGUILayout.Separator();
            EditorGUILayout.Separator();

            materialSettings.limitMin = EditorGUILayout.FloatField("LimitMin", materialSettings.limitMin);
            materialSettings.limitMax = EditorGUILayout.FloatField("LimitMax", materialSettings.limitMax);

            thisMaterial.SetTransitionSettingsToShader(materialSettings);
        }
コード例 #2
0
        public override void ChangeMaterialSettings(int biome, MaterialTerrain material, MaterialTerrain.MaterialSettings settings)
        {
            material.SetMaterialSettingsToShader(settings);

            foreach (Chunk chunk in _chunks)
            {
                var terrainManager = chunk.chunkTerrain.GetComponent <TerrainManager>();
                terrainManager.ChangeMaterialSettings(biome, material, settings);
            }
        }
コード例 #3
0
        public override void ChangeMaterialSettings(int biome, MaterialTerrain material, MaterialTerrain.MaterialSettings settings)
        {
            if (chunk.chunkTerrain.materialTemplate == null)
            {
                return;
            }

            if (chunk.chunkTerrain.materialTemplate.name.Contains(material.name) || biome == BiomeManager.biomes.Count + 1)
            {
                MaterialTerrain newMat = new MaterialTerrain(chunk.chunkTerrain.materialTemplate);
                if (biome == BiomeManager.biomes.Count + 1)
                {
                    newMat.withoutTextures = true;
                }
                newMat.SetMaterialSettingsToShader(settings);
                newMat.withoutTextures = false;
                chunk.chunkTerrain.materialTemplate = newMat.material;
            }
        }
コード例 #4
0
 abstract public void ChangeMaterialSettings(int biomeSelected, MaterialTerrain material, MaterialTerrain.MaterialSettings settings);