Getting Started in VR | Live Training | Unreal Engine

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

How often do they do these "getting started in VR"

👍︎︎ 1 👤︎︎ u/Broskifromdakioski 📅︎︎ Apr 25 2017 🗫︎ replies
Captions
[Music] hey everybody and welcome back to the Unreal Engine livestream I'm your host Alexandra Pascoe and joining me today is AK Parrish hey yeah we're doing live training today and we're going to be talking about getting started with Yui 4 and VR yeah which is very cool Andrew Hurley was originally supposed to be on this is technically kind of originally his talk but you've modified a lot in any everything now I'm not not really actually a big props out to Andrew put a lot of stuff together but he's he's he's sick today so I'm filling in I'm your substitute teacher today it's a good good sub I think we did I think they did it earlier I'll do my best but but thank you so much buddy for the slides the slides were provided by him it's based off his ECG see talk that he did so yeah let's so let's hop right in I'll let you take away sir sure sure uh so yeah we're today we're really just focused on getting started with VR the ideal viewer the ideal audience member for this is somebody who is super fresh to VR so if you've already been playing around with VR and the Unreal Engine some of this will be pretty basic to you the idea here is maybe you just picked up a touch or you're about to pick one up and you want to know some of the bare-bones basics so for starters you should be aware of some of the examples that we already have available for you to check out using the engine there's some really good stuff to be learned from how we handled some of our demos and games and also how Nvidia put together the VR funhouse so starting in the upper left corner we have the showdown demo then you can actually get from the oculus store if you just want to play the game version but if you want to take it apart you can get it from the the learn tab on on the Unreal Engine launcher as well which we'll talk about in just a minute we have the Nvidia VR funhouse mod kit which is available on the launcher as well so it's a really cool kind of physics exploration in VR yeah it's it's right up there in the in the modding tab up next to the other like a really show it show just yeah we'll get to in a second yeah yeah there's a bullet train also available from the oculus store again for just the game version and there's Robo recall which is our latest VR shooter which if you haven't checked it out yet you should at least have a look so this is the evolution of bullet train which we released in 2015 lots of physics based mayhem going on it's important because it is the first title we've released that uses the forward renderer which I'll be talking about in a little bit more detail later but essentially it's a it's a different way to render out your scene other than the standard deferred system that we use it's kind of being considered here as the ideal path for VR developments though sometimes you may find you just need the deferred renderer so we'll again we'll talk about that and how you might choose one over the other as we move forward now a quick note about Robo recall it is an oculus exclusive but that doesn't mean that if you don't have an oculus that you shouldn't check it out if you go to the launcher you can still download the mod kit for Robo recall and it's worth checking out because it's a good example of how to make VR optimized content really no matter your platform so if you're curious about like how far you can push a model the kind of things you can do with materials how good can you make a scene before you start to have to be concerned about performance which of course that's going to vary based on your target platform so always keep that in mind robo recall is still going to be a really good resource for just kind of seeing how we did that absolutely I just saw some people exploring through it the other day and they had pulled out the fan and the met and the shadow of the fan is actually a mesh this event color dark there's like a lot of cool performance stuff that with or without actual hmd on you can just go in and see how we've been doing a lot of tricks because the thing is like if you're doing like a fan blade it's easy to consider doing that either with dynamic shadows or with something like a light function neither of which are probably good ideas for VR so it's definitely worthwhile to take apart Robo recall and see how we approached tricks like that so in terms of learning like where do you get started that's one of the first things I always get head up by folks when they're just checking out unreal for the first time is where do I begin how do I get started and one of the best resources you have on hand you actually got just by downloading the engine and that's the Unreal Engine launcher it has a lot of free content there are mod kits there's a marketplace to grab items so that you don't have to do everything yourself there's a ton of documentation you have access to and it also gives you quick act us to the answer hubs eyes open up windows real quick I want to just open up the launcher real fast and show it off for everyone so when you first open it up you'll notice the tabs across the top so there's the Unreal Engine tab probably where you'll be spending the larger portion of your time on the far right though you will see the modding tab and this is where you can get a whole bunch of different mod kits for different folks that we've partnered with and also including our own stuff so this is where you can grab the Robo recall mod kit if you want it or the Nvidia VR fun house mod kit both of which are super awesome to check out if you're playing around in VR yep absolutely great resources and and and like you said the learn tab also has a few things available to like you said showdown before and couch nights which has replication and VR available for you so actually if we jump down to actually let's look at the the Unreal Engine tab real quick just in terms of the resources you have access to so you have one-click access to the answer hub the forums the wiki our road map and our blog all right here I it's easy to overlook these actually forget these are here from time to time so it's worth kind of clicking through and making sure you're aware of these there's of course you know all the what's new stuff basically everything Alex ever tells you on these live streams is usually showcase right here so it's worth being aware of in case you're like oh I missed that live stream probably all of the key points he would have brought up in the news or probably right here yep is under the learn tab which is loading in and will either guess it just took a second to load let's just give it a second to load so you have access to the documentation definitely worth sure oh that Mike might be yeah up hangout sure if I can find you sorry about like a mile oh it's probably in that crack wait it could go on hey let's see let's pull this off this that's unfortunate but we are on it's actually I thought it's good for me because I'm about to be doing a bunch of stuff with a VR headset and I would have knocked that off anyway okay cool sorry for audio recompense ik so over in the learn tab obviously you have documentation video tutorials and another link to the wiki but probably of more use to you in the learn tab or all of the different examples you can download so if you scroll down through here some things that don't involve VR but are still good to know like we just released the photorealistic character which is pretty neat if you scroll down through here there's the showdown VR demo so there's the actual project you can open it up take it apart see how we did things and again you can just kind of keep scrolling through here and there's all kinds of things that you can download and start playing with now if we continue down there's the marketplace again this is content folks sell there's also some free content some free stuff from epic definitely worth checking out I think the mobile version of the manikin is in here which if you're trying to use the manikin character in VR probably a good idea to grab the mobile version because he's a little lighter weight he renders out a little easier yeah absolutely and then if we go all the way down to the library this is all of the engine versions and all the different projects and whatnot that you've already downloaded I only bring this up because this is where you're going to go primarily for any sort of updates to your engines it'll show you where you can kind of create projects for anything you download it but most importantly this is easy access to the source code on github so you got a one quick link to jump over to github and download the source and the reason that's important is that some of the latest features that we've added for VR are only accessible at least for a time until we release another preview as we add more things like did 416 preview drop yet nope what you guys are looking at is like looks you get to get so close this is it in my like internal that's why I asked so technically for as of the moment this is being recorded if you're watching this live for 16 is not out yet it will be out very shortly very very shortly that's that's why I got the little build yeah but you could go over to github right now and you could download the 416 source you can grab Visual Studio Express and you could build it on your own and you wouldn't have to wait and it would be exactly what we got going on right away or two right so so it's worth knowing about all of that stuff so let's jump back over to to my PowerPoint slides I'm really terrible at powerpoints so if I forget that they're here and I just go off on a tangent start talking through stuff I'm mostly sorry in advance but you know you go right ahead we like to have you here you know right so if you're just getting into VR obviously you're going to be considering what platform to release on Unreal Engine 4 supports PlayStation VR oculus and vive OS VR as well as daydream and gear VR and Google cardboard so it's basically any of the platforms that you want to support for VR right now they're all supported and ready to go just um I guess at the high level because the immediate question that comes to mind is well what's different about building for each platform what's different between building for oculus versus PS VR vs. cardboard versus daydream or Deere VR and the answer is not much technically speaking our goal we strive to take the the hard core thought process out of that but at the high level you should always be thinking about performance and remember the hardware specs of these types of devices your you should not be expecting a mobile device played through Google cardboard to have anywhere near the processing power of a PC that's driving an oculus right so at the super high level keeping it mega mega simple as you go from PC down to console down to mobile the idea is you will generally just do less you will simplify your content but you won't really have to rebuild it all from scratch it's not like you really necessarily have to have a mobile version and a pc version though there are some folks who see value and building that way our goal is for you to make that a choice of your own and not be limited by the engine to have to think that way okay so next I want to talk about some recent developments in the engine some things that we've done to make VR even better of an experience for your development to make it faster make it more efficient some cool tech we're doing under the hood if you are just getting started and you just want to make stuff it's entirely possible that at the surface you might not care about some of this you might be like well I just want stuff to work I want it to magically happen and that's valid I think that way about some things but the more you know a little PSA the more you know about how some of this stuff works under the hood the more intelligent decisions you'll be able to make as you move into your development so one of the first big announcements that we had last year was the the release of our forward renderer with multisample anti al so this is an entirely different rendering path which we kind of generally consider to be the the golden path for development on VR oh it's it's preferred now at the same time it's worth bringing up now I'm not actually going to read the PowerPoint slides to you if you're watching this video you can you can see those definitely I'm going to talk long enough for you to scan through those but the idea is that you have a different path that is not as fully featured as the the default deferred renderer but it's lighter and it's generally going to be faster however it will not always be right for whatever it is you're building and we'll talk a little bit about that later but all of the things you really care about things like stationary lights capsule shadows movable lights instant stereo rendering all of this is already already supported with the four renderer and again the I've mentioned this earlier I think the Robo recall was actually shipped using the forward renderer so it's already battle tested we've already shipped a game with it it's definitely worth checking out if you haven't said it we've said it a hundred times on the stream so I hope to help everyone got that the forward renderer was built for that too and I'll talk a little bit more about how to choose which rendering path you want to take a little bit later in this stream yep and I also like to remind you to go back and check out the one with we had Nick Donaldson on to talk about specifically that one project and all the stuff that went into it so yeah all that stuff has probably already been covered I know it to some degree I'm already treading some old ground so if you are totally new to this keep in mind we have covered a lot of this in previous live streams and it would be worth you doing the the finger walking to go back through and look at some of our older live streams on how we've been doing some of this stuff if you're curious about how you switch back and forth if you just go under your project settings you'll find and search for forward rendering you'll find there's a checkbox to turn it on and off it'll just require you to restart your project now again mega high level super basic stuff there's some terminology which hopefully the majority of folks know at this point but if you don't if you're totally new to developing in unreal developing for VR welcome and here's some terms that you should probably know we'll start with the Unreal Engine 4 side really just because it's near the top of the page and that's how my brain works so anytime you hear visual scripting you're going to be thinking blueprint blueprint is they get a lot of coverage from us we've done a lot of live streams that show off blueprint we've done a lot of training videos a lot of documentation it is a way for you to create in-game scripting using nodes and wires as opposed to actually having to write code it generally appeals to more visual folks who who aren't already seasoned engineers and programmers so if you're if that that describes you you should definitely check it out unreal motion graphics that's UMG that is our answer to the UI dilemma this is how you will create your UIs in Unreal Engine 4 now we have our own cinematics tool called sequencer and a particle editor called cascade if you're unfamiliar with the concept of cinematics or particles it's okay it'll come to you in time but that's basically that that means you're super new to this so super welcome we'll be talking a little bit about that I know cinematics and sequencer have gotten a whole lot of coverage on various live streams so just do a few searches and you'll find all of that of course we have two renderers I just mentioned we have our typical deferred renderer and our forward rendering path again there's more about that coming later and then anti-aliasing which is really just taking out the jagged edges of pixels or at least masking them to make them a little less apparent it's going to be super important to your VR experiences because once you're inside the headset at native resolution these monitors that are kind of stuck to your face still are a tiny little bit pixelated so we use anti-aliasing to kind of smooth out lines and make stuff except look better now some VR specific terms you should know you'll hear hmd thrown around a lot and I love it when people just throw out acronyms and you don't know what they are so hmd just means head mounted display it is this thing that I'm wearing on my head that you will use to experience the virtual world we have motion controllers hopefully you've seen some of these at this point here's the oculus touch controllers you might also have vive controllers or PS Move controllers there's a couple of really old ones out there that I still see floating around tiser Hydra yeah stuff like that I'd seen a Hydra controller in a while we do have a plugin for that in case yeah you do want that so tracking systems would be like the vive lighthouses which there's little bricks that come with your vibe that you'll put up in the corners of your room or the oculus sensors which I'm pretty sure just off the camera so you can't actually see them but they're here in front of me pointed back at me there's different tracking types positional and rotational it makes sense we got a track where things are in 3d space we need to know where they are and how they're oriented a ocular vestibular mismatch I never hear this term by the way Oh what that's the VR sickness Oh somebody being really that's what they Garbo's yeah I just call it sim sickness yeah so it might be that you're reading some white papers or you're really digging into some troubleshooting and you might hear that term vestibular mismatch and that's just the are sickness and it doesn't really require VR - there's actually the same reason people get carsick yeah this isn't this just motion sickness oh yeah motion sensing your inner ears telling you one thing your eyes tell you something else and for some folks that triggers your fight-or-flight mechanism and you start to get a little queasy yeah and a lot of people respond to in different ways for example like I actually don't get nauseated from from VR sickness but I will be in a bad mood like I've noticed like like I just I want everybody to leave me alone I get really kind of squared off and it's the same thing it's just more psychological than it is physical yeah you know I've seen a lot of different responses to it so you like a few other things to be aware if some people start sweating get really hot really fast that's what my wife does she is really hot really fast for me it's just straight nausea and then I've seen people do irritability is pretty common and then there was something else like straight up disorientation like they couldn't walk straight after doing it for too long so yeah and I mean at the high level we actually work to develop tools for the engine to make it so that you can develop your VR experience so you don't run into these kinds of things the more we put this nicely the more creative you get with how you're going to move your players through the world the more possible it is that you're going to run into these types of problems so try to think about that in advance test things out get a group of friends together who are who have solid stomachs and are willing to try out your new way to get around a virtual world and I would advise against doing anything crazy I actually had one indie dev who met me at son trade shot remember which I think it might have been Gamescom but the idea that they had for VR was they wanted to know if we could render out not two views which we have to be 4vr because you areö but they wanted to completely individual cameras because their idea was it at some point in their game you could get shot in the head with a shotgun which was morbid enough but they wanted to simulate what would happen if your eyes went off in different direction and I was like I just kind of shook my head I was like okay first off your brain doesn't yeah like yeah if that's happening odds are not to get too gory about it but everything that would be receiving those the sensory inputs from your eyes is probably already spattered against a wall behind you so I wouldn't count on I wouldn't I wouldn't put anybody through that yeah yeah my point not to get again like terribly morbid about it but these types of things do come up don't put people through things that they tend not to see very much in their day to day and there are some things that will often or these more often than not trigger a fight or flight or trigger some VR sickness and folks things like going down an elevator that you can't see so like if you've ever just stood on the edge of like a glass elevator and just looked out the window you might have felt a very slight bit of vertigo as you go to go yeah like going up for some for a lot of folks is just fine but going down makes your brain immediately associate that with falling and then you panic a little bit oh yeah yeah totally and I actually had to train myself out of that by building a level it's like the simple level like a slanted floor and then at the ground it would teleport me back up to the top and so I just dropped myself repeatedly until I got over it there you go there you know it was nauseating for a while there like little things can really help you get around this like the the cockpit experience if you have to take somebody down an elevator put a shell around them so they can actually have something to be anchored to so that they're aware like I and a few other people I know call that vehicle inge yeah is to throw them into a bubble vehicle thing and then their brain has that like oh I'm moving because this thing's moving I am inside of it so I don't move but it moves and therefore I go yeah another really super common one is if you give people the ability to drive the motion it seems to help don't just randomly move the camera or move them around without them being voluntarily causing that movement to happen anyway we could go on and on there's entire papers over this stuff oh yeah and hopefully you understand the term SDK at this point is just software development kit it's important to keep in mind because both the I then the oculus had their own SDK which ideally you never had to touch you don't have to worry about that actually PlayStation has one as well and that's what has all of the psvr move stuff in it ideally you as a developer never need to worry about those SDKs in fact odds are you don't really have access to the code for them anyway we have set up the engine to already talked to that SDK for you to make that as painless as it possibly can be ok so moving right along choosing your renderer you've heard us talk about the forward renderer if you're super super new you might not have even heard the term deferred renderer which is the default renderer that Unreal Engine 4 uses really quick without getting into the the deep weeds of the different types of rendering at a super high level deferred rendering simply means that we take your scene when we draw a single frame we take the scene and we break it up into a series of layers with each layer representing a different material aspect one layer might just be the color of the scene another layer might be the types of material is made out of whether it's made of metal or not another one might be how rough the surfaces are so are they really smooth and shiny or are they kind of rough like stone or chalk or something anyway we take all these layers we smash them all together we composite them to form an image and then when all that's done we light it hence the term deferred rendering we do all of our lighting and and whatnot after the fact now that's great and it works really well for a lot of Unreal Engine 4 games in fact a lot of the prettiest games you've seen nearly all of the prettiest games you've seen come out of Unreal Engine 4 are done with our deferred renderer the catch the I'm not going to say drawback but the challenge of the deferred render is all of those different individual layers they're all taken at full screen resolution so on a 1080p that's see a 1920 by 1080 multiply by the number of different layers that you need to composite and that's a lot of data that has we pushed through your GPU now if you consider the challenges of VR where you've got two different high resolution monitors you have a lot more data that you have to push through and you have to maintain 60 frames a second always knows actually what 120 frames a second minimum yes both eyes up there yeah so you've got to keep things down to a very very tight deadline so the forward renderer doesn't do all of this material layering it actually draw objects one thing at a time now the other side of that though is that the Ford render is a much lower feature set it cannot do as many things as the deferred renderer does but it's entirely possible to not guaranteed that you actually don't need all of the different things for the deferred render for whatever your project happens to be so all the different flexible the various forms of flexibility and feature set for the differed renderer we actually didn't need in order to ship ruble recall and so we simply didn't use them we switched over to forward and in those cases you'll probably find that the Ford render will be a bit faster it's not guaranteed it kind of depends on content but for the most part the Ford renderer should be a little bit faster again because it's got a lower feature set it's not doing as much on the GPU and depending on your content type multisample anti-aliasing or MSA a which only works in forward rendering can look better the well again I don't want to get too lost in the weeds but at a mega high level things like architecture or straight lines and flowing curves you tend to look better with MSAA where things that are very organic like trees and foliage and whatnot can tend to look a bit better with temporal AAA and the deferred renderer if you want to really in-depth discussion on that then you've got to check out the optimizing Robo recall one because that one we go into yeah so donaldson goes into like a really long and deep explanation as to why things go and we actually like bring up the characters get really close so you can actually look at the pixelization of them so yeah definiteiy so yeah the the renderer you choose for your project it's really just going to be dependent on the type of content you're producing so let's talk about some of the other features of the engine which make it so powerful and help it do what it does the first one of these is instanced stereo rendering this was added a little while back in Unreal Engine 4 and the idea was to streamline the process of drawing the same thing for two different eyes so when we first started doing this and in the old days before we had this feature we were actually drawing everything for one eye and then everything for the other eye in completely separately and you can kind of see that in the little animated video over here on the right so we draw one scene and it's pretty much done we draw the other scene and it's pretty much done we wrap it all up do the do the final process and there we go now this is great because it's easy for engineers to to put together like that's pretty much what the renderer was doing anyway so just tell it to do it twice once for each eye and we can move on the problem is that's very heavy on the CPU you have to do twice the workload the solution is to put some of that work off onto the GPU via instancing so we draw an object and we simply instance that off on the GPU and how the GPU automatically create the other version of it so we're technically drawing both eyes in tandem this was a huge savings on bullet train it's about 1.5 milliseconds on the GPU and 0.75 on the GPU that's a GPU twice 1.0 so is 1.5 on the CPU and 0.75 on the GPU if I got it wrong it's fine it was correct in that time they just sound a lot alike but it's important to note that this is going to be a bigger benefit the more draw calls you have on this on the screen now if you're super super new you might not even know what a draw call is and the good news is I'm going to talk a little bit about those later on but at a high level because it's fine for you to hear it more than once a draw call is just an instruction that the engine gives to your GPU to draw something to the screen and ideally you want to keep these down to as few draw calls as possible and we'll talk about some approaches to keeping your draw calls minimized as we move forward okay next feature kind of the good news is these couple of features that I'm mentioning here you don't really have to worry about them these just for the most part magically happen you can opt out of them if you if they're not right for your content but honestly if you don't know if you're pretty new to this you're not sure what the right call is probably just leave them on for the net for now and just don't worry about it and build your content hidden invisible area measures these are here because post-processing over to eyes which post-processing is a as an effect that we do after the scene is already rendered we can do things like adjust color or handle things like bloom or depth of field it's an expensive process it's something we have to do for every single pixel on the eye and we needed it to be faster so the way in which we sped it up was to control what pixels on the screen we're actually going to get any post-processing done to them so we did that first with the hidden area mask which you can kind of see on the upper image on the right the idea is we actually have a polygon mask around each eye that is really close to the camera and that causes the pixels within that mask to fail the depth test so they're completely rejected by the GPU we never draw them we never have to do any post-processing for them and that saved us a little bit of GPU time at the same time we can take post-process actually jumping back real quick the hidden area mask actually keeps those pixels from rendering at all like those never get touched by the renderer which just speeds things up then to constrain post-processing and speed that part of it up even more we have the the visible area mesh which is you can kind of see on the left hand image it's another polygon shape that fills in the eyes that like the actual eye area and we only do post processing within the area of that polygon so which is limiting one is limiting what pixels were rendering and then two we're limiting what pixels get any post processing whatsoever and again these are free you don't really have to know about these you want to do anything with them it's just cool to be aware of and know that we are doing neat things under the hood to make your VR production go faster and smoother another really neat one is mano scopic far-field rendering I've really just only referred to this mano scopic rendering this is something that was done on Eve gun jack on gear vr if you ever haven't played that game it's pretty cool you're a like a gun turret pilot in the EVE universe and you just kind of tap the side of your gear VR advisor to shoot lasers at things but in order to save on the cost of rendering a VR scene on a mobile device they took a distance from the camera I try to remember the actual number it was something like 30 meters or something it was a certain distance I remember exactly how far it was but beyond that they discovered that you don't really sense parallax and depth as much like so you can see depth when things are really close to your face but as they get further away they tend to flatten out this is how your eyes work because the perceived distance between your eyes gets less and less the farther away you get so what we do is we put a clipping plane in actually I can show you how this works there's a clipping plane that actually cuts off everything beyond a certain distance and then we take everything in the far field and we just render it once Manas copic Lee there's no stereo to it at all it's essentially a flat image like a backdrop on a TV set and then we composite that into the background now because it's always updating in real time you still get perceived parallax as you know things move around and then you know depth tests pass each other but you don't have to worry about individually drawing or instancing off all of the geometry for for both eyes so it can be quite a bit of saving that's a very new feature it's really exciting I like this one a lot now it's worth noting this is already available on gear VR but it's going to be ported over to the forward renderer yep yes we're going ahead throw it onto your mobile now another cool feature of the engine is VR mode you might have previously heard this referred to as the VR editor we've were doing some rebranding there the idea is this is just VR mode and our our mentality is that we're taking the editor and exposing more and more of it into VR mode so that you can just use the editor whether you have your VR headset on or not it should be the same or at least a very similar experience it's sometimes it'll be a little bit adjusted to make it more convenient to use with things like motion controllers as opposed to a mouse on keyboard but we're adding more and more features to this all the time and just actually will do a quick demo of VR mode and some of the new the new features for it that are going to be available in 416 as soon as we kind of get done with these slides but the idea the the reason it was developed is that especially when you're building a VR experience and even not necessarily maybe just building any experience it's nice to actually put yourself in the space to get a real sense of that scale to feel things in sort of a a person it's not not persistence not the word of look or that sense of presence that you get with the dr the ability to apply that to any form of development and actually say alright well here's what this room looks like and now I can position the furniture so I know exactly what my players going to experience that can be really beneficial to getting a solid feel for how your environments are shaping up and that's what the AR mode really exposes to you along with a whole bunch of other tools from the engine now we also have some template projects to help you out you might have seen these if you've been playing with the the engine we have a VR template that you can open up that already has some simplified controls for moving around a scene for interacting with objects all of it done in blueprint so it's pretty easy to take apart and see how you could implement these on your own next I want to talk about some VR best practices now there's a ton of these and the idea here is that we're just going to focus on some of the bare-bones so like the the basics you should know when you first get started the deeper you get into VR production the more of these you will probably stumble across that we didn't mention here and the other side of it though is that the types of pitfalls or the types of best practices you're in and two are sometimes very content dependent it really depends on what it is you're doing in VR so at a high level though avoid screen space effects so things like screen space reflection or ambient occlusion or really get try to do as little as you can with post-processing ya lens flare all that stuff because you don't have lenses in your eyeballs don't do that and just try not to rely on it too much they don't always look as good as they do on a 2d screen in the first place and they're expensive so if you can get away without them then that's going to be for the best don't rely on any reprojection technology which there are some headsets and SDKs that will basically catch when you fall under frame rate and they will reproject and try to smooth things out to speed your game back up or kind of make the player perceive that you haven't actually dropped frames oculus has some really cool things to help you keep it keep your player from feeling like things slowed down however it's a good idea not to rely on those actually being there especially if you're going to be releasing across different VR platforms so aim for the the highest frame rate you can and do not become dependent on any certain set of tools that is helping speed your game up in the background consider lowering the resolution to increase your frame rate fall back on anti-aliasing just the fewer pixels you have to draw the faster things can tend to be so keep that sort of thing in mind the players head movements should be in control of the camera at all times that's really important and it's actually one of the first things I see completes newbies which I say that term with total respect nothing wrong with a newbie I was one a long time ago a player should always be in control of their own head movement do not grab their head or don't grab the camera and move it without them being aware of it you will just make them sick or at the very least you'll make them uncomfortable and they won't want to play your game anymore I know plenty of folks who have dealt with some sort of VR sickness by way of just saying I just didn't like it or it made me uncomfortable and they just take it off they don't always get immediately violently ill yep there's there's only a it doesn't ever really go over well and I think maybe Resident Evil 7 so I want some I've seen it and what they do is they just black it out while they like in the regular scenes when you would not be in VR you move and the character shifts around instead they just block it out and they put you where you're still again and it can move so basically a form of teleporter exactly exactly which is probably a safer way to handle that yeah teleportation still a solid way to go avoid accelerations as they can create VR sickness so don't cause somebody to speed up or slow down try to keep you if you are going to move the player from one location to the other again hopefully that's voluntary for them but try to do it at a linear rate that tends to help don't override the players feel the view so like make the field of view wider or smaller because that will just freak people out your field of view never actually changes in the real world and while it is a cool camera effect and Alfred Hitchcock did some great things with it don't you play with it not in VR next a little bit about VR optimization now I'm going to be handling this just at a high level I'm just going to be telling you these things if you're totally new you should be taking notes for research later because I could do an entire probably series of live streams just over the optimization tools and all the interesting and cool things you can dig out of them and that would get us way too far in the weeds for this live stream absolutely and if you want that deep dive getting into the weeds thing we have that one with Nick Donald's and wrath it was awesome and Jeff Ferris they were awesome dudes but if you're totally new just hearing the terms and knowing this stuff exists is going to be hugely beneficial to you so be aware we have a real-time GPU profiler you can open this up even when you're in your VR experience you just hit the tilde key and type stat GPU which i think is actually gonna pop up on one of the slides a little later but it's Sta space GPU and that'll open up this window which gives you all kinds of information on what the GPU is doing and how much time it's taking to do it you also have the non real-time GPU profiler which has been around for quite some time at any point in your game you can just hit ctrl shift , and that'll open up the GPU visualizer what that does is that captures a single frame of your game and tells you everything the GPU did during that one frame so it can give you an idea of how long it took to get through the base pass how long it took some light things if you are overtime like if you are higher than 16 milliseconds of frame this can be a really good way to kind of help you see where that time is being spent I've actually used it quite a lot to track down problems in lighting or problems inside of draw calls next some important console commands which I will if I if I remember once we get over to the editor I'll at least use one or two of these I want to throw one out that I don't necessarily recommend you use often but it's good to be aware of its stat FPS I feel like that's the first one ever this that's like the first stack meant everybody uses yep and I think that's to me that's kind of like an old-school thought process because way back in the day all I ever really cared about as a gamer was whether or not I was hitting framerate and and it's just not going to do the same thing as a developer on a developer rig and knowing that you have targets to hit right well so the Stata PS not enough missed an FPS will tell you how many milliseconds it's taking you to hit a frame you know this look how many frames per second you're hitting and that's great but that does not tell you where that time is actually being spent so for example if you're not hitting 120 frames or or whatever your target happens to be you might immediately think oh well that must be because of my lights or my materials or whatever but just at fps alone doesn't tell you that so it could be the problem is you have a blueprint somewhere that is highly inefficient and is just tanking your games performance but you don't know so don't rely on stat FPS by all means don't just forget about it if you just want to know your frame rate and that's all you want to know by all means use stat FPS but do not use it as a diagnostic tool for where the problems lie otherwise you're probably just taking shots in the dark stat unit graph is much cooler which I think I can actually show that fairly easily so here I am inside the editor I'm going to hit tilde and type stat unit graph so this actually gives you the amount of time it takes to draw a frame which by the way doing this in the editor is not super useful technically you want to do this like in a standalone game there's all kinds of rules to profiling this is just me showing you the tools so we have the amount of time it took for the entire frame we have the game thread which is all of your game logic and then we have draw and GPU draw is the rendering portion that takes place on your CPU and GPU is exactly that it's the amount of rendering takes place on your GPU and in this case it looks like most of the work is actually taking place on the GPU but because there's not much going on with the game thread in this case I don't think we're running much game logic but it's impossible to say right now because we're inside the editor and the editor comes with its own overhead now the really cool part about this the reason why this is stat unit graph is that all of this stuff is being graphed out over time and you can see there's this line graph that is constantly kind of ticking across or still the occasional heartbeat that you might see scroll across the screen usually that's just a signal coming in from the editor and it's just another reason why you shouldn't be profiling inside the editor but it's good to know about so let's turn that off stat you negraph again and then if you want to kill off the numbers on the side you can just do stat unit and that will hide those out okay so stat GPU we talked about a little while ago that's just real-time GPU commands which I guess since I'm already here we'll just go ahead and show that as well so we just do stat GPU boom and there it is so here's all the different things that the GPU is doing and how long it's taking to get there in the maximum amount of time it's kind of averaging out good to know okay and continuing through I wanted to throw out some common pitfalls that folks tend to run into when they're developing in VR just stuff that's good to know oh and early obvious one is to many draw calls and now at the highest barebone level this just means you have too much stuff in your scene it can get more technical than that like everything in game development it could be more technical but at the highest level you're just getting started it's probably pretty safe to assume a draw call just means you have too much stuff in your scene what is a draw call it's just an instruction from your game to tell the GPU to draw something on the screen and the way in which you create draw calls is by having a bunch of individual stuff like if you have 5,000 objects that you've dragged into your scene to make the perfect world and all those have to render at the same time well that's 5,000 draw calls and you should keep in mind like oh was it bullet train I think we tried to mate with that whole thing was kept to around 2600 draw calls on the screen at any given point yeah there's a really great Ryan Brooks like breakdown other where he explains how they brought the draw calls down by doing a bunch of tricks - yeah so you can merge actors together you can do this right inside the viewport you can just collect a bunch of sorry select a bunch of things you have in the viewport right-click and choose merge actor and that'll bring up the tool to help you merge those down you can spawn things inside of a blueprint as an instance static mesh which is a little advanced but at least you've heard me say it you could do some research on what I mean by that if you needed to some other things though that beginner folks often overlooked and it's worth being aware of is you need to keep the number of materials on a single mesh down to a minimum every single material slot that you add to a mesh is another draw call because the GPU separates your mesh up into each individual material so for example let's say that you have a mesh could be anything could be like a computer desk that has like five different materials on it and you put 10 of those in your scene it's not ten draw calls it's actually 50 it's ten times the number of materials so be aware of things like that now you can also use the stack command scene rendering so that's stat scene rendering and that'll tell you how many draw calls you have on the screen at any given time which can really help you decide where you should be condensing also when you're merging actors don't get overzealous I see folks a lot of times the first few times they start merging things well here's what I'll do I'll just take all of the computer desks in my entire level and I'll just merge those into a single mesh and that's probably not wise you want to try to keep things merged and constrain two things you'll see with an entire view so for example if I took every desk inside of the epic games building and I merged them into a single mesh no reason I couldn't do that if I was making a level of this place but that means if I can see any one desk then I have to draw everything in the entire building every single desk in epic games would draw as long as I can see one of them so you have to keep things like that in mind try to only merge objects that exist in a in a similar local space so that if you look away from them and you're not looking at any part of it it can be culled out and you don't have to worry about rendering it another common pitfall is dynamic shadows for VR try not to do them more often than not you do not have to have dynamic shadows even if you think you do or even if you're like playing Robo recall and you think you see dynamic shadows odds are you see something else you might see capsule shadows you might see a really clever mesh trick like what we did with the circular fan there's all kinds of ways to fake this and generally you should be trying to fake dynamic shadows instead of actually trying to create them also too many instructions and materials can sneak up on you that can really cause a lot of GPU overhead at the highest level you can just call this the number of math operations in a material keep your materials as simple as you possibly can doing a whole bunch of nested things like hardcore Fornells and dot product checks on every single pixel gets expensive over time I'm not saying don't do it I'm saying understand that the more complicated your materials become the more trade-offs you might have to make and we have a lot of resources to help you get up to speed in VR I'm not going to read this entire slide to you hopefully the links from this will get put up inside a forum post or something so that folks have quick and easy access to these oh yeah this will end up in the YouTube description and in the forum and excellent after the fact yep cool so yeah there's all kinds of different articles and documents and videos that you should definitely check out that will help get you up to speed for VR content creation and then of course here's all of our learning resources you should definitely be should be aware of all of these and ideally you would take the time to read each and every one of them if it sounds like a lot of work it's only because game development is and that's it so that's that's the the hard core PowerPoint presentation part you know the the basics and then the summaries and all that you need to know before we get into the practical applications now the next part is really just a bonus I'm not going to take a super long time doing it but I did want to take just a few minutes and show you some of the new VR mode tools that are going to be popping up in 4:16 which should be coming very soon to a PC desktop near you I don't know how soon but but really soon so currently here I am inside of a new VR level if you haven't seen one of these before you can always make one whenever you want you can just go to a new level and there's VR basic which I'm not going to create that basically what we're looking at already now I am also inside the VR template which I'm not going to do anything that is VR template specific in this really fast demo but if you wanted to turn this into a VR experience and actually have something you can move around and interact with like a game pawn the VR template would be a pretty good place to start so for starters I am going to jump into VR mode you might have already seen this available as VR editor notice the button name has been changed to VR mode there is a setting in the project settings that you can turn on or it might be editor settings on us I get the two confused and I'm really sorry to anybody who's developing these tools and freaks out that I said the wrong one so there's a setting you can track down that will automatically go into VR mode when you put your visor on I tend not to use it because a lot of times I have my my visor popped up on top of my head and it tends to get confusing so I'm just going to enter VR mode and so here we are we're in VR mode and I've got my touch controllers and you might notice things already look a little bit different than the old-school VR mode first off you check out our laser I'm gonna do something to help you out really fast got I'm gonna move the keyboard so it's not blocking your lasers cuz I'm gonna be punching sudhir cameras and then you're gonna end up hurting yourself ya know it's gonna be great because I just want to you know you're important to us I don't like you I have I'm sure I have come close to cracking one of these things before I wasn't playing I think I don't know what game I was playing it might have even been Robo recall I was getting all excited and I turn to shoot or hit something and like I hit the wall and it scared the crap out of me okay so check out the laser first off so it feels like you know playing with like a graphite fishing pole or something you'll notice it's very wavy this is a new feature that we added to make it easier to manipulate objects so let's talk a little bit about that so I'm just going to point at this little block I'm going to pull the trigger and we automatically get this movement gizmo and I'm going to ignore that for now we don't really care about the gizmo now that it's selected I'm going to pull down the trigger again and oh wait I'm showing something a little too soon bear with me a second you didn't see anything let's just turn this this off okay so now I can click and drag and there's that that what's that lazy laser I have no idea what they were I think you were calling it the lazy lazy I like I like wavy laser but I mean it all amounts to the same thing right yeah yeah it just reminds me of playing with a fishing pole and I'll be honest the first time I saw it I was like well I don't like that but it turns out actually do really like it because what it does is it smooths out your motion for anybody who's ever used ZBrush which I realize that's not going to be everybody in the room but ZBrush has like a lazy Mouse option that helps you kind of paint without your hand getting all jittery and that's exactly what this provides so like even if I was shaking quite a bit like even like a tiny little bit of vibration in my hand which you can see in the laser is not really being imparted to the object at all so it helps me to move this object around so we can talk a little bit about moving these around I can just point right at the object drag like so I'm using the stick to pull it toward me and push it away and I can use this to relocate now while I'm doing this you'll notice I get a second wavy laser I've got two wavy lasers now and if I use my other wavy laser and pull the trigger then I can start manipulating this object a little differently I can start scaling it and rotating it so like basically I get two anchor points that I can use to reposition this object if I want to stand it up on end or at least close it's very organic so moving objects and that way takes a little bit of practice now let's talk about the other ways you can manipulate objects first off inside the new VR mode we have this new amazing thing we have the the new radial menu which all I have to do is move the stick and you start seeing this really quick let's talk about navigating the radial and you so really this is just a series of nested menus to dig to other things so for example if I wanted to bring up the content browser well that's one of the windows available in the editor so you can go over to Windows pull the trigger here's all the different windows we can bring up so I can open up the content browser and here it is it just magically appears underneath now this is just the content browser exactly as you would see it inside the regular editor we have a bar here at the bottom we can use to kind of position this maybe off my left shoulder so that's kind of like playing as long as you're kind of messing around in here can you manipulate multiple objects at once with one in one hand one or the other uh no not with one hand and one of the others once you select one it kind of creates menus and stuff yeah yeah well so if you can't you don't really have you really okay I mean make sure I'm crazy right wait another channel you have one hand that allows you to select and manipulate the other hand you should think of more is like your artist palette like think of this like you're a painter and one hand you've got a palette and like your your whole tool set and the other hand over here will sometimes like it'll sometimes help you out but for the most part you're really only doing your manipulation with one hand that's the the current mentality anyway now if you wanted to move more uh more than one object at a time you can multi-select if you hold down well it's the a button on a touch controller but it's really it's I can't really point to it and you can't see it anyway if you were looking at this controller it's on the lower left corner so I can hold down that button you can see it light up that's awesome and bump-bump so I can make a multiple selection there and I can move all these around at once but I can't move them individually with my separate hands and honestly even if I could I feel like that's one of those features that would be cool and I would never use it so I mean there's a content browser I can drag objects straight out of it if I really wanted to like I go to mobile starter content and grab I don't know let's just filter down let's look for static meshes what do we got we got anything cool there's a random corner frame we can just drag that right into the world and there it is I just pulled it right out of the content browser I don't know why but now it's there so now we can close the content browser let's go back over to this guy real quick so we have other things as well we have like the details panel which the only reason if popping up kind of like tilted up is that I'm holding my hand in a really funny way just to help you visualize this this radial menu normally the your hand is oriented is kind of more like this at which point this is a little more natural and of course this is just a regular details panel you have access to all the properties that you might want to use another really fun one and this is just this is super awesome is we've actually integrated sequencer into VR mode as well so we can say create sequence and that automatically creates a sequence and it opens up the VR at a I'm sorry the sequence editor here inside a VR so it's just floating here off my shoulder we can select that little thing I just added from from the content browser and notice as soon as I moved it we're automatically keyframing so it automatically got a little transform so now I can take time scrub it up to like 50 and let's just let's move it again let's say move it up in the air and then move it over here and I'm gonna add a keyframe right here with the X frame button boom ha ha all right doc we didn't actually get a keyframe oh I'm super disappointed I was I must have been I was rolling through it too quickly that's probably my fault so real fast let's just do this let's make sure that I've added this object he looks pretty good clunk all right I just clicked add keyframe I'm gonna try it one more time and then if I'm surprised like how smoothly that works like I didn't really expect that to click so nicely Oh check it out it's automatically keyframing and we're already getting like a trajectory line awesome nice oh I like that you can even see like it'll manipulate yeah this point to that point yep so you can see as I scrub through there's the path that it would be taking we can move it to like kind of right in the middle and now if I move it again at Auto keyframes to give us a new location so really quickly I'm creating like a sequence like right here inside of er which is kind of awesome so we can close that and all that kind of goes away which is pretty great let's talk about a few other things now some of these are more interesting than others right we have like the the modes panel you know if you need to add in special actors just like you find in the editor we have like world settings which is going to be super boring I'm not going to worry about but I like the world outliner if you know you want to select something specific it's all here I can actually scroll up and down this let's do a dick what are you sorry sequencer box just totally popped up over everything you're doing here and it's blocking our view I mean I'm okay there we go oh yeah yeah I want to let you know that you were talking over but what that's cool well then the neat thing it's not me for you guys who are watching this as neat for me because I'm in VR and it'll be neat for you when you're in Dr is it wasn't in my way and less you're doing a livestream showing this off to a whole bunch of people trying to explain why it's cool it won't affect you either that's not happening right yeah good thing man so now jumping back to the rate okay I'll just do a quick review really all these are different parts of the editor that already exists in the first place hopefully you already know a thing or two about them if not we've got a ton of different resources to help get you up to speed on the basics of the editor now I'm currently inside the windows many of the radial menu if I hit the a button it's kind of like the home button that'll take me up a level so here I am now outside here so I'll show you some more of these if I move this around like we can go over to edit then pull the trigger to step down to edit I can choose snap to floor to pop that down I can undo and redo with the right stick just by flicking left and right so I flick left undo flick right redo so all these we try to make things as convenient as we can and we're always trying to find new ways to make stuff even cooler than before like snapping right like snapping is just one of those things that generally I I love and I was kind of dread because every 3d app I've ever used has a different approach to snapping and I feel like we finally found a really cool one so we have the ability to we have all of our snaps that are already there inside the viewport right we have translate snap which is based on a grid we have rotate snap which is based on an angle and we have scale snap which is set to a percentage or or what have you just like it is in the viewport but we also have smart snapping and if I turn this on and I select one of these meshes watch as I try to move it we get this little yellow frame and it's trying to snap to nearby objects so as we there you go this is kind of snapping to the bounds we're like snapping right up against this object or let me I'll talk about navigation here in a minute let me keep this simple I'm going to hold down the a button which you can see here on my controller and I can move this object and you see I made a duplicate and it's just snapping together and you can see this makes it suddenly very easy us to snap objects so that they align very nicely to one another so smart snapping is pretty wicked it makes me pretty happy actually which more things had it but it's one of those things that makes the most sense in VR because you're trying to do transformations in an intuitive way so there's a really quick thing like the the radial menu which has it's just got so much functionality and it's so easy to use once you get it the once you kind of get the the factors moving a stick and they it's like a marking menu in Maya I keep wanting to call it that and I try to avoid it for as long as I could but basically if you ever use a marking menu in Maya that's exactly what this is so let's talk about navigation so navigation getting around your 3d scene when you're editing can always be an interesting thing we allow you to just grab things with your grippy buttons which you can see me kind of flashing here on the screen and what you can think of this in your head like you're just grabbing the scene and moving it around you so it works right up to like accuracy so if I want I can put my my controller right against this wall and I can use this to kind of grab along the wall if I hit both grippy buttons at the same time I can rotate around I can also scale the world which seems intraplate it seems kind of scary the first time you do it but the idea is now I can take my entire world and make it like tabletop game size like it was a little D&D going on here exactly so like and you suddenly if you want you can think of your level creation process like you are the DM in a really cool game of Dungeons and Dragons so you can like set up all your miniatures to position them exactly where you want them to be like I can I use the radial menu go over here to edit that's not at it and then drop that guy to the floor now he's right where he needs to be I could duplicate him make more copies and so forth and then when I'm ready I can just scale it all the way back up to normal size which is 1.0 and you'll see as I move my hands further and closer apart you know we just keep that to around 1 and then you can also teleport so I mean I can do that kind of I keep wanting to call this like monkey walking because I feel like I'm doing like gorilla walking which is great but you can also hold down the grippy button and then pull the trigger and that will teleport you to a given location so like if I set myself to a scale of 1 and actually let's turn around and do that flip the world around and then I want to go right over there I'm holding down the grippy button and the trigger and pop there we go so now I'm right here and I can select this object and I can move it around of course we're still snapping but that's cool and there you go so it once you get the swing of it you'll find that you're you're moving around your world very quickly you can also kind of throw the world which is pretty nice so if you need to get somewhere relatively quick you can just fling yourself all over now a couple more things I want to mention before I kind of bail out of here is the tools menu here inside the radial menu so if we open up tools we have some really really cool features that I find myself using more and more the more I play with this like the flashlight which at first like when I first heard we had a flash was like okay great with flashlights and then I started playing with it and now a lot of me helps doesn't now I'm addicted to it right so all it does is it attaches this non shadow casting light to your right hand which if you're doing anything in the dark I've discovered is a lot more useful than I originally thought it would be you can take a screenshot at any point just look at something and hit this button and you'll you'll snap off the screenshot you can also play your game and simulate right here inside VR VR mode so if I just go over to simulate pull the trigger we're simulating so all the physics are doing their thing and I can still manipulate stuff actually let me turn off my flashlight so now I can okay I can take this box toss it up in the air catch it and let it drop or maybe just Incredible Hulk smash things or the VR editor is a game in of itself really yeah yeah it's actually surprisingly fun and throw that so yeah and if we want to stop just bring up the radial menu again pull the trigger hit stop this stuff is so much more convenient than it used to be in the old VR editor I'm actually kind of falling in love with it and then you can play at any point too now I don't have a really convenient VR pawn in here right now so we're basically just boring sitting here looking at the ground but at any point I can hold down both grippy buttons and both triggers and wait a second and that pulls me back out it's possible that we may change that eventually because it occurred to someone recently that if you made a clone of Robo recall and you started dual wielding that you would suddenly stop playing the game no no but but that's okay like for now it's just fine just a something that we change as we move forward question from chat as long as you're flying around in here yep is there an undo button there is I mentioned it like really fast and casually so to make sure I draw plenty of attention to it okay we move this guy up here in space and then here on my right stick if I just push the stick to the left or if you're on a vibe that's swipe left that's undo going right is redo so there's undo redo undo redo so make sense yeah cool so there's that actually uh we could go ahead and do Q&A now if you want to just read me the questions oh man we have so many I'll just stay in VR and keep wrecking stuff while you do it all right so first things up what are some best practices when dealing with particle systems specifically particles um you know uh if you've been kind of paying attention to where we've gone so far in this they probably have become apparent to you just in context do less than you think probably depending on the type of particle system year you're making right so some best practices are that actually now I got to take the headset off because I have to talk with my hands well you get the full oculus ring go it's it's bolt tilde to get out of here so that's how you enter an exit VR editor mode or at least it would be hang on making this a Greek well don't put your drink on a place like that that's just dangerous okay there we go well okay escape there we go I just the game thought I was still playing no problem so particle systems so the thing about particle systems is the first off 2d effects tend to look terrible in fact you should check out the showdown presentation that Nick Donaldson and Nick whiting did some time back it's on our resources page on religion dot-com slash resources so they did it for oculus connect 1 and they talked about the challenge of doing a high visual effects scene with things like smoke and fire and whatnot because sprite particles tend to look like sprite particles in VR like your eyes can suddenly perceive how flat the effects are and that they just don't look right so you will often have to find new ways to create effects that may or may not actually be particles so that would be a first thing to keep in mind yeah another one is keep the number of particles down add beyond a certain point to many particles starts yielding more draw calls so you want to try to minimize that outside of that it's mostly just test and see what's right you'll probably find that a lot of the different effects you want to create will now suddenly need to be built not out of sprite particles but out of things like mesh particles or or just meshes out right you might have a really clever deforming mesh that has a special material on it to show its visibility I actually a showdown is probably the best example of a lot of what you're saying right there because that is what that is is we replaced a lot of particles with meshes straight out and you'll showdown do things like mesh displacement and all that to create things like smoke and fog so that's how they do like the rocket smoke trails which look really good yep um I can I can read these now except not all barrel yeah there you go yeah I'll just let you do that how should we go about detecting various HMDs and accessories up so you can actually detect what hmd is is being used by way of some blueprint nodes yeah so yeah they're already ghost straight up though that should be just exposed to in blueprint for you ideally the only places you would use that would be like it I consider how we show you the oculus controllers when you're in a VR editor mode now if I was doing this inside of a vibe I would have seen the vibe controllers instead so I mean there's a legit place to do it I mean I would strongly advise against doing vastly different things based on which headset somebody has on but there will be times when it makes sense for you to make a decision like that absolutely how do we go about setting up world or just skip one I did well I was going to actually bring up the dialogue event for dialogue events what seems to be the best way to use subtitles now actually I'm gonna point you guys to checking out Joe Wintergreen's game I the name totally escaped me at the top of my head but it's the steampunk sword fighting one that he did because there are like he was working on a dialogue system where it pops up text actors they kind of like float at you and honestly when the name as cool as joe wintergreen you're really not that hard to find anyway yeah yeah he's pretty easy to find on Twitter and all that let's say check it out but um he has like a solution he's rolling and a few other VR developers are working on these kind of solutions because accessibility is important if you have VR players that are hard of hearing they're gonna want to be able to read subtitles yeah I mean like super mega high level without getting into the again into the weeds of it already building a system for ya you'll do like a 3d widget probably in UMG and then whatever you do in the backend to drive that 3d widget or widgets plural or text printer actor yeah that'll be up to you yeah yeah I guess you just text render actors I think that's what they're doing is they kind of like the socketed one and then it kind of tries to get game diner eyesight like it tries to move into your camera way okay cool uh how do we go about setting up world unit such scale to account for the player sitting down of playing with the controller or standing up which is actually really important I had a and another thing I was at they were asking me how do I set up before I have it for another wheelchair and she gets in it and she's always like in a crazy heightened never works out yep yeah there's a lot of ways to go about this like the SDK should generally be aware of how tall you are both of the different major PC setups that being oculus and vive like they each have a spot where you have to tell it how tall you are in some form or another some by actually entering the height others by like put the put the headset on the ground now put it on your head and then they do a differential based on that so part of it we make sure the the SDK is aware of what your intended height should be you do that entirely outside of the game but that's part of the joys of having a VR headset in this at this generation of VR another important one would be set up your game to have options to deal with that sort of thing I know a lot of games will have like a reset button to basically put the character back in like the the neutral ideal height and location that you could slave to a key or key combination so that if it just so happens your office chair is rotated just the wrong way or maybe somebody bumped one of your sensors then you can just hit the hit like a reset button that'll that'll reset everything yep yeah it's always kind of a good idea just have to come go to and you could set all that kind of stuff up in blueprints if you really wanted to because at the end of it you're making some offsets based on the camera's initial location anyway mm-hmm let's see here since I'm working with old hardware is it fine to add locomotion to characters standing up with MCS emotion control Oh motion controls oh not master ceremony and I always I always like Mouse controllers yeah okay and or is teleport she a teleportation still the way to go I really feel like this one is is the Wild West kind of thing it's a ski you fine good things teleporting is is good but then like you have Joe Radek who's out there making like his punch based system where you punch to move yeah uses kinesiology to negate the you know motion sickness of it but I think testing is an order it's a testing thing you're gonna have to play with it until you find the thing that feels comfortable for you we had a couple questions in here about there was a good guy in chat asking my roommate gets really sick I never get sick who am i building my game for that's up to you like don't worry it don't worry everybody building in VR is asking the same yes yeah you you build for you know you know the the more you move around a throw them around the smaller the audience is but the more hardcore they can kind of play them also take a look at the oculus store as an interesting case study in on all of the games that they have they have like the intensity level rating did will tell you whether or not this is a comfortable experience which is generally going to be probably pretty passive you might just be sitting still and turning your head to something a lot more intense like like Eve Valkyrie where you're actually flying around and you may be doing like barrel rolls and hardcore flips while you look in another direction and shoot missiles and actually if just random factoid this doesn't help it because it might help you if any of you have ever tried to get your private pilot's license one of the things they do to help disorient you when you're becoming a pilot is they make you put your chin against one shoulder and then they will manipulate the plane and then that way your inner ear can't really track what you just did so they have you close your eyes put your chin on one shoulder then they do whatever to the plane and have you look and then you've got to put the plane back to straight and level flight the point is if you have somebody in an experience where they're looking off in different directions it's really easy to get disoriented so just be aware of things like that yeah not gonna get into a airplane and do that though that just sounds horrifying not my thing ah oh my gosh I'm so terrified oh let's see here the text if th MD is being warned I mean I don't know exactly how to do that I don't there is a blueprint node that's just okay is is HMD on it so yeah well it just get kicks back a boolean but there's actually like a little light sensor in there there's a sensor that we can just read to which would be tied into the SDK again more stuff that you'd have to worry about I wasn't sure if whether or not it was like on your face was exposed to blueprint I guess it is but that's it's just a light in darkness democracy you can trick it by putting your hand yeah so what I was kind of getting at is that I have yet to find a really good experience where I was taking the headset on and off in a game I'm sure they exist and I like in and it's fine but like I've had some pitch to me before and I was like well that sounds tedious because I'm always like where's the cable and I gotta take this off and put it on my desk and like okay well now it's time to go back into VR mode so I gotta stop what I'm doing and put this back on and then Rika it just seemed wildly inconvenient but if you found a cool way to do it then that's awesome let's see here that's a unrelated question got a few in here that's a little unrelated what are the challenges faced when networking in VR compared to desktop FPS do you have tips to overcome those challenges we have a couple of questions in here about replicating motion controllers and replication and multiplayer in general it's exactly where I mean if you've ever done any replicating whatsoever it's pretty much exactly what you would think having to keep all of these things replicating at the appropriate rate is always going to be a challenge and exactly the means by which you replicate them how quickly and how often you replicate them in the amount of data that you send over the network one should be minimized but it's always going to be super content dependent really depending on the type of game you're doing yeah like if you're doing a two-player I don't I don't know like something super hardcore like a volleyball game where you'd have to find some way to replicate physics like it starts to get significantly more difficult than just being able to generally see that your friend is waving at you where you don't have to update that often to get the general idea yeah and I think that probably we do have a couple little examples here that like I said the calculates one has some replication you can see how they h MDS are being replicated and all that additionally if you go into the forums out Unreal Engine comm Nick whiting has been all up and down the VR section before giving advice to people who are trying to replicate motion controllers yep um Lauren messaged me and said that you can also punch stuff while in the VR mode so she was probably good that I didn't test them yeah yes she was trying to get me to get you to punch things and I think that would probably ended a bit like oh there's something over here crack foot just so that you all know at home it is an available oh yeah just make sure that your your work space is nice and you don't roommates or you know people that you care about nearby I've been punched way too many times by people in VR at this point I'm just used to it actually maybe that's just their excuse for hit me let's see here how can we go about adding by oral sounds in VR we actually that's going to be a different stream in the past we had Erin McLaren on he talked about how audio kind of the new audio system works and how we have a new one coming in will have to have Erin back on to do some more practical application stuff because as he said in that stream there's a lot that was still being made and he couldn't even talk about the stuff we were doing with valve at that time for you know combined with audio system so I'm gonna have to do like a whole other awesome one that'll be a lot of fun um let's see next question on here we have I'm gonna jump down a couple here is there any way to get her frame adaptive quality based on how much of the budget frame time we woah how much of the budgeted frame time was used by the GPU for the last frame hmm technically there should be a way to do some of that I'm not sure exactly what the best practice would be to set that up because I mean the engine does a little bit of that when you're just using the editor right like if if framerate drops below a certain percentage for a given amount of time you'll get a warning that allows you to drop down the scalability settings so already something in the engine is monitoring that it would just be a question of how you tap into that and how you would expose and then possibly utilize that I would just be really really careful with that and even if I had it I would like even if I had it as a part of my game I would advise you not to use it like build to a min spec strive for performance on that min spec and just go from there because it sounded just really quick I think at the end of the day all you be doing is giving yourself a crutch that would just over complicate development um what about asymmetric multiplayer the one persons in the headset once on the monitor will that be supported natively in the future actually it is basically like you could just yeah it's it's just about input accepting so you just enable inputs for like player 1 and player 2 exactly you have like a you have like the hm D is off doing its own thing and you have the controllers there and then you you just have enabling input take the keyboard input on this other controller which is technically your player one or two whatever so yeah that's totally doable yeah I know reason you couldn't that should just be fine yeah you just have two entirely separate games essentially oh the player one and the player two and each one would have their own instance you can do some fun things like that too you could have like the cyberpunk hacking game where you've got your hacker in VR and your other guy just playing a first-person shooter and they'll be kind of neat yeah I know that they have um you know a couple of those uh what is it keep talking and nobody explodes yeah and stuff like that it was a lot of fun but that one's actually not yeah that that's actually more of like a like a tabletop game almost yeah like soup is lever hey yeah yeah but yeah great way to lose friends if you have a player yeah it's pretty good um let's see Henry was asking will there be puck trackers plugins support coming soon so I think that's interesting puck is not the term I've ever heard the vibe I assume that's what you're talking about like but yeah the little vibe trackers I've heard them called crowns just like point trackers it said her puck is no one for me but yeah this should just chuck was a you know puck like they are there um but they should just show up those extra controllers as far as I know like they've been there's some support that you know that we are working on more than that like I can't say when it's coming I can't give details as to its to the turnaround but the idea of having multiple trackers is definitely something that is going to grow in VR we're aware of it and we know that at a given point we're going to want to support it yeah there's a there's also a ton of people in the u 4 community that are already using them and then kind of custom rolled their own things and they're pretty cool like steve bowler awesome guy made Island 359 check out what he did he put one on his hip and did some dancing was good yes good let's see here I need one with it is just attached to a drink holder yeah for obvious reasons yeah that's pretty straight up there's gonna be a lot of practical application you pull one on your cat that way when it starts trying to trip you up you know where the cat is can't trip you like it has to me in the past with a vibe let's see immersion gaming is asking will unreal have support for mixed reality for vive and oculus other than forcing it and i i've seen some progress and I've seen some discussion internally about it I don't know what the exact status of I'm not going to speak to the exact that is because I don't work on that particular team we're aware of that is something people want we are discussing it and working on it how and when that manifests is not something that that I can talk about right here yeah let's see here the VR tutorial projects in the editor setup in the editor setup motion controllers etc differently than the tutorial on the website so I guess off the documentation for example motion controller components versus spawn motion controllers and yet on startup etc is there one of these styles that's more up to date than the other which is the best practice out of all these because I feel like these are just different day yeah there I would call them equal in terms of best practice that's one of those cases where neither one of those would necessarily be considered better than the other they're just two different methods of going about it their philosophical more than anything else so the idea of spawning them could be useful if you wanted to have a single pawn where you did something if the player had motion controllers and something else if they did not so you didn't have to worry about swapping out between two entirely different pawns based on whether or not you detected that that could be useful if you knew like if you had a game that just required motion controllers which I mean we do then you wouldn't have you would necessarily have to worry about it you might just want to go ahead and have them all like already attached to the pawn and not think about it but it's it's philosophical and it's based on what exactly what it is you're trying to achieve at the end of the day the real difference you see the the two different kinds here is it was just really made by two really really different people who had different modes of thought on how to approach it yeah that you can just tell there was two different designers two different yeah and and at the end of the day because I could argue that in both ways I'd be like well if you're trying to teach people you should teach them one unified way and I would actually come come back at that with not necessarily because there are so many different ways to approach problems the idea of us showing a couple of different approaches can be useful in the long run if for no other reason then it gets you thinking along the lines of oh you could do this in more than one way and maybe you even come up with one of your own that we hadn't thought of yeah all right next question upon here noobs disrobes is asking when you're talking earlier about like I'll like having tons of objects in the scene and draw calls etc um having a good time always oh yeah let's say I have 100 objects that's what 100 draw calls right not necessarily if your instancing the objects like those well yeah so you get at that point you have to define the super arbitrary term objects because if you have a whole bunch of instant static meshes those would all be one object even though it looks like you have many of them which is how I pull up a lot of stuff like the Vulcan demo we have a entire field of asteroids yep they're all instances if each one of those 100 objects had seven materials applied you actually have 700 draw calls bare minimum so there's there's more to it than just object equals draw call yep yep that answers his question about several materials on it as well Kool G Rap asked can I make a cross-platform game for vive and also oculus and and yeah actually yes the idea or out-of-the-box just kind of lets you do it all at once it has like a generic idea of what an HIV is a generic idea right hand controllers are you know you might have it switch a couple things depending on the Enuma of what exactly headset setup you have going into it but past that it's busy there's a reason why inside the editor you only see it referred to as an HMD and motion controller so they're two super generic terms that's notice we didn't say oculus touch and we didn't say vive vive headset or anything like that we kept it very very generic in an ideal world you only had to architect your content one time and then you can just deploy it to whatever platform you like now there will be times when you've got to make certain concessions in one direction or the other but we try to make that as painless as we possibly can if you want to make an experience that just fundamentally works between vive and oculus you're just going to be setting up an HMV and some motion controllers and it will just work cool see here now we have a few questions still rolling in and all that but I'm going to just take these last two what's the best optimal way to optimize a jungle with a lot of shadows and I'm going with static lighting yeah and baked that as much as you can and you might have to end up faking the lighting that's applied to the foliage itself because static lighting doesn't always look super great on foliage you're going to be doing a lot of those like sheets on the ground to have a good circle dark spot yeah you know you'll be cheating yeah cheating and baking a lot a lot of smoke and mirrors check out island 3 359 also that's another jungle heavy the other thing I think I have a sticker for it up here somewhere but yep jungle heavy one comes down to really just not a lot of dynamic lights when you have a lot of static amateurs you're working with try to instance stuff as much as you can as well alright I'm going to take this one as the last question on here today a our support we're talking about it in fact we can already kind of do it up to a point but there are plugins and there are plugins that are available as we get more AR platforms out into the world it'll become more important for us to to kind of solidify I'm sure but anything that we haven't officially announced I can't really promise ya in the future we will be more advanced that's like probably the best way to put that I always think of what I do to my mother like Alex are you going to get that future technology that everyone seems to be adapting lately like in the future we will be more advanced I cannot comment more than that but yes a super tiny fast question comrade had caught was asking if we can use motion controller as well at the head-mounted display yes you can they're just their own independent thing too so I'm going to make that one the last one for the day cuz we're getting a little bit you know farther in there it's gonna start getting dark out there's like a storm rolling and it's great you know so we'll see you all around thank you so much that coming after he learned a ton it was a lot of fun one more time big thanks to Andrew Hurley for putting Alyssa together in the first place yes thanks I was just the substitute okay you did a great job but yes thank you so much Andrew I put about the spot on it and then he's like oh yeah yeah I got you covered I think he's like I am so deathly sick so thank you though so much for letting us use your stuff and still roll with it today um and I will see you all again on Thursday at 2 p.m. Eastern time we're going to have Mike beech come on we're going to talk about blueprint native ization nice yes that's going to be a lot of fun stuff is so awesome it's really good it's stuff that we head up again it's kind of like a robo recall like side effect to making that more performance so that's going to be a pretty cool one so I will see you all then and for now it's just goodbye see ya see [Music] you
Info
Channel: Unreal Engine
Views: 168,186
Rating: undefined out of 5
Keywords: Game Development, VR, Virtual Reality, Robo Recall, Unreal, Engine, Gamedev
Id: afodIcU_vK4
Channel Id: undefined
Length: 82min 25sec (4945 seconds)
Published: Wed Apr 26 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.