Unity Summer of Code Takes Off

Two weeks ago we announced our Unity Summer of Code program through which we offer indie & student developers the chance to get paid for doing something cool in Unity. Now we have reviewed all of the almost hundred proposals and selected the four of them that we found best matched the program!

The ultimate goal for a parametric explosion system?

Ben Throop is working on Detonator – a Parametric Explosion System

Great explosions can make a game. Bad explosions can ruin a game. As important as they are, they are difficult to do well because they are composed of art and complex behavior that’s not easily consolidated into a single object. Explosions also have a high degree of randomness, yet within a domain that is not easily described and is often violated.

That said, Unity developers of all types could make great use of a system that allows for efficient creation and iteration of explosion effects.

For artists, the system will provide a means to harness and iterate on complex behavior that is normally hidden behind coding barriers. Artists can think in terms of “size” and “intensity” of the explosion as a whole, while also drilling down to tweak details. Detonator is more than just a collection of particle emitters.

For programmers, creating an explosion with great visual quality will no longer hinge on finding pre-existing particle libraries or an artist friend. Detonator will provide solid results from the start. It will also allow easier binding of game logic to explosion parameters by providing meta-parameters that combine several emitters, models, lights, into a single “Intensity” or “Duration” value.

Sándor Moldán is working on an Erosion Tool for Realistic Terrain Generation

The aim of this project is to provide Unity artists and level designers with a set of intuitive and simple-to-use tools which they can use to create realistic terrain directly within the Unity Editor by adding the effects of natural erosion to terrain objects.

These tools will include a set of ‘wizard’ style filters which will perform erosion on the entire terrain object and a set of brushes which allow the user to erode a smaller section of the terrain with a greater degree of control. Both the erosion filters and brushes will include a selection of different erosion types which can be applied to the terrain object, including thermal, hydraulic, tidal, glacial and wind erosion.

In creating these tools, particular attention will be given to the kind of landforms that create good gameplay and how natural erosion can help to achieve this. For example, a heavily hydraulically eroded terrain will have large areas of flat land, broken up by steep impassable areas, which is vastly more playable and interesting from a level design perspective than a continuous jagged terrain.

An additional tool will be included with the project which will allow users to texture a terrain object by automatically generating splatmaps based on the height and slope of the terrain.

Matthew Miner is working on a Cutscene Editor

Creating cutscenes in Unity, while not necessarily difficult for the seasoned developer, can be a challenge for those more familiar with traditional filmmaking tools and techniques. As game projects grow larger, it’s likely that trained filmmakers — cinematographers, editors, etc. — will assist with the creation of these cutscenes. Currently there’s no simple system for working with elements like multiple shots and transitions; that is, there’s no easy way to “cut together” a scene.

The solution is a Cutscene Editor, a tool for Unity with the ability to “capture” an animated scene from multiple viewpoints and edit it together. These individual clips are placed in a timeline similar to those seen in non-linear editors like iMovie and Final Cut. Clips can be rearranged, trimmed, split, slowed down, sped up, and given special effect filters like sepia tone. Transitions like crossfades can be added between clips as well as title cards and subtitles. Dialogue and sound effects can be added on their own section of the timeline. Ideally a developer can create a cutscene without writing any code.

Michał Mandrysz is working on a Tool for Transferring VRay Scenes into Unity

It’s amazingly simple to make a scene in Unity. Just drag and drop whatever you want to the scene, drag materials and textures to it and your scene is done. That’s a pretty neat workflow, but you hit some problems if you want your Unity authored scene to be lightmapped.

This project will integrate Unity even more tightly with 3ds Max software, and whatever of its renderers you want to use (like VRay). It should give designers the power to create photo-realistic Mirrors-Edge like scenes with less effort, while being able to author scenes in Unity instead of in 3ds Max.

(Proposals above have been trimmed and in some cases slightly rephrased.)

We are all excited to follow the development of these projects over the next six weeks. Good luck guys!

@Brendang: The Detonator Parametric Explosion Framework is already out. We have one more of the projects coming out shortly, one has status unclear (our fault I’m afraid) and one is in a prolonged “Autumn of continued code”.

@chadchat Sorry, didn’t see the comment before! Perlin noise is in, as is a Diamond-Square fractal generator and another filter that creates mountain and hill peaks using a Voronoi diagram. These can also be called from scripts, so landscapes can be procedurally generated at runtime.

I like the idea of texturing areas based on how much they have been eroded. I’ve had a similar idea, but haven’t come up with a good way of storing an ‘eroded-ness’ map of the terrain between and after the application of multiple erosion filters. But this will definitely be in a future version.

And totally agree in regards to ‘finished’ landscapes. I think a truly crafted game level needs a human touch – it can’t all be generated. But on the other hand, procedurally generated landscapes can provide an infinite number of levels at a negligible file size.

– “An additional tool will be included with the project which will allow users to texture a terrain object by automatically generating splatmaps based on the height and slope of the terrain.”

I’m excited about Sándor Moldán’s project, as I’m excited about any attempts to develop Unity3D as a terrain editor.

I wonder if this project wouldn’t be much more valuable if it involved the inplementation of an advanced perlin generator as well. Currently I do this kind of work in World Machine, which has great erosion and noise generator tools of course, and I’m excited about not having to fire up windows to do this. You can generate very sophisticated landscapes with such a tool, but more often then not I find that begining with a roughly suitable perlin noise is enough.

Also, in regards to generating splat maps according to height and slope, it would be fantastic to include the ability to texture the newly eroded areas. This is outside the scope of slope and height parameters. Again you can do this in World Machine and like tools.

It is worth remembering also that, while it’s admirable to aim to generate a user ready landscape in this very immediate way, in my experience at least that most of that landscape will be touched by the environment artist by the end of production. What I mean to say is that you don’t need to attempt to produce a ‘finished’ landscape, but rather a ‘good start’ that then can be further developed with effective heightmap editor tools.

Yes, that was one of the few disappointments I have in Unity. At first, I also wanted a Key/Animation Editor so that, instead of all this heavy scripting, you’d have a simple editor to hook keys to animations, so you don’t have to do that in scripting. Now I know scripting is really quite necessary for animation.

Oh, perfect! Actually, that is exactly what I needed. Can you hook cutscenes up to keys in a script? That would be totally cool. Also – Unity pro is the one that has the sepia, etc. Does that mean Unity Indie users would have the Cutscene Editor without the effects?

@Raymond L.: The cutscene editor is not for making video files, but for making in-game cutscenes that simply make various game objects do the right things at the right times while the cutscene plays, while also having support for camera effects and subtitles, among other things. But it’s all realtime; not pre-recorded.

Wish I’d heard about this before… Great work guys! The cutscene editor is fantastic sounding! (I normally use iMovie, so this will be great… Wow!).
One question: Are these for Unity Pro? I have Unity Indie and I noticed that Movie Textures are for Unity Pro. Is the cutscene editor going to also be in Unity Indie?

The Exposion tool sounds very cool. I haven’t had good explosions since I started working on indie projects. For me some of the key features I’d like to see are:

Global scale: of the emitter where all children scale with it.
Delay: So you can set up chain sequences of emitters secondary, primary etc
Mesh Particles: some simple particle chunks with physics. Just for effect

For that project then, you might want to consider visiting http://www.vray.com/ they might be able to shed some light on how to integrate it in all of the modeling pipelines smoothly, that or maybe you can pickup something from them that gives that project the extra kick it needs :) As you can see in the list, VRay for Blender, VRay for Maya, VRay for 3D Studio max, the list goes on! Now to take that to the next level and utilize what you all are doing and merge it with that! WOW is all I can say, purely WOW.

All look fabulious, for the last one though with VRAY, most of us use tools like MilkShape 3D, Maya and other named modeling tools, not sure how many will get a use out of a limited 3d Studio Max product requirement. That is a very focused audience. The other selections though are extremely wonderful! I was hoping all of them would be 100% generic in nature and not tied to a specific tool set requirement. I can’t wait to see how this all pans out!

I’m not happy with the decision to select a project that requires external software to use, as it will only benefit those who use 3ds max. But oh well… They’re punished enough anyway, give them a hand with their lightmapping for all I care… :)

@Martijn G: There are only tools and no games because that’s what’s Unity Summer of Code is about. It’s all described on http://unity3d.com/usc/ in the section “What Sort of Projects Are We Looking For ?”