private static string BuildShaderName(MmdMaterial mmdMaterial, MmdUnityConfig config, bool isTransparent) { var shaderNameBuilder = new StringBuilder(); shaderNameBuilder.Append("MMD/"); if (isTransparent) { shaderNameBuilder.Append("Transparent/"); } shaderNameBuilder.Append("PMDMaterial"); if (MmdUnityConfig.DealSwitch(config.EnableEdge, mmdMaterial.DrawEdge)) { shaderNameBuilder.Append("-with-Outline"); } if (!mmdMaterial.DrawDoubleFace) { shaderNameBuilder.Append("-CullBack"); } if (!MmdUnityConfig.DealSwitch(config.EnableCastShadow, mmdMaterial.CastSelfShadow)) { shaderNameBuilder.Append("-NoCastShadow"); } var shaderName = shaderNameBuilder.ToString(); return(shaderName); }
private void RefreshShaderKeywords(MmdMaterial mmdMaterial, MmdUnityConfig config, UnityEngine.Material material) { RefreshDrawSelfShadowKeyword(MmdUnityConfig.DealSwitch(config.EnableDrawSelfShadow, mmdMaterial.DrawSelfShadow), material); }