Steam VR Template

I will spend sometime this weekend to clear things a bit more and send a link here.
So I guess I can do the moving platform part. And a freebee Ultraman mode events for showing how to use gate to do timed events properly.
(ie, no interrupt growing up/shrinking down by press the button again.)
@Proteus, since you are original author, maybe we should start to make those “extra” feature as separate events? Like teleport etc.
Cause if people want to assign a different control(ie. teleport using the track pad like in the Lab), they can just easily call events from the button layout.
That way we can extend the template easier. Extra function should also be moved into function library BP as much as possible.

Hi nice to hear from you. I tried the teleport on platform thing by doing this:
81b2197475f8bd27f4f77df72a7ba6b1cb4cdf54.jpeg

It works for sure. When on the platform, the room itself is moved with it. However I feel it’s not the “elegant way”, since there is a small visual glitch telling me I’m wrong.

Also, I tweaked a little bit the teleport Paul’s teleport function since it didn’t take into account obstacles and blocking volumes.

Thanks!

Mat

Oh – last minute addition. You’re right on library BP. The thing here is to be as modular as possible. I’m very aware that adding features to the pawn will clog very rapidly the main BP. I thought about maybe some child BP or fct libraries. The goal here is to keep it as noob-friendly as possible within one pawn that can be drop in a game. My past experiences told me to try to avoid plugins or complex systems, since other people must wait after dev to update their things to keep up with new releases. Very good ideas thanks!

There is some error starting a new project with template 1.5(seems to be substance related.)

That’s strange no Substance maps were used. I think that the Substance plugin hasn’t been updated yet to 4.11 and usually you have these errors when you use Substance maps with no/wrong plugin. I’ll check this issue.

@Proteus
Sorry, got pretty busy setup my stream machine today(cause crappy USB3 chip no Win10 driver detected).
I manage to clean up the graph and such yesterday, no moving platform but seems you have it implemented.
Briefly take a look of your 1.5 version, it seems that our graph have pretty big difference.
Wonder what is the best way to sent out my modification then?

Anyway, here is my project, it have a Ultraman mode, also implement with gates that are beneficial for mutually exclusive events.
ie. you can’t set new teleport location while teleport is underway. Basically, set location, teleport, ultraman you can only do one of them at any time.
It’s useful because people can implement their teleport/locomotion method and is easy to integrate their changes.
(in this project, teleport range is controlled by trigger axis, if does not hit, it will then trace -Z to try reach a ground point. Didn’t check if location is valid though, like you can potentially teleport to a wall.)

It’s gonna be pretty hard to integrate cause you already have so much going on inside your pawn.

What I think I can contribute next is maybe to make say actual curved preview or teleport(like the Lab), and see if I can help you further on the platform part.

I have this test project where i can teleport, look around etc, the problem is after i teleport the movement is all wrong, you walk forward and the camera moves to the left or right, etc.

has anyone else encounter this problem?
Thanks,
GL

@MemoLeal you need to be more specific, many people posted link to their version, so you first need to tell people which version is it. And second, there are many different config for trying out VR, so are you using Vive? Oculus CV1 with some other controllers? Did you teleport on to a platform that are moving by itself with trigger? etc.

PenguinTD, here is a bit more info.
I’m started with the Proteus template shown at the start of this thread.I’m using the Vive and regular controllers, and teleporting on the same level with clicking the left pad button1. i do teleport to the correct location but the movement after the teleport is all wrong. it looks like the camera is pointing in the right direction but the tracking is wrong, it moves in the wrong direction.

@PenguinTD

Thanks very much for the improvements. I think I solved the pickup and teleport. I also banished the event ticks. I’ll integrate everything tonight in 1.6 and put it on git and onedrive.

I’ll put the features into different BP functions to have a modular, nice and clean pawn.

I think the reason is because update rate is probably 1 frame behind. So when things like this happen, it’s actually better to assign a event dispatcher.( so platform movement and room movement are happen on the same frame)
Work flow is pretty much this, on the platform BP, have a dispatcher, so anything enters the volume will “register” and move with platform when platform starts moving.(with some exceptions, like physics actor, they will moving together if friction is right, or AIs, I don’t think they do well on moving platforms.) And on the Pawn BP, you just have a moveRoom event that are the same signature(inputs) as dispatcher that are new location to snap to. And then you just have to bind/unbind the event when thing move in/out of trigger volume.

I don’t know if matinee is a good choice cause I don’t know how frequent it gets updated, what kind of event it triggers that are usable. Linear movement platform can use timeline for sure, which have a pretty good control to how events are firing.

One more thing, when the game starts, if i leave the controllers on the floor and i walk away they stay still as it should but after i teleport they move along my movement.
sorry if this is too obvious, I’m relative new to this. any help appreciate it.

thanks,
GL

@MemoLeal if you mean you have one controller at hand, and one controller on the ground, yes, after teleport they will follow you since the whole room teleported. controller if tracked will always move with the room. they should stay on ground where they are in relation to the base stations and bounds. I’m not sure about the camera direction is wrong, cause I haven’t test the 1.5 template myself yet, only opened to look at the BP graph.

Hi,

First of all, this is absolutely fantastic. I’m new to UE4 and was hesitant to move over from Unity because I worried the community numbers weren’t there, but the spirit of collaboration in here is amazing and more than makes up for it.

I’m noticing on v1.5 that everything appears to work correctly, except I can’t “grab” the conductors wand - it just floats off when i knock it. (trigger doesn’t seem to grab either)
Also, I can’t seem to transport. (I’m assuming it’s using the pad, as per the lab demo) Is there something additional I need to implement to get these features running?

Thanks
Lachlan

Thanks PenguinTD, its working now.

GL

Version 1.6

Yes, I know it’s buggy for the pickup parts and the teleport on platforms. For the simple move on moving platform, there’s a chance that binding events could resolve the (as Penguin’s) frame jump? I’ll try that later. For the matinee, it’s a little bit tricky cause the platform is not moved by the same mechanism.
For the pickup part. We all know there’s like 4-5 differents ways on UE4 to grab things. I tried several without success, and I came with this clunky solution.
I would like to hear from others which better system would be more elegant, probably something involving physics handle?
Finally, I incorporated the “UltraMan” and alternative method of teleport from Penguin. Kudos.
Hope we’ll continue to improve it thank you very much for all the inputs :cool:
Note that since 4.11.2 Substance plugin is back, although that there’s nothing in the template based on Substance maps.
Mat

Arrrrhhh…Proteus, you update too fast. I just did some upgrade to your pawn as well. Here is the link.
Hopefully you don’t mind my destructive overhaul, I still think gate/event is better than using booleans to toggle states unless you are absolutely sure that the state wont change between frame.
Some of the hardest to bug to catch is caused by boolean states.( Event fired the second time before the check is and then you go into wrong path.)

Basically, until Epic provides proper controller polling events like the trigger axis event except fires when motion controller is moved.
Tick is probably unavoidable for the trackpad method(the lab teleport).

I spend most of tonight setting up my 2PC stream, and maybe about 1.5 hours to do all the clean up and event setup just like the trigger teleport I did.
So you can take a look and it could be in different event graph and let people choose which method they preferred.

I haven’t touch platform yet, but I think it’s very doable, I might do that after tomorrow night’s local indie dev gathering is .
I think grab should be easier to do(compare to platform) if we don’t need to preserve the orientation where we grab it.(the lab did this, budget cut does retain orientation + collision for the vent).

You are briljant! This is so good. Is there a way to teleport on stairs? I have some in my project and i am not able on teleport to them :slight_smile:

This is amazing! You must be on the bleeding edge latest version of UE4 because I couldn’t open the level, but everything seemed to work well for me. Still not sure how to grab, but I’ll upgrade tonight and give you feedback tomorrow!

Thanks again for your awesome work!

So got this up and running. Great stuff! Teleport works as expected. I can get onto moving platforms, can’t get off them as easily.

You’re right, the grabbing still has a long way to go. I was able to grab the wand occasionally, in certain points. Very unreliable though with this current method it seems.

Thanks for the template, saved me a lot of time looking for nodes for the basic stuff.

As for the grabbing, I threw out what was there and re-did it.

I’m using a collision sphere of the diameter of the controller tip set to overlap all, if it is overlapping a mesh when the trigger is pulled it grabs it for as long as the button is pressed. However if it is within a set distance to a snap point (new component), then instead it snaps to the orientation and location of the snap point and grabs until the button is pressed again (for handles/sword grips and the like).

Tossing items is just setting simulate, un-grabbing it, and setting the linear and angle velocity to match the original parent so it “tosses”, for the snap point grips I have it drop instead of tossing when released.

It works significantly better.

Edit Oh I also added a firstperson pawn and have the game mode choose which pawn to use when a logging in based on if I have the headset active or not, this way for minor things I can test easier without having to put on the headset.