PC Nerding

Unity3D Scene Chase Cam

Chase Cam Screen

A little useless intro:

Today i had this problem: i wanted to visaully see how an AI was playing while I was moving my player object on game screen. The best solution i thought of is using an editor script to make a scene cam follow my AI object. A made a little google search, wich didn’t give me any kind of answer. Then i decided to write this script by myself.

Where this post should really start

Hi all! I just made this neat C# editor script for Unity3D, wich adds a function to “chase” objects whitin your editor’s scene views. It can be used to follow an object while you play, showing in separate windows and/or with a separate angles what is happening around. Or it could be used to let your testers play the game on one monitor, while you look over all your methodically placed debug lines and texts on a second one. Just use your imagination.
It will update ALL your scene views, for example if you want to simultaneously look at an object front, lateral and top views you can create more scene views within your editor and let the script do its magic.

How to use:
You can open a Chase Cam toolbox by clicking Window>Chase Cam in your editor menu. As you can see in the screen, there are two toggles an object selection box, I think their usage is intuitive. If not, see script’s header for more detailed instructions or just play around with the buttons. Please note the script will not run if the game isn’t running.

The script is release under GNU GPL v2 license Modified BSD License (switched after this discussion on reddit), feel free to modify/improve it and if you want drop a comment here or mail me showing me your modifications I will be happy.

Download link:
Unity3D Scene Chase Cam (1634 downloads)

PC Nerding

Git and Unity3D

2012/08/11 Update: This post assumes you are able to set up and configure correctly a Virtual Machine. I strongly reccomend to follow my newer tutorial on the subject, Git, Unity3D and Dropbox, which is simpler.

This is not intended to be a tutorial for the masses, but it’s a list of things i did to set up a new Unity3D project and it’s relative Git repository. I made it for myself reading a bunch of other people’s tutorials, i don’t expect others understanding this. It also requires a bit of previous knowledge using linux shell, ssh and git.

Starting off, here are the tools you will need:
-I’m using Windows Vista Ultimate, so consider the first part Windows only.
Git. I suggest installing Git from the official installer wich adds Git commands in your context (=right click) menu.

First, create a new empty folder, in this example i will use:
Where USER is your Windows username. You can use any path you want, just remember where it is located.

Start Unity3D and then make a new project inside the folder we previously created.
Go to Project-Settings>Editor and under Version Control>Mode selects Meta Files.
Save an empty scene or import your assets and then close Unity3D.

Get back to your project folder and add a .gitignore file with this list (obviously stolen from another tutorial linked here, hope the original author doesn’t sue me 🙂 ).


#Project/User Preference Files

#OS Junk

Right click inside your folder window and select Git Init Here. After that, right click a second time and click Git Bash, this will show you a terminal like window.
Run the command
git add . (NOTE: dot included)
this will add all your files, excluding those defined inside .gitignore, to your repo.
git status
will show you a bunch of files that will be added to the repo.
You can make your first commit running this command
git commit -m “Initial commit”
git status
again will show you that there’s nothing else to commit.
From here, just use it like any other Git repo. I’m pretty new to Git, see git’s official docs to see on how to use it as my advice could be really bad ones 😛 .

Part2: Sharing on LAN
Ok, now that’s your local repository, working like a charm on your machine. But what if you want to make it available for all your computers? The best solution i found was using a lan git server inside a virtual machine. Now you can dowload your favourite linux/server distro and install it on your virtual machine, install git-core, openSSH and a bunch of random packets. But I always prefer the easiest way, and i suggest you to download Revision Control Appliance from TurnKey, wich happens to have git, openSSH and a lot of packets already configured and working out of the box. I personally use it in VMware Fusion on my Mac, but it can be used with VirtualBox or the free VMware Player on your pc, there’s absolutely no difference, just make sure the VM’s network is set to Bridged Mode.

Let’s see the steps we need to get our git server running.
First, download the virtual machine from TurnKey website.
Unzip the content in a folder you like (eg. your Virtual Machines folder) and run the machine.
On first run it will you to set a root password, choose one you like and remember it or write it down.
After that the vm will show you a screen containing the vm’s ip and a bunch of addresses for various services. Once you see this screen you’re done, write the machine’s ip somewhere, you will need it later.
Minimize the vm (without pausing or quitting it, we need the server running).

Now we need to create a bare repo for our project inside the server.
Get back to your main pc and SSH the server (this can be done from your Git Bash or any other SSH programs like putty), in my case the command was
ssh root@
you will have to use the ip of your virtual machine. It will ask for a password, that’s the one we set on vm’s first run.
Navigate to git repository and make a new folder for our project, cd to it and make a new bare repo. In short:
cd /srv/repos/git/
mkdir mynewproject.git
cd mynewproject.git/
git –bare init

It should tell you Inizialized a new empty Git repo on /srv/repos/git/mynewproject.git/. Remember this line.
Logout from ssh.
From your Git Bash, make sure you’re still in your project folder and add the remote repository using this command (remembering to change ip and project folder):
git remote add origin ssh://root@
Now push your local master copy to the server
git push origin master
Will ask for a password, wich is still the same we used for SSH access.

Part3: downloading a clone from your LAN Git Repo
Tested this using both Windows Git and Mac’s GitX
Using Git Bash or OSX’s Terminal, move to a folder you like and send this command:
git clone ssh://root@
And you will be done. 😀

I didn’t test this deeply, maybe there are flaws here and there, but it’s a solution that’s works, at least on my machines.

PC Nerding

Expanding my reach: Mac OS X

Since i started using Unity3D last October, my will was to test my not-released games on every device i had. This was limiting me to Webplayer and PC only, but then Unity team offered for free both Android and iOS licenses and i got my chance to test apps on my old HTC Desire. But I felt it was not enough, so i decided to add a Mac to my desk and bought a not-so-cheap MacBoo Pro 15″, an used Mid 2010 model, with dual core i7 2.66GHz CPU, 4GB ram and NVIDIA GeForce GT 330M video card.
I personally prefer to use Windows for my programming needs, but having a Mac could help learn and test new things.

Next step? An iPhone and/or an iPad. Then a Ferrari 458 Italia. 🙂