Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

    Originally posted by ParadiseVR View Post
    Hi !
    Very good job with this plugin !
    I successfully set up the movement of my character but i have trouble implementing the grip functions. I don't understand this segment from the documentation "All actors to be gripped currently MUST have a UPrimitiveComponent derived component as the ROOT component "
    I first think i understand but i dont know how or where i can achieve this with the actor i want to be grippable. When i want to add a component, i dont seem to find this UPrimitiveComponent. I feel that i am missing something very simple here but i ve been stucked
    for almost two days now lol
    Basically the first (or only) component on the actor must be a primitive (not just scene component). This is because I have no way of knowing exactly what you want to pick up when picking up an actor so I pull the root as the target. Static meshes, skeletal meshes, basics shapes, these are all primitive components already, you just don't want a "Scene component" as the root unless you are going to use the "GripComponent" function instead which allows you to target specific components.


    Consider supporting me on patreon

    My Open source tools and plugins
    Advanced Sessions Plugin
    VR Expansion Plugin

    Comment


      Ok thanks !
      Are there any templates i can find in order to analyse how it works ? Because even with the documentation i am having trouble making it work properly.

      Comment


        Originally posted by ParadiseVR View Post
        Ok thanks !
        Are there any templates i can find in order to analyse how it works ? Because even with the documentation i am having trouble making it work properly.
        The SteamVR template in this forum section uses it for one of the pawns.

        My example project won't come out until I am done freelancing for a bit.


        Consider supporting me on patreon

        My Open source tools and plugins
        Advanced Sessions Plugin
        VR Expansion Plugin

        Comment


          Ok i ll go check the SteamVR template thanks

          Comment


            Pushed a new commit


            Code:
            10/21/2016- Added 4.14 preview 1 support
            
            Added cross compatibility between 4.13 and 4.14, due to Enums changing behavior I foresee having to lockout the 4.13 compatibility after 4.15 as I already cannot use 
            the new formats on 4.13 that 4.14 is starting to require.
            
            I personally see 4.14 as the start of true VR support in the engine anyway.


            Consider supporting me on patreon

            My Open source tools and plugins
            Advanced Sessions Plugin
            VR Expansion Plugin

            Comment


              Hey thanks for such a quick update!

              I'm having an issue with ChildActors attached to the motioncontrollers. I need to replicate the childactors events, but even with "replicate movement" set to off the clients have the attached actor moving faster than the motioncontroller. It's not no late update, it's doing the opposite, sort of like the server is doing prediction. Could this be an engine bug or part of GripMotionController?

              Comment


                Does anyone knows how i can rescale rooted static meshes ? Pickable stuff are too small and i d like to rescale them. Thx

                Comment


                  Originally posted by Fantasifall View Post
                  Hey thanks for such a quick update!

                  I'm having an issue with ChildActors attached to the motioncontrollers. I need to replicate the childactors events, but even with "replicate movement" set to off the clients have the attached actor moving faster than the motioncontroller. It's not no late update, it's doing the opposite, sort of like the server is doing prediction. Could this be an engine bug or part of GripMotionController?
                  As in you are directly attaching another actor to the motion controllers themselves? I would check the tick order in that case, if the controllers are ticking before / after the child actors it can cause different behavior. Child COMPONENTS are auto set to tick after their parent components so that they get the correct location when they update their position.

                  I haven't looked at how they handle child actors and tick ordering, regardless attached actors shouldn't be "faster". I don't know what your setup is.

                  Originally posted by ParadiseVR View Post
                  Does anyone knows how i can rescale rooted static meshes ? Pickable stuff are too small and i d like to rescale them. Thx
                  If you mean rescale them on grip, pass in a different scale in the transform you give it. If you mean rescale in the world...set the actors scale.


                  Consider supporting me on patreon

                  My Open source tools and plugins
                  Advanced Sessions Plugin
                  VR Expansion Plugin

                  Comment


                    Everything looks good in the world. The thing i dont get is that when i grip the object, it resizes to the default size. Wich is way too small in this case.

                    I dont think the problem is coming from the pick up drop blueprint as i do not change anything about the scale
                    Click image for larger version

Name:	UE4Pickup.png
Views:	1
Size:	120.9 KB
ID:	1117003
                    Last edited by ParadiseVR; 10-22-2016, 11:05 AM.

                    Comment


                      Originally posted by ParadiseVR View Post
                      Everything looks good in the world. The thing i dont get is that when i grip the object, it resizes to the default size. Wich is way too small in this case.

                      I dont think the problem is coming from the pick up drop blueprint as i do not change anything about the scale
                      Yeah no, it is definitely in the grip function, you need to pass in the transform of the actor you are gripping, not the transform of the motion controller, if you want it to snap to the controller then use a "MakeTransform" node and leave the location as 0,0,0 and tick the "Is already relative" checkbox, but you will need to fill in the Scale part of the transform with the scale of the actor you are trying to grip.

                      With how you currently set it up you are creating an empty transform with only a location set so it is defaulting the scale of the gripped actor to 1,1,1.

                      I allow it to change the scale of the gripped actor specifically because it is handy sometimes to say add a 25% scale increase to held items (papers/tablets/ect).
                      Last edited by mordentral; 10-22-2016, 01:04 PM.


                      Consider supporting me on patreon

                      My Open source tools and plugins
                      Advanced Sessions Plugin
                      VR Expansion Plugin

                      Comment


                        Originally posted by mordentral View Post
                        As in you are directly attaching another actor to the motion controllers themselves? I would check the tick order in that case, if the controllers are ticking before / after the child actors it can cause different behavior. Child COMPONENTS are auto set to tick after their parent components so that they get the correct location when they update their position.

                        I haven't looked at how they handle child actors and tick ordering, regardless attached actors shouldn't be "faster". I don't know what your setup is.
                        I have a ChildActor-component as a child to MotionController. The ChildActor is set to BP_Gun which is set to replicate, but not replicate movement (I tried replicate movement, it gave the same results).

                        I've tried setting the tick order in every way possible for the child actor, and it does the same thing. I think the problem lays with the fact that the ChildActor is it's own actor, and since it's set to replicate it does UE-magic and predicts it's movement... I need BP_Gun to be replicated since it calls the server to spawn projectile etc. When Replicate is set to false the events simply aren't, even though the parent pawn is set to replicate. It's really halted my progress atm since I don't want to have separate pawn classes for every weapon available.

                        Comment


                          Originally posted by Fantasifall View Post
                          I have a ChildActor-component as a child to MotionController. The ChildActor is set to BP_Gun which is set to replicate, but not replicate movement (I tried replicate movement, it gave the same results).

                          I've tried setting the tick order in every way possible for the child actor, and it does the same thing. I think the problem lays with the fact that the ChildActor is it's own actor, and since it's set to replicate it does UE-magic and predicts it's movement... I need BP_Gun to be replicated since it calls the server to spawn projectile etc. When Replicate is set to false the events simply aren't, even though the parent pawn is set to replicate. It's really halted my progress atm since I don't want to have separate pawn classes for every weapon available.
                          Is it actually a gun? Like just something that you shoot? If so don't attach it, use one of the grip functions instead, even though attaching shouldn't be a problem in the first place.

                          I don't get exactly what you are doing? I have multiple actors that I just "grip" and freely call events from, the only thing that gets modified is movement replication which doesn't effect RCPs sending.


                          Consider supporting me on patreon

                          My Open source tools and plugins
                          Advanced Sessions Plugin
                          VR Expansion Plugin

                          Comment


                            Originally posted by mordentral View Post
                            Is it actually a gun? Like just something that you shoot? If so don't attach it, use one of the grip functions instead, even though attaching shouldn't be a problem in the first place.

                            I don't get exactly what you are doing? I have multiple actors that I just "grip" and freely call events from, the only thing that gets modified is movement replication which doesn't effect RCPs sending.
                            I don't use any of the Grip functions that comes with the plugin. I just have the ChildActor component set up in the PlayerPawn BP, I don't do anything at runtime with it. The RPCs are behaving as they should but the location of the BP_Gun actor is not. You can easily repro it by just making a child actor actor component and parent it to a motioncontroller. Set the selected actor to an actor that is set to replicate, and you can see it move infront of where the motioncontroller is moved.

                            Using the provided grip function might just work though.

                            Comment


                              Originally posted by Fantasifall View Post
                              I don't use any of the Grip functions that comes with the plugin. I just have the ChildActor component set up in the PlayerPawn BP, I don't do anything at runtime with it. The RPCs are behaving as they should but the location of the BP_Gun actor is not. You can easily repro it by just making a child actor actor component and parent it to a motioncontroller. Set the selected actor to an actor that is set to replicate, and you can see it move infront of where the motioncontroller is moved.

                              Using the provided grip function might just work though.
                              If you aren't using the grip functions, what is your reasoning for using a child actor component instead of just directly attaching an actor to the motion controller (AttachToComponent) and saving a reference to it?


                              Consider supporting me on patreon

                              My Open source tools and plugins
                              Advanced Sessions Plugin
                              VR Expansion Plugin

                              Comment


                                Originally posted by mordentral View Post
                                If you aren't using the grip functions, what is your reasoning for using a child actor component instead of just directly attaching an actor to the motion controller (AttachToComponent) and saving a reference to it?
                                Because then I would have to spawn the actor at runtime, so I usually save myself the trouble and just use a child actor component instead.

                                Comment

                                Working...
                                X