コード例 #1
0
        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");
                    }
                }
            }
        }
コード例 #2
0
	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();	
		}
	}