you’re spoiling us
Oh great. Now it’s impossible NOT to start creating a fan community based Battlestar Galactica game that will quickly get out of hand and dominate all of our lives in no time. Might as well sign the divorce papers now.
I know this is asking much - but maybe you cold make a tutorial out of this? Just in case you want to pass the wait a bit longer and have the spare time @Skynet ? Did you use some API like the VRWorks or SLI stuff linked into the project?
I was trying to get into VR and one of the Engines (UNity or Unreal) and for some GameDev - just the entry point is a bit hard if not used to GameDev that much und doing it after work (and kids and wife and house and all that…).
Don’t know if i am the right guy to ask for a tutorial i am just a hobbyist learning from others as this project develops so at the moment this also is only an after work project.
I jumped into this just 1 or 2 month ago after a few years of doing no 3d Artwork at all. I did mods for various games before ( Operation Flashpoint, Arma, Battlefield…) and was an active Member of the demoscene so i am not new to this type of stuff but at the moment it also feels like starting from scratch again. lol
But i`ll give you a rough overview which Assets i used so far.
First of all i would use Unity to get you started. In my opinion it’s way easier to get some first results which also helps to keep the frustration level as low as possible. <- very important
If you are a one man show like me make use of the Asset store and other resources as much as possible else your projects will take forever because you simply can’t do everything on your own. And don’t be afraid to do so other Artists are happy when you buy their stuff or if it is free just read the licence agreement and make sure you are allowed to use it and give proper credits. Just see them as your Team members as soon as i learned that back in the days things moved much faster.
Now to the Assets
Important VRTK 3.3.0 only works with the old SteamVR unity plugin you can also get it at Github
Why VRTK? See video.
It lets you setup all kinds VR interactions from grabbing to climbing… in no time even if you are like me and haven’t done anything VR related before. It even automates the process of setting up interactable objects.
So i urge you to learn this first because it gives you fast results and keeps you motivated going forward. (Note the future development of VRTK seems to be a bit uncertain at the moment but if you are just getting started this is more than enough to keep you busy for a while)
Just follow this tutorials on VRTK and i promise you some first results tomorrow.
All the Player movement and interactions you see in my videos have been done using VRTK even the doors opening and closing was realized only using VRTK.
Now for the animations of the the launch tube Gates this is a bit of a different story.
A programmer would have written his own code to tell unity if you turn lever 1 for example 25° the launch tube 1 opening animation should start…
Since i am not a programmer i needed to find another solution and after some research i deceided to use Playmaker and iTween.
So Playmaker enabled me to make the connection between the VRTK Player interaction with the lever and the following Gate opening animation without writing a single line of code. Sure not as flexible as wrting your own code but if you don’t have other options this will do it and if the result is okay who cares how it was done.
It took some thinkering and i still need to improve it but the first result with Playmaker looks like this.
So basically i tell Playmaker to check the lever (GetLeverAngleOn). If the Lever is activated it moves to the next step DoorOpen. In DoorOpen i coud have played an animation or as i deceided to do it i used iTween to make the gate animations because they are fairly simple and iTween integrates nicely in playmaker.
After that it waits on (GetLeverAngleOff) and you guessed it, it is checking if the lever is turned the other way around and If so it jumps to DoorClose plays the closing animation and the whole thing starts all over again.
(Initialize -> GetLeverAngleOn -> DoorOpen -> GetLeverAngleOff -> DoorClose -> Initialize ->…)
Don’t know if this helps you getting started but i may write a bit more about it later when i have more time or you have specific questions.
Thank you very much @Skynet !
I will take a look at that ASAP! Its always good to have a start point especially with the VR integration - else I would have fiddeld around for ever and then notice that it doesnt work or hase to bee redone for the right tool to use it.
You are welcome!
Btw. one more quick tip for today which i learned the hard way bake as much lights as you can and try to avoid using dynamic lights whenever possible they are killing your performance like crazy especially in VR.
Oh and use forward rendering not deffered rendering. Deffered sounds like the way to go but with forward rendering you can use MSAA and get rid off most of those ugly jagged edges.
Sure you could use deffered and add it in post but that is expensive and with the crazy resolution the 5K+ and 8K will demand you want to safe as much performance as possible.
And if you have a look at the last video i uploaded showing the Hangar Elevator you will notice another problem. I tried to use a normal map to get some extra details in the ceiling of the Elevator section but normal maps and VR are not the best friends as it seems. So you may try to avoid them also. Maybe i am wrong on this one and someone can correct me but i haven’t had much luck with them yet.
Unity let`s you bake the scene and generate the lightmaps for you so use it. If you have bigger scenes to bake i can only recomment you to invest in this Asset Bakery
Bakery is a GPU lightmapper and my scene that took ~1hour30min. with the built in Unity CPU lightmapper now only takes around 5min. to finish baking with Bakery.
The difference is huge and keep in mind while you bake your system is basically locked up and you can’t do sh*t for 1hour30min.
Haven’t shown this before have i?
This is my very own real piece of the show Battlestar Galactica
After the show they dismantled the set and auctioned off some of the Props and they went for crazy prices but i was lucky to get me one. May i present you Specialist Tarn’s BDU from Season 2 “Scattered”.
Don’t ask i said i am a big fan
I remember reading that there are does and donts - especially the trick stuff (normal maps), which wont work in steroscopic. I didnt find the article I had in mind, but this paper gives some infos also.
“The technique known as “normal mapping” provides realistic lighting cues to convey depth and texture without adding to the vertex detail of a given 3D model. Although widely used widely in modern games, it is much less compelling when viewed in stereoscopic 3D. Because normal mapping does not account for binocular disparity or motion parallax, it produces an image akin to a flat texture painted onto the object model.”
Normal maps should be ok as long as the object is far enough away, and/or the detail they add isn’t too low in frequency and high in amplitude. (of course, if the object is not dynamically lit, we have no normal maps anyway. :7)
For closer up LODs, though, one may want to switch to, if not geometry, then at least parallax mapping, or maybe even tesselation with displacement maps.
There tends to spring up aliasing problems on highly specular and reflective objects with normal maps - especially when using deferred rendering, but I believe they are nothing antialiasing can help with, even when reverting to forward, so that one can use MSAA - they are a recursion level down, and I guess one have to deal with the problem by carefully balancing one’s mipmaps, etc, or suchlike.