Why is NormalFromHeightMap node ignoring its green channel Only setting?

Hi, UE4.27

Regarding Epic’s node Function: [NormalFromHeightMap]. It has a tooltip for the [Height Map Channel Selector] pin: “If the green channel is preferred enter (0,1,0,0)” [as the connected v4 value].

But this does not work. Connecting a V4, and setting Red channel = 0, and green = 1 does nothing – because R and G still show in the calculated result (all channels show). I want to exclude R channel (a gray packed texture), and only get the Normal from G channel (a gray packed texture).

  • And actually I need to set Alpha to 1 (not 0) for any bump effect to display: (0,0,0,1). So what is wrong and how to fix? Please help with pics when possible. Ty.
    .

Goal: I want to use only the Green channel of an existing Packed channel texture – to make a Normal.

Problems:

  1. NormalFromHeightMap node only accepts a Texture Object (only 1 output pin), thus I cannot connect just the Green output (as with a Texture Sample node). Thus I rely on [NormalFromHeightMap’s] instructions which say it is possible to only use the Green channel… But this is not working.

  2. As it is now (with all channels getting calculated) – it messes up the Normal because Red channel is getting used, which I do not want (R is a non matching gray scale image).

  3. I dont want to manually save just a copy of the Channel Green data (grayscale) in another texture file using Photoshop – because 1) I will have 50 of these, too much extra work, and 2) I’m already using this packed texture in the Material formula as something else (meaning I want to reuse without adding another texture = memory use).

  4. I tried editing a copy of the [NormalFromHeightMap] function. I set the [Input Height Map Channel Selector (V4)] to 0,1,0,0 (green on, red off). But this still displays R,G,B,A as the result when used.

  5. I can’t even connect the top pin (all 4 values) of a V4 node (Vector Parameter) – to the input pin of [NormalFromHeightMap] node – because it says error: Cannot cast from float3 to float 4. . How is a V4 a float 3 when I’m using the Top pin (all 4 values)???
    Cant connect v4 to v4

  6. Should the Packed grayscale Texture (used in the Texture Object for computing Normals from Height map) be set to compression of sRGB on, or LinearColor, or doesnt matter? Ty