/// <summary>
/// Initializes the primary mesh material.
/// Note: for good explanation of Renderer.materials see http://answers.unity3d.com/questions/228744/material-versus-shared-material.html
/// </summary>
/// <param name="material">The material.</param>
private void InitializePrimaryMeshMaterial(Material material) {
if (!material.IsKeywordEnabled(UnityConstants.StdShader_RenderModeKeyword_FadeTransparency)) {
material.EnableKeyword(UnityConstants.StdShader_RenderModeKeyword_FadeTransparency);
}
if (!material.IsKeywordEnabled(UnityConstants.StdShader_MapKeyword_Metallic)) {
material.EnableKeyword(UnityConstants.StdShader_MapKeyword_Metallic);
}
/*******************************************************************************************
* These values were set when I wasn't using the metal material's MetallicMap, opting
* instead to set these. UNCLEAR Why I don't know, but not using the MatallicMap kept the
* colors from showing up on the element unless the shader tab was clicked in the inspector.
*
* if (material.GetFloat(UnityConstants.StdShader_Property_MetallicFloat) != 0.25F) {
* material.SetFloat(UnityConstants.StdShader_Property_MetallicFloat, 0.25F);
* }
* if (material.GetFloat(UnityConstants.StdShader_Property_SmoothnessFloat) != 0.4F) {
* material.SetFloat(UnityConstants.StdShader_Property_SmoothnessFloat, 0.4F);
* }
*******************************************************************************************/
if (!material.IsKeywordEnabled(UnityConstants.StdShader_MapKeyword_Normal)) {
material.EnableKeyword(UnityConstants.StdShader_MapKeyword_Normal);
}
if (material.GetFloat(UnityConstants.StdShader_Property_NormalScaleFloat) != 1.25F) {
material.SetFloat(UnityConstants.StdShader_Property_NormalScaleFloat, 1.25F);
}
}