HI Warner! Thanks for reaching out here… I’m guessing it’s to do with Collisions in your mesh/es, overlapping assets and/or the object types you’ve got setup in the component. Can you repost the link to the project (I think it’s not in your post) or send directly via a Private Message to me if you dont want it public and I can have a quick look.
Had a look in my last livestream, please check the collisions on your mesh. The configuration of the component and the plugin itself is working properly, but there’re some issues with your actual level modelling and this is outside the support for my plugin. Try checking the setup for your other floors in your modelling software vs Floor_13 which seems to be the problematic one.
I have another small problem: sometimes when I change something in level layout controller doesn’t spawn properly on start play. There is a ‘split screen’ with view from both eyes instead of one and position tracking doesn’t work. To fix it I need to pull the start position in to the air but then I’ll start with feet above ground When I drop the start position back to ground again it sometimes fixes the problem but not always. Had same problem in two projects so far. I suppose it has something to do with collisions but didn’t exactly find out what’s going on and can’t replicate this on purpose
Hi – Do you have both the Rift & Vive installed in one machine (software at least)? Thinking some HMD availability check/glitch could be causing that random behaviour. Also, if you’re using another VR Pawn, perhaps from the template at some point and it’s set as the default in the project settings?
Things you can check is that the Pawn has “Always Spawn, Ignore Collisions” setting on it, and “Auto possess, Player 0” if this is a single player game/experience and make sure that you have “Enabe HMD” node somewhere in Begin Play (Level BP, Controller actor or Pawn BP) to ensure your HMD is activated and is critical for Packaged projects. Hope that helps.
I have a project whereby I’d be insterested in a player walking across suspended platforms with the danger of falling off them present.
This requires gravity on the VR pawn. The player is pulled down between the gaps however. Is it possible to delay or suspend the action of gravity between the platforms so as to give the player a chance to walk between each.
I can see there is a custom gravity function in the plugin but am not sure how to use this exactly.
My idea for delaying gravity is either to use an overlap event so the player collision capsule stops gravity if the player is able to bring themself close enoguh to the platform but I am open to better suggestions.
I’ve watched through your starter videos over and over again, and it looks like I’m doing everything in the instructions, but I can’t seem to get the teleporter (arc or ray) to register a valid teleport destination.
I’ve got my gamemode, pawn and navigation mesh set up per the video. The arc shows up, but doesn’t seem to detect my nav mesh in any way. Tried the same thing in a few different environments and that didn’t seem to work either. All floor objects are set to static, and I did try adding different boundary object types in the teleporter component just in case it wasn’t defaulting properly.
Someone on the teleporter vid had the same problem and you asked them for screenshots, so here’s what I have at the moment. I’m guessing there’s just some small detail I’m missing, but I can’t for the life of me figure it out.
Thanks in advance! Your work is a huge huge huge help.
Sorry for late reply but I didn’t have much time to touch the project.
Following your tips I didn’t yet have same issue again. I have only Vive attached but when you mention it, I think I’ve installed Oculus sdk at some point but removed it long time ago.
Now I have same issue like guy above me Teleport target doesn’t show up, collision and navigation seem to be in order. It does work on other test map.
What I’ve found though is that pawn spawns with it’s feet inside the floor on both maps and in clean project despite what is set in “spawn collision handling”. What I mean is that I can reach into the floor with controller, like ground is not calibrated. On the blank map when you move the ground to be at 0,0,0 instead of 0,0,20 it spawns correctly and ground can be ‘touched’ instead of overlapped.
If I move whole thing up, floor and player start it’s same thing, actual floor is slightly below visible ground. Like raycast while spawning hits the bottom instead of top of the surface but then why it doesn’t happen when floor is at zero?..
Sorry for the delay, somehow didn’t get the auto notification about this post, was actually wondering why you haven’t posted after your email.
Anyways, to answer your question, the plugin has a custom Pawn called VRPawn, with the VRPawn you should be able to set its “EnableGravity” property on or off. For your use case, one way could be to have the pawn’s gravity set to false by default and have a trigger volume (or better yet an actor with a sphere volume for performance or a box volume if you need better area definition). You then can check the sphere or box collision for any VRPawn that overlaps with it and set “EnableGravity” to true with a pre-defined delay if you “catch” one. In this way you can have this special actor easily placed in your scene via the editor. To stop gravity, simply do the reverse or have other actors in your scene disable gravity.
Another way of course is to simply add the gravity delay from within the plugin’s code if you’re comfortable with C++ and UE4-flavoured delegates.
I hope that gives you some place to start. Let me know if you have any other questions regarding this.
HI - Looking at the screenshot, the nav bounds seem to be a bit high and doesn’t seem to fill the area of your floor entirely, have you checked the collisions for your mesh and see if everything is alright there? Make sure that your collision response is set to block as well for your actor/component. Also, have you tried using the plugin using the VR Test level a shown in the video as the “frozenRoom” mesh has proper blocking collisions which you can inspect and compare to your own.
HI – Not sure if i understood exactly what you mean by the floor calibration, but I’ve opened up settings such as the HMD offset to help you fine tune the spawn location depending on your headset or overall, perhaps this would help in your scene? although out of the box the plugin should come up “flushed” to hte floor properly, so there must be something I’m missing from your setup?
As for the teleporter, if it works i nthe test scene but not in your custom scene, then this points to the collision settings on your mesh and make sure your actor is set to “block”.
Oh my god. What a noob mistake - it totally works now! Thanks so much!
The only other issue I’m having now is pull/push on the grabber component. No matter which buttons I use, both “push/stop push” and “pull/stop pull” use push when called. Any idea as to why this is? I tried copying the blueprint over from the ‘grab’ scene, just in case I’d hooked things up wrong in my own implementation, and had the same behaviour. No doubt I’m overlooking something just like before, as I’m fairly new to BP/Unreal (used Unity for ages).
Also, is there a way to manually rotate a grabbed object from a distance? Rotation offset seems to just point the raycast in a different direction >_>
Thanks for your help man. You’ve made a seriously workable and elegant plugin. Appreciate the hell out of it.
Cool. Glad it worked out. Alchemist is looking really great btw, Congrats! Reminds me I really need to get back to that detailed documentation I’m working on including that “Games/Experiences using this plugin” section…
As for the spawn positioning issue, I’ve seen this in some projects where there’s something that blocks the pawn, usually a volume of some sort. The latest version of the plugin with the included VRPawn should prevent this from happening, unless there’s something else in the Pawn (a mesh) that can cause the blocking, usual culprit is the controller mesh.
A workaround that you can use as well other than the offset settings I mentioned in my last post is to do something like this at Begin Play (Game Mode) to force the pawn to re-spawn where you want it to:
With the Pull/Push issue, have you checked having just the “Pull” nodes in? As what laggyluk mentioned, it could just be the Event Trigger. Make sure that you’re using different event triggers for Push & Pull, also have a look at mismatched L/R event triggers vs L/R Grabber components, have seen this a bit in some training sessions I’ve conducted for the plugin.
As for rotating grabbed objects, one way this can be done is instead of attaching the grabber component directly to the motion controller component, add a new “Scene Component” child to the motion controller, then attach the Grabber Component to this scene component. When you want to rotate grabbed objects, you can do an “Add Local Rotation” to the Scene Component and the grabber component should follow that rotation including any grabbed object.
I hope that helps!
Cheers.
Note to self:
a. Expose GrabbedObject var as Public to allow for easy checking whether there’s an active grab available or not for BP users.
b. Enable multiple object grab
c. Built-in Grabbed object transform manipulation options.
Thanks, it’s looking good because most of the art is either bought or creative commons Hope I can muster enough persistence to finish it.
I found another workaround while making that video, can just move the player start off the ground a bit…
The radio in background is in polish.
If you’re using the plugin’s VR Pawn, I’ve got a parameter called "HMD Location Offset "which you can use to tweak camera/player location as well as separate parameter for Oculus HMD offset. Let me know if that helps or if you need any more info.
Great, thanks for the help mate. Now I am faced with much bigger problem, the build crashes after i package it. I get the error “Fatal error: [File:D:\Build++UE4+Release-4.16+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp] [Line: 2936]
Missing Dependency, request for RunebergVR_Pawn but it hasn’t been created yet.”