From Range Parameter in Phaser POP doesn't remap values

I was playing around with the Phaser POP and discovered that the From Range and To Range Parameters don’t remap the values. I had to drop a Normalize POP before the Phaser to remap values. Example file is attached below. There is a comment box right below the Phaser to explain the issue further. Built in 2023.32139.

PhasedBlending.toe (7.5 KB)

While I’m here just had a few other notes and questions.

  • By default the Phaser POP uses P to ascertain the phase value. I have used Phaser before so I know that it only requires an attribute that is size 1. It might not be clear for people that are new to Phaser. Instead of showing P might be better to show P(0) as the default attribute. Also in the menu instead on having P, N, Tex etc. it may be better to show them as P(0), P(1) and etc so it is clear that it uses a float instead of vec2 or vec3
  • Instead of a remap function it might be better just to normalize the Phase attribute since Phaser as far as I understand uses values in between 0 and 1. Seems a a bit redundant unless I’m missing something
  • Is there an easy way to get a Point Index attribute? In the example attached above I had to use a Point and Copy just so I could get the TemplateID to use as the index value.
  • I’ve always wanted to have more control over instanced geometry and and be able to morph each instance which seemed like the perfect use for the Blend POP. I found it a bit tricky because I started by using a value-per-point approach example in the Overview file. Quickly discovered that the Blend parameter doesn’t respond to it but it also doesn’t show me an error that its not possible. This is when I used the Phaser to drive the Point Weight parameter in the Blend POP. I think it would open some interesting avenues if you could use value per point for the Blend parameter. I’m not sure what is going on behind the scenes and if it is even possible. Attached another example below that expands on the previous one and blends between 3 different shapes.

PhasedBlending.4.toe (8.1 KB)

I want to also just leave an appreciation note for the entire Derivative team. I am constantly amazed at how much you can do with such few nodes in POPs. Its truly been a delight to test these builds.

Hi Somil,

Thank you for the feedback!

Looks like a bug with integer attributes - copy POP templateId is an integer.
Otherwise looking at it, phaser wouldn’t handle integer attributes well, we’ve reworked some POPs to convert integer to float with a simple menu but that one was forgotten.
we’ll fix the bug and add the cast to menu.

Yeah, something a bit hidden, “built in attributes”, if you put down a math POP, you’ll see a sub menu for input scope with _PointI. We should add it to phaser as it would be useful. In the meantime you can add it beforehand with the math POP, see modified toe. It’s currently created as a float by default so also removes the need for the normalize POP

So in theory on a multi component input it should process each component independently and give you a multi component result, so with P it should give you a float3 phase, which is not currently the case, so that looks like a bug! otherwise yeah a single value as the default might make sense.

Not sure I totally understand the above, from what I’m seeing in your file you’re using Blend POP the way it should, it you want different blend values for each point all the points need a point weight attribute. Can you share a toe showing what you think should work and when you don’t get an error but think you should?

Thank you, much appreciated, and glad you’ve been enjoying POPs!

PhasedBlending_v.2.toe (8.3 KB)

forgot to reply to this, haven’t worked originally on the phaser POP, will take a closer look but I think it might make sense indeed - automatic normalize is a bit more expensive since it require multiple passes internally, so we’ll probably leave the rerange, but we might add it as an option

So currently in the file shared above the animation for all the shapes goes from Spehere > Cube > Sphere >Torus and then repeats. What I was trying to do was assign a Blend Input value per point so that instead of all points following the above pattern I could vary that per point. So you could have variations. So for example point 1 would have a pattern of Sphere > Torus > Sphere> Cube and another point would be Sphere > Cube > Sphere > Torus

In order to do that I thought I could try using per point parameters for the Blend Input par.

TOE File:
PhasedBlending.5.toe (8.3 KB)

This just zeroes out the Blend Input par for all points. I know there are other appraoches to accomplis this. For example I could split the input points for Copy and create a parralell network so that some points follow one pattern and the others another. So mainly my question is, does the Blend Input par support a per point input or does it only take a single value? If it takes only a single value I think there should be a warning or an error saying that it doesn’t support value per point.

You mentioned that Phaser would be able to support vec3. I think then it would also require you being able to select the attribute size like you can in Noise POP and many others so you can remap each one individually. But I will stop bothering you with this now I’m sure you have higher priority items to handle and the above things have work arounds for now.

Oh you meant the pointItr expression, I see, indeed it is not supported here.
It needs specific work to be implemented for each POP/parameter (some are easier to do than others, we’ll add more but it might take some time.
Good point that it should raise an error or warning when not supported, we’ll work on that.
We’ll also document it!

Other yeah I think having the multiple parameter set would make sense for phaser as well, I’ll add it to the list!

haha no bother at all, we love the feedback though it might take us time to work through it!

Hello,

So the phaser POP issues above are fixed in alpha 6, it now works with integers, has the custom parameter size, and support for built in attributes as well.

No autonormalize though since we might add another feature that might make it obsolete.

Also the pointItr expression doesn’t work anywhere anymore, the new way is to use the Map page features on POPs that support it.

Thanks Vincent! Fingers crossed for being able to map attributes to Blend Weights.

You’re welcome! This hasn’t been added to blend POP yet but it’s logged internally.