Új hozzászólás Aktív témák

  • repvez

    addikt

    válasz repvez #3921 üzenetére

    valakinek ötlete, hogy hogy kéne ezt müködésre birni? Blenderen belül akarom futtatni pyton környezetben, de nem csinál semmit .Probáltam már sima 3.7es pytonnal és VS CODE-ban is.
    Nem tudom, hogy ezeknél kell e valami speciális dolgot beállitani ezeknél a programoknál,hogy müködjön a kod,mert én csak a default telepitésben bemásoltam és probáltam leforditani, de semmi eredmény nem lett.

    Azt akarnám vele megcsinálni, hogy csináljon egy node-t aminél a képlet elemei a bemenet az eredmény a kimenet és a node-n belül, meg meg lehetne addni neki, hogy milyen matematikai müveleteket hajtson végre rajtuk és természetesen több node-t lehessen kombinálni összekötni , hogy az egyik eredménye a másik bemenete legyen .


    import bpy
    import math

    def create_math_node(formula):
        # create a new node tree
        tree = bpy.data.node_groups.new("Math Formula", type='ShaderNodeTree')

        # create input and output nodes
        input_node = tree.nodes.new("NodeGroupInput")
        output_node = tree.nodes.new("NodeGroupOutput")

        # create math node
        math_node = tree.nodes.new("ShaderNodeMath")
        math_node.operation = 'MATH'

        # link input and output nodes to math node
        tree.links.new(input_node.outputs[0], math_node.inputs[0])
        tree.links.new(math_node.outputs[0], output_node.inputs[0])

        # set the formula on the math node
        math_node.inputs[1].default_value = formula

        return tree

    # create a new material
    mat = bpy.data.materials.new("MathMaterial")

    # create the node tree
    math_tree = create_math_node("sin(value)")

    # assign the node tree to the material
    mat.node_tree = math_tree

    # create an object
    bpy.ops.mesh.primitive_cube_add()

    # assign the material to the object
    bpy.context.object.active_material = mat

    # switch to the material editor
    bpy.context.area.type = 'NODE_EDITOR'

    # select the material
    bpy.context.space_data.node_tree = mat.node_tree

    # evaluate the node
    result = math_tree.nodes[0].outputs[0].default_value
    print(result)

Új hozzászólás Aktív témák