Posts Tagged ‘Unity3D’

Office Zombie Simulator in Flash via Unity

Friday, December 23rd, 2011

With the Unity 3.5 developer preview being made available to the public yesterday, I set out to try the new Unity to Flash exporter. I’ve been looking forward to this feature since it was announced almost a year ago. The first project I decided to work on was Office Zombie Simulator, a small game Calin and I build back in February.

The major stumbling block with porting this project to Flash was that it uses iTween. As a lot of people have discovered iTween does not work with the Unity Flash exporter. Yesterday, I spent the day hacking iTween and got it to work with the Flash exporter. Get the modified version of iTween here.

With iTween working, I spent part of the day fixing up a few issues and now Office Zombie Simulator works in Flash. While it’s a little rough around the edges it is simply amazing that I’ve brought something of this complexity from Unity into Flash in just a couple of days.

Without further ado, here is the Flash version of Office Zombie Simulator.

I want to do a huge shout-out to the Unity team, what they have accomplished is incredible. I look forward to what the future brings.

Unity to Flash Exporter with iTween

Thursday, December 22nd, 2011

If you didn’t already know Unity 3.5 Developer Preview is now available to the public.
http://unity3d.com/unity/preview/

To me the most exciting thing in the developer preview is the Unity to Flash exporter. The ability to easily create and distribute 3D content on the web without needing the user to have a different plugin.

So the first thing I did was start to port over some older projects. As this is an early build there are a lot of limitations, so moving an existing complex project over isn’t an easy task. One of the major stumbling blocks I had (and from the sounds of things a lot of people are having) is that iTween simply doesn’t work.

iTween is great framework for doing tweening in Unity. So I decided that with my deep knowledge of Unity, iTween and AS3 I would attempt to ‘fix’ the iTween libary to work with the Flash exporter.

Turns out iTween uses a lot of unsupported features and that coupled with the exporter being very new, turned this into a very challenging problem.
45+ hacks and a lot of knowledge later, I won.

Without further ado here is Flash export ready version of iTween: iTween.cs

Here is a quick demo proving it works: SimpleCrateDemo

This version of iTween is a little rough around the edges, but it works in my initial tests.

Known Issues

-ColorTo & ColorFrom are unsupported as they cause an infinite loop (reason unknown)
-FadeTo & FadeFrom are unsupported as they cause an infinite loop (reason unknown)
-Flash player throws a silent error on Destroy of iTween component (should not effect anything but will show up in Flash debug)

There are probably more issues so let me if you come across any.

I do know that a new version of iTween is being worked on and the Flash exporter is in an early state so this is a temporary version to hold everyone over.

PS: This took me an entire day, so if someone uses this to win the Unity ‘Flash in a Flash’ contest you official owe me a drink. :)

Unity Editor Lesser Known Features

Monday, December 19th, 2011

The other day I discovered a sweet feature in Unity that has existed for a long time. With this I decided to create a short list of some cool features in the Unity editor that you might not be aware of.

1) Inspector Lock – At the top of the inspector panel there is a small ‘lock’ icon. This locks the inspector to currently selected GameObject. This is great for things like adding GameObjects to arrays. 
http://unity3d.com/support/documentation/Manual/Inspector%20Options.html

2) Multiple Inspectors – Click the ‘context menu’ icon (next to the ‘lock’ icon) in the inspector. In that drop down, select ‘Add Tab’, then ‘Inspector’. Use in conjunction with inspector lock to become a productivity machine.
(via @AngryAnthttp://twitter.com/#!/AngryAnt/statuses/142724785384865793)

3) Project and Hierarchy Search By Type – Not only can you search for items by name, but also by type. To do this, click the ‘Search’ icon drop down and select ‘Type’. Or to be more efficent, simply type ‘t:type’. Ex: t:texture, t:material, etc.
(via @aras_phttp://twitter.com/#!/aras_p/status/143010880706183168)

4) Inserting and Deleting Items From Arrays In Inspector – Populating arrays using the Unity editor is very handy, that is until you realize that you need to remove or add an item in the middle of the array. It might appear that there is no way to do this, but there is. To duplicate an item, select it and hit Ctrl-D (Windows), Command-D (Mac). To delete an item, hit Shift-Delete twice (once to clear, second time to remove it)

5) Creating New Line in Inspector Text Input – On a Mac simply hit Option-Return to create a new line. On Windows this functionality is…’missing’. Normally you would have to copy and paste a new line for somewhere else. :(
As this is kind of lame, I wrote a Unity editor script to fix this. Simply create a folder in your project called ‘Editor’ and drop this script (InsertNewLine.cs) into it.
Now you can simply hit Alt-Enter on Windows to create a new line. :)
http://answers.unity3d.com/questions/43424/multi-lining-or-line-breaks-for-the-inspector-wind.html & http://blog.almostlogical.com/resources/InsertNewLine.cs

6) Creating a Prefab Quickly – Simply create your GameObject in the Hierarchy and drag it down into the Project panel. Instant prefab!
http://blogs.unity3d.com/2011/03/25/ninjacamp-iii-quick-prefabs/

7) Editing Primitive Collider Dimensions in Scene View – Select a GameObject with a collider and hold down the shift key. Small greens squares will appear in the Scene View which you can then manipulate.
http://unity3d.com/unity/whats-new/unity-3.4.html

8) Adding Game & Scene View Icons to GameObjects – Click on the GameObjects icon in the inspector. From this drop down you can select the icon type, color and even create a custom icon. You can also add icons to custom scripts. Select the script in the Project panel. Then click it’s icon in the inspector. This icon will get applied to all GameObjects that have this script attached. This is very handy for marking things like waypoints.
http://unity3d.com/support/documentation/Manual/Gizmo%20and%20Icon%20Visibility.html

9) Snap To Vertex or Collider – To snap to vertex, hold ‘V’ and then click and hold down on the desired vertex. Drag your mouse around to snap it to the required vertex of another mesh. To snap to collider, hold Shift while dragging in the center when using the Translate tool.
http://unity3d.com/support/documentation/Manual/Positioning%20GameObjects.html

10) Scripting the Editor – This is one of my favourite features and something people do not do enough of. If there is something the Unity editor doesn’t do by default you can write it yourself. Extending the editor is very easy and incredibly powerful. As an example I wrote a tool called PlayModePersist that can save changes your made in the editor while in PlayMode.
http://unity3d.com/support/documentation/Components/gui-ExtendingEditor.html

If you have any additional items you would add please put them in the comments below.

Office Zombie Simulator on Kongregate

Sunday, February 20th, 2011

I’m happy to announce the release of our new game Office Zombie Simulator. This game was created by Calin Reimer and myself for Kongregate’s Unity Game Contest.

While it is still a work-in-progress I am very happy with how it turned out considering how swamped I was this last month (So Many Rooms and client work).

When I heard the announcement for Kongregate’s Unity Game Contest I was very excited and knew I needed to create something for it. I love game development contests because they have a great feature; a fixed deadline.

The premise of “Office Zombie Simulator” is pretty simple, imagine a few zombie loving nerds are stuck in an office for the weekend. Instead of working they decide to setup the ultimate zombie apocalypse simulator.

The idea for “Office Zombie Simulator” came to me out of necessity.

One problem that we keep running into with developing 3D content is the amount of time and effort required to build all the necessary 3D models. So the idea was if we could reuse more models between projects we would save development time. Since another project we were working on required office equipment I thought if this game could be set in an office, we could hit two birds with one stone.

Other than that the game shouldn’t have any complex 3D models or animations (too time consuming) and needed to be easy to pick up and play.

After a few days of brainstorming, the concept for “Office Zombie Simulator” was born. It turned out to be a very cool concept and is more proof that creativity works best under constraints.

So give it a try, leave feedback and please rate.

http://www.kongregate.com/games/AlmostLogical/office-zombie-simulator

We are hoping enough people will enjoy the game to warrant us building a fully realized version. We have a lot of cool ideas that we would love to implement.

PlayModePersist – Unity Asset Store

Tuesday, January 11th, 2011

Have you ever wanted to make changes to a component in Unity while in Play mode and have them persist after you click stop? Have you ever accidentally made changes to a component while your game was playing and wish they could be saved?

After a lot of hard work I’m happy to announce ‘PlayModePersist’ is now available in the Unity Asset Store.

This Unity extension allows you to select which components on individual GameObjects you wish to persist and they will save automatically the moment you hit stop. No needed to copy and reapply your changes, no worrying about a “clipboard” being full. You are not limited to saving one component or one GameObject, you can persist as many component from as many GameObject as you would like.
Works with all component with script access including, Transform, Rigidbody, Physics Colliders and Joints, etc. Also supports custom built components. Complete list of supported components.

This feature is currently the #3 most requested editor feature and #10 most requested overall on feedback.unity3d.com.

Best of all it is easy to use, while in Play mode just click the ‘PlayModePersist’ dropdown below the Transform title in the inspector and click the checkboxes for the component you wish to persist. Once you click stop their current state will be persisted.

Please use the comment section below to let me know what you think. Also giving it a rating in the Unity Asset Store would be greatly appreciated.

Note: If you don’t know how to use/access the Unity Asset Store, simply open up Unity, click Window->Unity Asset Store. You can find this item under ‘Extensions’.

Update: New link to PlayModePersist: http://u3d.as/content/almost-logical-software/play-mode-persist/1tS

Special thanks goes out to Kevin Evans for his work that went into this extension.

Rigidbody Sleep Toggle – Unity Asset Store

Thursday, January 6th, 2011

I’m happy to announce ‘Rigidbody Sleep Toggle’ is now available in the Unity Asset Store. What is ‘Rigidbody Sleep Toggle’ you ask? It’s an additional toggle (checkbox) called ‘Sleep On Awake’ that is placed at the bottom of the Rigidbody inspector. Clicking this checkbox automatically adds a custom component that makes that Rigidbody sleep at the start of the scene. This is sometimes very important to increase start up performance of your game. If your scene has lots of Rigidbodies they will all be in motion at the start of the game so preventing this can crucial.

While you could add a custom script yourself, this script not only saves time (just selecting/unselecting a checkbox), you can easily tell from within the Rigidbody component if it will be asleep at the start of the scene.

I have also added a menu option under ‘Edit’ that will allow you to in bulk make all Rigidbodies in your scene sleep on awake.

Now onto the best part, it’s now available in the Unity Asset Store for the low, low price of FREE.

Happy New Year Everyone! Please use the comment section below to let me know if you find it useful.

Note: If you don’t know how to use the Unity Asset Store, simply open up Unity, click Window->Unity Asset Store. You can find this item under ‘Extensions’.

Update: New link to Rigidbody Sleep Toggle: http://u3d.as/content/almost-logical-software/rigidbody-sleep-toggle/1tj.
Also I have now launched a new extension called PlayModePersist read about it here.