Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

  • started a topic VR Expansion Plugin

    VR Expansion Plugin

    VR Expansion Plugin

    *Updated: 04/22/2019*


    Playable Template Demo
    Template Packaged Download

    Plugin Website:
    https://vreue4.com/

    Plugin Partial Features List:
    https://vreue4.com/features

    Documentation
    https://vreue4.com/documentation

    Website Hosted Patch Notes
    https://vreue4.com/patch-notes


    This plugin is intended to ease the creation of VR games/experiences in UE4. It is up to quite a few different additions now and has a fleshed out wiki to help ease into it (may be a version or two behind at times, I attempt to update it when I can, the template is generally the best informational tool). It is also intended to be compatible with multiplayer experiences without any direct changes from the end user, most of the relevant components / actors replicated themselves over the network with some customization included.

    It is fully Blueprint implemented but can be manually linked to and used in c++ if needed.

    Consider Supporting Me On Patreon

    Latest informational video


    Some Games In progress or released that currently use the plugin (These are just ones I know about)
    https://vreue4.com/games


    Plugin Pre-built Downloads
    https://vreue4.com/binaries


    Plugin Repository
    https://bitbucket.org/mordentral/vrexpansionplugin

    Plugin Example Template Repository
    https://bitbucket.org/mordentral/vrexppluginexample


    Open Input Module (Knuckles/ect until its a main part of the engine it will be a separate module)
    https://vreue4.com/ovri-howto


    Repository Installation articles By Community Member kusogaki77

    Basic Installation Step-By-Step


    Specific Commit Download Tutorial


    Pre-built binary useage

    Template Note:

    I would like to note by the way that everything currently in the template is an example of what I think is best practices (though maybe not implemented as well as I would for an actual game), not everyone is going to need the same set up and not everyone is going to need a full VRcharacter. Custom pawns that just use the motion controllers and camera / parent relative component would be useful to people that don't want gravity / collision. It also has to give examples of far more things than an average game is likely to use, so there WILL be refactoring involved if it is used as a base for one (input bindings for one).

    Template Change Log
    Code:
    11/07/2018
    
    Changed the Gripping sphere trace to use HitLocation instead of ImpactLocation for the socket in range checks, while impact location is supposed to
    fall back to hit location if it wasn't able to be validated, there was an instance with a specific user where that behavior
    was not being shown (even though it works as intended for everyone else...). Since I don't know the engine level cause for this
    inconsistancy and since the actual difference is only up to the radius of the trace sphere (generally very small) I moved to the
    other variable.
    
    08/22/2018
    
    Re-wrote how the character / player controller is initialized to be far cleaner.
    
    Added Knuckles EV2 default controller profile and changed some of the character logic to check for it in OpenVR.
    
    Changed the FPS test pawn to load its profile in a different area
    
    Removed a corrupt BP and prepped everything so that packaging with PackageAllDirectorys works without issues on the template.
    
    Removed unused content that was just bloating the repository (left over EpicVR template content)
    
    Reference BP Grip script will be coming later.
    
    Changed Sedan actor to use a Boxmesh around it for the navigation modifier.
    
    07/18/2018
    
    Added a filter to "CanBeClimbed" to always ignore grip interfaced objects.
    
    Added a VRPlayerStart to the template level in place of the PlayerStart that
    was there before.
    
    Changed drawer actor to use sliders and the new momentum settings
    
    Changed the player controller to wait around for tracking before
    spawning. Checks for valid tracked position and if it isn't valid yet it
    waits before sending the players HMD info to the server (so server delays itself).
    
    05/25/2018
    
    Overhauled how the teleport controllers get the player state and set themselves up a bit.
    
    Added socketing capability to the sample gun for the body component on the example pawn.
    
    Added a socketing check to the VivePawnCharacter in the CallCorrectDropEvent area of the event graph (really simple).
    More complex implementations could skip querying the object and check themselves, or do other things.
    
    05/20/2018
    
    Remade the controller model loading and controller profile support to use the new bOffsetByControllerProfile option
    on the GripMotionControllers.
    
    05/16/2018
    
    Changed controller model loading to be per hand and safe for oculus platform in the template
    
    Corrected Epics roomscale rotation for teleport boundries (unsure if they fixed this in their base template ever).
    
    Added optional tracking sensors to the teleport outline
    Plugin Change Log
    Code:
    04/22/19
    
    Added a beta FlightStick mode to the VRLever class
    
    See Patch Notes:
    https://vreue4.com/patch-notes?secti...de-for-vrlever
    
    04/18/19
    
    Changed the IsHeld Implementation and added AllowsMultiGrip to the VRGripInterface to prepare for some future features.
    
    See Patch Notes:
    https://vreue4.com/patch-notes?secti...anges-04-18-19
    
    04/16/19
    
    Pushed a new update live to both repositories yesterday, forgot to update this thread. I made a bucket updating system for 4.22 to manage the client auth throwing addition and when I saw the new subsystem engine capability I decided it made more sense as one of those. Figured that as long as I was cleaning it up and generalizing it more that I would add some blueprint accessibility to it as well for others to use if they choose too.
    
    Patch notes here: https://vreue4.com/patch-notes?secti...date-subsystem
    
    04/02/2019
    
    Added the GrippablePhysicsReplication class that overrides the default PhysicsReplication class in engine
    to allow for server side smoothing. If "bUseClientAuthThrowing" is enabled (On a grippable actor, not available
    for grippable components) and the grippable is set to a Client auth movement mode. The object will sends
    its state to the server at "UpdateRate" speed and the server will smoothed the replicated physics state
    and replicate back down to the other clients. After the thrown object hits a sleep state or hasn't changed
    status for a time-out period or is picked up it will end the replication.
    
    This is a very alpha feature and will need improvements likely over time.
    
    
    Ported epics 4.22 late update race condition fixes
    
    its also generally cleaner overall now
    
    
    Moved to using epics new local auth check that came in with 4.22, HasLocalOwner is a new component function
    and walks up the ownership chain for authority.
    
    
    Improved oldmove sends missing some special movement flags with CMC's.
    
    Added initial replication state to the button component.
    Fixed initial replication somewhat with the VRSlider.
    
    Made all interactibles and grippable components turn off movement replication when gripped.
    This makes it significantly safer to keep them replicating movement.
    
    
    Fixed some initialization issues with the lever on initial replication of the
    initial transform (specifically not re-calculating the angle correctly).
    
    
    Removed the bReplicatesMovement requirement on InitialRelativeTransform for
    all interactibles. Having that was pretty counterproductive. Just turning off
    replication for the component is better if this is needed to be disabled.
    
    
    Large header function body refactor, was about time that I committed to doing this, removing
    function bodies out of headers and moving them into the .cpp.
    
    
    Switched unique render commands with new format in 4.22
    
    
    Added EndPlay to grip scripts to allow people to manage timers and cleanup better.
    
    Move Grip Script Beginplay to a seperate function being called so that I can run custom logic in the
    future (like tick event registration) without the user being able to override the parent
    and delete it.
    
    Removed Grip Script BeginPlay being blueprint callable, that was never intended.
    
    Fixed a display issue with instanced objects in 4.22 and their property
    categories.
    
    
    Added a colorspace check to the openVR library texture creations
    
    02/11/2019
    
    Now caching the secondary attachment pointer, this lets me
    make sure that the server gets a valid pointer on release of secondary grips, also lets me throw drop events
    when the secondary attachment changed but its still a secondary.
    
    Changed to sending the full transform on drop with client auth grips instead of just position / rotation.
    
    Fixed a Z axis bug introduced with the lever angle re-write
    
    Moved EVRInteractibleAxis to the VRInteractibleFunctionLibrary header,
    it belongs there instead.
    
    Switched levers over to use the Interactible library functions
    
    Also made the dial use the same basic logic as the lever for rotation,
    with an option to revert back to direct hand sampling.
    
    Added new grip type "EventsOnly", will skip ALL extra logic of grips and only store the grip
    data and fire the events for it. Whether you do anything else with it or not is up to you.
    Like a CustomGrip except even more barebones as it does not fire TickGrip or obey any of the
    dropping simulation logic, it is also auto excluded from late updates.
    
    Stopped calling "StopSimulating" on Custom Gripped objects automatically.
    It is legal to start and keep a custom grip simulating, that call should have
    never been there. Anyone who needs their custom grips to auto stop simulating on grip
    will need to call it in the OnGrip event themselves.
    
    02/02/2019
    
    Fixed a net smoothing bug with linear smoothing that could cause crashes
    when rotating. Exponential smoothing is the engine default when using smoothing
    and smoothing is off by default in the plugin so this took awhile to run into.
    
    Now initializing some vars that Oculus may not be setting on mobile
    This would be a bug in the base engine source, engine source is still bugged but plugin motion controllers
    should function. Issues happen when tracking is lost on oculus platforms (IE: Oculus GO controller and app loses focus)
    
    
    Made GunTools virtual stock settings part of the global settings structure
    this makes it easier to store a copy in the character and replicate it to the server
    as well as from the server to the gripped object for setting.
    
    Also added the option to UseGlobalVirtualStockSettings in the gun tools grip script.
    When enabled it will load the current settings from the global settings (default true and only for locally controlled).
    When disabled it uses local settings of the script.
    
    
    Added custom movement events for climbing and low grav movement modes. (EventUpdateClimbingMovement/LowGrav)
    
    Is a better way of getting the hand offset than in the actors main tick, run the same logic but here so that it is taken in
    the same frame instead of the next.
    c++ projects can still override PhysCustom_Climbing to do the same or they can overide the EventUpdateClimbingMovement_Implementation
    
    Also am now properly setting / clearing the climbing variables, the time moments when it
    was being done wouldn't work with the new placement of the query.
    
    
    Many lever improvements on the back end
    mostly fixing Axis_Y issues since it is the last order of operations with Quats.
    Also added SetLeverAngle function
    
    Moved button overlap bindings later in init to avoid an editor copy error.
    
    
    Added a BP Accessible IsLocallyControlled to the motion controllers, it can be very useful, mostly
    with avoiding extra casts to check for local owner OnGrip ect.
    
    
    Changed LerpToHand to be a fixed time period of lerp, not speed based.
    
    Added a control distance variable to the LerpToHand gripscript
    If the distance to the hand is smaller than this value then the lerp
    script won't activate on grip.
    
    Default of 0.0f means that it will always activate.
    
    Also added a curve editor to it that is optional.
    
    
    Added some brief descs to the headers for the Grip scripts and removed the
    SHOULD NOT BE USED warning from gun tools.
    
    Fixed a scaling bug with the auto SnapToSocket setup when gripping.
    
    01/04/2019
    
    Many of these changes go for 4.20 and 4.19 versions as well (except for the new gun tools, it is 4.21 only)
    
    Finalized beta version of GunTools Grip Script, supports pivot offsets, recoil instances, virtual mount settings, extended smoothing.
    
    Moved smoothing settings out of default grips and into the gun tools grip script.
    This will lower default grip overhead and also let me specifically fine tune
    the smoothing for gunplay.
    
    Added "WantsDenyLateUpdates" to grip scripts allowing grip scripts to deny late updates when they don't want them.
    
    Opened up Grip Scripts to be editable per instance again instead of just in defaults.
    
    Added remote grip pivot setting to the motion controllers, allows easier remote gripping and custom operations / mobile VR ease of use.
    
    Fixed it so that attachment grips will now have full use of the late update settings
    and features. Also moved the interface late update deny checking to the end of the logic checks
    to save some perf on grips that will be denied anyway.
    
    Also fixed it to support Custom pivot component for attachment grips
    
    Move setting collision on to post moving capsule in seated mode
    Also use teleport for movement from seated position. Fixes some collision issues exiting a physics vehicle.
    
    
    Made bDenyGripping defaults visible for all interactibles.
    Also made BreakDistance be ignored if value is 0.0f on all interactibles (to match
    general grip settings).
    
    Added new DeltaTeleportation, a new teleport type added to help alieviate teleporting with physics simulating skeletal bodies in hand.
    
    Am now filling in the Component Velocity member of the GripMotionControllers.
    
    Added OnStartedTracking and OnEndedTracking events to the motion controllers.
    
    Added prelim OnBeginInteraction and OnEndInteraction events to the button component.
    Also added the Interacting Component to the button events as it is useful in itself.
    
    Removed IgnoreActorWhenMoving from grip inits, it was causing overlap spam as the primitive bodies
    were not correctly clearing overlap passes.
    
    11/07/2018
    
    Set multiple variables to initialize due to 4.21 warnings, regardless of if they really needed to be or not....
    
    Fixed multiple missing includes that UBT was hiding.
    
    Updated openVR tracked device properties to openvr .16
    
    Am now turning off physics simulation locally on all clients on Socketing operations to cover some edge cases / packet miss issues.
    
    The attachment grip type now calls attach on all clients to cover some edge cases / packet miss issues.
    
    Moved the NavMoveCompleted event into BaseMovementComponent so that SimpleCharacters can trigger it as well.
    
    Added teleporting flag to the "Exit Seated Mode" event so that the pawn teleports physics bodies (can't throw things in the way around)
    
    Seated mode now replicates and throws the OnSeatedModeChanged event to ALL players, not just the server and owning client.
    This allows you to react to it locally on simulated proxies as well.
    
    No longer using Epics TimeTick in phys_walking, this causes errors when the framerate gets really high (like when oculus rift is removed
    and the rendering is paused). This actually appears to be a potential bug in general with the root motion addition that I was basing my
    original implementation on.
    
    Changed the gesture components material that you can set for spline drawing to be a material interface instead of a UMaterial *.
    This way you can pass in material instances.
    
    Added in a bool to ignore gesture scaling for specific gestures, Also the ability to save gestures without autoscaling them to the database.
    
    Merged in a client authed movement mode fix that Epic added.
    
    Fixed multiple replication issues with grip scripts and net relevancy, they should be solid now.
    
    Removed dropping a grip if killing the motion controller and we are not the grip authority.
    
    Added a flag to grip scripts that allows the user to notify the gripping controller that it should drop the object as soon as possible.
    It is not safe to directly drop inside of a grip script due to some memory management that the engine is doing when passing back into
    c++.
    
    Added bIsForTeleport to grip scripts GetWorldTransform variables, useful to know on the grip end.
    
    Added BlueprintType to the base grip script class so that they can be directly referenced in BP.
    
    Fixed multiple bugs in the new Interactible Settings grip script.
    
    
    09/21/2018
    
    Added UAISense_Sight_VR, a drop in replacement for UAISense_Sight that offsets to a VR characters HMD location.
    
    09/16/2018
    
    4.19 and 4.20 changes (got back ported to 4.19)
    
    Simplified and improved the HybridWithSweep grip type.
    It should now performs less operations while also being of a higher quality.
    
    
    Allow gripping static mobility objects if the grip type is custom..why not
    Corrected a bad commit on the dial component that was causing some incorrect rotations.
    
    
    Moved SetHeld being called when an object is dropped to before OnGripReleased
    is called.
    
    Also moved it before OnSecondaryRelease is called
    
    Also moved the call to the objects own OnRelease to before its parent
    OnChildGripReleased as it makes sense that the object performs actions on
    itself first.
    
    This brings the flow of execution for dropping to parity with how it is done on grip.
    
    
    4.20 only
    
    Added GripStruct input Add/Remove Secondary Attachment point functions
    
    Many many optimizations and clean ups regarding the gripping and dropping functions, lowering code bloat.
    
    Added GripID as an input to DropObject and DropObjectByInterface, if the passed in object is
    empty it will attempt to use the grip ID to drop instead.
    
    I also added INVALID_VRGRIP_ID = 0 define for code use and locked out index 0 from being
    used as a grip id, this lowers the total number of possible simultanious grips per hand from 127 to 126.
    
    
    Exposed the GripMotionControllers DefaultGripScript pointer to blueprints so
    that people can access it and set variables on it (if it is a blueprint base script that is).
    
    Also Changed the default and gun tools grip scripts so that the pivot point is attained
    from the ParentTransform instead of getting the controller location again. This is not
    only slightly faster, but it also allows people to override the parent transform with something
    else (say a remote component) so that the grip doesn't have to be based on the controller
    itself.
    
    (force/remote grips for instance could provide a proxy components transform instead)
    
    
    Took a byte out of the positional replication for controllers and camera
    by making the logical assumption that 419.43 meters is a size big enough for any
    current roomscale technology.
    
    THEN Took back 1 of the 8 bits that I saved everyone in order to add a
    flag for quantization of the rotation on controllers / cameras.
    
    You can now set it from its default Short quantization to a 10 bit per axis
    quantization method, effectivly saving 2.5 bytes per rep and with 4x the granularity
    of the engine BYTE rotator quantization.
    
    This makes up for the lack of precision on the BYTE method but still allows for some
    decent savings.
    
    Also dropped a byte out of the CustomVRInputVector and RequestedVelocityVector.
    41,943.04 UU's should be MORE than enough leg room for these values.
    
    Also am now rounding MoveAction_Custom vector values to 2 digit precision. I was
    already doing this for all built in movement actions but the custom ones should
    also be restricted like this.
    
    08/22/2018
    
    Added GripScripts fully into the master branch with four reference c++ implementations
    GS_Default (default gripping logic)
    GS_LerpToHand (lerp initial grips to the hand)
    GS_InteractibleSettings (Functions like the removed InteractibleSettings options)
    GS_GunTools ( Currently unfinished set of tools for advanced gun interactions)
    
    Removed rollback on custom movement modes
    This is to remove "climbing mode" hanging in place and seated mode issues.
    Really only an issue in really high packet loss situations, but wanted to cover it.
    
    Also added a GetReplicatedMovementMode function that returns the current Conjoined movement
    mode.
    
    Set OnClimbingSteppedUp to a BlueprintNativeEvent so that c++ users could use it.
    
    Set GetOpenVRModelAndTexture node to not fail out if a texture is missing and to just pass out a nullptr now.
    It was failing on Knuckles Left controllers as they are missing a texure in full model mode from the OpenVR
    RenderModels api.
    
    Corrected an oversight with the new OnDropped event on the motion controllers having a possibly stale variable (thanks SlimeQ)
    
    08/14/2018
    
    GripScripts mostly final form has been added to 4.20 GripScripts Dev branches in
    both repositories. They need some testing and to be put through their paces prior
    to merging into the master branches.
    
    
    Initial knuckles porting and profile setup - (not public for awhile)
    
    
    Skipping some calls to slightly speed up nav agent retrieval
    
    
    Adding OnFinishedLerping events to the slider and lever
    Also enabling throwing slider progress events during lerping by default
    
    Added dial lerping, lerping speed, Finished lerping event
    Also added SetDialAngle function
    
    
    Corrected the HMD offset for the dynamic navigation mesh generation with
    a VRRootComponent.
    
    
    Correcting an oversight where a grip could not simulate on client side
    if replicate movement was never on the object.
    
    Also if a child component is supposed to simulate on drop, we need to also set it clientside
    if the component is not the root component, non root components do not replicate simulation
    state by default so in that case the client also calls it now.
    
    
    Defaulting welding to true for plugin attachment operations, didn't realize that the
    default setting is inverse between c++ and BP.
    
    Fixing socketing by adding a one tick delay after the socket and re-applying
    the relative transform. This is only done if both the parent and the child are simulating
    and is only there to avoid a race condition with the physics thread where the
    original grip constraint can reset the transform out of order prior to destruction.
    
    
    switched sweep detection on grips to component multi instead of sweep single.
    That function automatically accounts for the pivot offset / collision local pose.
    
    
    Worked around a physics replication issue that
    Epic introduced in 4.20, physics replication period is acting kind of badly now. They moved to
    a different (more efficient) system of handling the simulating position replication that
    they ported from Fortnite, however it has some little issues like not ending a targeted
    physics frame position setting when replication is turned on/off / when simulated or
    unsimulated.
    Last edited by mordentral; 04-22-2019, 11:48 PM.

  • replied
    Thanks for the info. I did find an open source IK solution but have not look at how to use it with VR Expansion. https://github.com/hacoo/rtik. I do have the plugin from Yuri (VR IK Body) but it's been a challenge to get it to work properly with VR Expansion plugin. It's mainly because his documentation is totally lacking and the videos are really hard to understand. But maybe your information about changing those settings in the VR Character might be part of my issue with this.

    But if someone has a tutorial or example of a plugin and VR Expansion working together I would really appreciate the help.

    Leave a comment:


  • replied
    Originally posted by Sooth View Post
    I was wondering what is the best Full Body IK solution to use with VR Expansion. Do you have any examples of how this would work with your solution?

    Any help with this would be great.
    I know that multiple people are using Ikinema and the new Full Body IK by AnimIK on the marketplace, I assume that others are using Yurik's as well but I don't know much about it. A lot of users used to use BIK but its pretty much gone now. I am not the best one to ask about this though as I can't package any IK solutions into the template or the plugin and haven't played with the marketplace offerings much. I don't think you will find something on the level of quality as Unity's FinalIK though for less than an exorbitant fee.

    As for setup, generally you set the parent relative component to "floor mode" and attach the mesh and run the IK logic. Some of the setups have built in rotation detection so you would likely also want to set the ParentRelativeAttachment to IgnoreParentRotation to let the IK handle it itself.

    I have some backend stuff going with some people about possible IK things, but I wouldn't wait around, its not something I can dedicate myself towards as its pretty much an entire project in itself to maintain a good IK plugin and I am not sure how serious they are about maintaining it if I helped out initially.
    Last edited by mordentral; 04-26-2019, 09:58 AM.

    Leave a comment:


  • replied
    I was wondering what is the best Full Body IK solution to use with VR Expansion. Do you have any examples of how this would work with your solution?

    Any help with this would be great.

    Leave a comment:


  • replied
    Originally posted by Simply Clueless View Post
    I can't for the life of me figure out how you managed to make the capsule follow the HMD. I researched for ages and they all pointed to this yet I don't see which specific set of functions do that.
    Its in the VRRootCapsule C++ source, I am overriding the physics thread update and the local rendering to move the capsule. The actual "location" is the same so it took re-writing most of the character class to use the offset location. Its likely not "the" best method, but it was a challenge and I really liked have free reign over where I place the capsule relative to the head without clunky second actors or other methods. It also lets "feet level" be actor zero, which makes a lot of sense when handling things in VR.

    Back in earlier engine versions there was an AlternateLocation function on scene components thta would have made it simplistic...sad thats gone now.

    Leave a comment:


  • replied
    I can't for the life of me figure out how you managed to make the capsule follow the HMD. I researched for ages and they all pointed to this yet I don't see which specific set of functions do that.

    Leave a comment:


  • replied
    Originally posted by WildEric View Post

    Thanks for the answer.

    How does the VR Expansion Plugin manage Physics Settings?
    If I use a CCD with a large weight of Object Collision and a Mesh Component, I get the result I want, but I feel that the frame is delayed when I use the CCD.
    Do you have something better idea?
    CCD shouldn't have any effect on "delay", its just running collision in substeps. Its more likely that your "weight" being higher is dragging on the constraint. Also I don't use the physics handle component, I duplicated its setup with several changes and baked it directly into my grip controllers.

    Leave a comment:


  • replied
    Originally posted by mordentral View Post

    I don't, that is just hull penetration, you would have to adjust your physics settings or manage the collision body better.
    Thanks for the answer.

    How does the VR Expansion Plugin manage Physics Settings?
    If I use a CCD with a large weight of Object Collision and a Mesh Component, I get the result I want, but I feel that the frame is delayed when I use the CCD.
    Do you have something better idea?

    Leave a comment:


  • replied
    Originally posted by WildEric View Post
    Hi. mordental
    It's a little far from the question of VR Expansion Plugin, but would you mind if I ask you a question?

    I am currently developing a Physics-based VR Melee System.(Currently I am not using the VR Expansion Plugin.)
    Physical handling is performed based on the PhysicshandleComponent, but if you grab and swing a thin collision's Sword quickly, the Hit does not occur and just passes through.
    VR Expansion Plugin confirmed that this problem does not occur. How did you approach it and solve it?
    I don't, that is just hull penetration, you would have to adjust your physics settings or manage the collision body better.

    Leave a comment:


  • replied
    Hi. mordental
    It's a little far from the question of VR Expansion Plugin, but would you mind if I ask you a question?

    I am currently developing a Physics-based VR Melee System.(Currently I am not using the VR Expansion Plugin.)
    Physical handling is performed based on the PhysicshandleComponent, but if you grab and swing a thin collision's Sword quickly, the Hit does not occur and just passes through.
    VR Expansion Plugin confirmed that this problem does not occur. How did you approach it and solve it?
    Last edited by WildEric; 04-24-2019, 02:58 AM.

    Leave a comment:


  • replied
    Originally posted by coteking View Post
    I'm trying to play the grab animation even when there is nothing to grab. Sounds pretty straightforward but i'm having a difficult time.

    Originally I tried to set the hand state in the pawn, when that had no effect i tried to set the animation like this... still no effect, where can I set the grip state? is there an easy way to do this? thanks for the plugin Mordentral!
    I didn't have any hand animations or copywrite free hands so I just copied Epics setup over for people that were used to it anyway. The CheckAndHandleGripAnimations functions checks for current overlap state and/or gripping state and assigns an enum value in the AnimBP to control the current hand animation.

    Leave a comment:


  • replied
    I'm trying to play the grab animation even when there is nothing to grab. Sounds pretty straightforward but i'm having a difficult time.

    Originally I tried to set the hand state in the pawn, when that had no effect i tried to set the animation like this... still no effect, where can I set the grip state? is there an easy way to do this? thanks for the plugin Mordentral!

    update: I found where you can switch animation modes to from blueprints to anim states so that code works now but it doesn't transition.
    Last edited by coteking; 04-24-2019, 10:37 AM.

    Leave a comment:


  • replied
    Pushed a new patch live to both repo's that adds a Flight Stick mode to the VRLever, patch notes linked below:

    https://vreue4.com/patch-notes?secti...de-for-vrlever


    Leave a comment:


  • replied
    Originally posted by juggajugs View Post
    Hey,

    I used this plugin on my project but my characters head can still go through objects? How do you properly set up the VR Character so that it collides with all objects?

    Thanks
    It collides with static objects by default, you need to manage other collision channels yourself as to which ones it should collide with and which ones it shouldn't.

    Leave a comment:


  • replied
    Hey,

    I used this plugin on my project but my characters head can still go through objects? How do you properly set up the VR Character so that it collides with all objects?

    Thanks

    Leave a comment:

Working...
X