python类Color()的实例源码

matpipeline.py 文件源码 项目:blemd 作者: niacdoial 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def __sub__(self, other):
        if not isinstance(other, Node):
            other = Node(data=other)
        if other.type == 'val':
            if other.value in (0, Color((0,0,0)), Vector((0,0,0))):
                return self  # useless addition if other is zero
        if self.type == 'val':
            if self.value in (0, Color((0,0,0)), Vector((0,0,0))):
                return other  # useless addition if other is zero
        return Node('SUBTRACT', inputs=(self, other))
matpipeline.py 文件源码 项目:blemd 作者: niacdoial 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def getMods(self, dest, bias, scale, clamp, type):
        if bias == 0:
            ret = dest
        elif bias <= 2:
            if bias == 2:
                val = -0.5
            else:
                val = 0.5
            if type == 1:
                ret = Node(data=Color((val, val, val)))
            else:
                ret = Node(data=val)
            ret = dest + ret
        else:
            print("getMods(): unknown bias", bias)
            if type == 1:
                ret = Node(data=Color((0,0,0)))
            else:
                ret = Node(data=0)

        if scale == 0:
            pass
        elif scale == 1:
            ret *= (Node('triple', Node(data=2)), 2)[type]  # auto select type
        elif scale == 2:
            ret *= (Node('triple', Node(data=4)), 4)[type]
        elif scale == 3:
            ret *= (Node('triple', Node(data=0.5)), 0.5)[type]
        else:
            print("getMods(): unknown scale", scale)

        if clamp:
            ret = Node('clamp', ret)

        return ret
materialhelper.py 文件源码 项目:blemd 作者: niacdoial 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def add_err_material(obj):
    mat = bpy.data.materials.new("ERROR MATERIAL")
    mat.diffuse_color = mathutils.Color((0,0,1))
    mat.specular_color = mathutils.Color((1,1,1))
    mat.diffuse_intensity = 1
    add_material(obj, mat)
    return mat
materialhelper.py 文件源码 项目:blemd 作者: niacdoial 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def add_vcolor(mesh, representation, layerID):
    """copies vertex colors (layer `layerID`) from the representation to the blender mesh"""

    vx_layer = mesh.vertex_colors.new("v_color_"+str(layerID))
    vx_layer_a = mesh.vertex_colors.new("v_color_alpha_"+str(layerID))
    # alpimg = bpy.data.images.new(mesh.name+'_vcol_alpha_'+str(layerID), 256, 256)
    # XCX image method buggy -> disabled

    for num, com in enumerate(representation.loops):
        vx_layer.data[num].color = mathutils.Color(com.VColors[layerID][:3])
        vx_layer_a.data[num].color = mathutils.Color(tuple(com.VColors[layerID][3])*3)
object_color_rules.py 文件源码 项目:bpy_lambda 作者: bcongdon 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def object_colors_calc(rules, objects):
    from mathutils import Color

    rules_cb = [getattr(rule_test, rule.type) for rule in rules]
    rules_blend = [(1.0 - rule.factor, rule.factor) for rule in rules]
    rules_color = [Color(rule.color) for rule in rules]
    rules_cache = [{} for i in range(len(rules))]
    rules_inv = [rule.use_invert for rule in rules]

    for obj in objects:
        is_set = False
        obj_color = Color(obj.color[0:3])

        for (rule, test_cb, color, blend, cache, use_invert) \
             in zip(rules, rules_cb, rules_color, rules_blend, rules_cache, rules_inv):

            if test_cb(obj, rule, cache) is not use_invert:
                if is_set is False:
                    obj_color = color
                else:
                    # prevent mixing colors loosing saturation
                    obj_color_s = obj_color.s
                    obj_color = (obj_color * blend[0]) + (color * blend[1])
                    obj_color.s = (obj_color_s * blend[0]) + (color.s * blend[1])

                is_set = True

        if is_set:
            obj.show_wire_color = True
            obj.color[0:3] = obj_color
ui.py 文件源码 项目:bpy_lambda 作者: bcongdon 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def execute(self, context):
        obj = context.object
        armature = obj.data
        if not hasattr(armature, 'rigify_colors'):
            return {'FINISHED'}

        groups = ['Root', 'IK', 'Special', 'Tweak', 'FK', 'Extra']

        for g in groups:
            if g in armature.rigify_colors.keys():
                continue

            armature.rigify_colors.add()
            armature.rigify_colors[-1].name = g

            armature.rigify_colors[g].select = Color((0.3140000104904175, 0.7839999794960022, 1.0))
            armature.rigify_colors[g].active = Color((0.5490000247955322, 1.0, 1.0))
            armature.rigify_colors[g].standard_colors_lock = True

            if g == "Root":
                armature.rigify_colors[g].normal = Color((0.43529415130615234, 0.18431372940540314, 0.41568630933761597))
            if g == "IK":
                armature.rigify_colors[g].normal = Color((0.6039215922355652, 0.0, 0.0))
            if g== "Special":
                armature.rigify_colors[g].normal = Color((0.9568628072738647, 0.7882353663444519, 0.0470588281750679))
            if g== "Tweak":
                armature.rigify_colors[g].normal = Color((0.03921568766236305, 0.21176472306251526, 0.5803921818733215))
            if g== "FK":
                armature.rigify_colors[g].normal = Color((0.11764706671237946, 0.5686274766921997, 0.03529411926865578))
            if g== "Extra":
                armature.rigify_colors[g].normal = Color((0.9686275124549866, 0.250980406999588, 0.0941176563501358))

        return {'FINISHED'}
utils.py 文件源码 项目:bpy_lambda 作者: bcongdon 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def gamma_correct(color):

    corrected_color = Color()
    for i, component in enumerate(color):
        corrected_color[i] = linsrgb_to_srgb(color[i])
    return corrected_color
spectrum.py 文件源码 项目:kaleidoscope 作者: blenderskool 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def init(self, context):
        self.outputs.new('NodeSocketColor', "Color 1")
        self.outputs.new('NodeSocketColor', "Color 2")
        self.outputs.new('NodeSocketColor', "Color 3")
        self.outputs.new('NodeSocketColor', "Color 4")
        self.outputs.new('NodeSocketColor', "Color 5")
        self.outputs["Color 1"].default_value = bpy.context.scene.kaleidoscope_spectrum_props.color1
        self.outputs["Color 2"].default_value = bpy.context.scene.kaleidoscope_spectrum_props.color2
        self.outputs["Color 3"].default_value = bpy.context.scene.kaleidoscope_spectrum_props.color3
        self.outputs["Color 4"].default_value = bpy.context.scene.kaleidoscope_spectrum_props.color4
        self.outputs["Color 5"].default_value = bpy.context.scene.kaleidoscope_spectrum_props.color5
        self.width = 226
spectrum.py 文件源码 项目:kaleidoscope 作者: blenderskool 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def execute(self, context):
        global before_shuffle_colors
        global shuffle_time
        kaleidoscope_spectrum_props = bpy.context.scene.kaleidoscope_spectrum_props

        col1 = Color()
        col2 = Color()
        col3 = Color()
        col4 = Color()
        col5 = Color()

        for i in range(1, 6):
            exec("col"+str(i)+".r = kaleidoscope_spectrum_props.color"+str(i)+"[0]")
            exec("col"+str(i)+".g = kaleidoscope_spectrum_props.color"+str(i)+"[1]")
            exec("col"+str(i)+".b = kaleidoscope_spectrum_props.color"+str(i)+"[2]")

        if shuffle_time == 1:
            before_shuffle_colors.clear()
            before_shuffle_colors.extend([(col1.r, col1.g, col1.b, 1.0), (col2.r, col2.g, col2.b, 1.0), (col3.r, col3.g, col3.b, 1.0), (col4.r, col4.g, col4.b, 1.0), (col5.r, col5.g, col5.b, 1.0)])

        index = [1, 2, 3, 4, 5]
        random.shuffle(index)

        for i in range(1, 6):
            exec("kaleidoscope_spectrum_props.color"+str(index[i-1])+" = col"+str(i)+".r, col"+str(i)+".g, col"+str(i)+".b, 1.0")

        current_history()
        shuffle_time=shuffle_time+1
        return{'FINISHED'}
spectrum.py 文件源码 项目:kaleidoscope 作者: blenderskool 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def execute(self, context):
        global shuffle_time
        global before_shuffle_colors
        kaleidoscope_spectrum_props = bpy.context.scene.kaleidoscope_spectrum_props
        color1 = Color()
        color2 = Color()
        color3 = Color()
        color4 = Color()
        color5 = Color()

        for i in range(1, 6):
            exec("color"+str(i)+".r = kaleidoscope_spectrum_props.color"+str(i)+"[0]")
            exec("color"+str(i)+".g = kaleidoscope_spectrum_props.color"+str(i)+"[1]")
            exec("color"+str(i)+".b = kaleidoscope_spectrum_props.color"+str(i)+"[2]")

        if shuffle_time == 1:
            before_shuffle_colors.clear()
            before_shuffle_colors.extend([(color1.r, color1.g, color1.b, 1.0), (color2.r, color2.g, color2.b, 1.0), (color3.r, color3.g, color3.b, 1.0), (color4.r, color4.g, color4.b, 1.0), (color5.r, color5.g, color5.b, 1.0)])

        for i in range(1, 6):
            exec("kaleidoscope_spectrum_props.color"+str(6-i)+"[0] = color"+str(i)+".r")
            exec("kaleidoscope_spectrum_props.color"+str(6-i)+"[1] = color"+str(i)+".g")
            exec("kaleidoscope_spectrum_props.color"+str(6-i)+"[2] = color"+str(i)+".b")

        current_history()
        shuffle_time = shuffle_time+1
        return{'FINISHED'}
cm_brainClasses.py 文件源码 项目:CrowdMaster 作者: johnroper100 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def highLight(self, frame):
        """Colour the nodes in the interface to reflect the output"""
        preferences = bpy.context.user_preferences.addons[__package__].preferences
        if preferences.use_node_color:
            hue, sat, val = self.resultLog[frame]
            self.bpyNode.use_custom_color = True
            c = mathutils.Color()
            c.hsv = hue, sat, val
            self.bpyNode.color = c
            self.bpyNode.keyframe_insert("color")
cm_brainClasses.py 文件源码 项目:CrowdMaster 作者: johnroper100 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def highLight(self, frame):
        preferences = bpy.context.user_preferences.addons[__package__].preferences
        if preferences.use_node_color:
            if frame in self.resultLog:
                hue, sat, val = self.resultLog[frame]
            else:
                hue = 0.0
                sat = 0.0
                val = 1.0
            self.bpyNode.use_custom_color = True
            c = mathutils.Color()
            c.hsv = hue, sat, val
            self.bpyNode.color = c
            self.bpyNode.keyframe_insert("color")
pbr_utils.py 文件源码 项目:blendergltf 作者: Kupoman 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def set_emissive_factor(self, value):
    material = self.id_data
    material.emit = mathutils.Color(value).v * 2.0
export_dae.py 文件源码 项目:DAEBlend 作者: gregeryb 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def average_color(self, color, count):
        if count != 0:
            return Color(color / count).freeze()
        else:
            return Color(color).freeze()
spectrum.py 文件源码 项目:blender_addons_collection 作者: manorius 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def init(self, context):
        self.outputs.new('NodeSocketColor', "Color 1")
        self.outputs.new('NodeSocketColor', "Color 2")
        self.outputs.new('NodeSocketColor', "Color 3")
        self.outputs.new('NodeSocketColor', "Color 4")
        self.outputs.new('NodeSocketColor', "Color 5")
        self.outputs["Color 1"].default_value = bpy.context.scene.kaleidoscope_spectrum_props.color1
        self.outputs["Color 2"].default_value = bpy.context.scene.kaleidoscope_spectrum_props.color2
        self.outputs["Color 3"].default_value = bpy.context.scene.kaleidoscope_spectrum_props.color3
        self.outputs["Color 4"].default_value = bpy.context.scene.kaleidoscope_spectrum_props.color4
        self.outputs["Color 5"].default_value = bpy.context.scene.kaleidoscope_spectrum_props.color5
        self.width = 226
spectrum.py 文件源码 项目:blender_addons_collection 作者: manorius 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def execute(self, context):
        global before_shuffle_colors
        global shuffle_time
        kaleidoscope_spectrum_props = bpy.context.scene.kaleidoscope_spectrum_props

        col1 = Color()
        col2 = Color()
        col3 = Color()
        col4 = Color()
        col5 = Color()

        for i in range(1, 6):
            exec("col"+str(i)+".r = kaleidoscope_spectrum_props.color"+str(i)+"[0]")
            exec("col"+str(i)+".g = kaleidoscope_spectrum_props.color"+str(i)+"[1]")
            exec("col"+str(i)+".b = kaleidoscope_spectrum_props.color"+str(i)+"[2]")

        if shuffle_time == 1:
            before_shuffle_colors.clear()
            before_shuffle_colors.extend([(col1.r, col1.g, col1.b, 1.0), (col2.r, col2.g, col2.b, 1.0), (col3.r, col3.g, col3.b, 1.0), (col4.r, col4.g, col4.b, 1.0), (col5.r, col5.g, col5.b, 1.0)])

        index = [1, 2, 3, 4, 5]
        random.shuffle(index)

        for i in range(1, 6):
            exec("kaleidoscope_spectrum_props.color"+str(index[i-1])+" = col"+str(i)+".r, col"+str(i)+".g, col"+str(i)+".b, 1.0")

        current_history()
        shuffle_time=shuffle_time+1
        return{'FINISHED'}
spectrum.py 文件源码 项目:blender_addons_collection 作者: manorius 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def execute(self, context):
        global shuffle_time
        global before_shuffle_colors
        kaleidoscope_spectrum_props = bpy.context.scene.kaleidoscope_spectrum_props
        color1 = Color()
        color2 = Color()
        color3 = Color()
        color4 = Color()
        color5 = Color()

        for i in range(1, 6):
            exec("color"+str(i)+".r = kaleidoscope_spectrum_props.color"+str(i)+"[0]")
            exec("color"+str(i)+".g = kaleidoscope_spectrum_props.color"+str(i)+"[1]")
            exec("color"+str(i)+".b = kaleidoscope_spectrum_props.color"+str(i)+"[2]")

        if shuffle_time == 1:
            before_shuffle_colors.clear()
            before_shuffle_colors.extend([(color1.r, color1.g, color1.b, 1.0), (color2.r, color2.g, color2.b, 1.0), (color3.r, color3.g, color3.b, 1.0), (color4.r, color4.g, color4.b, 1.0), (color5.r, color5.g, color5.b, 1.0)])

        for i in range(1, 6):
            exec("kaleidoscope_spectrum_props.color"+str(6-i)+"[0] = color"+str(i)+".r")
            exec("kaleidoscope_spectrum_props.color"+str(6-i)+"[1] = color"+str(i)+".g")
            exec("kaleidoscope_spectrum_props.color"+str(6-i)+"[2] = color"+str(i)+".b")

        current_history()
        shuffle_time = shuffle_time+1
        return{'FINISHED'}
marble.py 文件源码 项目:sverchok_nodes_collection 作者: kalwalt 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def marble_color(x):
    clr = Color((0.0, 0.0, 0.0))
    x = math.sqrt(x + 1.0) * .707
    clr.g = green + .8 * x
    x = math.sqrt(x)
    clr.r = red + .6 * x
    clr.b = blue + .4 * x
    return clr[:]
common.py 文件源码 项目:yPanel 作者: ucupumar 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def srgb_to_linear(inp):

    if type(inp) == float:
        return srgb_to_linear_per_element(inp)

    elif type(inp) == Color:

        c = inp.copy()

        for i in range(3):
            c[i] = srgb_to_linear_per_element(c[i])

        return c
common.py 文件源码 项目:yPanel 作者: ucupumar 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def linear_to_srgb(inp):

    if type(inp) == float:
        return linear_to_srgb_per_element(inp)

    elif type(inp) == Color:

        c = inp.copy()

        for i in range(3):
            c[i] = linear_to_srgb_per_element(c[i])

        return c


问题


面经


文章

微信
公众号

扫码关注公众号