mirror of
https://github.com/Siccity/xNode.git
synced 2026-03-26 22:49:02 +08:00
Update readme to explain how to install
This commit is contained in:
parent
947a9815fd
commit
9b5c0a78b5
38
README.md
38
README.md
@ -10,6 +10,7 @@
|
|||||||
[Support Me on Ko-fi](https://ko-fi.com/Z8Z5DYWA)
|
[Support Me on Ko-fi](https://ko-fi.com/Z8Z5DYWA)
|
||||||
|
|
||||||
### xNode
|
### xNode
|
||||||
|
|
||||||
Thinking of developing a node-based plugin? Then this is for you. You can download it as an archive and unpack to a new unity project, or connect it as git submodule.
|
Thinking of developing a node-based plugin? Then this is for you. You can download it as an archive and unpack to a new unity project, or connect it as git submodule.
|
||||||
|
|
||||||
xNode is super userfriendly, intuitive and will help you reap the benefits of node graphs in no time.
|
xNode is super userfriendly, intuitive and will help you reap the benefits of node graphs in no time.
|
||||||
@ -19,24 +20,39 @@ With a minimal footprint, it is ideal as a base for custom state machines, dialo
|
|||||||
<img src="https://user-images.githubusercontent.com/6402525/53689100-3821e680-3d4e-11e9-8440-e68bd802bfd9.png">
|
<img src="https://user-images.githubusercontent.com/6402525/53689100-3821e680-3d4e-11e9-8440-e68bd802bfd9.png">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
### Installing with Unity Package Manager
|
||||||
|
|
||||||
|
To install this project as a dependency using the Unity Package Manager,
|
||||||
|
add the following line to your project's `manifest.json`:
|
||||||
|
|
||||||
|
```
|
||||||
|
"com.github.siccity.xnode": "git+https://github.com/siccity/xNode",
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, to access the `XNode` namespace from your code, make sure you have a valid [Assembly Definition](https://docs.unity3d.com/Manual/ScriptCompilationAssemblyDefinitionFiles.html) set up,
|
||||||
|
with `xNode` set as an Assembly Reference.
|
||||||
|
|
||||||
### Key features
|
### Key features
|
||||||
* Lightweight in runtime
|
|
||||||
* Very little boilerplate code
|
- Lightweight in runtime
|
||||||
* Strong separation of editor and runtime code
|
- Very little boilerplate code
|
||||||
* No runtime reflection (unless you need to edit/build node graphs at runtime. In this case, all reflection is cached.)
|
- Strong separation of editor and runtime code
|
||||||
* Does not rely on any 3rd party plugins
|
- No runtime reflection (unless you need to edit/build node graphs at runtime. In this case, all reflection is cached.)
|
||||||
* Custom node inspector code is very similar to regular custom inspector code
|
- Does not rely on any 3rd party plugins
|
||||||
* Supported from Unity 5.3 and up
|
- Custom node inspector code is very similar to regular custom inspector code
|
||||||
|
- Supported from Unity 5.3 and up
|
||||||
|
|
||||||
### Wiki
|
### Wiki
|
||||||
* [Getting started](https://github.com/Siccity/xNode/wiki/Getting%20Started) - create your very first node node and graph
|
|
||||||
* [Examples branch](https://github.com/Siccity/xNode/tree/examples) - look at other small projects
|
- [Getting started](https://github.com/Siccity/xNode/wiki/Getting%20Started) - create your very first node node and graph
|
||||||
|
- [Examples branch](https://github.com/Siccity/xNode/tree/examples) - look at other small projects
|
||||||
|
|
||||||
### Node example:
|
### Node example:
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
// public classes deriving from Node are registered as nodes for use within a graph
|
// public classes deriving from Node are registered as nodes for use within a graph
|
||||||
public class MathNode : Node {
|
public class MathNode : Node {
|
||||||
// Adding [Input] or [Output] is all you need to do to register a field as a valid port on your node
|
// Adding [Input] or [Output] is all you need to do to register a field as a valid port on your node
|
||||||
[Input] public float a;
|
[Input] public float a;
|
||||||
[Input] public float b;
|
[Input] public float b;
|
||||||
// The value of an output node field is not used for anything, but could be used for caching output results
|
// The value of an output node field is not used for anything, but could be used for caching output results
|
||||||
@ -46,7 +62,7 @@ public class MathNode : Node {
|
|||||||
// The value of 'mathType' will be displayed on the node in an editable format, similar to the inspector
|
// The value of 'mathType' will be displayed on the node in an editable format, similar to the inspector
|
||||||
public MathType mathType = MathType.Add;
|
public MathType mathType = MathType.Add;
|
||||||
public enum MathType { Add, Subtract, Multiply, Divide}
|
public enum MathType { Add, Subtract, Multiply, Divide}
|
||||||
|
|
||||||
// GetValue should be overridden to return a value for any specified output port
|
// GetValue should be overridden to return a value for any specified output port
|
||||||
public override object GetValue(NodePort port) {
|
public override object GetValue(NodePort port) {
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user