예제 #1
0
 public override void TransferFromMaterialAndGroup(Material m, ShaderPart p)
 {
     if (materialProperty.type != p.materialProperty.type)
     {
         return;
     }
     MaterialHelper.CopyMaterialValueFromProperty(materialProperty, p.materialProperty);
     TransferReferencePropertiesToMaterial(m, p);
 }
예제 #2
0
        private void TransferReferencePropertiesToMaterial(Material target, ShaderPart p)
        {
            if (p.options.reference_properties == null || this.options.reference_properties == null)
            {
                return;
            }
            for (int i = 0; i < p.options.reference_properties.Length && i < options.reference_properties.Length; i++)
            {
                if (shaderEditor.propertyDictionary.ContainsKey(this.options.reference_properties[i]) == false)
                {
                    continue;
                }

                ShaderProperty targetP = shaderEditor.propertyDictionary[this.options.reference_properties[i]];
                ShaderProperty sourceP = p.shaderEditor.propertyDictionary[p.options.reference_properties[i]];
                MaterialHelper.CopyMaterialValueFromProperty(targetP.materialProperty, sourceP.materialProperty);
            }
        }
예제 #3
0
 public override void TransferFromMaterialAndGroup(Material m, ShaderPart p)
 {
     if (materialProperty.type != p.materialProperty.type)
     {
         return;
     }
     MaterialHelper.CopyMaterialValueFromProperty(materialProperty, p.materialProperty);
     if (keyword != null)
     {
         SetKeyword(shaderEditor.materials, m.GetFloat(p.materialProperty.name) == 1);
     }
     if (is_animatable && p.is_animatable)
     {
         ShaderOptimizer.CopyAnimatedTagFromProperty(p.materialProperty, materialProperty);
     }
     this.is_animated = is_animatable && ShaderOptimizer.GetAnimatedTag(materialProperty) != "";
     this.is_renaming = is_animatable && ShaderOptimizer.GetAnimatedTag(materialProperty) == "2";
 }