nicoyiqi

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 25 total)
  • Author
    Posts
  • in reply to: Nested Graph Node (work with nodecanvas) #1507

    nicoyiqi
    Participant

    hi,glad you like it. I’ll share more my new feature scripts. hope flowcanvas and nodecanvas become more powerful.

    in reply to: Function Node,Find Node, and some usefull feature #1416

    nicoyiqi
    Participant

    hi, I upload a new version package.solved the problem you meet.

    in reply to: Function Node,Find Node, and some usefull feature #1413

    nicoyiqi
    Participant

    update: function node can set custom value type now.

    FlowCanvas_FunctionNode_FindNode_5

    download the file name endwith “_FindNode_5.unitypackage”. I can’t delete the wrong unitypackage.

    Attachments:
    You must be logged in to view attached files.
    in reply to: Function Node,Find Node, and some usefull feature #1404

    nicoyiqi
    Participant

    The purpose to create custom function node is to make up for custom event has no return value. although flowcanvas can call function by reflectmethod, I think this custom function node is nessary and convenient way to quick test some function than write code.

    in reply to: Function Node,Find Node, and some usefull feature #1400

    nicoyiqi
    Participant

    import and override. have tested On Andriod phone. no error warning.

    [edit]
    I found the function node has some bugs,
    download the third file.

    FlowCanvas_FunctionNode_FindNode_3

    Attachments:
    You must be logged in to view attached files.
    in reply to: Optimization, performance etc. #1387

    nicoyiqi
    Participant

    2

    find node search all node that inherited From FlowNode Type in graph. and compare each node’s name to search text. may be some node in your graph get some problem.

    Attachments:
    You must be logged in to view attached files.
    in reply to: Optimization, performance etc. #1381

    nicoyiqi
    Participant

    Do you have imported and overide those script files? if you only import the find node cs file, it can’t work correctly. in order to add some new function,such as focus view to selected node, I have to modified some code in other script.

    here is the new find node script,this version add new feature, select node by type name. I have tested in a clean Project.
    just to overide all scripts.

    find node Category move to Functions menu.

    5

    FindNode2

    Attachments:
    You must be logged in to view attached files.
    in reply to: Optimization, performance etc. #1371

    nicoyiqi
    Participant

    yeah,I add option to search node in all graphs.

    11

    when you select the node in other graph, the graphOwner will change too. but there is a small shortcoming: you have to do some action like: pan ,or press F, to repaint the graph window,then the search node can be selected.

    the find Node unitypackage:

    Attachments:
    You must be logged in to view attached files.
    in reply to: Optimization, performance etc. #1361

    nicoyiqi
    Participant

    I find a bug : when duplicate a node, the new node’s UID does not change, that cause relay out node’s relay input value node reference still point to old node instead of new duplicate node.

    the solution is add follow code in Node.cs after line 219 :

    in reply to: Optimization, performance etc. #1356

    nicoyiqi
    Participant

    hey,everyone,I recently create a method to find node in graph,thought inspired by the new release feature : relay node.

    The “find” node, like this.

    12

    you can search to find the node which name contain input text.

    by click the select button, you can select that node. and I also add new function to focus the selected nodes, just press “F” ;

    click control+ f ,to select this find node directly;

    beside, I modify the relay node code, add relay flow node, and select corresponding input or outPut node more convenient.

    2

    3

    here is the unitypackage, just cover the source files.

    findnode

    Attachments:
    You must be logged in to view attached files.
    in reply to: problem about custom node inherited from flowNode class #1320

    nicoyiqi
    Participant

    thanks,Gavalakis. it’s realy helpful.
    the error caused by modify some code in flowNode plugin script, there’s no problem now.

    I also find a small bug about node name display: such as custom event node or code event node which eventdata type is <Color>, will display like this picture. i think the color type string may be conflict with node name rich text type.

    Attachments:
    You must be logged in to view attached files.
    in reply to: problem about custom node inherited from flowNode class #1315

    nicoyiqi
    Participant

    here is the custom node code
    [Name(“rotate”)]
    [Category(“UnityEngine/Transform”)]
    [Description(“旋转”)]
    public class G_Rotate : FlowNode
    {
    [SerializeField]
    private int index = 0;
    public int Index
    {
    get { return index; }
    set
    {
    if (index != value)
    {
    index = value;
    if (index == 0)
    {
    name = “rotate(Self)”;
    }
    else
    {
    name = “rotate(World)”;
    }
    GatherPorts();
    }
    }
    }
    [SerializeField]
    private int mode = 0;
    public int Mode
    {
    get { return mode; }
    set
    {
    if (mode != value)
    {
    mode = value;
    GatherPorts();
    }
    }
    }

    protected override void RegisterPorts()
    {
    var transform = AddValueInput<Transform>(“Transform”);
    var outPut = AddFlowOutput(“Out”);

    switch (mode)
    {
    case 0:
    {
    var axis = AddValueInput<Vector3>(“Axis”);
    var angle = AddValueInput<float>(“Angle”);

    AddFlowInput(“In”, (f) =>
    {
    transform.value.Rotate(axis.value, angle.value, index == 0 ? Space.Self : Space.World);
    outPut.Call(f);
    });

    break;
    }
    case 1:
    {
    var vector3 = AddValueInput<Vector3>(“Vector3”);
    AddFlowInput(“In”, (f) =>
    {
    transform.value.Rotate(vector3.value, index == 0 ? Space.Self : Space.World);
    outPut.Call(f);
    });

    break;
    }
    case 2:
    {
    var floatX = AddValueInput<float>(“X”);
    var floatY = AddValueInput<float>(“Y”);
    var floatZ = AddValueInput<float>(“Z”);
    AddFlowInput(“In”, (f) =>
    {
    transform.value.Rotate(floatX.value, floatY.value, floatZ.value,
    index == 0 ? Space.Self : Space.World);
    outPut.Call(f);
    });

    break;
    }
    }
    }
    #if UNITY_EDITOR
    protected override void OnNodeInspectorGUI()
    {
    base.OnNodeInspectorGUI();
    Index = UnityEditor.EditorGUILayout.Popup(“Space Type:”, Index, new string[2] { “Self”, “World” });
    Mode = UnityEditor.EditorGUILayout.Popup(“Rotate Mode:”,Mode, new string[3] { “Rotate Along Axis”, “Rotate by Vector3”, “Rotate by 3 Float”});
    }
    #endif
    }

    in reply to: Chinese Documentation(中文帮助文档) #1093

    nicoyiqi
    Participant

    支持,赞一个!

    in reply to: The public field variable can not be reflected? #1038

    nicoyiqi
    Participant

    thanks.Gavalakis

    in reply to: The public field variable can not be reflected? #1032

    nicoyiqi
    Participant

    thanks for your reply.

    I also find another reflection issue:
    The public static function of custom scirpt can’t be reflected by dragging a port connection to add a new node. Although the type has been added to prefferd types, however, when i press space button,and search it, it works.

    Attachments:
    You must be logged in to view attached files.
Viewing 15 posts - 1 through 15 (of 25 total)