Alpha Blend + Additive Without Alpha in Texture


#1

Hi!

I’m still a beginner in this whole vfx business and was wondering if you guys could help me with a problem.

I’m trying to pull an Alpha Blend + Additive shader in Unity (using Amplify, I have no knowledge of shader coding as of now). Jean Moreno’s shader does what I’m looking for:

The problem is that I need to assign it an alpha channel directly from the texture:

I don’t want to change the texture settings to have an alpha channel, and I was wondering if there was a way to make a shader that takes the black and white from the image and automatically transform it into the alpha channel.

I attempted to do this in Amplify to no avail, it successfully makes the alpha blend, but never makes the additve pass, what am I missing?:

Thanks in advance!


#2

not precisely sure how this is working : [Op RGB & Op Alpha]

BlendOp Op : Instead of adding blended colors together, carry out a different operation on them. :thinking::face_with_raised_eyebrow:

perhaps srcAlpha oneMinusSrcAlpha is multiplying over the additive?

  • try in the alpha-blend RGB operation -> One (instead of SrcAlpha)

one (1-srcAlpha) is the only operation commonly used (premultiply i.e. blendAdd)


#3

Hey! Thanks for the reply!

Using One instead of SrcAlpha gives me the result I want, but disables the alpha pass:

Setting Blend OP RGB to either Add or Off produces the same result, while Blend OP Alpha isn’t changing anything. I tried messing with the Blend Alpha that is right below the Blend RGB, but it’s not changing anything either. I wonder if I’m supposed to be using that to fix the alpha, but I’m just grasping at straws by this point haha.


#4

try

Blend Alpha Dst = One Minus Src Alpha

does that do anything?


#5

Hey Torbach,

Sorry for taking so long to reply. It’s also ignoring the alpha with Blend Alpha Dst = One Minus Src Alpha

If this is relevant in any way, I (barely) managed to solve this on a default unlit shader in the Text Editor like so:

But I would still like to know if there’s any way to do this in Amplify. I’m thinking maybe it has something to do with this shader not being multi-pass?