Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could I trouble you for a high level overview, maybe in the wiki? #3

Open
jwvanderbeck opened this issue Oct 10, 2019 · 3 comments
Open

Comments

@jwvanderbeck
Copy link

Thank you so much for putting this together, and I know its very much just a personal project that you've made available for us all to learn from.

If you feel up to it, and only if you feel up to it, I think it would be great to make a wiki page that covers sort of the high level overview of how this all works. What the various pieces are and how they connect.

I am trying to implement something for my company based on the GraphView implementation of the VFX Graph which is similar to this but not exact. My main problem though is just getting my head wrapped around all the various pieces of the overall puzzle and how they connect.

@rygo6
Copy link
Owner

rygo6 commented Oct 10, 2019

I could at some point.

But really, a lot of the design and code layout isn't mine. It's replicated from the ShaderGraph library. Some of it I still haven't quite figured out why it is like that. I've not touched this project for a number of months waiting for Unity to develop the UI elements library more and get all of the classes out the experimental namespace in case more things change. I think that has generally happened now, so I could probably dig into this a bit more. Developing this more is definitely something I intend to do, as it's necessary for a future project of mine. But I have am working on a few different things at the moment.

@rygo6
Copy link
Owner

rygo6 commented Oct 10, 2019

I can describe a bit more quickly though.

Basically all the code inherited from the ShadeGraph has been refactored to output a JSON file which defines:

  • Name of node.
  • Values of node.
  • Connections to other nodes.

In the actual graph view, each node is defined by a 'LogicNodeEditor' script. The ones found here:
https://github.com/rygo6/GTLogicGraph/tree/master/Scripts/Editor/Nodes

You can see the output JSON by looking here:
https://github.com/rygo6/GTLogicGraph/blob/master/TestLogicGraph.LogicGraph

The GTLogicGraphInstance then takes in this JSON and will instantiate the non-editor nodes. The nodes found in this directory:
https://github.com/rygo6/GTLogicGraph/tree/master/Scripts/LogicNodes

"LogicNode" classes define the logic of the node that will be executed in the actual scene. "LogicNodeEditor" classes define how they visually will look in the shader graph.

@jwvanderbeck
Copy link
Author

Yeah I am aware this is pulled from ShaderGraph and that Unity did a horrible job separating logic from view, so I very much appreciate what you've done. Like I said, just trying to get a feel for all the working pieces and how they fit together.

That overview at least helps me get started so thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants