Announcement

Collapse
No announcement yet.

Adventure Kit

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

    #46
    Update,

    Not really a classical Adventure Game mechanic, but judging from what I read in the UDK forums it has been a big deal for a long time.


    Originally posted by Raed Abbas View Post
    any estimation of release date? or let's say how much is done so far?
    No sorry, I think I am about done with most of the mechanic prototyping, but there is still a lot of work ahead of me and I cannot predict how much time I can spend on the kit. At the moment lots, but that can change quite quickly.

    greetings
    Adventure Kit: UDK / UE4
    Buy the Kit: Marketplace
    Scan FX: Marketplace
    www.freetimestudio.net
    [Youtube][Twitter][Facebook]

    Comment


      #47
      Really liking the latest video, could you maybe shed some light on how you achieved this?

      Comment


        #48
        Originally posted by FTC View Post
        Update,

        Not really a classical Adventure Game mechanic, but judging from what I read in the UDK forums it has been a big deal for a long time.

        No sorry, I think I am about done with most of the mechanic prototyping, but there is still a lot of work ahead of me and I cannot predict how much time I can spend on the kit. At the moment lots, but that can change quite quickly.

        greetings
        This has been a MAJOR problem in my project; I know you're working on putting it your final kit but I'd be forever grateful if you could post a few steps you did to achieve the wallrunning, as I've been trying to literally months to get a system working, and I've drawn up duds.
        KITATUS
        "Information shouldn't be behind a paywall, It should be free for all!"

        Comment


          #49
          I have had the same problem as KitatusStudios. It has been maddening trying to get my character to keep his feet planted on a surface. Thus far I've been able to get the model to spiral out of control and float upside down into empty space. I would love to see some of your blueprint work, your mechanics are incredibly fluid!
          Adam Davis | Marketplace Support | Epic Games
          How to report a bug? | Installation & Setup issues? | Answerhub Bug Reports | Twitter

          Comment


            #50
            Wow...and you make it seem so easy....I loved the adventure kit for UDK and I look even more forward to this one....amazing stuff FTC....

            Streams: www.Twitch.tv/BlinkTheory
            Patreon: www.Patreon.com/BlinkTheory

            Comment


              #51
              Originally posted by Thommie View Post
              Could you maybe shed some light on how you achieved this?
              Originally posted by KitatusStudios View Post
              I'd be forever grateful if you could post a few steps you did to achieve the wallrunning
              To make the character wall run you need to change its coordinate system. By default the global coordinate system is X(1,0,0), Y(0,1,0) and Z(0,0,1) where Z is up. For wall running you need the wall to be the floor (which is the XY plane in the world coordinate system) and the wall normal to be up (Z). My biggest logical hurdle was the calculation of a new coordinate system as you have to derive two vectors from one, the normal of the wall. The problem here is that there are an infinite number of vectors that can define a perpendicular plane to this normal. However, any of those planes will do as long as the plane vectors themselves are orthogonal to each other and to the normal vector.

              To get a orthogonal vector to two others you can simply use the cross product, but there is still only the normal vector. So what I did was
              ZAxis = WallNormal
              YAxis = FVector::Cross(FVector::UpVector, ZAxis)
              or, in case ZAxis == UpVector
              YAxis = FVector::Cross(FVector::ForwardVector, ZAxis)
              and then
              XAxis = FVector::Cross(YAxis, ZAxis)

              So there you have it: Three axes for a new coordinate system. From that point all you have to do is transform the movement variables into the new system and use it like it was the global coordinate system.

              Originally posted by Adam Davis View Post
              It has been maddening trying to get my character to keep his feet planted on a surface. Thus far I've been able to get the model to spiral out of control and float upside down into empty space. I would love to see some of your blueprint work, your mechanics are incredibly fluid!
              ...and this is where the logical problems ended, but the implementation problems began. UE4 is very much dependant on the global coordinate system for physics, orientation, rotation, path finding and whatnot. There are a lot of native methods in the MovementComponents which modify values in global space, e.g. set Velocity.Z = 0 for walking. So even if you yourself calculate everything correctly and feed it to the engine it will most likely not do what you want. To really make it work you need to dig into the code and override the native methods... and there are a lot of methods: Up to this point I have overriden about 20 but there are plenty left that I need to convert, since there are still lots of cases where the system bugs out due to some native velocity/acceleration change in global space.

              This is also why you don't see me jumping in the video, the whole thing goes haywire when I do

              So yea, I am not saying it is impossible with blueprints, but you would have to drop the MovementComponent, or at least use the custom physics mode, because I think most of the native methods required are not overrideable by blueprints. Since I am going for a general wall walking feature I will continue to override native methods, so that in the end the gravity can come from whatever direction the user wants and have everything still work.

              greetings
              FTC
              Adventure Kit: UDK / UE4
              Buy the Kit: Marketplace
              Scan FX: Marketplace
              www.freetimestudio.net
              [Youtube][Twitter][Facebook]

              Comment


                #52
                @FTC, btw I think I recall seeing a method specifically for generating orthogonal vectors from a normal. Saves some steps I think in the process you outlined (I've had to do a similar thing for a decal system, where you have a normal and must pick orthogonal vectors).

                I don't remember what it's called, though.

                Anyway, this looks increasingly rad.
                Storyteller - An immersive VR audiobook player

                Dungeon Survival - WIP First person dungeon crawler with a focus on survival and environmental gameplay ala roguelikes

                Comment


                  #53
                  Update:

                  More mechanics now work with wall walking, like jumping, vaulting, levers, ledge climbing and first persion view.


                  Originally posted by n00854180t View Post
                  @I think I recall seeing a method specifically for generating orthogonal vectors from a normal.
                  I searched for it, but there seems to be nothing in FMath, FVector or FMatrix. Would be cool if you could recall what it was called, every bit of dublicate code is unnecessary

                  greetings
                  FTC
                  Adventure Kit: UDK / UE4
                  Buy the Kit: Marketplace
                  Scan FX: Marketplace
                  www.freetimestudio.net
                  [Youtube][Twitter][Facebook]

                  Comment


                    #54
                    Really impressive stuff, great work!


                    Originally posted by FTC View Post

                    I searched for it, but there seems to be nothing in FMath, FVector or FMatrix. Would be cool if you could recall what it was called, every bit of dublicate code is unnecessary

                    greetings
                    FTC
                    I think FVector::FindBestAxisVectors() is what you are looking for:

                    Code:
                    	 /**
                    	 * Find good arbitrary axis vectors to represent U and V axes of a plane,
                    	 * given just the normal.
                    	 *
                    	 * @param Axis1 Reference to first axis.
                    	 * @param Axis2 Reference to second axis.
                    	 */
                    	CORE_API void FindBestAxisVectors( FVector& Axis1, FVector& Axis2 ) const;
                    Last edited by zeroexception; 07-08-2014, 01:42 PM.
                    Zak Middleton
                    Sr. Engine Programmer, Epic Games

                    Comment


                      #55
                      Originally posted by Zak Middleton View Post
                      Really impressive stuff, great work!




                      I think FVector::FindBestAxisVectors() is what you are looking for:

                      Code:
                      	 /**
                      	 * Find good arbitrary axis vectors to represent U and V axes of a plane,
                      	 * given just the normal.
                      	 *
                      	 * @param Axis1 Reference to first axis.
                      	 * @param Axis2 Reference to second axis.
                      	 */
                      	CORE_API void FindBestAxisVectors( FVector& Axis1, FVector& Axis2 ) const;
                      Thanks Zak, I couldn't remember what it was called, as I saw it in passing last month when first getting into the engine.
                      Storyteller - An immersive VR audiobook player

                      Dungeon Survival - WIP First person dungeon crawler with a focus on survival and environmental gameplay ala roguelikes

                      Comment


                        #56
                        This looks great!
                        Im looking forward for this FW.
                        Could I ask how do you "hide" the head of the character, but at the same time it is projecting his shadow when you're in first person view?
                        Thanks and im sorry for my English!

                        Comment


                          #57
                          I may have been thinking of this, actually (CreateOrthonormalBasis): https://docs.unrealengine.com/latest...sis/index.html

                          Seems like the other one is easier to use with only a single vector, though. Though it might be more stable (i.e., avoid flipping directions of the vectors created from the input normal) if given a consistent second vector generated from the first.
                          Last edited by n00854180t; 07-08-2014, 03:29 PM.
                          Storyteller - An immersive VR audiobook player

                          Dungeon Survival - WIP First person dungeon crawler with a focus on survival and environmental gameplay ala roguelikes

                          Comment


                            #58
                            Nice work there !
                            STONE RAGE
                            StoneRage Steam: https://store.steampowered.com/app/640860/Stone_Rage/
                            https://stoneragegame.com/

                            Comment


                              #59
                              Hi,

                              Originally posted by Zak Middleton View Post
                              I think FVector::FindBestAxisVectors() is what you are looking for
                              Thank you, I'll have to look into it, because I actually don't need arbitrary vectors, but ones that align according to UE4's coordinate system. I'll take a look at the code. Also I am blind for not seeing this function

                              Originally posted by n00854180t View Post
                              I may have been thinking of this, actually (CreateOrthonormalBasis)
                              This might be a good addition to the BestAxis method, but not on it's own I think, but I'll look into it.

                              Originally posted by Alexarg View Post
                              Could I ask how do you "hide" the head of the character, but at the same time it is projecting his shadow when you're in first person view?
                              Fortune favors fools I guess, I got lucky and the blockhead is not rendered for the camera due to backface culling.

                              greetings,
                              FTC
                              Adventure Kit: UDK / UE4
                              Buy the Kit: Marketplace
                              Scan FX: Marketplace
                              www.freetimestudio.net
                              [Youtube][Twitter][Facebook]

                              Comment


                                #60
                                Update,

                                Instead of pressing E to use things the player can now enable the mouse cursor to click on things. This is the first step for a Point n' Click interface.


                                Note: I did not use the native Blueprint based mouse click solution but instead implemented my own simple tracing. All the interactable Actors extend from a "Useable" base class and I am currently working on things like using locks with special key items.

                                greetings,
                                FTC
                                Adventure Kit: UDK / UE4
                                Buy the Kit: Marketplace
                                Scan FX: Marketplace
                                www.freetimestudio.net
                                [Youtube][Twitter][Facebook]

                                Comment

                                Working...
                                X