How to add more drivers to a multilinked object later?

Discussions about animating in SOFTIMAGE©
Caveman
Posts: 211
Joined: 12 Feb 2011, 11:38

How to add more drivers to a multilinked object later?

Post by Caveman » 08 Jan 2015, 15:11

Hi, there everyone.

What is the process to add a new driver to an already driven parameter. Can't link a new driver without overwriting the old one. Does it need expressions to work? :-\

caledonian_tartan
Posts: 253
Joined: 17 Feb 2010, 14:13

Re: How to add more drivers to a multilinked object later?

Post by caledonian_tartan » 09 Jan 2015, 08:40

you could drive custom parameters and then link them to your parameter with a expression
SI 2015 @ WIN7-64

Caveman
Posts: 211
Joined: 12 Feb 2011, 11:38

Re: How to add more drivers to a multilinked object later?

Post by Caveman » 09 Jan 2015, 10:37

Let's say, with a custom parameter I have translated a null, then later again, I want to translate the null's already linked or multilinked translate parameters, with a different custom parameter. How do I go about it :-?

User avatar
Draise
Posts: 894
Joined: 09 Oct 2012, 18:48
Skype: ondraise
Location: Colombia

Re: How to add more drivers to a multilinked object later?

Post by Draise » 09 Jan 2015, 14:43

Well.. from the get go you'd need multi-expression links in the parameter editor. Instead of adding just a expression "Link" do the other option of multiple ones.

Or ICE. You can use drivers into multiply nodes - multiplying the original value nodes of any attribute - then combine them all with add nodes. It's faster too and less click setting, adding values and the like - much more intuitive. If you want to modify the Fcurve of the driver, just add an Fcurve node between the multipliers.

Caveman
Posts: 211
Joined: 12 Feb 2011, 11:38

Re: How to add more drivers to a multilinked object later?

Post by Caveman » 09 Jan 2015, 16:53

@Draise

Hey, thanks for the suggestions. Even with multilinking, I need to make sure I link all the drivers, right at the beginning. If not, I can't add new ones at a later stage, without overwriting my old link/links (along with all the works) :-?

ICE seems nice, but I lack the required knowledge to work with it, in this situation. Maybe an example would be nice, but only if you have the time to spare 3:-O

User avatar
Draise
Posts: 894
Joined: 09 Oct 2012, 18:48
Skype: ondraise
Location: Colombia

Re: How to add more drivers to a multilinked object later?

Post by Draise » 09 Jan 2015, 18:52

Caveman wrote:@Draise

Hey, thanks for the suggestions. Even with multilinking, I need to make sure I link all the drivers, right at the beginning. If not, I can't add new ones at a later stage, without overwriting my old link/links (along with all the works) :-?

ICE seems nice, but I lack the required knowledge to work with it, in this situation. Maybe an example would be nice, but only if you have the time to spare 3:-O
Here you go, a quick example. Actually.. I only knew how to do it with shapes, but found it's easy enough with TRS's, RTS, STR's.. whatever.


Yes and yes.... I don't like using the parameter connection editor... it's linear and destructive (unlike a lot of... other softwares) better to use something flexible and faster. ICE!


In the ICE menu, go to the Deform panel > Create > Transform Mesh on the root object you want to house your ICE tree.

Then, get the original matrix value you want (drag from explorer), then a Scalar to 3D Vector node.

Plug it into an Add node.

Plug the Add node into the correct input for the Transform Mesh node.

NOW, you add the control driver attribute (anything)

Here you put your fcurve nodes, min/max nodes and whatever interpolation setups you want.

Plug the resulting green scalar value into another Scalar to 3D Vector node (same value as the attribute you want to drive)

Plug that Scalar to 3D Vector node into the add node.

Viola! You have just created a driver to the original value. Now, if you move the driven object, the driver will push it or control it by X attribute you chose! Now.. go on, repeat the last 4 steps to add more drivers to the exact same driven X attribute.


The idea is you get the original value from the driven parameter. Then you set it (Transform Mesh compound) or a Set Data node (with the right attribute)

Then you add or multiply extra values from different drivers. Like.. say you want a slider to push the Y axis, then you choose the parameter to multiply or add onto the current Y axis. It sets that now modified data in a multithreaded fashion, and all good! You have a lovely flexible and visual way of programming/setting your attributes and drivers, and multiple ones to single attributes also! Sucks nothing else has anything like ICE yet.. maybe Blender soon, or Houdini.

Here is a picture to illustrate (without any interpolation, fcurve or min/max nodes).

Image

Same goes for shapes, minus the Transform Mesh compound node. Instead you'd use a "Set Data" node.

I am no expert on ICE I just figured it out, so.. um.. I'm sure it can be improved.. but you get the jist I hope. :D

EDIT: The Rescale node will be VERY handy.

Caveman
Posts: 211
Joined: 12 Feb 2011, 11:38

Re: How to add more drivers to a multilinked object later?

Post by Caveman » 10 Jan 2015, 02:24

Awesome guide with the screenshot. Thank you very much. I will try this out. So, if I wish to control points on an enveloped geometry, which attribute do I get PointLocation,PointPosition or something else?

User avatar
Draise
Posts: 894
Joined: 09 Oct 2012, 18:48
Skype: ondraise
Location: Colombia

Re: How to add more drivers to a multilinked object later?

Post by Draise » 10 Jan 2015, 04:00

PointPosition I'd assume?

Caveman
Posts: 211
Joined: 12 Feb 2011, 11:38

Re: How to add more drivers to a multilinked object later?

Post by Caveman » 10 Jan 2015, 09:54

Thanks again :D

luceric
Posts: 1252
Joined: 21 Jun 2009, 22:08

Re: How to add more drivers to a multilinked object later?

Post by luceric » 11 Jan 2015, 01:36

doesn't the multi-link parameter UI just create an expression you could edit by hand to add a new parameter?

Caveman
Posts: 211
Joined: 12 Feb 2011, 11:38

Re: How to add more drivers to a multilinked object later?

Post by Caveman » 11 Jan 2015, 02:15

@luceric

I will be glad to know the expression to append new drivers, if you are willing to show me how :)

luceric
Posts: 1252
Joined: 21 Jun 2009, 22:08

Re: How to add more drivers to a multilinked object later?

Post by luceric » 11 Jan 2015, 18:06

isn't this the feature that simply creates an expression of the form l_interp( param1, param1, param3... ) and you'd just have to add another parameter to the function? (l_interp is an expression that takes any number of parameters you need)
Appologies if I'm confused with something else.

Caveman
Posts: 211
Joined: 12 Feb 2011, 11:38

Re: How to add more drivers to a multilinked object later?

Post by Caveman » 12 Jan 2015, 07:12

Hi, it does work, though it's acting a bit wonky. When I add the new parameter and set relative values, the driven object tries to move in reverse.

For example, I added the new parameter at the end of the l_interp expression, then I set relative values, after that I move the driven object and change the new parameter, and set relative values again.

When the Driver is 1, Driven should be 10, and when Driver is 0 Driven should be 0 too. But the results are unpredictable. When the Driver is at 1 the Driven is 6 and when the Driver is at 0 the Driven is at 10 8-}