Blog Archive

Showing posts with label Technical. Show all posts
Showing posts with label Technical. Show all posts

Wednesday, 26 November 2014

Razer Hydra: Interaction Part 1

Finally I got the Razer Hydra controller and started to work on the interaction of my game. First challenge was to implement the controller in the Unity engine. Fortunately the creators of this controller already dealt with this problem by releasing a special asset in Unity Store. Using it I was already able to have some primitive interaction. The problem was that the interaction provided by Razer was not ideally fitting my game so I had to rewrite the scripts.

I started to write a simple script for player movement. At the end I`ve got the possibility to walk and rotate my model using the sticks of the Razer Hydra. Beside it the player is able to crouch and jump. During this scripting process I`ve got all the specific knowledge I need to work with Razer Hydra so the next processes went quite unproblematic.

The next step was the hand tracking. I changed the scripts of Razer Hydra to make the control other the motion tracking easier for me. I changed the model of the hands and made a new animations for it. As the result my virtual model is controlled fully by Razer Hydra. My virtual hands repeat the movements of my real hands. I can walk in the virtual spaces but I can not interact with the object around me. That was my next step.

Interacting with the virtual objects is not easy. There are different ways to produce this interaction. The easiest one is to check the collision with the interactive objects and add on collision action to stick the object to the hand. The object could become the child of the hand model or it could just take the position and rotation of it. I took the second direction. Beside it I decided to check the collision by ray-casting a sphere from the hands.  This method is more precise than just checking the collision of the object colliders. First test showed that this method works quite well. I am able to take the specific game object in my virtual hands and hold them as I do in the real life.

Next step was to make the possibility to throw this object. In my way to do it I had to add the riggidbody physique to the interactive game object with the gravity flag enabled. I also had to calculate the force of throwing. I do it by checking the direction in which the hand moved just before releasing the object. This check is a bit more complex than you could imagine because the check is done in all three dimensional axis. Beside it I calculate the speed of this motion to add a dynamic force to an object. It means that as hard you throw the object as faster is will move in the throw direction. Also the speed is affected by the object weight. So the throwing itself is a complex calculation of different things and already an interesting interaction with the game objects.

Now when the interaction with non static objects are done and I could use this interaction to move the object, to explore them or just to throw them away,  I can go to the next step: Interaction with the non static object. You can read about it in the next chapter of my "Intraction Guide".

As for now I leave here a video with some of the interactions that I described in this text.



Friday, 24 October 2014

Razer Hydra in his way home



I finally found a Razer Hydra. Bought it on Ebay and it should be shipped in one week, so I finally will be able to continue my development process. 

Tuesday, 1 April 2014

Technics: Controller Review

Since Sixense are not developing Hydra Razor controller I had to find an alternative and it was not so hard. This july Razor will publish STEM controller descendant of Hydra. New controllers means more ability. I really hope so.


The STEM System is a wireless, modular motion tracking platform for video games, virtual reality (VR), and more. It enables players to interact naturally and intuitively with games by tracking full position and orientation at all times, whether at the desktop or throughout the entire living room.


Sunday, 30 March 2014

Technics: Controllers

I had a lot of thoughts about how new technologies could improve the gameplay of the graphic adventure games. In last two weeks there a lot of talking about virtual reality headset controllers. Is it the future of the game industry? Facebook bought Oculus Rift VR for more than 2 billion dollars and Sony finally announced their own alternative Project Morpheus. So my answer is YES, it is so.  

The Rift uses custom tracking technology to provide ultra-low latency 360° head tracking, allowing you to seamlessly look around the virtual world just as you would in real life. Every subtle movement of your head is tracked in real time creating a natural and intuitive experience.

Of course such controllers couldn’t work all by themselves it should be combination of two controllers too get it work. In Sony case it could be Playstation Move in PC cases there is a huge variation but the one I chosen is Razor Hydra controller.


Using magnetic motion sensing, the best available technology of its kind, the Razer Hydra’s compact base station can compute the exact location and orientation of controllers in your hands, down to a millimeter and degree. Combined with Razer-grade ultra-low latency, you get a fluid and unhindered experience that’s accurate and precise, like a mirror reflection of you in the game world.

Tuesday, 25 March 2014

Technics: Texturing

One another important element of the game design if of course the texturing process. Here you can find a lot of different utilities that makes the artist life easier. The first one I want to notice is xNormal. xNormal is a program which helps generate normal, ambient occlusion, displacement maps, whatever you want map. It can also project the texture of the highpoly model into the lowpoly mesh . What else should be noticed is that this magic tool is totally free and can be downloaded on the developers website

(Map created with help of xNormal)

The next one to be notice is a Quixel Suite. It combines 4 company products and could be bought only for 49$ (academic price of course) and it's totally worth it. Ndo provides you with normal map creation tool. You don't need to spend hours creating 3d details to project than them on low poly model. This tool is perfect for this. Ddo is a tool for creating of the Specular, glossy and other useful maps with just two mouse clicks. 3do integrates a real-time previewer in your Photoshop. And the last one is a collection of incredible maps.

(Normal Map created with Ndo tool)

Technics: 3D

There are a lot of different 3D computer graphics programs I used during my studies and almost each of them had their positive and negative aspects (some are better for animating things others make modeling part easier) but the two I personally adore are both Autodesk products Maya and 3ds Max. Of course they are not so cheap as for a student but thanks god Autodesk have a student support program which means that both of them you can download and use for free during your studies. 

As for Lazarus Effect Project I chosen 3ds Max. It provides a comprehensive 3D modeling, animation, rendering, and compositing solution for game. A lot of futures could be bake and exported in Unrile Engine; Unity 3D or whatever game engine you use. 

(my perspective view of the game level from 3ds max) 

As for the engine I use Unity. I find it interesting that this engine can work with almost every platform presented on the market. It's real friendly too its user and of course it’s cheap. In this moment I am working with free version of Unity but in the close future I will buy a PRO license to have a possibility of using external libraries of Oculus Rift controller. And at the end it's worth it.

(same perspective from Unity