public Material createMaterial(string name) { string shdName = string.IsNullOrEmpty(this.shader) ? "KSP/Diffuse" : this.shader; Shader shd = KSPShaderLoader.getShader(shdName); Material mat = new Material(shd); mat.name = name; TextureSet.updateMaterialProperties(mat, props); return(mat); }
public static void updateMaterial(Material mat, string shader, ShaderProperty[] props) { if (!String.IsNullOrEmpty(shader)) { Shader s = KSPShaderLoader.getShader(shader); if (s != null && s != mat.shader) { mat.shader = s; } } updateMaterialProperties(mat, props); }
public static void updateMaterial(Material mat, string shader, ShaderProperty[] props) { if (!String.IsNullOrEmpty(shader)) { Shader s = KSPShaderLoader.getShader(shader); if (s != null && s != mat.shader) { mat.shader = s; } else if (s == null) { MonoBehaviour.print("ERROR: KSPShaderLoader - Could not locate shader: " + shader + " while updating material: " + mat); } } updateMaterialProperties(mat, props); }
public void toggleDebugSphere() { if (debugSphere != null) { GameObject.Destroy(debugSphere); debugSphere = null; } else { debugSphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); debugSphere.name = "ReflectionDebugSphere"; GameObject.DestroyImmediate(debugSphere.GetComponent <Collider>()); debugSphere.transform.localScale = Vector3.one * 10f; Shader metallic = KSPShaderLoader.getShader("SSTU/PBR/Metallic"); Material mat = new Material(metallic); mat.SetFloat("_Metallic", 1); mat.SetFloat("_Smoothness", 1); debugSphere.GetComponent <MeshRenderer>().material = mat; } }