Announcement

Collapse
No announcement yet.

Two players (online multiplayer) with the same camera seeing different objects

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

    Two players (online multiplayer) with the same camera seeing different objects

    I have a scenario with a third person character where both players are viewing from the same camera. However, I want one player to ONLY be able to see the character. The other player can see everything in the level.

    I had attempted to do this by using "Set Actor Hidden In Game" for all the actors of the first player. This WAS working ok but I am now noticing it causes issues with replication. Apparently if an actor is set to Hidden in Game, it will not replicate. So I need to find another way to handle this.

    Any suggestions?

    #2
    Suggestions / things to try....

    1. Play around with Owner See / Owner no see properties
    2. Render Texture display with a specific actor list to show

    Comment


      #3
      Hmm, Owner See / Owner No See might be tricky, I don't really want any one player to be the "owner" of an entire level of static meshes and actors.

      I'm not sure what you mean by Render Texture display, trying to google some info on that but so far no real progress.

      Edit: Also, I feel like maybe the best way to go about this is to somehow change the camera rather than changing all the objects in the level... but I have no idea how that might work.
      Last edited by Chumble; 11-09-2018, 08:12 PM.

      Comment


        #4
        trying to google some info on that but so far no real progress.
        Feeding the data monster, eh? Google isn't your friend and neither are Startpage / DDG anymore either... - Anyway RenderTexture.. You know this already, its the oldschool security camera trick. Scene-Capture-2d projected onto a mesh / plane, sized to the camera viewport behind the third person character. Then filter the scene by actor list or by distance. But will there will be performance impacts???

        Apart from that, how about occluding the actors you don't want visible using some kind of FOG technique... Just make that Owner see, so you don't have to do this for all the level actors. Don't think Culling distance will help unless the players are in different areas then maybe Fog of War is an option. That's all I can think of right now using the vanilla engine. Maybe others have ideas...
        Last edited by EntrpriseCustomr; 01-29-2020, 06:29 AM.

        Comment


          #5
          Originally posted by franktech View Post
          Then filter the scene by actor list or by distance.
          Hmm, where is this filtering performed? I see no parameters on the SceneCapture2d component that would allow filtering to occur.

          Also, it may be worth noting how this is set up:
          Player 1 (server) connects. Pawn is created, Player 1 is set to possess pawn.
          Player 2 (client) connects. Uses "Set View Target With Blend" to use the same camera as Player 1's pawn.

          In order to make it so Player 1 was only able to see the render target material, I feel like I would need to spawn a second pawn and then use Set View Target for Player 1 to be that second pawn. And the second pawn would have a camera facing a plane with the material.


          I'm also toying with the idea of disabling all the lights for Player 1. This kind of has the right effect to it, although I can no longer see the player pawn. If I set the material for player 1's pawn to be an unlit material then that solves it.

          Edit - I'm going with the light solution. Thanks for the suggestions!
          Last edited by Chumble; 11-11-2018, 02:18 AM.

          Comment

          Working...
          X