Announcement

Collapse
No announcement yet.

Update Reflection Capture on Runtime

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

    Update Reflection Capture on Runtime

    Heya, I am crossposting this into the ArchViz Subforum in hopes that some of you have experienced the same problem and have found a way around it!

    ____

    Hello,
    now that i solved my UMG / Material Change >problem< I have a new problem


    I get the materials to change, i.e. the floor. But when my wood floor switches to a carpet, the reflections in the glass and other reflective surfaces are still of the wood...
    Can I update reflection captures during runtime?

    I thought of turning the ReflectionCapture objects into Blueprints, give them a Custom event that fires a "Update Capture" and then trigger these each time a new material has been chosen via UMG Material Switching...

    My problem is: I cannot find a node that says something like "update Capture" and my Google-Fu is kinda low today and I cannot find anything about this...

    Can you tell me if
    a) this is possible during runtime
    b) a node that can actually do this
    c) my idea of linking the blueprints make any sense

    Thank you very much and have a great day!

    ___

    TL;DR = It says in the documentation that the Reflection Capture Actors are updated before runtime... but what about changing materials during runtime? Is there a way to link the material change with an "Update Capture"

    #2
    The engine doesn't support rendering reflection probes in the game, it can only do that in the editor.

    Comment


      #3
      Those reflection probes are very specifically and strictly static, saved before the game ships. They can be updated in real time in the editor, so maybe if you were awesome at editing source code you could bring that feature to your game.

      Otherwise, you would have to cook up a more performance-expensive solution like a SceneCaptureCube or Cubemap texture inside every material.
      Theia Interactive makes immersive VR experiences in collaboration with the world’s leading companies and creatives, leveraging this bleeding edge technology to pioneer the next generation of entertainment, storytelling, and customer engagement.

      Comment


        #4
        Thanks for your answers, but... hm meh... ok...

        Anyone got a workaround?

        Comment


          #5
          Originally posted by on3studio View Post
          Thanks for your answers, but... hm meh... ok...

          Anyone got a workaround?
          You could try capturing an HDR cube map of the finished level and use that in your Post Process for the reflection. This way is not going to give you super accurate results but it will allow you to change things without having to worry about artifacts. You can read more about how to use Cubemaps in UE4 from the following link.

          https://docs.unrealengine.com/latest...aps/index.html

          Cheers-

          Sam

          Comment


            #6
            Thank you, will have a look into it!

            Comment


              #7
              on3studio, I've been hoping in vain for this functionality with every update since release. It seems to be a simple thing as it already works in-editor. The only apparent reason things like this haven't been exposed is because VR and other gimmicks unfortunately take priority over actual functionality and creative control. I'm incredibly disappointed with where the engine has been going, all its potential is being neglected in favor of dumbification, so that everyone who wants to make generic games with as little effort as possible can fulfill their dreams of being yet another generic #indiedev.

              Comment


                #8
                Technically reflection captures are static lighting. You can force a recapture at runtime though with the console command 'r.ReflectionCapture', this will cause a hitch and a lighting pop.

                Comment


                  #9
                  Originally posted by DanielW View Post
                  Technically reflection captures are static lighting. You can force a recapture at runtime though with the console command 'r.ReflectionCapture', this will cause a hitch and a lighting pop.
                  Did this console command get removed in the newer engine versions? I'm not finding it in 4.19.

                  Comment


                    #10
                    I think so. It is stored with the lighting data now. What are you trying to do?

                    Comment


                      #11
                      Hey on3studio,

                      in one of my applications I had a similar problem. I was changing light colors of ambient lights using umg, unfortunately the reflections of the light color wouldn't update.

                      However, I used the workaround mentioned by DanielW: I created a "execute console command" node and put in the command 'r.ReflectionCapture'. It is triggered everytime the user applies the changed material. the user will see a loading screen for about .2 sec while the reflection captures are updating.

                      Not ideal, but working.

                      Another thing that comes to my mind ist experimenting with planar reflections. maybe this'll work better for you. planar reflections are updated constantly.

                      Comment


                        #12
                        Hi all
                        I'm having the same problem as the OP - glass wall panel and when I change from wood floor to carpet the reflection still shows the timber.
                        Is there a way to solve this in 4.19?
                        Planar Reflections seems to have disappeared from 'Rendering/Optimisations??
                        I'm an Arch Vis UE4 noob!
                        Last edited by emptyT; 05-16-2018, 08:13 AM.

                        Comment


                          #13
                          Originally posted by Gordonis View Post
                          Hey on3studio,

                          in one of my applications I had a similar problem. I was changing light colors of ambient lights using umg, unfortunately the reflections of the light color wouldn't update.

                          However, I used the workaround mentioned by DanielW: I created a "execute console command" node and put in the command 'r.ReflectionCapture'. It is triggered everytime the user applies the changed material. the user will see a loading screen for about .2 sec while the reflection captures are updating.

                          Not ideal, but working.

                          Another thing that comes to my mind ist experimenting with planar reflections. maybe this'll work better for you. planar reflections are updated constantly.
                          r.ReflectionCapture doesn't work in 4.19 runtime

                          Comment


                            #14
                            Reflection captures can only be updated in the editor, AFAIK,because they are supposed to be pre-filtered, compressed and packaged into cube map arrays offline.

                            Comment

                            Working...
                            X