PDA

View Full Version : Up coming Layout Bend plugin: Looking for feedback :)



probiner
07-19-2015, 02:48 PM
Me and Oliver Hotz are working on a Bend deformer plugin.
A version of the plugin was already made but I wasn't happy with the focus I gave to the tool. I sure am putting a lot of options, but it's a bit hard not to :) I'm redoing it from the ground up with nodes (I do nodes first, code after) and was curious if people using other softwares see something I overlooked or missed.

Cheers


https://www.youtube.com/watch?v=Msw8jGUkbBc

raw-m
07-20-2015, 12:13 AM
Very impressive, it'll be very welcome, well done! Please add the page bend/curl, I do this a lot a really struggle to get a nice animated curl like that.

On a UI note, will there be some kind of cage/widget designed to visualise what deforms what? C4d deformers would be a good source of inspiration for this. 3rd Powers Lattice deformers also has a visual reference (but generally don't think visual widgets/handles are one of LW strengths!).

Looking forward :D

Andy Webb
07-20-2015, 04:04 AM
Looking very good. Cannot think of anything to add but I'm sure once people start to use it new options will come to light. :D:thumbsup:

souzou
07-20-2015, 05:39 AM
Looking awesome, well done! Page bend/curl would be really welcome, much quicker/easier than a bone setup.

kadri
07-20-2015, 05:47 AM
Looks great.
Not sure of the usefulness, but how about a reverse symmetry function?
Like in a "S". Maybe it is already doable in your setup i don't know.

JohnMarchant
07-20-2015, 06:18 AM
Looking good, are you releasing it or is it going to be part of Olivers tools pack.

probiner
07-20-2015, 06:41 AM
Very impressive, it'll be very welcome, well done! Please add the page bend/curl, I do this a lot a really struggle to get a nice animated curl like that.

Looking awesome, well done! Page bend/curl would be really welcome, much quicker/easier than a bone setup.
Done in LightWave now :) video (http://jmp.sh/v/NiV5zl5ufsYW04l3wqFI)



On a UI note, will there be some kind of cage/widget designed to visualise what deforms what? C4d deformers would be a good source of inspiration for this. 3rd Powers Lattice deformers also has a visual reference (but generally don't think visual widgets/handles are one of LW strengths!).
That is not my department, I'm just doing the vector transformation operation. Oliver is the one that manages the LW plugin, the UI and SDK portions, performance, etc. I'll pass the question.



Looks great.
Not sure of the usefulness, but how about a reverse symmetry function?
Like in a "S". Maybe it is already doable in your setup i don't know.
I don't understand the symmetry you mention kadri. Can you share a simle pic showing that? Thanks.


Looking good, are you releasing it or is it going to be part of Olivers tools pack.
These type of details will be decided upon release.

Thanks for the feedback so far. Cheers

Andy Webb
07-20-2015, 07:15 AM
I suppose I'll have to ask as to why not a modeller plugin too?

I realize that I can use "save transformed" from layout but if you need to do this in relation to other parts of a model that approach won't always work.

BigHache
07-20-2015, 08:11 AM
One thought, is it possible to add an Envelope to the displacement Integer to animate between bend methods?

probiner
07-20-2015, 09:22 AM
Here you can see the first iteration we've done. When I say "I" about things I want in and out of the UI I'm thinking about the design of the tool and what's presented to the user. Because Oliver is the one doing all that. I know 0 about LW SDK :p

(download the video for better quality) http://jmp.sh/v/POO7oN6jzQCBn5znlzB9



I suppose I'll have to ask as to why not a modeller plugin too?

I realize that I can use "save transformed" from layout but if you need to do this in relation to other parts of a model that approach won't always work.

Porting it to Modeler is something that Oliver could be interested in.
I'm wondering if having that Percentage/Distance option in many parameters or a global one would be ok... lemme know.



One thought, is it possible to add an Envelope to the displacement Integer to animate between bend methods?
Unfortunately no. That would require to perform both operations and then blend the output parameters everywere they are different. Right now it's a "select case". What are you envisioning that would be useful for?


Cheers

kadri
07-20-2015, 09:28 AM
...
I don't understand the symmetry you mention kadri. Can you share a simle pic showing that? Thanks.
...


Something like this:

128955

probiner
07-20-2015, 09:46 AM
Yup.

http://i.imgur.com/0RgG8Yc.gif

I just need to take the other options in consideration, since now you will have 2 rotation centers instead of one. And something like "Swap Center" in the first video will just break that. Maybe this could be an overall Rotation Center option. Thanks

kadri
07-20-2015, 09:48 AM
Wow! :)

mikadit
07-20-2015, 10:25 AM
very nice!
following and waiting for the release

erikals
07-20-2015, 11:32 AM
looks sweet! http://erikalstad.com/backup/misc.php_files/king.gif

probiner
07-20-2015, 11:36 AM
Tanks guys. Maybe a more down to earth feedback would be if you had some object or situation you where you wanted to apply a bend and it was painful. And if so, feel free to share such object.

Cheers

Marander
07-20-2015, 12:23 PM
Great! Maybe you can add an E button for envelope / Graph Editor at each of the parameters?

probiner
07-20-2015, 12:24 PM
Great! Maybe you can add an E button for envelope / Graph Editor at each of the parameters?
Check the 1st iteration video:

(download the video for better quality) http://jmp.sh/v/POO7oN6jzQCBn5znlzB9
Oliver has setup animation curves for each parameter. And the buttons in the bottom are to aid on that task.

Farhad_azer
07-20-2015, 01:13 PM
Very nice, I assume it will be possible to use save transform to send to modeler, right?

Ztreem
07-20-2015, 05:10 PM
Looks awesome and very useful!

probiner
07-21-2015, 12:39 AM
Very nice, I assume it will be possible to use save transform to send to modeler, right?

Yup. I even prefer "Save Endomorph", save the object and then select the morph in the list and if it's all good, apply.

omichon
07-21-2015, 12:43 AM
Looks really nice ! That said, and don't get me wrong, you and Oliver are doing a great work, but a displacement plugin looks like a limited version of your original nodal setup. Wouldn't have been possible to make a couple of nodes instead ?

probiner
07-21-2015, 02:18 AM
Looks really nice ! That said, and don't get me wrong, you and Oliver are doing a great work, but a displacement plugin looks like a limited version of your original nodal setup. Wouldn't have been possible to make a couple of nodes instead ?

This is the setup I've done in January: https://www.youtube.com/v/Fd-ZeiNAmUY?start=182&end=200 Mind you it has some extra bits but it's also more confusing. At each iteration the operations become more clear and more organized. VultureHead, versus Submarine :D Then: http://prntscr.com/7ur7e7 Now: http://prntscr.com/7ur79c

Problem I'm having with nodes is performance. I'm using db&w's cache node everywhere to bring the setup to a usable state. But then these nodes and other don't play well along with "Threaded Mesh Eval", some make the mesh go crazy, other lock LightWave. So I'm definetly pushing the base performance of the system we have available to places where it won't do great, it was mostly thought for rendering. In ICE or Fabric I'm sure this would be no problem. And for me it's also a way to implement in code something I've done in nodes. Which is new and exciting for me, even if I'm not dealing with the SDK.
And belive me I really like nodes. The feedback as you build something is immediate, no UI or SDK concerns, in ICE it even gives me data displays in the viewport in context. More over a plugin is an island, with nodes you don't need to do monoliths that have to hold every functionality you want. For example here: https://www.youtube.com/v/Fd-ZeiNAmUY?start=200&end=207 The page flapping is another node tree that is driving the bend angle and make the bend look like waves instead of a clear rotation, you won't be able to get to that or other stuff with the plugin. More over a bend compound can bend anything in LightWave: render spots, instances, objects, displacement, etc. With nodes everything can be a driver or driven by something else. But since this is not ICE or Fabric, I must compromise... I could still provide a compound at some point in some venue, but it will come attached with gotchas, like many things in LW.

I hope this answers your question.

Cheers

omichon
07-21-2015, 02:35 AM
I hope this answers your question.

Cheers

Absolutely :)
Thanks for the detailed explanation (great work, BTW !). I suspected the reason why was something like that, unfortunately.

probiner
07-21-2015, 03:42 AM
Well mind you the plug-in shown was just an iteration not final. What I've shown in the video with nodes is what I intend to implement in code afterwards using the compound I'm redo-ing now, has code layout. Nodes minimize the pain of back and forward testing of code when I'm not yet sure of the operation itself. Pain which I'm sure I'll have quite the bit as I try to fudge in as many features as possible :)

At this stage I'm doing everything from scratch again: http://prntscr.com/7v6gva Just have the 3 bend methods options, 3 rotation center options (One of which is symmetry as requested in this thread) and nothing else. So it's easy for now to look at someones suggestion or if someone spots a fundamental flaw, to address it now. Later on I'll probably won't want to change anything when the design is sort of closed and lot of compromises are in place :)

__________________________________________________ ________________________

One thing I would like people's opinion about, is Distance and Percentage switches for some inputs:
http://i.imgur.com/GsyTYvf.png
For example, for now above the unwinding/cutoff inputs there's that switch that will change how code interprets your input either a percentage multiplier or a distance addition. Now Imagine I do this for 4-6 more inputs. Seems to me that it's going to clutter the UI quite a lot with percentage/distance switches, no? Now, If you think that having a individual percentage/distance switches for as many inputs as its reasonable is important I can consider it in the design and then ask Oliver how can they be made less cluttering. Or, maybe I could have a single percentage/distance switch that would be used by all of those inputs, although some people maybe won't like it this as they would prefer to use some inputs as percentage and others as distance. Or... I give no percentage/distance switch options and just put forward what I think its a good standard for each input.

Lemme know what you think.

Cheers

probiner
07-21-2015, 04:03 AM
Double Post

omichon
07-21-2015, 04:53 AM
For me, having all possible options may offer more flexibility but at a high cost of cluttered and less productive interface. So choosing the unit that makes the most sense for a particular parameter by design, is probably the way to go.

jboudreau
07-21-2015, 07:55 AM
This is awesome! Great work guys. Wondering have you thought of adding a twisting feature? Where it would twist down the center of the object with offset etc?

mav3rick
07-21-2015, 08:00 AM
my books are waiting :)

probiner
07-21-2015, 02:11 PM
This is awesome! Great work guys. Wondering have you thought of adding a twisting feature? Where it would twist down the center of the object with offset etc?

Yes, I think :)

http://i.imgur.com/Ysuf2hZ.gif

raw-m
07-21-2015, 02:29 PM
Love that you can make one end scale to a tip with independent XZ controls!

probiner
07-21-2015, 02:33 PM
Mind you this is the Node setup. The plugin won't probably have viewport controls but only input fields, but will have the same results you see.

Cheers

Jmation
07-21-2015, 09:08 PM
Looks great.

As a suggestion a repeat offset feature would be extremely useful as it would give artists the ability fold and unfold objects in more than one section. You could represent this in your input panel similar to how the cut tool works in modeler. Even better if each repeat could have a time offset envelope also. This is not easy I'm sure but thought I'd put it out there. Below is a simple visual to help explain the idea of repeating the bend with an offset. Keep up the good work.

lertola2
07-22-2015, 07:29 AM
I am wondering about the use of this bend tool with objects that have branching shapes sticking off of them. For example if you used this tool on a tree with branches hanging down. You would want the trunk to bend but you would want the hanging branches to follow the motion of the point where they are attached to the trunk. Another example where this could be used it to bend a torso of a body but keep arms unbent and moving relative to what is happening at the shoulders. Maybe you could have a mode where instead of using the y position of the object to drive the bend you could use a weight map. That way you could predefine what parts of the object should bend with each other.

probiner
07-22-2015, 12:38 PM
Looks great.

As a suggestion a repeat offset feature would be extremely useful as it would give artists the ability fold and unfold objects in more than one section. You could represent this in your input panel similar to how the cut tool works in modeler. Even better if each repeat could have a time offset envelope also. This is not easy I'm sure but thought I'd put it out there. Below is a simple visual to help explain the idea of repeating the bend with an offset. Keep up the good work.

Hi Jmation. Nice of you to take time to do a clean pic. What you are asking is basically multiple instances of a bend operation. Here I just used the native bend deformer:

http://i.imgur.com/0qBFCOs.png


So from that picture, the only configuration you won't be able to do is the one in the bottom center. Because since the operation is reading the points Axis component, when you have points from a previous bend again in the range of influence of a later bend operation the mesh will look messed up:

http://i.imgur.com/Bcke1zV.png


The only way to prevent this is to use a weight map to isolate portions of the mesh, instead of the Axis value. But read the orange text in this post end.
But, right now, you can do most of what you've shown with the native Bend deformer.


__________________________________________________ __________________________________


I am wondering about the use of this bend tool with objects that have branching shapes sticking off of them. For example if you used this tool on a tree with branches hanging down. You would want the trunk to bend but you would want the hanging branches to follow the motion of the point where they are attached to the trunk. Another example where this could be used it to bend a torso of a body but keep arms unbent and moving relative to what is happening at the shoulders. Maybe you could have a mode where instead of using the y position of the object to drive the bend you could use a weight map. That way you could predefine what parts of the object should bend with each other.

Hi Lertola. Yes I was able to do this in nodes:

http://i.prntscr.com/6b685684be244161a16e0bec865c5824.png


The rationale is that while the main body has a smooth linear value transitions, each branch branch has has a solid value that matches the average of the portion that touches the main body:

http://i.prntscr.com/9a986ace279e44bab9aafd192beb03ab.png

Now, indeed the only way I can do this with the plugin is with a weight map, but you still would have to "paint" each branch solid weight in Modeler... Up to that? :)

Overall both of your ideas raise the issue of using a weight map to define the bending arc instead of the Axis position, and that changes the relation with many other variables and functionalities. Let me think about it. Will probably have to invest time doing an attempt with this in mind while also ask Oliver if it's ok to use a weight map.

Thank you for the feedback. Though I must say at this point I should probably be asking what to cut and not what to add, ahaha :D

Cheers

lertola2
07-23-2015, 01:38 PM
Hi Lertola. Yes I was able to do this in nodes:

http://i.prntscr.com/6b685684be244161a16e0bec865c5824.png


The rationale is that while the main body has a smooth linear value transitions, each branch branch has has a solid value that matches the average of the portion that touches the main body:

http://i.prntscr.com/9a986ace279e44bab9aafd192beb03ab.png

Now, indeed the only way I can do this with the plugin is with a weight map, but you still would have to "paint" each branch solid weight in Modeler... Up to that? :)



Overall both of your ideas raise the issue of using a weight map to define the bending arc instead of the Axis position, and that changes the relation with many other variables and functionalities. Let me think about it. Will probably have to invest time doing an attempt with this in mind while also ask Oliver if it's ok to use a weight map.

Thank you for the feedback. Though I must say at this point I should probably be asking what to cut and not what to add, ahaha :D

Cheers


I think it might be a very helpful addition to allow some way to bend but keep branching shapes from deforming. So even though it might be difficult to set up I would be very willing to construct a weight map if it would allow me to get some results that I cant get another way. There were some projects where I have had quite a struggle to bend an object the way I wanted while keeping branches from deforming badly.

Will your plugin be able to bend a chain of bones? That also might be quite useful. Will you be able to apply two instances of your bend tool in different directions? For instance I have done several jobs where I needed to animate the bending of a flat world map into a globe. Lightwave's bend deformers can do this.

probiner
07-23-2015, 02:24 PM
Hi lertola. The plugin will be a displacement plugin. If I eventually release a compound then it's something you can apply to everything. I just really don't know about performance really... More over Nodal Motion is very punishing right now. Though bones, don't really need a bend deformer, hierarchy rotation would do fine, I think. Here's some ngon lights without parent being bent with nodes: http://prntscr.com/7w7gvy

As for the Tree well, there's another approach. Do a Morph for the Y position reading :) http://prntscr.com/7w6urb http://prntscr.com/7w6xgt Instead of reading the Y position from the original mesh you would read from an added morph. Wich is must faster to produce than with weights where you have to fill the branch with a very specific value. Here you can just use a plugin like FastSetValue (https://www.lightwave3d.com/assets/plugins/entry/cp_fastsetvalue/) or just stretch flath and then place on along the Y axis where you want the value to be used for the whole branch. But I still have to check with Oliver about the usage of Morphs.

Your problem ends up being simpler than Jmation's, where I would have to create several bending zones on the first bend and pass information down to other bend operations, if I don't want to use a weight map. These are all things a bit easier to solve with nodes overall, but still tricky operations. Lets see what I can cook. Right now I'm inclined to move forward and focus on the problems I already have in my plate and then see if I can bolt a solution for these :)

Cheers

probiner
07-25-2015, 05:12 PM
Has I'm redoing the operation from scratch in nodes before getting it again into code I might make some willdcard questions as a sanity check.

I got 3 ways of interpret the Angle amount right now. And I am considering dumping the last one, as it produces a result I don't find meaningful.

Unless someone has a word to put in for it :D

http://snag.gy/pZUii.jpg

Cheers

vonpietro
07-26-2015, 10:37 PM
wow - amazing work -
lw needs a bendy tool that just works great and has alot of options =)

thank you

probiner
08-08-2015, 12:59 AM
Hi guys.
I ran into issues with finishing the blueprint in LW Displacement nodes. Just too slow to build up and test anything, even with stapling db&w Cache nodes all over the place. They could look into native caching system. So I've quit building the blueprint there and moved on to XSI ICE, where I've done these screen captures. To LW's credit, while XSI performance allows interaction, the ICE Tree takes a few minutes to load... LW is just a couple of seconds.

Anyway, here's a gif collection of little things that either correspond to a parameter or a practical usage I pushed for. I'm figuring out how to reduce what I expose to the user, to either have more focus/clarity and also have less UI work, but it's not easy when one wants to have so many options...

Hopefully the code version won't take much time :)

Cheers

http://i.imgur.com/zDIXFVw.gif > Carpet Roll http://i.imgur.com/GNuTdsx.gif > Curl http://i.imgur.com/CLd0ySD.gif > Tire pattern closing
http://i.imgur.com/ZxlPDx9.gif > Lathe (offset) http://i.imgur.com/GKBy6Nw.gif > Offsets slide http://i.imgur.com/xdpciG7.gif > Cutoffs and Blend
http://i.imgur.com/2QHQc9l.gif > Elbow Shift http://i.imgur.com/gmXIUcg.gif > Rocking http://i.imgur.com/abQKDnb.gif > Choke

mav3rick
08-08-2015, 02:55 AM
me want!

OnlineRender
08-08-2015, 03:10 AM
awesome pedro

raw-m
08-08-2015, 03:17 AM
That's fantastic, so looking forward to this!!

probiner
09-02-2015, 03:35 PM
XSI compound released
https://vimeo.com/138074155

I already passed it onto python code, but haven't been able to test it.

Cheers

nez
09-02-2015, 05:10 PM
WOW! can't wait for awesome mograph stuff :PP

jeric_synergy
09-02-2015, 05:45 PM
I need a list of those things the dev usually miss so i can submit as a checklist for development.

Saving settings, in the CONTENT DIRECTORY.
Multiple application
Enable/Disable w/o losing settings,
User configurability

There's more, but just off the top of my head...

raw-m
09-03-2015, 12:12 AM
V nice! Can the polygon island trick used towards the end be replicated in LW?

probiner
09-03-2015, 01:21 AM
No, sadly, since its a plugin and the scope is to deform points individually. Same for the waving sheet. Its another tree. Maybe I'll release a simpler version of this in compound, maybe without the offsets and that way you can do it no problem via instances or DP Part Move. https://www.youtube.com/v/Fd-ZeiNAmUY?start=172&end=178

As for presets I don't think it will happen since every parameter as an associated animation curve.
Cheers

probiner
09-28-2015, 10:22 PM
Bend plugin operation finished. Looking into performance optimizations.

http://screencast.com/t/iCaJQkjFdK

Cheers

erikals
09-29-2015, 12:20 AM
looking forward to it... http://erikalstad.com/backup/misc.php_files/king.gif

mav3rick
12-16-2015, 03:43 AM
bump :) just in case there is somethin new to share ;)

probiner
02-15-2016, 12:46 PM
Hi
Oliver is not available to finish this. The deformation algorithm is completed and follows the ICE compound closely ( https://vimeo.com/138074155 ). If anyone with SDK knowledge wants to make the LW implementation and UI I'm up to see it through. It's still quite a bit of work I think.

Cheers

Hulk
01-11-2017, 08:53 AM
Is it ever going to be released or did it just die?

jwiede
01-12-2017, 04:01 PM
I'm guessing it's on hold till Oliver frees up again, but maybe probiner can provide some status?

mav3rick
01-13-2017, 10:43 AM
yea it would be really cool if someone can finish it up as it looks promissing... 3rdpowers? :)

jeric_synergy
01-13-2017, 05:52 PM
I'd think it's hard for plugin writers to get excited about the...well, vaporware situation.

3dworks
04-02-2018, 04:38 AM
any other solution for bending objects in layout?

JamesCurtis
04-02-2018, 12:01 PM
Is it vapor ware or more like abandonware? I too, would like to know if there is any other option?

sadkkf
04-02-2018, 12:45 PM
Never mind.

oliverhotz
04-02-2018, 01:50 PM
I abandoned its developement.. it simply had gotten too many options.. however.. use the nodal bend deformers... easy now with those..

oliverhotz
04-02-2018, 01:57 PM
More specifically, here you go:

https://vimeo.com/album/4335852/video/262872060

oliverhotz
04-02-2018, 03:10 PM
also:
https://vimeo.com/album/4335852/video/262882413

3dworks
04-03-2018, 12:39 PM
thank you Oliver, very helpful - as always! :-)