|
I think what you're hitting on is the sort of "damned if you do, damned
if you don't" of nodes. I don't know if you've ever used Fusion or
Shake, but if you look at those two programs, it's a pretty good example
of how node-based systems can try to either put everything you might
want into each node, or keep everything broken out into simple
components. Both systems can have big advantages. Ultimately, a Fusion
comp will often have fewer nodes because more operations are provided in
each node. But in a Shake comp, you'll always know exactly what each
node does with little fussing about. Which is better? Ultimately, it's
just a matter of opinion, and depends on the individual. Personally, I
usually prefer working with nodes that are fairly simple. That way I
know exactly what everything is doing and can understand what is and
isn't optimized. But at the same time, I find my shader trees in XSI to
be pretty enormous by the time I finish them. Which is why I end up
writing custom shaders instead.
Ultimately, I think the happy medium lies with the ability to create
"macros" that are sets of nodes combined to do a particular task. XSI's
ability to do this is pretty limited, as it requires knowledge of spdl
syntax. But it is possible. And in fact, quite a few of the shaders in
XSI are actually several shaders bundled together into one. But there
is certainly a lot of room for improvement in terms of making it easier
to these types of shaders by combining nodes. With such a system, you
would create a shader tree that does exactly what you want, providing
the ability to manipulate your alpha however you want, then you'd
reference that shader tree into your materials as a single node. And
you could update it later, non-destructively.
- Andy
Ponthieux, Joey wrote:
Brad, Andy,
I finally got this to work. Thanks! It would seem that what I
needed was the a mix2colors node and that helped tremendously. I
managed to separate the alpha and and run it through an intensity
node. It worked fine.
Am I missing something or doesn't this seem like an awful lot of extra
work for something which I think should be real fundamental. It
strikes me that if I set up a file->image->sprite->material network,
this is a real simple structure which quickly and simply generates the
underlying structure of the decal texture on a transparent placard.
But there is no where to manipulate the sprite's alpha level, or
rather the positive image area. Instead you are relegated to create
large cumbersome to accomplish a simple task.
Several things stand out:
1. Why doesn't the Sprite node have alpha level manipulation? In the
Stencil settings you can set mode to alpha but the threshold does
nothing. Apparently this is some sort of zpic data threshold.
2. Why doesn't the file node provide for alpha level manipulation? It
has a ton of features, cropping, image level effects, timing, etc etc,
etc. You can even blur the alpha, but nowhere can I find that it
provides for alpha level manipulation.
3. Layers are well suited to this effect but are prevented from
facilitating the effort by the base color. The base material
transparency effects the base color as well as all layers. Why can't
the base transparency be separated from the layer transparency? I have
been unable to determine if this is even possible, but it should be.
Further, Layers provide a premult switch where the base colors don't.
Ironically what is so frustrating about this is that in Maya, almost
every node provides the ability to manipulate alpha level, even if
they don't accept an alpha. And a number of real important nodes have
no concept on how to pass the alpha through. Really bizarre and very
frustrating because you have to do all these complex channel runs just
to process alpha across these nodes.
But XSI passes alpha through just about everything without fail, yet
provides little to no manipulation of the alpha once injected into the
node. It's an XSI thing I suppose because most nodes do this, the RGBA
controls are off limits once data is piped into the node input element.
What would be really useful however is a Levels node which allow
individual manipulation of the levels of all channels of whatever is
plugged into the node. The HLS_Adjust node is almost that node, but it
offers no control over alpha. If there was a similar node that
received RGBA and allowed separated gain manipulation of each channel
this would work well and would save a lot of needless network
construction just to isolate the alpha and manipulate it's level.
I understand that a network can be created to do what I want, I just
think it could be easier.
Anyway, been a long day, needed to extract this from my head LOL
Joey
Andy Jones wrote:
Are you using a sprite shader? If so, separate your alpha channel
and multiply it by a scalar that represents the value of the overall
presence of your "letter A." So, basically, you end up manipulating
your alpha channel so that it ranges between 0 where there is never
any image and the alpha value of the fully present part of the
image. So, if it's 50% opaque, the alpha goes from 0 to .5.
- Andy
Ponthieux, Joey wrote:
Hello,
I have a polygon which has a texture mapped on it. The texture
has an alpha which is used to mask out unwanted areas of the image.
All unwanted areas should be transparent. I can construct this
appearance but I am finding that I am unable to fade the positive
part of the image in and out.
For example, if I had a card, and I textured the letter A on the
card, only the letter would be visible, everything else on the card
would be transparent. Then I want to dissolve the letter in and out
at will while maintaining the base transparency.
I have tried constant shaders, sprite shaders, layers etc. I have
manipulated mask connections, alpha connections, but still I can
find no way to accomplish this. Any suggestions would be greatly
apreciated.
---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in
body:
unsubscribe xsi
---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body:
unsubscribe xsi
|