Download

Surface Properties in UE4?

Hey guys,

I’m tiling a floor with the standard ceramic tile material and i was wondering how can i adjust the surface properties like in UDK when you open ‘Surface Properties’ with F5 and manually adjust the textures coordinates with increments?

I’ve tried applying the texture coordinate node in the material editor and editing the values in the Utiling and Vtiling boxes, but that just increases the amount of tiles shown. I want to be able to nudge the pattern over.

Can anyone help? (Ive also tried adding values and TexCoords to the ‘World Position Offset’ as well, but nothing happens)

Regards,

jonm4y

Create a Constant2Vector and Add it to the TexCoord. The value of the vector controls the u and v offset of the texture.

Hi HavocX,

Thanks for your reply, I tried dragging in a Constant 2Vector, but the TexCoord doesnt accept an input only an output. Any other ideas? :slight_smile:

i am not skilled a lot but if i remember right what you have to do is use a multiply (or a + or like ^^ as i said, not skilled a lot) with tex coord and your vector and then link to texture

You might want to check out Params. If you assign a param you can set a default value, but when you create a “material instance” of your shader, those params become editable without recompiling.

As far as strict typing in UE goes, it’s a pain! You’ll quickly run into issues like not being able to create a float2 from separate params, which will hopefully be addressed. In the meantime it’s worth learning how strict typing works anyway.

As far as your TexCoord goes, you COULD plug your float2/vector2 straight into the UV input, but that’ll repeat the same pixel over your entire model, because for every pixel it tries to draw, it’ll be using that single float2 value to sample the texture. Normally what you do is divide the texcoord output by a scalar param, then put that into your input. That’s how you scale your texture.

To just display the texture with default 0-1.0 UVs, leave the input blank. That’ll work fine too.

Here’s examples. First the master shader, then the material instance.

Create an Add node. Connect both the TexCoord and Vector nodes to its input pins. Connect its output pin to the uv input on the TextureSample node.

I just came searching for the same thing. In UDK, F5 brought up surface properties on the fly, so it was easy to nudge the material along a mesh or rescale it or whatever on the fly. There’s nothing like that for UE4?