Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

UV Tiling for NormalOcclusion layers and Texture masks.

I love the separation of the different submeshes within these layer/mask properties, it's a very smart way of dealing with the different UV maps for different types of head/body/feet geometry. However, when it comes to things like, say, quick and dirty normal mapping for a skin texture, trying to match up the scale of the normal maps between the UVs for the head, body, and other parts is a matter of scaling the pattern in an external program and hoping that it matches up well enough once you import it. This is a pretty easy fix if you have a program like Substance Painter, which lets you just create all your maps/textures in a separate program entirely, but for the sake of adjusting seamless textures/maps within FurryVNE itself, it would be really handy to have some sort of per-mesh-type UV tiling option in the Normal Occlusion layer properties and Texture mask properties.

Similar to the one found in the MaterialHandler > DetailTexture > Body/Head/etc subtree: 


Comments

  • odesodes Administrator
    edited October 2020
    The idea behind the masks/layers that use textures was sort of that you'd author those textures in external software, adapted for whatever part it is you're applying them on. I've seen some users use generic tiling textures though, and since you cannot change tiling in app, they've had to create multiple versions of tiling textures to make them work in the app [for different parts with different texture resolutions]. That is not good! So I agree this would be good for masks.

    I'm a bit confused about this for normals, however. Isn't this what detail textures are for? Why wouldn't detail texture cover what you're asking for in regards to normal/occlusion?
  • Maybe normals was a bad example! Let's say someone wants to tile a seamless texture mask for albedo purposes, instead. Matching the tiling between the hands and body still means guessing/checking with slight adjustments to the texture in an external program.

    Although, maybe even for normals, maybe someone wants to have different tiled normal maps between the body and the head? Or perhaps rounder "scaley" normal map on the head and a bigger, sharper one on the body. This is still possible with the detail textures, but you have to apply it to the whole head or the whole body. If it were available on the normal occlusion layer, you still have the ability to mask off that tiled normal without doing so manually within an external program.

    Again, everything I'm suggesting here is absolutely possible if you're able to create your own custom maps in external programs, but being able to set the tiling values on a per-texture basis will make the in-program editing that much more powerful. 
  • Though I get why you might want to limit the use of normals through layer editing! I can imagine things get pretty bloated once you start introducing multiple normal layers to a character. Will the albedo, normal, specular, etc maps be baked down into single images when the character is added to the interaction editor in the future?

    And P.S. I'm definitely spoiled by node-based editing from the work I usually do in Maya or Substance, so if it seems like I'm just trying to make your editor closer to those kinds of programs, I probably am. I don't have the perspective of the layman in regards to these things, so my suggestions definitely deserve a healthy pinch of salt. If you feel like what I suggest, either now or in the future, will just overcomplicate the program, I completely understand if you choose not to implement them. This is still an extremely well-developed product and I will continue to support you!
  • odesodes Administrator
    Masks/Layers are rendered into final texture targets - albedo, emission, bump and metal/smoothness are the base ones. So even if you have 20 layers, there will still only be those final render textures on the character.

    Tiling is trivial to implement, so I'll add it at some point. Note though that since the texture targets are finite in resolution, even if you tile a texture in the layer stack, you will not gain more resolution as you do with detail textures.
  • Thank you so much. I appreciate the work you're putting into this software. <3

    Buuut while I'm at it, what if you could use masks on the opacity for different properties of a texture layer (albedo, smoothness, etc) >:3c

    Twice as many masks, half as many texture layers! lmao
  • odesodes Administrator
    That is doable. Like an individual property mask override for that specific property.

    Wouldn't that be confusing though? Essentially fusing many different things into one layer?
  • edited October 2020
    It could definitely get confusing, which is why (if you somehow feel you need even more work to do), it might be worth hiding in an advanced menu.  But only if you decide something like this is worth implementing, of course! It just means that, say, if you want the tip of a dong really metallic, the middle really specular, and the base also glows (for some reason), you could accomplish that with 1 texture layer and 3 masks. It's possible in the current build, but it would be 3 texture layers and 3 masks, instead.

    If the UI gets cluttered, you might take some inspiration from Maya, where you have the property, its opacity slider, and a little checker icon that you can click to plug something into the value input (in this case, a B&W mask):


    But yeah, slightly more powerful layer control and QoL at the expense of a way more intimidating UI. I wouldn't blame you for tabling this particular idea.
  • odesodes Administrator


    I sacrificed* my halloween to implement tiling for texture masks and normal/occlusion layer. Will be part of next release (in addition to fur shading)!

    *Just kidding, I wasn't going anywhere anyway...




  • This looks very nice! Imagine the possibilities...
Sign In or Register to comment.