animating the visibility source for instancer opacityPP

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
  09 September 2013
animating the visibility source for instancer opacityPP

Hi,

I would like to key what attribute serves as a source for the instancers opacityPP.
Obviously, thats not possible.
Is that true?

Writing a perParticle expression for that is a bad option, because it would be called for every nParticle Id. I really do not want that.
It also looks like its not possibe to connect a expression node to the visibility source, because there is just no attribute for that exposed.
And connecting an expression node to 'nParticle.instanceData[].instanceAttributeMapping' is not allowed ( the expression has a stringArray for the instanceAttributeMapping ).
Is that also true?


Thanks for help!
 
  09 September 2013
I think everything you are finding is correct. Shading and visibility stuff is not supported with the vanilla Maya particle instancer as far as I know. SOUP has added the copier node which can do some shader stuff, but maybe not what you are looking for.

For what its worth, I have two suggestions, neither one is awesome, but maybe one will work for your setup. You will really need to drive any sort of per-particle behavior with a per-particle expression, unless you want something to happen to all the particles at once.

Option A: Add a locator as one of the instance objects set the particle objectId to this and then trigger it to the desired objectId when you want it to become visible.

Option B: You could also just set the scale to 0 and then up to the desired value when you want it to appear.

Again, just some random thoughts.
I probably missunderstood what you are looking for.
All the best.
~Ben
 
  09 September 2013
Thanks for your answer.
Yes, too bad the responsible Maya developer thought it would not be necessary to make it available as a input attribute..

Quote: Option A: Add a locator as one of the instance objects set the particle objectId to this and then trigger it to the desired objectId when you want it to become visible.

I am not perfect in english and unfortunately I have no idea what you mean with that : /

Quote: Option B: You could also just set the scale to 0 and then up to the desired value when you want it to appear.

Wouldn`t I hide just every particle with that?

Some particles are transparent, some are not. What I want is to have at specific times all instancer elements visible, at other times only those whose opacityPP is 1.
If possible without to use perParticle expressions...
And so my idea was to just change the attribute responsible for the instancer elements visibility from "" to "opacityPP".
"" meaning there is no attribute for driving the instancers visibility and so all instancer elements are visible,
and "opacity" meaning that its the nParticles opacityPP being the source.
 
  09 September 2013
Yeah, it would be nice to get more control over instances without having to go to extremes.
First I should say that both of my suggestions would require per-particle expressions, very short light ones mind you. But per-particle expressions are a fact of life with a standard install of Maya for something like this.

To clarify my first suggestion, you can add a locator to your list of objects to instance. So instead of instancing:
box1
box2
box3
You can instance:
locator1
box1
box2
box3
For the particles you want 'invisible' you can set the per-particle.objectID to 0 then switch to the visible objectID whenever you want. Again, using per-particle expressions.

My second option is basically the same thing, just using a per-particle.scale attribute.
Set the values in your per-particle expression to 0 when you want them to be invisible.
Then set the per-particle.scale to the final scale that you need when you want the particles to become visible. Then just set this attribute to drive the instance scale on your instancer node
Essentially the same as the previous suggestion, but you might have some weird popping or streaks depending on your rendering, not sure.

Hopefully that clarifies my suggestions.
~Ben
 
  09 September 2013
This is the general and typical Maya problem. They implemented totally senseless limitations instead of giving general access so we can manipulate non destructively everything.

Unfortunately, perParticle expressions are not an option for me. I have to scroll through the time too often and cannot update millions of particle calculations every frame : (
 
  09 September 2013
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
__________________
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
 
Thread Closed share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 05:02 AM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.