Unity: I have been working on Unity to create an in-house game/walkthrough. The objective of the game is to be highly photo-realistic, interactive and swift in gameplay. Hence, the game demands detailed 3d models and textures. For interactivity, a gamepad controller and leap motion controller has also been used. Apart from this, another 3d interactive game was created using Oculus Rift. This was to showcase the medical animation. Oculus gave the feeling of the user to be in the human body and a 360 degree view helped a lot in understanding human organs.
I am also proud to say that we as a team have made a windows game/walkthrough that is of a very high detail with faked GI and runs smoothly despite of being 5.6gb in file size.
MAXScript: I have used MaxScript to write scripted tools and plugins for 3ds Max. Also, using my programming knowledge, have been able to write scripts and link to custom C# DLL’s to access programs like Excel and Open Office in 3ds Max. Using my mathematical skills, I have also developed object placement and alignment scripts using vector mathematics and trigonometry.
C#: I have been using DOTNET for developing UI for 3ds Max, Automating tasks for Photoshop and developing GDI+ applications using various libraries. Also, I have been researching on making plugins using C# for 3ds Max. Apart from 3ds max, C# also has been used in scripting for Unity3d. Using C#, recent technologies like Oculus Rift and Leap motion controller have also been integrated into Unity3d games.
C/Objective-C: I had gotten a chance to work on a research project when the new Estimotes had arrived. The Objective was to make a Flash Application that used the Estimotes iOS SDK for iOS devices. For this, I had to program in C and Objective-C to make Air Native Extension, to be used with Adobe AIR sdk 3. This was a great learning experience as all the programming was done at a very low level. Apart from just working on xcode, I did also get chance to work on flash builder and make iOS application that used Esitmotes. This experience then helped me learn more about mobile application eg. Using the core Bluetooth, core location and various other libraries, and using xibs etc.
Shader Programming: Recently, after starting with Unity development, we realised the need for creating custom shaders to get various visual effects. So I started making shaders for unity. The learning curve for shader programming was quite steep, as it involved learning of the graphics pipeline and various shader concepts and gpu concepts. Some examples are:
1) Rotating cubemap texture in reflection maps to a custom rotation.
2) Manipulating transparency and reflections.