No announcement yet.

Actors showing offline, but not in network play.

  • Filter
  • Time
  • Show
Clear All
new posts

  • Actors showing offline, but not in network play.

    Thanks to Dalai, I fixed some actors that were hidden behind glass by setting them to AlwaysRelevant. Now I find find that other actors still aren't appearing as they should. Can anyone tell me why the actors in the following map (excluding the guard) show up offline, but not on a client machine? I've probably missed something really obvious...

    Map (less than 30k)

  • #2
    The glass is probably solid. Unreal engine doesn't send information to the client about objects behind solids for three reasons:

    1. To prevent cheating (radars... although they still work at close range)
    2. Player's can't see those objects anyway. :roll:
    3. To save bandwidth!

    By setting an object to be bAlwaysRelevant, you override this, and the server will send the client info on this object no matter where it is.

    Typically, you should make your switchable lights bAlwaysRelevant, since player's would otherwise see the light from your lamp from around a corner, even though the lamp itself is unlit. Only when they round that corner, the light disappears, as the server sends info of the lamp.

    Now... as for the glass... I'm not sure if semisolids or movers would work, but the one certainly working method is making the glass non-solid, and covering the area with those BlockAll objects.

    The only problem is that BlockAll's collision area is a cylinder.
    Ah, to be a hero. Keeping such company...


    • #3
      No, no no! You misunderstand. Look at the map.

      The actors behind the glass (not included in the demo map above) show just fine, I already knew that (but thanks for the tip on trigger lights - I wondered what was doing that)

      The glass is a mesh made from a sheet. The other actors are decorations with their meshes substituted for flames. None of these actors are visible on a client machine, even though they are not occluded by anything. Go offline, and they appear just how they should. I've tried bAlwaysRelevant, but that doesn't solve it for these.

      I'll make some screens.


      • #4

        The top shots in each are offline, the bottom ones are how they show online. To explain fully:

        The flames that disappear in the first shot are wreck2 decorations changed to flames, and attached to an attachmover. The middle flame is a ThieveryTorchFlameNormal. The reasons I've set it up like this are 1) (I think) It saves on lightmaps, 2) due to a bug, when multiple torchflames are relit by one flare the drawscale on the meshes isn't reset, 3) ThHideTrigger doesn't work (I managed to fix it with a new class, but when I first saw this bug I thought it was my HideTrigger not working properly, so deleted them all and switched to AttachMovers).

        In the second shots, the glass panes are meshes made from a sheet brush and attached to invisible attachmovers (below it). The reason I have set it up like this is that a slanted mover with one transparent surface made to fit the cabinets becomes unsmashable after a BSP build due to dodgy collision, whereas a simpler mover collides well but looks ugly.

        In the third shots, the flames are set up the same as those in the first shots, to get the collision and lightmaps I wanted in those rooms.

        None of those actors show up on a client, but they show exactly how they should offline. bAlwaysRelevant makes no difference. The only difference in properties between them and a standard decoration is bStatic (Set to false for these, because they all move).

        The 30k map linked above is just a box with a dumb guard, 4 playerstarts, and all of those problematic decorations in it.


        • #5

          Maybe you have a bad computer? Or run it on the wrong (umm, the thing you choose when you run UT for the first time)
          hehe.... this is a sig no?


          • #6
            Also, they show up on the server, just not clients.

            Originally posted by Kain

            Maybe you have a bad computer?
            Maybe you made a dud post.


            • #7
              Okay.. whew.

              Thanks to Switch` for taking a look at everything, making suggestions, and telling me I could launch a dedicated server and join it myself.

              What I've found out after lots of experiments:
              • If bStatic is set to false on a decoration, it doens't show at all on clients.
              • If bStatic is set to true, it shows, but then can't be hidden or moved (I've tried this with a working version of ThHideTrigger).

              I'm going to try subclassing something non-deco... :|

              edit: wait, I just twigged that I don't need new subclasses, duh!


              • #8
                *Mouth waters*


                • #9
                  Originally posted by The Dragon
                  *Mouth waters*
                  *stuffs a rag in it*

                  Quit drooling.


                  • #10
                    Thanks, I needed that.

                    *Glares at LaughingRat when his back is turned*


                    • #11
                      I like it.

                      But then again I like anything.

                      Try sending the build order on them to last. It's actually a type of BSP hole that's occurring, so use any BSP methids to get rid of it.

                      Of course, actor BSP holes are a little persistant.......
                      "Just off the border of your waking mind there lies another time, where darkness and light are one. As you tread the halls of sanity, you feel so glad to be unable to go beyond. I have a message from another time."


                      • #12
                        Yeah, bollox Radamanthus

                        ... and, drawing a line under that ---->

                        Problem solved:

                        If a deco has bStatic changed to false from a default of true, it won't show on clients. Use a deco that defaults to bStatic=false, subtitute mesh, and it's fine.

                        My thanks to Switch`, Phaethorn and Dalai for helping me in various ways.

                        Jeez, it's coming to something when there's less stupidity on IRC than the forums