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);
 }