Announcement

Collapse
No announcement yet.

[Submited]Modular Player Structure System in Blueprint

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

    [Submited]Modular Player Structure System in Blueprint

    Hey there i noticed that many ppl have problems implemting this to their projects. And by further investigation it seems that something went wrong in the Submission process... I submitted it as a standalone project but somehow its now "Addable Content", which means the DefaultEngine.ini, that holds all the custom collision data, is missing. So as a quick workaround ill post the stuff which has to be put inside the MyUnrealProject\Config\DefaultEngine.ini. It is important that you didnt modify any of the blueprints so far. If you did you need to readd the scripts. Anyway

    Inside this Ini you will find a section [/Script/Engine.CollisionProfile] delete all the content there and paste the following:
    Code:
    [/Script/Engine.CollisionProfile]
    +Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision",bCanModify=False)
    +Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
    +Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
    +Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.",bCanModify=False)
    +Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ",bCanModify=False)
    +Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors",bCanModify=False)
    +Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors",bCanModify=False)
    +Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.",bCanModify=False)
    +Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.",bCanModify=False)
    +Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.",bCanModify=False)
    +Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.",bCanModify=False)
    +Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
    +Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
    +Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ",bCanModify=False)
    +Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.",bCanModify=False)
    +Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.",bCanModify=False)
    +Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.",bCanModify=False)
    +Profiles=(Name="LandscapeProfile",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=((Channel="TraceBlockingVolume"),(Channel="Brush"),(Channel="TC_Foundation"),(Channel="TC_Pillar"),(Channel="TC_Wall"),(Channel="TC_Window"),(Channel="TC_Door"),(Channel="TC_Ceiling"),(Channel="TC_Stair")),HelpMessage="Landscape Profile",bCanModify=True)
    +Profiles=(Name="FoundationSphere",CollisionEnabled=QueryOnly,ObjectTypeName="TraceBlockingVolume",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap),(Channel="EngineTraceChannel1",Response=ECR_Overlap),(Channel="EngineTraceChannel2",Response=ECR_Overlap),(Channel="EngineTraceChannel3",Response=ECR_Overlap),(Channel="EngineTraceChannel4",Response=ECR_Overlap),(Channel="EngineTraceChannel5",Response=ECR_Overlap),(Channel="EngineTraceChannel6",Response=ECR_Overlap),(Channel="TraceBlockingVolume",Response=ECR_Overlap),(Channel="TC_Foundation",Response=ECR_Overlap),(Channel="TC_Pillar",Response=ECR_Overlap),(Channel="TC_Wall",Response=ECR_Overlap),(Channel="TC_Window",Response=ECR_Overlap),(Channel="TC_Door",Response=ECR_Overlap),(Channel="TC_Ceiling",Response=ECR_Overlap),(Channel="TC_Stair",Response=ECR_Overlap),(Channel="GameTraceChannel10",Response=ECR_Overlap),(Channel="GameTraceChannel11",Response=ECR_Overlap),(Channel="GameTraceChannel12",Response=ECR_Overlap),(Channel="GameTraceChannel13",Response=ECR_Overlap),(Channel="GameTraceChannel14",Response=ECR_Overlap),(Channel="GameTraceChannel15",Response=ECR_Overlap),(Channel="GameTraceChannel16",Response=ECR_Overlap),(Channel="GameTraceChannel17",Response=ECR_Overlap),(Channel="GameTraceChannel18",Response=ECR_Overlap)),HelpMessage="Needs description",bCanModify=True)
    +DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,Name="TraceBlockingVolume",DefaultResponse=ECR_Ignore,bTraceType=False,bStaticObject=False)
    +DefaultChannelResponses=(Channel=ECC_GameTraceChannel2,Name="Brush",DefaultResponse=ECR_Overlap,bTraceType=False,bStaticObject=False)
    +DefaultChannelResponses=(Channel=ECC_GameTraceChannel3,Name="TC_Foundation",DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False)
    +DefaultChannelResponses=(Channel=ECC_GameTraceChannel4,Name="TC_Pillar",DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False)
    +DefaultChannelResponses=(Channel=ECC_GameTraceChannel5,Name="TC_Wall",DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False)
    +DefaultChannelResponses=(Channel=ECC_GameTraceChannel6,Name="TC_Window",DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False)
    +DefaultChannelResponses=(Channel=ECC_GameTraceChannel7,Name="TC_Door",DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False)
    +DefaultChannelResponses=(Channel=ECC_GameTraceChannel8,Name="TC_Ceiling",DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False)
    +DefaultChannelResponses=(Channel=ECC_GameTraceChannel9,Name="TC_Stair",DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False)
    +EditProfiles=(Name="BlockAll",CustomResponses=((Channel="TraceBlockingVolume"),(Channel="Brush"),(Channel="TC_Pillar"),(Channel="TC_Wall"),(Channel="TC_Window"),(Channel="TC_Door"),(Channel="TC_Ceiling"),(Channel="TC_Stair")))
    +ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall")
    +ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn")
    +ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic")
    +ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor")
    +ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic")
    +CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic")
    +CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic")
    +CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle")
    +CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn")
    +CollisionChannelRedirects=(OldName="BM_Foundation",NewName="TC_Foundation")
    fot the sake of completation you also can download the ini from
    https://www.dropbox.com/s/xv8lxwllwt...ngine.ini?dl=0

    Iam working on a tutorial which shows how to set all this up by hand and i hope i get it done by the middle/end of the week.

    I also uploaded the Original Demo Project. You still need to add the Modular Player Structure Assets from the marketplace to this project. Just unzip it to your User\<yourname>\Documents\Unreal Projects folder.

    https://www.dropbox.com/s/by8n6525q1...cture.zip?dl=0



    Hey there,

    This Blueprint-based Library enables the Player to Build Houses! Ideal for your Survival Game.
    Its easy customizeable, expandable and heavily commented.

    This Package includes
    - The Player Structure System itself
    - Demo "Playground"
    - 8 ready-to-use Static Meshes (and of course the MAX file)

    Features:
    - High usage of instancing to keep drawcalls as low as possible
    - Actor Based Structures - 1 House = 1 Actor (keeping network load low for example)
    - Range check for "hostile" structures (you have to keep some distance to other structures)
    - Slope check to prevent building on to crazy terrain

    Not yet in but to come in an update:
    - Networking example
    - Construction aspects like you actually have to build it after placement

    To help People get Along iam curently writing a Documentation, which can be found here:
    http://ruohki.gitbooks.io/modular-player-structures/

    Trello Card: https://trello.com/c/clpysKSB/250-mo...yer-structures
    Last edited by ruohki; 02-09-2015, 08:12 PM.
    Free Inventory System (BP AND C++ Version): Clicky Clicky
    Player Structure System (Houses!) (BP): Pew Pew Marketplace Version: Yoink!
    Howto: Create Dragable UMG Windows: Zoom Zoom

    #2
    What do you mean with: - Actor Based Structures - 1 House = 1 Actor (keeping network load low for example)"
    I have a similar system. I have 1 Parent Actor and the parts are childs. Is this what you mean by 1 actor? Cant think of another way in modular building. But nice work rly.
    Last edited by MajekPL; 01-20-2015, 06:47 PM.

    Comment


      #3
      1 House no matter how big is treated as 1 actor ingame so basically you dont need to replicate hundrets of bps
      Free Inventory System (BP AND C++ Version): Clicky Clicky
      Player Structure System (Houses!) (BP): Pew Pew Marketplace Version: Yoink!
      Howto: Create Dragable UMG Windows: Zoom Zoom

      Comment


        #4
        This looks really cool. Great work!
        Aaron Fowler

        Twitter: @Tobbo_Art
        Art Blog

        Comment


          #5
          Looks really cool and the moment you are adding network and also the construction aspects I am going to buy and I am sure everyone gonna buy!
          This is perfect for survival starters!
          One question though, What is the price? I would recommend around the 25$ only if it has the network and the construction aspects.
          Last edited by TomerBD; 01-21-2015, 02:55 PM.

          Comment


            #6
            Price will be at around 30$. And as i wrote the construction aspect may not be in right on (iam working on it right now), after that is done the network implementation is planed. Also the models are curently under maintance to make them look better (the submission to was 2 month ago)
            Free Inventory System (BP AND C++ Version): Clicky Clicky
            Player Structure System (Houses!) (BP): Pew Pew Marketplace Version: Yoink!
            Howto: Create Dragable UMG Windows: Zoom Zoom

            Comment


              #7
              #added emergency trubbleshoting
              Free Inventory System (BP AND C++ Version): Clicky Clicky
              Player Structure System (Houses!) (BP): Pew Pew Marketplace Version: Yoink!
              Howto: Create Dragable UMG Windows: Zoom Zoom

              Comment


                #8
                Just a little information for everyone that bought this thing or is thinking about. Iam curently rewriting the project do make it 4.8 compatible + adding features that were requested. Like doors and networking. Ill keep you guys informed
                Free Inventory System (BP AND C++ Version): Clicky Clicky
                Player Structure System (Houses!) (BP): Pew Pew Marketplace Version: Yoink!
                Howto: Create Dragable UMG Windows: Zoom Zoom

                Comment


                  #9
                  Great to hear, this seems like an interesting project.

                  Comment


                    #10
                    hope to see the updates soon

                    Comment


                      #11
                      any news on when the updates are comeing?

                      Comment


                        #12
                        Originally posted by ruohki View Post
                        Just a little information for everyone that bought this thing or is thinking about. Iam curently rewriting the project do make it 4.8 compatible + adding features that were requested. Like doors and networking. Ill keep you guys informed
                        I also would like to know the status of the update. Thanks

                        Comment


                          #13
                          I've contacted ruohki directly and asked him to respond to this thread with a specific date that his content will be 4.8 compatible. With 4.8 we instituted a policy where content creators have 45 days to update their content to the latest new engine version, and since this is a new policy, we're allowing a little wiggle room for people to get everything together.
                          -jon [ web: www.jonjones.com | twitter: @jonjones ]

                          Comment


                            #14
                            Update has been submitted to epic
                            Free Inventory System (BP AND C++ Version): Clicky Clicky
                            Player Structure System (Houses!) (BP): Pew Pew Marketplace Version: Yoink!
                            Howto: Create Dragable UMG Windows: Zoom Zoom

                            Comment


                              #15
                              Can someone post a review once the update has been uploaded?

                              Comment

                              Working...
                              X