behavior3 / behavior3editor Goto Github PK
View Code? Open in Web Editor NEWAn awesome online visual editor for Behavior3 (Behavior Trees Visual Editor)
License: MIT License
An awesome online visual editor for Behavior3 (Behavior Trees Visual Editor)
License: MIT License
The zoom short cut seems to be reversed in chrome and firefox. ctrl + scroll up
and ctrl + scroll down
work fine in chrome but have the opposite effect in firefox.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Hello, is this project no longer maintained? It hasn't been updated in years, and the website is gone. I want to see your blueprint.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Firefox is not rendering the node preview on the first time you drag a node from the left panel to canvas.
So, there is a real need for dynamic properties on node instances? (i.e., user should be able to add or remove properties of any given node instance?). Seems irrelevant to me, if you want to add a property, just add onto the node definition. The same is valid for removing a property.
This would simplify a lot the properties panel.
Notice that, this is related to issue #6, so it is a high priority.
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27362699-dynamic-properties-on-node-instances-are-really-necessary?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github).Top/Left to Bottom/Right. Similar to UE design. Not the features but the layout as an alternative to to the horizontal one.
When open index.html, always show "Behavior3 Editor Loading..."
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I just had to install bower myself while in the process of installing locally.
I think thats confusing to non-dev end users, since if they run npm install + bower install they are gonna get an error on the latter.
Why not adding bower in package.json?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
What is your development environment(IDE) when you develop this editor? I need a deep modification of the editor to support behavior tree runtime visualization.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Steps to reproduce:
ctrl+z
.The same happens with other fields, but the title is more critical.
链接: https://pan.baidu.com/s/1Psx2Lp2PovEOPVDtNcAtkg?pwd=atew 提取码: atew
If I have a project where a tree references another tree that is below it in the list on the left of the editor, I save the project, and then attempt to reopen it, the editor fails with an error message.
After taking a bit of a look at the source, this appears to be because the trees in the serialised JSON are stored in an array, and if a tree refers to a nested tree which exists after it in said array, it won't have added it within the NodeManager, and hence will fail.
I would either suggest changing the JSON format so that the trees are stored as key-value pairs (much like the nodes), or having an additional processing phase before attempting to load the tree, so that the node manager is aware of all the nodes that exist within the project file. The latter approach wouldn't invalidate existing projects files, and is probably the preferred one from my point of view.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I add an additional base attribute with a default value on Node.js - I can see that the value here is applied to all the node. However, when I update value inside the code of each node, the value doesn't update (for example, in And.js, I change the value of this new attribute, but when I show the value on properties panel or when I export JSON, I see the default value from Node.js)
What am I missing here?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
In some future release, I want to change the overall visual of the blocks and canvas. This issue is only for discussion until then, when I will break it into several small issues.
Using the figure above as reference:
It would help a lot if one could import a custom nodes file (instead of re-adding it all the time). Sure you may add your custom nodes on a clean project and use this as a template for all your b3 files, but what if we need to add more custom nodes - you have to add them to all of your existing files. With a "Import custom nodes" option this would handle it. Another more elegant option would be a separate custom nodes file.
There are some issues with the desktop buildings:
I downloaded the editor source and tried to get it to work with node-webkit but I get an error in index.html on the app.initialize() saying "Cannot read property 'initialize' of undefined.
At the top you have:
var loader, app;
But I can't see where app is created anywhere. The loader variables is of type createjs.LoadQueue() but 'app' doesn't get assigned anywhere.
Any help on getting this to work on nw.js would be huge! I'm trying to use this for the Leadwerks game engine for AI and I think having a desktop version of this editor would be nice and nw.js can help get that.
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/36382314-getting-this-working-with-nw-js?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github).I want to finally (officially) release a new version of Behavior3. Which I think it could be the 1.0.0, since it has been through a lot of changes since 0.1.0. To accomplish this, there are some important bugs that must be fixed and some features that weren't finished yet.
So this is my TODO list to the next release:
Of course, we need to update the site and the client libraries, but the editor is the most important right now.
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27363104-finishing-the-mofications-for-the-next-release?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github).Behaviour3.com is hijacked
I was thinking of forking this and migrating it to use React instead.
The idea was to make this "portable" to the point where you could pop up a browser in any environment, feed it a behaviour tree and connect it to the gameplay for debugging purposes.
But before I start, I was hoping to get your take on it!
I wonder where this name came from.
There might be behavior1 and Behavior2?
If you have a lot of custom nodes, the editor view gets messy with a plain list of custom nodes.
How about adding a "Parent" property to the (ui)-basenode, which would make it possible to have a (custom) nodes tree in the left pane of the editor:
Actions
|-Default
| |-Failer
| |-Succeeder
|-Custom
| |-Player
| | |- Combat
| | | |- UseSword
| | | |- UseKnife
.....
with the option of folding/unfolding those trees..
There is a $10 open bounty on this issue. Add to the bounty at Bountysource.
When exporting the tree or project as json, whilst the custom nodes is output as an array (which makes sense) all the contents of 'nodes' is flattened into attributes under respective ids.
Whether or not the json format were updated to reflect the tree structure (i.e. children within parents), it would be helpful to have the nodes reflected again as an array. At the moment it seems like it needlessly makes it more difficult for the export to be parsed?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
so I can design small portions and then combine when running
It appears as though you can't remove properties from nodes once you've added them. After clicking the red "-" button, although the property disappears, if you deselect the node in question and reselect it, the property is still there.
The only way I've found to permanently remove the property is to manually edit the project file, which is a bit of a pain. The problem appears to be within the BlockManager, specifically the update function. I'd try and trace it further but I'm not that familiar with Angular so I can't currently pinpoint the source of the problem.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
After just a little bit of editing, accessing the various parts of the tree is difficult because portions are off the sceen.
First of all, congrats for this project. Looks very promising.
I am writing a BT library in Java and I would like to use behavior3editor as the graphical editor for the trees. However, I have not found any reference to a formal specification of the tree format. Is there any?
Thank you very much
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I would like to discuss the redefinition of shortcuts and general usability of the editor. I think the shortcuts could be better distributed, so I'm listing all commands and their respective shortcuts. Proposed new shortcuts
will override .old shortcuts
This is not a priority, but it must be discussed for the next editor UI refactor, so I would like to hear the community opinion.
Current commands | Shortcut |
---|---|
Close project | ctrl+q |
Save project | ctrl+s |
Undo | ctrl+z |
Redo | ctrl+shift+z |
Copy | ctrl+c |
Cut | ctrl+x |
Paste | ctrl+v |
Duplicate | ctrl+d |
Remove | delete |
Select | left_button |
Select multiple 1 | left_button drag |
(de)Select multiple 2 | ctrl+left_button |
Select all | ctrl+a |
Deselect all | shift+ctrl+a |
Invert selection | ctrl+i |
Select subtree | alt+left_button |
Deselect subtree | alt+shift+left_button |
(de)Select multiple subtrees | alt+ctrl+left_button |
Auto organize | a |
Zoom in (keys) | ctrl+up |
Zoom out (keys) | ctrl+down |
Zoom in (mouse) | ctrl+wheel_up wheel_up |
Zoom out (mouse) | ctrl+wheel_down wheel_down |
Scroll (keys) | up , right , left and down |
Scroll (mouse) | middle_button right_button |
Unassigned commands | Shortcut |
---|---|
All projects | |
Settings | |
Export * | |
Import * | |
New tree | |
New node | |
Remove all conns | |
Remove all in-conns | |
Remove all out-conns |
Instead of forking the repo at https://github.com/renatopp/behavior3editor this repo just dumped code. That's a problem, because history was lost. Oh well. No use crying over split milk. However, this move leaves behind 3 or 4 unmerged forks:
https://github.com/Healthire/behavior3editor
https://github.com/knowrob/behavior3editor
https://github.com/benjycook/behavior3editor
all of which look like they've received significant development work, but are now orphaned. These need to be reviewed and either merged or cherry-picked as appropriate.
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27952575-merge-forks-please?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github).see title.
well... All I want to do ,is make this web can be visit in my local. I guess it needs some like "MEAN" and "Angular", but I really don't know how them work.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Wish to add parallel node into composite libs!
I could not test in other computers or distributions, but when we drag a node from the left panel to the canvas, the node preview have a white background. This is happening on chrome/ubuntu 14.04.
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27362916-white-background-when-dragging-nodes-linux?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github).I build the editor and put it to web container like apache, nginx, but it looks like has error when access the web page from another computer,
The home page show below:
Behavior3 Editor
Starting application... Have Fun!
Consult: renatopp/behavior3editor#12
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
This is actually related to all behavior3 projects.
My idea is to create a new repository (maybe behavior3/behavior3docs
) with all documentation in markdown, so we could access it from the documentation (from web and desktop versions), keeping always updated, even when changing releases (specially for desktop).
This repository would have:
fs.js:39
} = primordials;
^
ReferenceError: primordials is not defined
at fs.js:39:5
at req_ (/home/ruben/dev/tools/behavior3editor/node_modules/natives/index.js:143:24)
at Object.req [as require] (/home/ruben/dev/tools/behavior3editor/node_modules/natives/index.js:55:10)
at Object.<anonymous> (/home/ruben/dev/tools/behavior3editor/node_modules/graceful-fs/fs.js:1:37)
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
This thread discuss how to handle multiple trees in the editor and the client libraries.
You can use multiple trees in some different ways:
Given that you may use the same subtree several times and the case where you use the trees recursively, I want to create a single object instance for each tree.
So, I'm thinking in something like that:
var behaviorCollection = b3.load(behavior3_data);
var soldierTree = behaviorCollection['SoldierTree'];
var commanderTree = behaviorCollection['CommanderTree'];
and then you use the trees as usual.
If we follow this behavior collection thing we:
In the client libraries we can create an empty BehaviorTree for each tree in the JSON, and then create their nodes (we can't create nodes together with the trees because nodes can have reference some tree).
Moreover, we need to update how BehaviorTree.tick
method works, maybe breaking it in several internal methods. To understand that, consider the following situation:
The same would occur if the CombatTree were referred by SoldierTree and CommanderTree.
So, before calling the subtree, we need to change temporarily its ID.
I'm not sure if this issue is barely understandable by anyone but me. I've been thinking a lot about this feature lately, so the description may lack some more contextualization.
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27127836-how-to-handle-multiple-trees?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F18331319&utm_medium=issues&utm_source=github).There is some problems with the CUT feature. It seems to ignore some nodes, and even on nodes that were cut, the paste remove connections.
The current interface of the editor (not the dashboard, only the editor) is really annoying for any non-trivial project. So I would like to discuss what to do with it. Notice that I'm neither a designer or an UI/UX expert, thus, I would like to hear from people with more expertise on this.
I have some suggestions (they can -and should- be divided into other issues before implementing them):
if it’s a browser, I can clear the cache, but I don’t know how to deal with the client, even if I clear the data in AppData.
And it can work on other computers.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.