Announcement

Collapse
No announcement yet.

Texture Bombing

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Texture Bombing

    In the release notes for 4.12 I see this:

    Texture Bombing: Texture bombing takes a tiling texture input and blends multiple samples with offset coordinates with some flipping and rotation in order to reduce tiling artifacts. It blends to neighbors so it can be used with any textures, not just textures with tiles or borders. This implementation works using heightlerp so that the transition between offset samples avoids soft blending artifacts which can muddy the colors.

    I can't for the life of me figure out what form this takes in-editor.
    Trent Polack (@mittense)
    Personal Site | Development Blog | Joy Machine

    #2
    Nevermind, I'm guessing it's the "Mirror" tile setting in the per-texture texture settings.
    Trent Polack (@mittense)
    Personal Site | Development Blog | Joy Machine

    Comment


      #3
      [MENTION=32340]mittense[/MENTION]

      It was accidentally missed out of the 4.12 release. It's nothing to do with mirroring in texture settings. It's something I had attempted a while ago and ryan bruck has taken the idea and put it into the engine with some slight improvements

      https://forums.unrealengine.com/show...l=1#post485935
      Visual Effects Artist, Weta Digital, Wellington New Zealand
      BLOG www.danielelliott.co.uk
      @danielelliott3d https://twitter.com/danielelliott3d
      Unreal Engine and VFX Tutorials https://www.youtube.com/user/DokipenTechTutorials
      2015 Showreel: https://vimeo.com/116917817

      Comment


        #4
        Gah, I read that thread and somehow missed that. aw
        Trent Polack (@mittense)
        Personal Site | Development Blog | Joy Machine

        Comment


          #5
          Hello!

          Sorry, but should it be in 4.12.1? I believe it's a material function, right? Could you please tell me how it's called, can't find it at all.

          Comment


            #6
            Hey guys,

            We had a branching issue and unfortunately these material functions did not make it for 4.12 That said, they do work in 4.12. I attached a zip file to this post. Extract it here:

            \Engine\Content\Functions\Engine_MaterialFunctions01\Texturing

            The nodes are called "Texture Bombing" and "Texture Bombing POM". The other 2 functions in the zip are helper functions used within the outer container functions.

            Sorry for the inconvenience. If anybody wants other new functions posted I am happy to upload them here.
            Attached Files
            Ryan Brucks
            Principal Technical Artist, Epic Games

            Comment


              #7
              A nice one!!!

              Is it coming standard to 4.13 ?

              Are there any plans to make some kind of docs about how to use it and what results to expect?

              Is it mobile friendly ?

              Thanks!!

              Comment


                #8
                its already in engine just missed the deadline so yes it will be in 4.13 for sure.

                Yes docs should come.

                Mobile friendliness I will leave up to individuals to decide. It might run but it will be relatively expensive.

                Here are the notes I have for now:

                Texture Bombing

                Inputs:
                Texture Object (T2d): The texture to use.
                UVs (V2): Base UVs to use.
                Tiling (S): Tiling factor.
                Offset (S): The strength of the random offset. For some textures you may notice different interference patterns and so trying different values for the offset can help hide them.
                Optional Heightmap (T2d): When using HeightLerp, this provides the heightmap to use.
                Contrast (S): The contrast of the height lerp.
                Is Normalmap (B): This must be set to true for normal maps. Checking this box performs transformation accounting for flipping and rotation of normalmap.
                Enable Height Lerp (B): Whether to enable height lerp blending. Increases the quality of the blend at the cost of some instructions.

                Additional Note: The heightmap texture defaults to the R channel. To change it you must make a material instance and change the Component Mask Parameter "Heightmap Channel". This was done this way as exposing the channel as an input would require a dot product and be more expensive. This allows the channel picker to be free.
                Ryan Brucks
                Principal Technical Artist, Epic Games

                Comment


                  #9
                  I've just thrown together a quick test landscape material using the Texture_Bombing node along with the gravel, grass and rock textures from the starter content and it is awesome!! This will be a massive time saver. Thanks so much Epic!!

                  Click image for larger version

Name:	TBomb.PNG
Views:	1
Size:	643.8 KB
ID:	1112637
                  Attached Files
                  [FREE] Procedural Bridge Blueprint, [FREE] Spline Enabled Ivy BP

                  Comment


                    #10
                    [MENTION=3692]RyanB[/MENTION], is it possible to use texture bombing with the heightmap used in tessellation? When I attempt it I get errors saying "Invalid node used in vertex/hull/domain shader input" referring to DDX and DDY nodes.
                    Last edited by Wilkes; 09-06-2016, 12:31 PM.

                    Comment


                      #11
                      Originally posted by Wilkes View Post
                      [MENTION=3692]RyanB[/MENTION], is it possible to use texture bombing with the heightmap used in tessellation? When I attempt it I get errors saying "Invalid node used in vertex/hull/domain shader input" referring to DDX and DDY nodes.

                      Yes you can make the modifications suggested here:

                      https://forums.unrealengine.com/show...l=1#post590157

                      Keep in mind that is going to be fairly expensive.
                      Last edited by RyanB; 09-06-2016, 12:56 PM.
                      Ryan Brucks
                      Principal Technical Artist, Epic Games

                      Comment


                        #12
                        Originally posted by ULLS View Post
                        I've just thrown together a quick test landscape material using the Texture_Bombing node along with the gravel, grass and rock textures from the starter content and it is awesome!! This will be a massive time saver. Thanks so much Epic!!

                        [ATTACH=CONFIG]103711[/ATTACH]
                        Any idea why this node isn't working with my landscape?

                        Cheers,

                        Comment


                          #13
                          Hmm try using just worldpostion.XY divided by scale as the UVs. I am not sure but maybe the landscape coordinates are repeating over too large a range. Also try messing with the tiling input.
                          Ryan Brucks
                          Principal Technical Artist, Epic Games

                          Comment


                            #14
                            Originally posted by DP Studio View Post
                            Any idea why this node isn't working with my landscape?
                            Cheers,
                            Try feeding a value into the tiling input. I actually didn't use landscape coordinates on mine (standard texture coordinates) but I've just made a simple set-up using it and I can confirm it is all working okay here:

                            Click image for larger version

Name:	Capture.PNG
Views:	1
Size:	519.5 KB
ID:	1117084
                            [FREE] Procedural Bridge Blueprint, [FREE] Spline Enabled Ivy BP

                            Comment


                              #15
                              Originally posted by ULLS View Post
                              Try feeding a value into the tiling input. I actually didn't use landscape coordinates on mine (standard texture coordinates) but I've just made a simple set-up using it and I can confirm it is all working okay here:

                              [ATTACH=CONFIG]114955[/ATTACH]
                              Yuhp, cheers. For some reason I assumed if it was working on that static mesh then it should work out of the box on the landscape, turns out it was at the right values to had tiled back on itself, silly mistake, thanks for taking the time to reply

                              Comment

                              Working...
                              X