Posts by Lucas Meijer

Summer of Code: External Lightmapping Tool Released!

During the summer, I’ve had the pleasure to mentor Michał Mandrysz, as he created an External Lightmapping Tool for Unity, as part of Unity’s Summer Of Code. As of today, you can download the tool from the resources section of our website.

What is it?
A tool that lets you use 3d Studio Max to make great looking lighting for your game.

I’ve been making lightmaps for ages already, why would I care?
Because with this tool, you can actually layout your scenes in Unity. Previously if you wanted to use lightmaps, you’d usually layout your scenes in 3d Studio Max or Maya or some other tool, and would have had a hard time moving things around in Unity later on.

Do you have some examples for this?
Take a look at this video tutorial from Michał, going over the example project included with the tool.

Great. Do I need to prepare my assets in any way to make this work?
You need to provide lightmap texturecoordinates for all meshes that you want to have lightmapped. However each object can have its own seperate lightmap sheet. The tool will take all lightmap sheets from all specified objects in the scene, put them all into one mega lightmap sheet, export your scene to fbx, have Max import the fbx, have Max generate a lightmap, and then that lightmap gets picked up by Unity automatically.

Take a look at this more detailed screencast, which goes trough this process, and shows how to go from an empty project to a lightmapped environment.

But I don’t use max! I use …..
There’s nothing in the tool that makes the technique inherently limited to 3d Studio Max. However the tool does provide some nice extensions to Max that make the lighting baking a one click process. With a bit of effort, one could take this project, and make it work for other authoring tools.

I still have some other question
Try out the new answers.unity3d.com and get it answered!

Many thanks and congratulations from the Unity team go out to Michał for being part of the Summer of Code program. You can find more indepth info on the tool on Michal’s website.

Unite ‘09 Call for Speakers

Some time ago we’ve announced our third Unite conference.

The conference will have many Unity employees, as well as Unity users, giving presentations, to share their experience with the conference’s attendees. In order to make sure we get the best line up of speakers possible, we’re calling out to the Unity community:

We would like to invite everyone who would want to give a presentation at Unite 2009, to send a speaking proposal to speakingatunite@unity3d.com. We will select the speakers who we feel can give presentations most useful to the conference’s attendees. That might be you!

We are looking for a wide range of topics. All publishing platforms, all disciplines (programming, design, workflow, business), content for beginners, content for advanced users. We will seriously look at all proposals made. Surprise us.

We’d like the proposals to contain, at minimum, an outline of what you would talk about, as well as the kind of audience it’s aimed at (beginners, artists, etc). Presentation slots are maximum 45-50 minutes long.

The presentations will be videotaped, and placed on our website. You can find the sessions from the previous two events here. If you have any questions, feel free to get in touch with speakingatunite@unity3d.com to get them answered.

The deadline for your speaking proposal submission is Wednesday the 16th of September.

Summer of Code. It’s a wrap!

collage

During the last six weeks, the selected participants for Unity’s first Summer of Code program have been working hard at making the ideas from their proposals come to life. It has been very exciting for us at Unity to see what people can do with our product with a good idea and six weeks of hard work.

The mentors at Unity will be doing a final review of their projects, and work with the participants to make sure it’s all nicely wrapped up and ready to be published on our website. We’ll put up another blog post when that happens.

It might take some time though, as some participants might be catching up on some sleep :)

Summer of Code: Progress on External Lightmapping

This blog post is written by Michał Mandrysz who is working on support for External Lightmapping in Unity. The project is one of four selected projects that were selected for the Unity Summer of Code.

What’s lightmapping?

If you’re not familiar with the terms “baking” and “lightmapping” then let me introduce them to you a little. Baking is an operation of prerendering expensive details (in calculational sense) like illuminated lightning, highlights and shadows into a texture so that it doesn’t have to be renderered at realtime. It requires some additional effort from the game designers, but it benefits hugely in performance. This solution is pretty old, but according to words of John Carmack it’s still up-to-date and will be – even in high end games.

What is the Lightmapping Tool?
It’s a tool for lightmapping scenes in external applications (yeah, I know most of you would  wish to see an integrated system, but it’s not that easy to write this kind of system; however there are several huge benefits from using an external one, especially as powerful one as VRay).
As you may have heard before, my job is to wire lightmapping process tightly with 3dsmax and VRay. The system automates the process of both external baking, and setting up the lightmaps in Unity.
Lightmapping tool manages up to 99 lightmap atlases (could be even more but the interface would have to be modded for such extreme jobs) which hold object information with resolution proportional to their size on the stage. It can start external applications (currently only 3dsmax), assign appropriate renderer or load a preset max scene which holds information about lightning and so on. I’m planning to make a short screencast video when the work is done, so you can be sure you understand everything clearly ;-)

lightmapping-picture
This picture presents about 1/6 of a whole scene lightmapped with only one 2kx2k lightmap rendered with VRay on medium settings

(more…)

Lucas Meijer joins Unity

I learned programming on an Amiga 500. Some lowlevel stuff with copperlists, sine and cosine lookup tables and a line drawing algorithm to get a rotating box on the screen.

Some people think that’s cool.

It’s not.

It sucks.

Today, if you’re young (or old) and want to learn how to make a computer do something cool, things look better. You can learn faster and make more, cooler stuff in less time.

Unity embodies that transformation.

Anybody with $200 and a willingness to learn can make a game that I couldn’t have imagined when I was making my rotating box.

I’ve had the opportunity to become part of this transformation: I have joined Unity.

To allow you to make better games. To remove more pain from your game development process. To make game development possible for even more people. To make game development become like painting and writing: something anybody can do, good or bad.

A bit about myself:

I started Artificial Intelligence at the University of Amsterdam, but left for a job in games faster than you can say “Dijkstras algorithm”. For the last ten years, I’ve been a freelance game programmer working on games for Lego, Intel, Paramount, Cartoon Network, Adobe, Arplant, and many others.  Adobe Director was my tool of choice for most of those ten years.  Director 8.5 (first version with 3d) was a great product, way ahead of its time. Unfortunately nobody noticed, and no significant features got added as a decade passed.  At the Game Developers Conference ‘08, I went to say hi to Tom Higgins at the Unity booth. Joachim Ante gave me a demonstration, and had a good answer for every “but does it do X?” question I fired. I was pleasantly surprised. From that point on I switched tools. Out with Director, in with Unity. I kept a blog as I switched tools at http://lucasmeijer.com. I’ve gotten to know the Unity team in in that process, and as time progressed, it seemed a good idea to everybody involved if I’d join the team.

I’m working on whatever makes Unity more successful, which includes a fair amount of programming.

– Lucas Meijer ( lucas@unity3d.com, twitter: lucasmeijer )

About Lucas Meijer: