Lab 3 - Unity Tool Development
Third lab completed. (Lab description in Walker boys Studio)
Check the timer screen -> Click here
Check the animation screen -> Click here
My Name: Giacomo Mariani, aka Jack Marian
Timeframe:
2-may-2012 - START
8-may-2012 - END of the Tutorial
12-may-2012 - PROJECT COMPLETED
Project description and goals achieved
First part of the project was about learning how to implement scripts to add tools for the editor itself. I followed the tutorial, implementing a tool to automatically create the folders I usually adopt for a project.
Exercise: add personal folders
- Create a Folder Structure for your Future Projects
- Update Tools Folder Creator and design it around your folder system
- Provide a written outline of your ‘new’ folder structure (On website)
My folders are the ones suggested in the tutorial, except of:
I divided the Audio in "Music" and "Sound".
I added a subfolder in the scripts for the backups: /scripts/backups.
I added another backup subfolder for prefabs: /prefabs/backups.
I added one last folder for Game Documentation, to store design documents.
The remaining folders are the same suggested in the tutorial, I copy directly the code:
Directory.CreateDirectory (projectPath + "Materials"); Directory.CreateDirectory (projectPath + "Meshes"); Directory.CreateDirectory (projectPath + "Fonts"); Directory.CreateDirectory (projectPath + "Textures"); Directory.CreateDirectory (projectPath + "Resources"); Directory.CreateDirectory (projectPath + "Scripts"); Directory.CreateDirectory (projectPath + "Scripts/Backup"); Directory.CreateDirectory (projectPath + "Shaders"); Directory.CreateDirectory (projectPath + "Packages"); Directory.CreateDirectory (projectPath + "Physics"); Directory.CreateDirectory (projectPath + "Game Documentation"); Directory.CreateDirectory (projectPath + "Sound"); Directory.CreateDirectory (projectPath + "Music"); |
Then, following the tutorial, I implemented a script to directly add a new prefab from a game object in the editor.
Exercise - new tool "center game object"
- Think about it
- Study your current work behavior while in Unity
- Identify at least one way to improve your workflow
- Create an Editor Tool, Tab, or Hotkey that will speed up your process
As exercise I then implemented a new feature to quicken the development of my projects. I created a code to center an object to the 0,0,0 position. Many time, when I create new object I found them unaligned and I have to manually move them, or insert the coordinates in the inspector. My script add a hotkey element to center the object pressing "Alt+shift+C.
Exercise "Create Material from Texture"
- Extra Credit
- Create a new tool to create a Material from a Texture Selection
I had some problem with this because I coded the script and all seemed correctly, but it didn't work as supposed. Eventually I added a shader element (I used "Specular") and added it to the material, and it succeeded.
var shader: Shader = Shader.Find("Specular"); material.mainTexture = texture; |
Afterwards I followed the tutorial for the animation and for the timer.
Exercise Time component
- Complete the Time Component with Functions or Class setup
- The web build will have a working time component controls (0-9)
- The assignment is explained in Step 16.
Completed. I initially tried using a Class, then I decided it felt more suitable to use functions so I completed the time component adding the functions requested.
Software Used: Unity 3d, Monodevelop, Notepad ++
Final thoughts
This project was bit less fun than the others, especially because it was about implementing tools and not a game itself, but it enriched much my experience.
I didn't think there were so many things available to be implemented. And I feel it's very very useful to understand sprite animations. Also the time tool was an enriching experience.
Time to start mario 2d Lab.
Break down your Time:
Research: 2 hour (mainly on unity site, script references) - Expected 2 hours.
Art: 30 min (all the art was already implemented) - Expected 1 hour.
Design: 3 hours (1 hour tutorial) - Expected 1 hour.
Coding: 9hours (7 hours of tutorial) - Expected 7 hours.
Playtesting and bug fixing: 3 hours (I had a problem with the shader of the material for the time animation). Expected 1 hour.