Tuesday, September 21, 2010
Windows Phone 7 Training Kit
Cheers!
-arbbot
Wednesday, September 15, 2010
Unity3D Engine Safe on Apple’s new iOS 4.0
I have been working with Unity3D engine for about six months now, on a very fast and intense learning process to the point that I’m actually able to apply my interactive application development knowledge to Unity3D game development, which basically means reusable code, structured and easy to read and maintain scripts, loosely-couple game states and modules and most of all, the most fun I have had coding.
Apple, you made my day !!!!
Cheers!
-aB
One OS to rule them all
Cheers!
-aB
Sunday, September 12, 2010
Recommended Unity3D Learning Path
Here’s a quick guide on my recommended Unity3D learning path. The idea is to guide people willing to learn how to create, develop and deploy Unity3D games.
- First Things First: Learning the Unity3D Basics.
- Unity3D Engine: Show me some videos.
- Game Development: Step by step tutorials.
- Networking: What is Unity3D Networking about.
If you take your time and complete the tutorials linked about you will have all the basic knowledge you need to start creating games in Unity3D.
In my opinion, the Uni3D engine is one of the most easy to learn, intuitive and robust tool I have had the pleasure to work with in my 7+ years of experience in the software development industry.
If you are hungry for more, make sure to check the following resources:
- Unity3D User Manual
- Unity3D Reference Manual
- Unity3D Scripting Reference
- Unity3D Resources and Example Projects
- Unity3D Wiki
- M2H Examples and Tutorials
And make sure to get involved in the Unity3D Engine Community:
Hope this helps you to get started and have fun with game development.
Cheers!
-aB
Thursday, September 9, 2010
Rotating your Character in Unity3D
This method is one of the most common things you will need to do, specially if you are programming your NPCs. The code is my own version of many approaches I have seen on the tutorials and forums, and I believe is quite standard.
The reason I wanted to post it here is because I added a lot of comments and some official documentation. Hopefully if will help you to understand better the mechanics of movement in the 3D space, and as a plus is already in C#, which lacks some visibility in the tutorials and forum answers.
// Rotates the character (Y axis only) to face the given position void RotateTowards(Vector3 position) { // Get the direction between the given // position and the current character's position Vector3 direction = position - transform.position; // Get rid of the Y axis variations direction.y = 0.0f; // Check if the character's rotation is // already facing the given position. Include a little damping. if (direction.magnitude < 0.1f) { return; } // If not, it means we have to rotate the character // over its Y axis to face the given position // To rotate our character, we need to use a smooth transition // between the current rotation and the target rotation // Use Quaternion.Slerp() to smoothly rotate the character. // Transform.rotation: The rotation of the transform // in world space stored as a Quaternion. // Quaternion: Quaternions are used to represent rotations. // Quaternion: They are compact, don't suffer from gimbal // lock and can easily be interpolated. // Quaternion: Unity internally uses Quaternions to // represent all rotations. // Quaternion.Slerp: Interpolates rotation between // the rotations of from and to. // Quaternion.Slerp: Choose from and to not to be the // same as the object you attach this script to. // Quaternion.LookRotation: Creates a rotation that // looks along forward with the the head upwards along upwards // Quaternion.LookRotation: Logs an error if the forward // direction is zero // Also we will use the character's rotation speed // to ratate the character smoothly over time // We multiply the rotation speed by the Time.deltaTime // to make the rotation by seconds, and not by frames transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(direction), rotateSpeed * Time.deltaTime); // Now we need to get rid of the rotations on the X // and Z axis, because the character should only be able // to rotate over its Y axis. To do this we need to modify // the transform's Euler Angles // Transform.eulerAngles: The rotation as Euler angles in // degrees. // Transform.eulerAngles: The x, y, and z angles // represent a rotation z degrees around the z axis, // Transform.eulerAngles: x degrees around the x axis, // and y degrees around the y axis (in that order). // Transform.eulerAngles: Only use this variable to read // and set the angles to absolute values. // Transform.eulerAngles: Don't increment them, // as it will fail when the angle exceeds 360 degrees. // Transform.eulerAngles: Use Transform.Rotate instead transform.eulerAngles = new Vector3(0, transform.eulerAngles.y, 0); }Cheers!
-arbbot
Wednesday, September 8, 2010
Simple Prototype: HTML to/from Unity3D

Today I made a quick prototype about how you can make Unity3D communicate back and forth with a web page. I based the prototype on the Unity3D documentation about the topic.

Cheers!
- arbbot
Sunday, September 5, 2010
Music in My Tech World
Very quickly, I wanted to start combining all my activities which I share with my software professional career.
Along with software and game development, I have been always involved in art activities, from writing poetry and short tales, to miniature painting and music.
One of my current art projects is my music band, which is called “Tercer Mono” (Third Monkey in English). I’m the co-founder and bass player of this instrumental band. We play a mix of funky groovy bases with alternative rock riffs. Check out our band bio, videos, songs and events at:
YouTube Channel
Facebook Page
MySpace Page
Reverb Nation Profile
Twitter
Cheers!
-arbbot
Windows Phone 7 Jumpstart
Just wanted to share this very useful post from Mike Ormond’s with links to several Windows Phone 7 Jumpstart Training articles. Make sure to check them out !!!
Cheers!
-arbbot
What I have been doing?
-arbbot