360° Stereoscopic VR Videos with Unity 3D


I
n 2016, 21st-century virtual reality really arrived. From cheap mobile experiences to exuberant desktop machines, if you wanted to dive into a virtual world, there was a way. These are some of the headsets which opened up possibilities. whatsapp-image-2017-01-04-at-1-12-06-am

The Oculus DK2, Samsung Gear VR and Google cardboard (in the picture above) and later, HTC Vive, PlayStation VR(Project Morpheus), Oculus CV1 and many other VR headsets also got arrived in the consumer market.

Google Cardboardgoogle-cardboard.jpg
The Cardboard is a platform that was developed by Google for use with a android smartphone. To work, you just start your video (or whatever VR thing it is you want to view), pop your phone into the Cardboard, hold the device up to your face, and you are in the immersive VR mode.

After initially supporting only Android, Google announced iOS support for the Unity plugin in May 2015 at the Google I/O 2015 conference. In March 2016, Google released VR View, an expansion of the Cardboard SDK allowing developers to embed 360-degree VR content on a web page or in a mobile app, across desktop, Android, and iOS.

Google provides three SDK’s for developing Cardboard applications: one for the Android  using Java, one for the game engine Unity using C#, and one for the iOS.

For latest updates on Google SDK :Google SDK Information

Samsung Gear VR
samsunggearvr.cms.jpg

The Gear VR is a mobile virtual reality headset developed by Samsung Electronics, in collaboration with Oculus, and manufactured by Samsung. The headset was released on 27 November 2015. Compatible devices are  S7, S7 edge, Note5, S6 edge+, S6, S6 edge. The development is only possible for Android platform using unity 3d and epic games unreal engine. Gear VR headset is to dive into a world of 360° experiences.

Gear VR is the most usable virtual reality headset I’ve ever tried, and the first to market after several years of hype. It’s the closest anyone’s come to making virtual reality into a palatable consumer experience.

You can order your Gear VR here: Buy Samsung Gear VR

whatsapp-image-2017-01-04-at-1-06-15-am

360° VR Video Publishing Platforms :
Over this past year we’ve seen the emergence of many 360 video publishing platforms where 360 video content is being hosted. popular ones are as follows:

  • Netflix
  • Facebook 360 Video
  • YouTube 360
  • Twitch
  • Littlstar

360 VR Video Player on PC or Mac for development or testing? You must download this free player GoPro VR Playergopro-ss

Before we start the development, its important to understand Stereoscopic and Monoscopic 360° Video for VR

Stereo vs Mono 360° Video for VR

What is the Difference?

A standard 360 video is just a flat equirectangular video displayed on a sphere. Think of it like the face of a world map on a globe, but with VR your head is on the inside of the globe looking at the inner surface. As you move, the head tracking on your device moves with you, giving you that feeling like you are inside the scene.

Stereoscopic 3D can add another level of immersion by adding depth data between the foreground and background. Your favorite 3D blockbuster films are typically shot with 2 lenses side by side, to give you a feeling of a different vantage point per eye. Like any production, this can look strange if poorly implemented, or absolutely amazing if done right.

Having said that, with stereoscopic 3D in VR, that depth information has to be overlaid and mapped to sphere. Because of parallax between cameras, this can be especially challenging. Any minor flaws or “stitch seams” in the footage are magnified in 3D, and sometimes anomalies occur in different places per eye – which makes it uncomfortable to watch.

 A lot of viewers gets confused about the difference of true 3D stereoscopic and monoscopic footage. Often times they’re fooled into thinking they’re looking at a 3D video. In a way, it is 3D because it’s projected on to a sphere, but it has no depth information between background and foreground. But after hundreds of tests and demos, I don’t think the general public even cares.

_______________________________________________________________

Now, Lets get started and dive in the development of 360 VR Videos.
In this post we will look at the following:

  •  monoscopic 360° VR Video Integration for Cardboard & Gear VR.
  • stereoscopic(Left-Right) 360° VR Video Integration for Cardboard & Gear VR.
  • stereoscopic(Top-Bottom) 360° VR Video Integration for Cardboard & Gear VR.
  • Flat 2D video on smartphone (full screen).

________________________________________________________________

***Remember, the checklist needed for us in order to develop google cardboard or Gear VR applications:

  1. Google cardboard SDK
  2. Oculus Utilities SDK
  3. Video Player.
  4. high-quality mesh sphere.
  5. Movie Shader
  6. 360 Video (mono or stereo)
  7. Radial Slider for Unity UI (download progress – Optional)

________________________________________________________________

Google VR SDK Download : Google SDK for UnityGoogle VR SDK Download SS.png

Or you  can also browse their git fork and samples here: Google Unity SDK Github Repository
gvr-github-ss

Import the sdk package in Unity:Google SDK Import SS.png

You may find Errors while importing: Please resolve as follows:Google SDK Errors.jpg

Also, Make sure to import the Google Backwards Compatibility package in the Assets folder:
GVR Backwards Compatibility Message SS.png

__________________________________________________________________

Please Note: Follow this section only if you’re developing for gear VR or Oculus platform. (Skip this section if you’re developing for only google cardboard)

Oculus SDK Download : Oculus Downloads or you can straightway download their oculus utilities package for unity : Download Oculus Utilities for unity 5Oculus-SDK-Utlities SS.png

Import the Oculus utilities package in the project if you’re building it for Gear VR or Oculus Rift platform.
:OVR-SDK-Import SS.png

_________________________________________________________________

Video Player in Unity
With Unity 5.6 beta version, good news is that a high quality video player will be integrated in the engine itself which will support mobile and desktop both the platforms. However, the Unity 5.6 version it is still in the development phase and a stable version will be released in March 2017. For more information : Unity RoadMap (Currently there is a Media Player Class which only supports PC and Mac).

Video Player available on unity Asset store:
Easy Movie Texture by JaeYunLee for $65easy-movie-texture-ss

AV Pro Video Player by Renderheads for $450av-pro-ss

If you are targeting multiple platforms and highest quality possible then , AV Pro Video Player is a must. You can also download their free trial version here : AV Pro Trial Versionav-pro-trial-version-ss

_________________________________________________________________

High-Quality 3D Mesh Sphere
You must use a high quality 3d mesh sphere to play the 360 videos on it. The default unity sphere has less polygons and will cut out certain portion of the video from the bottom of the model: hence a high quality model is definitely required.Do Remember to rotate the transform values to -90 in X direction of the model in the unity scene. Download link: High Quality Sphere 3d modelHigh Poly Spehere SS.jpg

__________________________________________________________________

Movie Shader
You can use an optimized custom shader written by me to wrap the sphere mesh normal’s inwards. With this shader you must use a black (4096*4096) Texture. You can download it here: Movie Shader Link
MovieShader SS.jpg

____________________________________________________________

360 Monoscopic Video
You can download a sample 360 Monoscopic video of 30MB and 4k resolution from YouTube link : Sample 360 Monoscopic Youtube Video or if you’re unable to download you can download from here which is saved on my drive:360 Monoscopic Interior Demo Video(this video is a copyright of Applicata Studio)360 Mono SS.jpg

360 Stereoscopic Video (Top-Bottom)
You may download a sample 360 stereoscopic video for testing from You Tube . here is what i have used: https://www.youtube.com/watch?v=tfoNzYTFXi0. (the copy right of the video solely belongs to the link owners).360 Stereo TB SS.jpg

_____________________________________________________________

Radial Slider Bar for Unity UI (Optional)
If you stream from any video link, you must show a menu radial slider bar which shows the progress of the download, as it will take some time to play: Here is the link of the Radial Slider package developed by “mgear” unity user:Radial Slider by mgear with values and lerp feature

______________________________________________________________

Once, we have downloaded and imported the requisite assets, lets start with the development in Unity.

360 Monoscopic VR Video Development for Google Cardboard
1> Create an empty scene and delete the existing Main Camera and Directional Light.
2> Drag and Drop the high poly sphere in the scene. Keep the Transform as below:
Transform values of sphere.jpg
3> Create a new material and apply the Unlit/Movie Shader to it. In the texture you can use dummy black texture already provided.Mono Material Info.jpg4> Drag and Drop GvrViewerMain and GvrControllerMain prefabs from “Assets\GoogleVR\Prefabs” directory in the project.
5>
Go to ‘Assets\GoogleVR\Demos\Scenes\GVRDemo’ and copy the Player object from the scene and paste that object in your scene that your working. I named it “360 Mono”.
6>
Create a new Object and name it Video Manager and attach the “MediaPlayerCtrl” script to that object. In Str File Name variable of MediaPlayerCtrl script, you must enter the name of your video which you have downloaded and must be kept in Streaming Assets Folder. (Make sure to add “.mp4” or the extension of your video may be “.mov”) at the end of the file. Look at the below reference:MediaPlayerCntrlReference.jpg

7> Check your Google Cardboard Hierarchy Scene View:

GVR Scene Overview.jpg
Unity Scene Objects Reference

8> Once your scene has everything stated above, click Play and you will be able to get split screen and the video playing screenshots below:

360 Mono GVR SS.jpg
Google Cardboard 360 Mono Scene in Play Mode
360 Mono GVR 2 SS.jpg
Google Cardboard 360 Mono Scene View in Play mode

9> (Optional) Now, if you wish to stream the video through your private server or google drive link or Dropbox link. You can stream & play with the link. :”https://dl.dropboxusercontent.com/s/0nevaxaxllcdhvp/Interior%20360%20Mono%20Demo.mp4″.
However, if you upload your own video, just be sure to replace in Scene link in the MediaPlayerCtrl script. Change : “https://dl.dropboxusercontent.com” with “https://dl.dropboxusercontent.com” and remove the end part: “?dl=0”.

GVR Streaming 360 video Mono 2 SS.jpg
Live streaming using a link

Note: For monoscopic 360 video there is no need for different LR or TB Materials. However for 3D Stereoscopic as explained we will need to create Left and Right or Top and Bottom materials with their offsets and tiling values as below.

Note: With Google Cardboard apk build please ensure that Virtual Reality is not enabled in the build settings.

This ends with the monoscopic 360 VR Video development.
__________________________________________________________________

360 Stereoscopic VR Video Development for Google Cardboard
With stereoscopic video, you need to store two images for each frame (one for the left eye and one for the right eye) Though modifying the code to support side-by-side (SBS) stereo is straightforward once you understand how it works.


1> Because we have two eyes, we need to have two identical spheres in the scene for (for playing L/R or T/B videos) instead of just one. The left eye image will be on one sphere, the right eye image will be on the other.

2> Unity materials have “tiling” and “offset” fields. The “tiling” field says how many times the texture should be repeated in the corresponding direction (X or Y) across the surface of the object.
Create two Materials for L/R or T/B Video to play. If  you have one video with T/B layout, The Reference, as follows:

TB_material.jpg

lr_material

3> You must create two layers for L/R or T/B respectively for Camera culling. For both type of LR and TD videos i have created 4 layers.

unity-layers-ss
Tags and Layers Unity

 

 

 

 

 

 

 

 

 

4> Create 2 Cameras and set their Camera rendering culling mask for Left Eye View and Right Eye View for Top and Bottom tags as shown. If  you have Left and Right videos then tags and apply it accordingly.

Top_Bottom-CameraCulling.jpg

5> After creating Left and Right Materials. Apply the materials to their Left and Right 3d sphere objects. This material will ensure that your rendering is on that object as per the tiling and offsets values set in the material.

Oculus Left-Right Object.jpg

6> After applying Left and Right Materials. Apply the Tags of Layers to to their Left and Right 3d sphere objects. This layers will ensure that your rendering is on that object from camera in the culling mask.

LayerSet.jpg

7> MediaCtrlPlayer should be provided with 2 target objects to play the respective videos as shown in the inspector.MEDIA PLAYER OBJECT SS.jpg

8> Play in the scene and you should be able to get a 3d depth and stereoscopic View.LEFT RIGHT SS.pngA preview of 360 Stereoscopic VR Video in Play mode

Note: With Google Cardboard apk build please ensure that Virtual Reality is not enabled in the build settings.

This ends with the stereoscopic 360 VR Video development.
_________________________________________________________________

360 Monoscopic and Stereoscopic Video Development for Gear VR:

For Gear VR development the scene objects remains the same, except the Camera prefab.

360 Monoscopic for Gear VR
1> Delete GvrViewerMain and GvrControllerMain prefabs and drag and drop “OVRCameraRig” from “Assets\OVR\Prefabs” directory in the project.Rest everything remains the same. Look at the reference below:

If you’re using Gear VR Oculus Utilities SDK , then here is how your scene should ideally look like:
oculus-360-mono-ss

360 Stereoscopic for Gear VR
1> Create two spheres for the stereoscopic video and remember to scale the sphere objects as per your camera FOV. Reference below:

OCULUS TOP BOTTOM SS.png
360 Sphere mesh Object Scaling

2> Just duplicate the MainCamera in OVRCameraRig prefab and mark it left and right eye camera. Also do change their culling mask and target eye options as shown below.

LR-EYE_Camera.jpg
Stereoscopic Camera Layouts for Oculus Gear VR

3> MediaCtrlPlayer should be provided with 2 target objects to play the respective videos as shown in the inspector.MEDIA PLAYER OBJECT SS.jpg

4> Play in the scene and you should be able to get a 3d depth and stereoscopic View for Gear VR.OCULUS TOP BOTTOM SS.pngStereoscopic 360 VR Video playing in the scene

 Note: Make Sure to enable the Virtual Reality in Build Setting:
OCULUS BUILD SETTING SS.png

This ends the development of 360 Mono and Stereo for Gear VR using Unity 3D.
__________________________________________________________________

Tips
1> Keep the quality of the content and video 4k  resolution otherwise you then start noticing the pixels of the display, the pressure of the headset on your face, the growing motion sickness and the chance to lose yourself in virtual reality disappears.
2> If Android and iOS both the platforms, you wish to develop, then you must start with android, first develop and test it completely. Once completed the development then just simply port it for iOS.
3>  Your google cardboard needs to configured with your phone. hence you will need to scan the QR code with your phone. If you do not configure your 360 video will have a cutout for left and right eye while playing in the cardboard. for more information: Cardboard QR codes
4> Gear VR requires the app open in the headset, hence you will need to insert it every time and play. if you want to escape that and save your development time, you can go to developer settings and disable Gear VR service. now it will allow you to open the apps even without the headset.

Thank you for reading out this post. Hope this helps to those who are looking forward for virtual Reality development using unity3d.

Next week, i will be sharing a expertise notes and in depth information for 3D modelling team. The coming post will be crucial for developers and design team and serve as a in depth information to design and develop 3d assets. stay tuned 🙂

P.S For any queries or clarification feel free to post a comment. I will be happy to answer.

P.P.S This post is dedicated to a fellow developer and a good friend, Nidhi Ajwani. Happy Coding! 🙂

Advertisements

Tutorial on Database Management in Unity 3D version 5 using SQLlite

Hi Folks,

Most of us are aware that any software development project have “data” as its blood, without relying on data we cannot build softwares or applications.

Unity being primarily a game development engine, we can do various other development on technology like Virtual Reality Applications, Augmented Reality Apps, 3D supporting view apps, Educational Apps, Health realted device apps, military training real time softwares, Virtual Devices Applications, and ofcourse Games on all platforms.

Building application require database support, such as static and non static(realtime) data. We all know that player scores, game level progress saving functionality, data streaming through Web-GL or Unity WebPlayer, The data such as (integer, string, boolean) we can save in Unity using its PlayerPrefs Class. However, if we want to serialize data over web, we can use json, xml, etc. Hence, the data which is stored in the app can be saved using its PlayerPrefs class or json,xml.

Let us consider that if the data is large and gives the user the right to show(select), edit(alter) and delete and update records commands like we do in our mobile applications and web applications then what technology of database support we rely on Unity engine platform for our application?. The data which have large and huge data like mysql and microsoft.db. Unity does not support execution of mysql and microsoft.db connectivity (inbuilt) yet.

Hence, after a thorough research and developing application for a project (car Simulator System) I have worked on recently, I would like to share my experience and tips for the fellow game developers. A good news is that i realised that if we want to build mobile application which thoroughly relies on stored data in the application and gives features as alter, update, show and delete for a large record having complex relations in the database. So, in order to build data related applications, Unity can also be an option, so its no longer only for game development but for almost all platforms and technology. Unity 3D gives a platform for development for almost all technology related applications.

I remember, during college third semester subject as Android Mobile Development, we(my team mate Manas Mehta) developed “Programmers IQ” application for the subject. We developed adroid apk using android native ADT tool in Eclipse.We got the second highest(2nd Rank) for the project in our semester for the subject. We promised 0ur teaching faculty(Miss Gayatri Venugopal) to publish it in the market after our course and ofcourse removing few bugs as she liked the design and its concept for education. But my dream was to be a game programmer and not native android developer. So I never worked too hard that time but now it made me realise that we can create mobile applications which rely on database and develop using SQLlite technology using Unity. So I will fullfill my promise and publish by 20th December 2015.

In order to manage large data and complex queries to show data which depends on relational database, operators, Clauses, order and group of data stored in various tables of database, we can certainly use SQLlite plugin in Unity and perform all the operations as supported for other native applications for android, Ios, windows and web technology.

SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is one of the fastest-growing database engines. The source code for SQLite is in the public domain. You can learn SQLlite from SQLLite Tutorial 

Please Note: In order to do complex exectution of slq queries in the database, one should have the knowledge of RDBMS and mysql query commands.

Following is the step by step easy tutorial for database integration using SqlLite in our application on Unity3D Engine framework.

  1. Download Sqllite browser management tool. For eg: search SQLlite Manager tool for mozilla firefox, google chrome. etc. This tool is the best tool which you can do all operations on a database using its UI and hence we do not need to depend on writing sql commands to execute our queries. We can create database, table. add,modify, delete and update records. and run queries in the tool itself to test the results. Great part is its a visual tool to show you everything related to your database opening in your browser itself, easy to adopt and develop apps.
  2. Download the required plugins for SQLlite to be added to our Unity Project. Please note that you need to download the 32bit and 64bit plugin as required by your system configuration respectively. Below are the links: SQLLite 32bit plugin and SQLlite 64bit plugin
  3. Integrate SQLite for the Unity project.
    1. Create a Unity 3D project and create a new folder “Plugins”.
    2. Copy and paste all the files in SQLlite32bit or SQLlite64bit respectively zip linked in the Plugins folder.

http://pastebin.com/kcjdUZnw

Game Development Life Cycle

Game Development Life Cycle

GDLC is a process similar to Software Development Life Cycle, which is used by game development team to design, develop, test and build AAA quality games. The GDLC aims to build a high quality game that meets the design and concept for customer satisfaction, reaches completion within times and cost estimates. It also focuses on the streamlined process to develop games on all the platforms available today including VR (Virtual Reality).

Sadly, GDLC does not have any international standards (IEEE) recognised for game development life cycle as software engineering principles. However, the core concept remains the same as of Software development.

A universal GDLC must consists of the following stages:

  1. Idea or a Concept of the Game.(Game Concept, Story, Environment Visuals , etc.) – GCD
  2. Game Design Phase and Requirement Analysis. – GDD
  3. Game technical Requirement Analysis or Game Architecture – TDD
  4. Game Development on Design and Art Assets – included in GDD
  5. Code and Integration and Development – included in TDD
  6. Testing the product & Deployment. Test Cases and Test Plans Document.

Is Game Development is equal (means) to Software Development??
Short Answer: NO.
Long Answer: Software Development always require a need for an existing problem and developed for its solution. Need to develop a product to solve certain problems is the core concept of SDLC. Software Development mostly involves concept which provides technical solution for any existing problems by building a product. Whereas, Game Development is mostly for entertainment to engage people to have fun and spend good time. Reduce boredom and surely have entertainment experience. Hence game development concept idea will require innovation or a story to attract interest among the people. Hence, talented and innovative game designers are in demand for all over the globe in the gaming studious.

Is Game development a simple standard universal methodology to develop or build games?
The game development process is a highly complex process and will always require a team to build the product. The project includes game producers, game directors, game technical team, game designers, game artwork team, game quality team, game programming team, game testing team and game marketing (Post-Production) team.

The reason for me to write is to provide you an international standard process of game development process which includes all the various methodology a game development team can choose is included in this case study/article.

GAME DEVELOPMENT LIFE CYCLE

The GDLC is also based on different models as to build the product. However, there is no standard methodology to be adopted. The most popular is a process which is iterative and incremental process as builds are published in the market and updates being released to provide more features and improvements to its product. The product is been designed and developed and keep adding levels and add multiplayer or more integrated features to be added to the game. This methodology is called Agile Model or technology.

Game Development consists Software engineering principles to develop the project which is after all, a software for the consoles. Software engineering principles are to be considered in the Game Techiniocal Deisn document.

Idea Stage:
In idea stage, it’s the prototype of the Game Concept documents for better understanding of requirements at each stage of development in the game.

Most Indie game developers adopts the design and development process. Which means, the core game concept and story integrating in the game and the interaction (visual, audio and input) in the game is done in the Game Concept document?

The game concept and story has to be has to developed and finalised as a software architecture. It should include the visual appeal and input to the user interaction. The level and story structure with its outcome has to be documented. The story board from the artist team will provide a visual appeal and better understanding of the game. Any game which does not have a story and the entertainment which it provides of losing or winning is incomplete.

The game concept document should also include how the player will begin and follow its story and winning or losing elements in the game. The character features and its story evolving its design. The powerups, level design, winning elements, losing elements, game progress features and interaction of all chracters static/nonstatic(moveable) with the player has to be documented.

Lastly, a game concept document should make sure that it provided an entertainment to the user which will engage the user to have fun, learn and spend good time.

Idea stage is the most important stage in GDLC as any game developed is based on its idea and its story. No game can succeed or be developed without an concreate idea for a game.

Game Design Phase and Requirement Analysis

Game Design is a phase where the game designers write the Game Design Document. Game Designers integrate the story and the characters, environments, the level design, its difficulty to win and to play, incorporating winning and losing conditions in the game, the visual artwork concepts,(To be continued further.)

I will keep updating asap.(Please note this is a small draft published and not edited and reviewed. After completion, attaching reuiqred images and in par with IEEE standards, I will post a message to all developers to have a look.)

Keep developing.Have Fun 🙂
Cheers!!

F1 Racing

Hello,

I am uploading the screenshots of my most ambitious developed game so far. The F1 racing available on android released on Jun 28, 2015.

You can also check out its video: “https://www.youtube.com/watch?v=sfwxjlXK60c”.

The F1 racing game have the most advanced techniques of building a unity 3d game.

Download link:
https://play.google.com/store/apps/details?id=com.morpheusstudios.f1racing
http://m.downloadatoz.com/apps/com.morpheusstudios.f1racing,1435630.html

Please check out the screenshots

.IMG_1 IMG_2 IMG_3 IMG_4 IMG_5 IMG_6 IMG_7 IMG_684

2d and 3d Motorbike game tutorial

Image1

This post is dedicated to all the game developers who wants to learn programming games like Bike Baron, Trials Frontier, Trial Extreme, Bike Race, Bike Racing, Bike Rivals, Extreme Bike Stunts, Mad Skills Motorbike, etc. this all games have about more than 1 million download and few have more than 10 million download.Indeed, motorbike stunts game have a huge popularity all over the world.

After researching, I realized that similar game physics are released with different visual and game design are released in the market since a decade but the core mechanics of all the game remains the same. So you can develop the core module once and publish several different design games. the best and most popular example is “Trail Extreme series” which have released 4 games in the market  in the last 3 years with different designs and all have above a million download.

So i started my development process to design a core module which will support motorbike movement physics,  rag doll character behavior and a very robust module in which you can create similar games i mentioned in the beginning. This work was completed in a month precisely.

before we proceed let me give you a short step by step procedure to develop this project.

1> For 2d and 3d game development, I have chosen Unity3D as the game engine.

2> You can download the required materials and models from Turbo Squid. these models are available for free. You will need a motorbike and a character. remember these model should support rag doll behavior and motorbike where components can be separated. I have attached a image for a reference and a link at the bottom where you can download these models.

Image2

3> We will need to create a new scene in unity and construct a terrain for a mountainous road so that the player can test its front and backward movement and control its physics balance. creating terrain is a very easy process. there are many tutorials available on YouTube.

4>So now after you have a rocky mountainous terrain, the motorbike and the character with its materials. You will need to drag those in the scene and add collider to the game object models for a motorbike and the character. I have attached a hierarchy which you will need to maintain for a very robust physics rag doll behavior. please add a character joint for the hips, shoulders, back, legs, arms, hand. etc and capsule collider wherever you have a joint. Please note you will need a sphere collider for the front and rear tires. remember, you will need to add a hinge joint for the rear fork for its shock up tires movement and you can add a configurable joint component for the front fork.Image3

5>You will need to add the script which you can download it from http://pastebin.com/wmXSEfHY and put that in the main game object or parent game object of all those components. Remember, to have body and player and all the character movement objects as a child of this game object. You will need to attach a body trigger script for the ragdoll movement and conditions. Please do attach a rigibody and a box collider component for the main body of the bike. I have attached the script in the following link: http://pastebin.com/s9qT0iY6

6>After you have added the collider components for various gameobjects and its script. you can add a simple follow camera script and buttons as its input. remember the tedious work is only arranging the components for its behaviour and its values.

7>Remember, you will need to apply the player movements with the bike.So i request you to first follow few tutorials to understand as how a ragdoll behavior works and also the physics and movement of a motorbike control. I have attached several screenshots for you as a reference of the hierarchy of the game objects.

If you face any issue or have any questions please do write it in the comments section and i will answer it within 24 hours.

Motorcycle model is downloaded from: http://www.turbosquid.com/3d-models/3d-motorcycle-games/349482

Using male character pack from Mixamo: https://www.assetstore.unity3d.com/#/content/124

P.S: For project similar to motorbike you will need an expertise on unity game engine, any programming language like C# or javascript. Knowledge of the colliders such as box, capsule, hinge joint, configurable joint. Adding empty game objects and positioning it in the character. remember, I have attached both the scripts which are sufficient as a core module for a motorbike stunts game. This script works for both the 2d and 3d motorbike game.

Once you have mastered the core mechanics, you should be able to develop games like Bike Baron and Trials Frontier. hope to see your game on the market. All the very best. Thank you 🙂

Tutorial: Setting-up game development Environment

How to set up game development environment for native and non-native(game engine installation) environment. Every game developer goes through the tedious process of setting up their development environment. So let’s look at some of the tools necessary to set up our game development environment.

Development of Mac or Unix(Linux) or on Windows. The process of installation differs but the tools remains the same.

The Process below is the installation of the tools on Windows environment.

1> Please keep your OS updated with the windows updates.

2> Install Visual Studio 2013 or 2015. Installation of VS2013. Please do remember to tick mobile VS as well to build windows phone builds on Unreal , Unity or Cocos2D.

3> Download and extract the latest android-sdk bundle. Extract possibly in your Main Windows drive installed and give an environment variable path. The Variable name: “ANDROID_SDK_ROOT” and variable path is where you have installed your android sdk. for eg: “C:\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk”

4> Download and install Unity which is a very simple process.

5> Download and install Unreal Engine. A launcher will be downloaded and a path for further engine download will be required to confirm. once confirmed install Unreal Engine from its IDK.

6> Download and install python.(this is required for installation of cocos2d set.py file) and also required for scripting in for any other IDK.

6> Download and Install or extract Cocos2D and also Cocos2D IDE.Set up their environment label of cocos 2d is also very important for the project to execute on command line. Environment variables which are a) “ANT_ROOT”,  b) “COCOS_CONSOLE_ROOT”, c) “COCOS_TEMPLATES_ROOT” and d) NDK_ROOT

7> Download and install Java jdk version 7 or above. Also add an environment variable as “JAVA_HOME”

8>Download and install any editor like notepad++.

9> Setting up your environment variables is very important to execute and build your game.