Closed ly29 closed 7 years ago
@enzyme69 I think you will love/like this when you get your head around it, it behaves a bit differently, but I think it is very easy to use. It is something that you have been asking for during a long time. The options etc needs a bit better name. Will try to do some shorter examples.
I think I started to understand it. Although to take advantage of vectorization, I need to rewire things. I am going to give this a proper study. May create video about it.
I noticed an update, so upgrading and will check your example again. Thanks for the explanation and this Monad Vectorization by the way.
We need to have lots of examples for Monad. Or few simple ones. Feel free to use the Glyph example 💃
I am uploading SV Live Noding on Glyph.
Something telling me that I am getting somewhere but doing it wrong....
Downloading and checking your example...
Logically seed should be outside for [0,1,2,3] >> to goes into, but didn't work.
I noticed sometimes some nodes inside monad got red color. Wonder why. Is that an error?
Still cannot make my glyph thing to work. It's only masking. Checking the data with Viewer Text...
Works, but I think it's still wrong :|
Ah, I forgot to plug that thing...
IT WORKS!! PERFECTO!
This makes sense. I will further explore same concept. I like the terminology here like "making different stories" for each thing going into Monad. Very nice.
Currently the glyph has "fixed" row and column for each digit. Generally I think, this is pretty good already 💯 Quiet happy. It saves the usage of List Split and List Repeater.
I should write blog article or video around this Monad. Everything should be built around the Monad!
Exploring Monad + Vectorize + Split
BEFORE MONAD:
AFTER MONAD: (adding more complex stuff is becoming simple)
And then consider what you could do with monads inside of monads.
Still need to think on how to make Circle inside Circle inside Circle with variations of each. But I think that's possible now.
Strange thing this didn't work, maybe I miss something...
Ok, this seems to work as I planned it. Any way to make this more elegant, Ly? Or that's about right?
It depends of what you want to achieve.
Btw, I found bug where the name of Monad attributes / properties are not updating.
Yeah, I know, it is in my backlog. Sorry about that.
This could also be a bug.
I tried to make a Line node using Monad. An alternative Line node, just like AN Line Mesh node, basically I provide 2 different Vector and it should create Line.
It didn't work somewhat.
Monad inside Monad, is it possible yet?
Regarding the line, you need to have the polygon data from the line as output.
Below is an alternative
Monad inside of monad should work, but not recursively.
Look what you did :)
I experienced a few cases where the "copies" didn't update and I need to disconnect and connect the Matrix.
This is really fantastic by the way.
Above, I started simple, and soon after, I add this complexity:
I will continue exploring until I got tired of the basic and can make a more solid 3D objects.
I think, even Spider or Bugs or Jelly Fish is possible now.
Also as a hint, you mentioned in your video loop index for randomization, it is available in Sverhchok also, but as a node like frame info. But it was broken, fixed in latest update, 0.5.6.3
Note to self:
getattr
doesn't work on id properties unless they are actual blender properties
But I have to say, watching the videos gives great feedback to what is good and bad currently about Sverchok.
yeah, the videos are good feedback, I agree with this. But to write blogposts publicly so early in a development cycle kind of gives me mixed feelings,
Well hopefully the new videos -> more interest -> documentation.
Everything changed with this new feature, I almost feel it deserves a bigger version bump... so likely there are some unintended consequences and things might change, the name bug is higher priority clearly.
it might be a tip to plan the blogpost a little, run the content/text past us, we might suggest fixes internally or alternative node setups, or offer explanations of a failure.
OMG, documentation is my duty i think.
I am a bit surprised how well this abstraction worked out to be honest... Please play around with it @nortikin
And documentation falls on all of us...
documentation,.. the thing noone likes to do :sunglasses:
anyway.. this went a bit off topic . my bad
The documentation needs to be easier to update, also, personally, I keep forgetting rst syntax even though it is a sane choice... Excuses excuses... Way OT.
Sorry bout my over excitement of the Monad and Vectorization. I will be careful with my video and will mention "Experimental" feature of Monad.
Need to have a better documentation to show what Sverchok can do well and cannot do (yet).
Actually converting from normal workflow without Monad to the Monad requires some "sverchok" thinking too.
There are bunch of Sverchok commands when in 3D view and tapping Spacebar. But "Bake Sverchok" does not work.
Thanks @ly29 for mentioning about "loop".
Going back between AN and Sverchok, I also realized that we can do "Delay Time" by just offsetting values. Interesting.
I only figured out that Sverchok has Pipe node and found out what it does from Brussel Workshop. Can be heavy but that thing also works with Monad Vectorization.
Monad and Vectorization can easily be heavy, so in my video when I said: good to bake at some point and pass it for animation using Animation Nodes, it works well.
In fact, my "Phyllotaxis" Live Noding video should all be done to show off Sverchok Monad and Vectorization of Sunflower creation. Just to say.
Looking forward to seeing them, as I mentioned I really liked seeing the video, both parts where you struggled a bit and the final result. It is very easy to build some really heavy stuff now, it has always been easy of course...
We should make one 1-2 minute video demonstrating the workflow.
@enzyme69 I like the dandelion video. I think this feature will stay, it feels very natural to use it and I keep wondering where it has been.
You sure 1-2 minutes will be enough?
10-15 minutes maybe.
On Friday, 9 September 2016, ly29 notifications@github.com wrote:
We should make one 1-2 minute video demonstrating the workflow
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/nortikin/sverchok/issues/863#issuecomment-245826207, or mute the thread https://github.com/notifications/unsubscribe-auth/ADxQL8lf12Aa8FjXvzStHA5h6fvrpPyrks5qoPURgaJpZM4J1oFv .
Well the video would only show the monad concept and assume a certain knowledge about Sverchok and be supported by text/blog.
I like your videos, they are very instructive since they show the complete reasoning and creative process, this would be something different however.
@enzyme69
Sorry bout my over excitement of the Monad and Vectorization. I will be careful with my video and will mention "Experimental" feature of Monad.
you have every right to be excited, it means you can vectorize almost any collection of nodes (within reason) and vectorize in ways that are hard to include in the nodes themselves. gives you a lot of power and i'm sure you will break it in new and interesting ways.
just be careful to call stuff a bug.. like you did with the lathe on randomized profile points. they seemed to be generating lines (prior to hitting the lathe) that where already self intersecting, thus the result of the lathe would self intersect. If you think stuff's a bug , stop. save. send it to us. if it's a bug we have the fun task of fixing it or explaining it.
Not sure this is the right place to make the question, but since as I understand the feature is still under development I will put it here. I am trying to create a monad that takes an object from the scene and apply some modifications to it (at the moment a twist, I put a question about it on Blender Stack Exchange and zeffii kindly answered). I would then like to displace each monad on a grid matrix, each one with a different angle of rotation, but unfortunately I'm not able to do so. I've looked at the previous examples posted here and tried in different ways but still is not working: when I give as an input a list of different seeds, the monad returns always the same output. What am I doing wrong please?
Following your note tree map, I tried to recreate this, but I cannot get the spinning tower thing to happen. What did you source from 3D view? Is that a Cube with multiple splits along the Z axis? Equivalent to Box?
I kind of know what you are trying to do, but I think it is a bit confusing somewhere when you want to rotate the edge.
Maybe this can be done differently...
I may try again but I think Ly probably got the answer?
Don't apply the split option when dealing with input vector kind. This leads to a need to a split the seed option, the way around this is using the monad info node an using the loop idx as a factor for seed. I know this is totally lacking documentation right now, because it is still in flux. Broken file removed
Slight misreading about the random ness perhaps. Side note to @zeffii importing that gist gives an error.
ok @ly29 am on it.
@ly29 the blend opens with the monad in red here..
@zeffii Yeah I noticed and it is causing me a headache. Basically the current way of generating the monad isn't totally stable...
it loads if i remove the seed input from the monad IO interface..
why does this have to be so complicated :)
The reason for this is some, in retrospect, less than sensible choices when implementing the monad. It needs to be fixed asap. It ties together with #798
Second attempt, look below. twist2.zip
Since we have many nodes that needs be vectorized and some that can't be easily done without redoing a lot (like 80-90% of nodes). I now introduce a simple option for apply a node group/monad to the input.
This calls the monad on the level 1 input wrapped as separate objects, and the output is extended on the same level not appended and preserving structure.
Note that this layout would work if we didn't split the lists as well, but more complex scenarios wouldn't