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

2.9 bug fixes and new features #193

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

Conversation

hanoixan
Copy link

@hanoixan hanoixan commented Feb 8, 2021

Punya,

Thanks for this amazing Blender addon. I was so excited to use it that I ended up forking it this weekend, and adding some fixes and new features.

  • I've added EdgeCrease (for subd), Remove (remove objects), and a Switch flow control node.
  • A few 2.9x bug fixes that are probably fixed in other PRs as well.
  • I hadn't seen this mentioned in any other issues, but there was a serious bug with loops. The short of it is that execute() is run with forced=True. This is actually very bad, since nodes execute multiple times in the evaluation, causing havoc with things like Set/Get and nodes that assume they're only run once. I added the concept of "scope context" to these. It can probably be better, but I'd love you to take a look and provide feedback.

It looks like there's a backed up log of issues and PRs, so I assume you've got other things going on in your life. So no worries if you can't get back right away.

Thanks!
Sean

* Added edge crease, object removal, and vector component multiplication functionality
…tion on all child-scope nodes. This was also slowing things down, as the first-time bool was being overridden. Also, it caused havoc with Set/Get Value nodes, such as the case where you want to increment a value over time. You could get into a situation where a Set and Get pair were being caused multiple times in a single loop iteration. The solution was a scope_context that rides along with execution, and loops increment its id with every iteration. This lets us re-do execution on each iteration, without forcing execution with a broader stroke.

* Added Switch flow control node, which lets you use up to 16 inputs and select by an index, failing to a Default input.
…ights assigned. Can drive the Switch to create a simple weighted generation rule.
* bug in AddElement
* scope restoration in loops
Modified:
* CustomObject to allow non-meshes, as well as copying the hierarchy
* Remove to remove hierarchies
Added:
* New ReferenceObject, which references existing geometry in scene without duplicating it
* The new Generate node, which loads a python DSL grammar and generates L-system style patterns of objects with links
* ability to iteratively mutate the scale, rotation, and translation over repeats (GnMove, GnRotate, GnScale), absolute or relative
* line-accurate errors for parsing generation file
* create links on the fly
* GnMaybe, which attached runtime probability to child sequence
* added gen_instancer
* gen_instancer custom values can contain collection names, definition names, or runnable code (which must be in the form of a list).
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

Successfully merging this pull request may close these issues.

1 participant