Categories & Tags
Archive

Summer of Code: Progress of Cutscene Editor

August 21, 2009 in Community, Company News and Info, Events by

This blog post is written by Matthew Miner who is working on a cutscene editor for Unity. The cutscene editor is one of four selected projects that were selected for the Unity Summer of Code.

As described in an earlier blog post, the Cutscene Editor is a tool for creating realtime cutscenes without touching a script. This allows both veteran Unity developers and those new to the engine to easily toss together a scene without too much fuss. It works similar to modern video editing software like Final Cut Pro and Adobe Premiere, with a media browser and a preview window and a timeline. Anyone who has ever edited together a movie on their computer will find a familiar user interface which has been designed with ease-of-use in mind.

Itʼs perhaps important that I emphasize the realtime aspect. This is not a tool for preparing pre-rendered scenes, as pretty as they can be. The visual quality of the scene will depend on the player’s hardware just as the rest of the game does. There are both advantages and disadvantages to this approach, but as some famous man once said, “realtime is the only time. For real.”

How’s It Going?
With not much more than a week to go, development of the Cutscene Editor is going well. It isn’t done yet (ha, I wish!), but with a few more late nights and a bit of fairy magic it will be.

In its current state the basics of creating a cutscene are there. You can add a bunch of camera shots, toss them on the timeline, throw in a few explosion animations here and there, maybe chuck in some heavy metal background music, and it will play as expected when you call scene.PlayCutscene().

Where a lot of works needs to be done before the August 31st deadline is the ease by which the developer using the editor can modify the timing of clips on the timeline. Initially thereʼs going to be two tools: the multi-purpose trim-n-drag for moving clips around, and the razor blade for splitting clips into two. Right now these donʼt really work. Neither does the preview window, an arguably essential part of the editor. So itʼs not quite in a “gee willikers, it just works!” stage, but once these features are implemented and a bit more polish added itʼll be close to the original vision.

Golly, Do Tell Me More!

Cutscene Editor
Above is a screenshot of the Cutscene Editor in its current incarnation. There are four main panes: options, media, effects, and the timeline. The editor introduces some concepts blatantly stolen from the film world.

 

  • Shots: a cameraʼs view in a limited amount of time; an animation can be attached to replicate moves like dolly or crane shots
  • Actors: animated game objects
  • Audio: dialog, sound effects, background music
  • Subtitles: captions that transcribe the current dialog/narrative

For clarityʼs sake, each track can only hold a particular media type. That is, you canʼt throw a camera shot onto the same track as an audio clip. The timeline can be zoomed in when precision editing is desired. Clips are added to the track by clicking the “Insert” button beside each piece of media, which will place them with their default time at the position of the playhead. Drag and drop ability was desired, but at this point it may not happen. Version 1.1 perhaps?

For the most part it should feel intuitive. I referred extensively to how the interface of Final Cut Pro works, so those coming from a video editing background should feel right at home.

Challenges
Most of my time has been spent building the user interface. Anyone who has used Unityʼs GUI system knows that it’s not a drag-and-drop affair; every label and button is created in code. This works great most of the time, but creating an editor as customized as a timeline has been difficult. Creating a basic GUI is smooth sailing, don’t get me wrong, but there was no documentation on how to, say, draw a line over the timeline to appear as a playhead. It has certainly been a learning experience.

Despite the challenges, I’m blown away by how extensible the Unity editor is. It completely rocks being able to build my own tools so easily, and I plan to continue working on similar projects in the future.

Share this post

Comments (25)

Comments are closed.

21 Aug 2009, 11:46 am

Wow, it’s great to see progress on this tool that I’m sure many people will find very useful. Also shows that making the Unity editor more extensible was a very smart move ;-)

21 Aug 2009, 1:42 pm

Hi, would be great too, if you get time, to write up your experiences and maybe tips about creating custom editors and GUIs. Looks like you have gained a lot of useful knowledge working on this editor!

21 Aug 2009, 1:57 pm

great stuff! very very promising! I’ve been working on my own (admittedly: crude) solution for handling subtitles on the iPhone and looking at your screenshot makes me hope very very much that unity iPhone will be upgraded to use the 2.5 interface soon to allow for some serious customization there as well…

21 Aug 2009, 2:01 pm

Oh wow!! This has got to be one of the best improvements for Unity ever!!

Rich H.
21 Aug 2009, 7:38 pm

Looks awsome, good work. Now stop sleeping and get it done!!

Ashkan
21 Aug 2009, 8:26 pm

hi
have fun developing such a great and complex tool. as you said unity GUI’s documentation is not complete and is not documented well. please talk more about what you have done with unityGui and even write a tutorial about it or help unity’s fantastic staff to improve GUI docs.
talk more about code generation and algorithms that they are used in your work!

23 Aug 2009, 11:14 am

The system looks great Matthew! I think that many people will learn on your achievements in Unity GUI. Keep it going!

Nic Cusworth
23 Aug 2009, 7:07 pm

Would looooooove to have this in the iPhone Unity.

Sonictail
26 Aug 2009, 2:30 am

I have to admit, I need this tool really badly, I’m looking forwards to seeing your finished’ result.

6 Sep 2009, 8:14 am

Awesome job Matt – you killed it. Glad for the opportunity to work alongside you. The dRock doors are always open for you. Good luck with all that lies ahead.
Cheers,
J.Joly

1 Oct 2009, 2:47 pm

Please get this out! I really want to use this!

7 Oct 2009, 5:21 pm

This looks just incredible! Keep up the fantastic work.

Adrian 'Factoid' Cheater
7 Oct 2009, 7:56 pm

I was wondering when the results of this project will be available to the public? I’m working on some tools which are very similar to this, and I’d like to see about adapting it if possible. Otherwise I might find myself re-inventing the wheel. I’d be perfectly happy to work with the code in whatever state it’s in, if that’s a possibility. If the comment doesn’t leave you with my e-mail, you can reach me in the forums as Factoid.

15 Oct 2009, 12:53 pm

I have a question, would this be a separate package, or will it appear in Unity 1.6 along with the erosion tool?

28 Oct 2009, 1:10 pm

WHEN WILL IT BE DONE? ANY DATE, MONTH?

Efraim
1 Nov 2009, 9:05 pm

Wow, it does look a lot like Final Cut!
Fortunately no need to capture tapes ;-)
Oh goody, can’t wait!

Diego Potapczuk
7 Jan 2010, 5:41 pm

Great, this is something that i saw at UDK that really make me impressed, hope this is even better!

mark baker
14 Jan 2010, 2:45 pm

looks like this project is dead on arrival

6 May 2010, 11:52 am

Great! i have always been waiting for a cutscene editor. Will you be able to keyframe the actors? say like Poser or something? it would be GREAT if you could. once again nice work!

AwesomeDude
1 Jul 2010, 1:37 am

when will this be available for downlaod

AFalk
5 Jul 2010, 4:56 pm

Hoping this hasn’t been abandoned, a Cutscene editor would be a FANTASTIC addition to the Unity tool set!

CJCurrie
17 Oct 2010, 2:05 pm

Bump. I would like to see this, even an early prototype. The community could probably finish it!

9 Feb 2011, 6:05 am

This is one of my favorite entries in the Summer of Code. Now it’s the Winter of Code and we still haven’t got it. :( Were you planning to save the best for last?

9 Apr 2011, 1:28 am

@Raymond L.: the code is available at: https://github.com/mminer/silverscreen

25 May 2011, 5:54 am

THANK YOU THANK YOU THANK YOU! I’ve waited ages for this!!! :D :D :D
My favorite Summer of Code Project!!! TY again! :D

Leave a Reply

Comments are closed.