internal void CheckShader() { TerrainObject curr = currentSelect.GetComponent <TerrainObject>(); foreach (var a in TerrainShader.pool) { if (a.shader == curr.material.shader) { shaderType = (TerrainShaderType)a.type; if (curr.material.HasProperty("_Tiling")) { upsideTile = curr.material.GetVector("_Tiling"); upsideF = curr.material.GetFloat("_UpSide"); blendFac = curr.material.GetFloat("_Blend"); } } } }
public void SetCurrentTerrainShaderType( TerrainShaderType newType ){ m_CurrentTerrainShaderType = newType; if ( m_CurrentTerrainShaderType == TerrainShaderType.Simple ){ terrainMaterial.shader = Shader.Find ("Nature/Terrain/Bumped Specular"); terrainMaterial.SetColor ( "_SpecColor", Color.black ); terrainMaterial.SetFloat ( "_Shininess", 0.0f ); } else { terrainMaterial.shader = Shader.Find ("AGF/AGF_TriplanarTerrain"); } for ( int i = 0; i < m_CurrentTerrainSet.images.Length; i++ ){ SetTexture ( i, m_CurrentTerrainSet.images[i], m_CurrentTerrainSet.normals[i], m_CurrentTerrainSet.paths[i] ); } SetTerrainTiling( m_TerrainTiling, true ); if ( currentTerrainInstance ){ currentTerrainInstance.Flush(); } }