Last Notes: Production Co-ordination (Part 1)
RIGHT, so this is going to be a big post and I'll try not let it go on for too long, but there's a lot to write about and a lot to explain! The organisation/production co-ordination side of this project was probably one of the hardest tasks I've ever had to do during my 4 years at university, it was intense but also incredibly rewarding and I wouldn't change the choice to do it at all!
So to begin with I'll show some of the ways I tracked the progress on the project. When the project started we all moved into the same corner of the room, so unlike Munchin Monk where we had members who were downstairs or worked from home, everyone on our team was always present in the same area for this project! We still had weekly meetings outside of the studio where we could discuss things in depth without disturbing people but for the most part, if there were any issues, people could just call across the desk, which saved a lot of time!
Tracking Sheets -
To begin with, I'll write a little about the spreadsheets used to track the production and progress we were making. Most of these were used just by me and shown during weeklies to show how close we were to goals. But we also had a task sheet for individual use, where members of the crew could view their own personal deadlines and tick things off 'for review' accordingly.
The first sheet was our crew sheet, this included the roles of all members on the team, explained our roles during pre-production and the actual production and had two contact emails for everyone, a university email and personal email, in case members were away and we needed to keep in touch.
The sheet also included a calendar that showed dates team members weren't around. Because this was a 3 month project, throughout the summer holidays, many members returned home for a couple of days to visit family, attend weddings, animation festivals or graduations or attend pre-booked holidays. Having these dates recorded made it easier for myself and Will to set deadlines on certain parts of the project (for example, Nathalia attended the Annecy festival between the 11th and 18th June, so we planned accordingly, requiring her to finish the proxy rig for the violinist before she left, so we wouldn't be left for a week with nothing to do after the pre-vis was complete.
This also documented our results days, hand-ins and other important dates on the course, where we'd have day-long lectures to attend and wouldn't be able to work solidly for certain days.
The second document we used for tracking was the production schedule (also known as a Gant chart) I'd learned a LOT about production (from talking to industry friends and reading up about it) in preparation for my role on this project, so the production schedule for this project was a LOT cleaner than the production schedule for Munchin Monk.
Below is a screenshot of the schedule a couple of days before the deadline. (click to see a full view)
Deadlines shown in red were deadlines that were over target (and as you can see, we went very over target on Rigging and a couple of other places as a result of this) Orange deadlines were deadlines in progress and green deadlines were deadlines complete on or before the deadline. We left contingency time in a few areas (for example the 6 days between the final render and hand-in when the edit is the same as the animatic we update) but compared to the time free on Munchin Monk, this production was very tight and very ambitious.
The next sheet used was a production specifications sheet. This was mostly for me to tell how long the film would be, which scenes would be heaviest and how I could prioritise render or shot setup (especially when Rigging was running behind and we just had the violin set and the violinist without facial controls, this sheet quickly allowed me to see, right, shot 29, 26, 4, 5 and 7 only have his hands in, so we can get those completed and sent to render first, because we don't need to go back to them once the facial controls are complete!
This sheet was incredibly useful from an organisational perspective as well as a scene-setup perspective!
This sheet also showed which backgrounds could be 'cheated' by rendering one frame rather than multiple, which would allow us to save render time if it was needed. It served as a good indicator to our mentors that we had thought through the scope of the project and could make sacrifices if necessary to complete the film. On the right you can see a chart showing the assumed difficulty of animation in the shot, whether the camera can be cheated (by rendering 1 frame or faking a camera in compositing) and the render priority, worked out half way through the production, based on completed assets and our rigging situation!
The next sheet is a very temporary one we used for 2 weeks whilst working on the pre-vis and shooting the LAV footage for the film.
This sheet documents our change from a crazy 58 shots on the film to a more manageable 29 (and 3 contingency shots) and also shows progress on us locking down our final cameras focal lengths, positions and animation for the film (so back plates could be rendered, lit and composited first if needed)
The next sheet was one of the most important sheets in the entire production and was one that everyone had edit access too and were encouraged to check daily. I got tips on the filter view option for spreadsheets and it's uses by a friend from my undergrad, Matteo Veglia, who now works in VFX production in Canada. This advice was invaluable and this sheet really helped streamline production even further and reduced time that needed to be spent asking where everyone was up and filling out sheets myself.
Below is an image of the sheet with no filter view. As you can see it has the numbers based on the area of production the task is needed for (in this case you can see this was tracking our progress on the pre-vis) it includes a start and end date and a duration that automatically updates based on values inputted (using the =networkdays spreadsheet command)
It also has drop down menus for the status of the task and who it's assigned to. I made these drop down menu's filterable, which made it easy to see what a team-member has left to do or what tasks were in a particular status.
For example, below the filter view is showing all tasks that were waiting to start. Here we can see that some animation shots are yet to be completed and that animation export to .ABC hasn't begun yet. Having this 'waiting to start' label easily allowed me to pinpoint where there were kinks in the pipeline, for example, if shots couldn't start until facial rigging was done, I knew that needed to be prioritised or if environments couldn't be exported because 1 building was missing, I knew that should be our focus.
Here's another example, filtering only Vlasis's outstanding tasks. This filter view allowed team members to have the same spreadsheet, but just filter there work, which saved me a lot of time and allowed work to easily be re-assigned without having multiple spreadsheets involved.
It also allowed team members to indicate if work needed reviewing by myself or the director. Once team members were happy they'd completed a task, they could change the status to 'Pending Review' which meant they saved time and could move onto another outstanding task if Will wasn't in. He could then filter to 'Pending Review' and easily check up and give feedback on all pending work, either signing off or discussing changes that could be made!
Another useful capability of the filter view is that we could click the down arrow next to the start or end date to order the dates. This allowed me to easily see what parts of production were due soon and plan/notify accordingly.
I learned a lot from creating this spreadsheet and I'm incredibly grateful to Matteo for sharing some insight into how professional studios would handle this type of task system. It sped up production a lot, made my life and the rest of the teams lives a heck of a lot easier, so I'm really glad I sat down and put the effort into making it the most useful to the production as I could!
This production had over 50 different models, characters and assets that all needed to be made production ready and textured! This was a lot to keep track of, so the next spreadsheet we made use of was the Asset Tracking sheet. This sheet was used by the modellers, rigger and texture artists to know where they were and what needed doing. When a model was retopologised, it was placed in the appropriate folder in our Onedrive where it could be grabbed for UV'ing, Texturing and layout. This sheet allowed everyone to see what assets were available to work on. Shader ID I've explained briefly in the CAPT document but I'll explain it in one of the production posts here too, so hang tight!
Here's a screenshot of some of our asset tracking sheet (the sheet continues for a little below, but you get the point, it's just there to make sure we're on top of the assets needed)
Above is our shader ID sheet, which I'll explain a little more in another post, but essentially is there to track ID's assigned to objects by a tool Huy created. This allows him to easily figure out from a number, assigned within the setkeys editor to the mesh, what kind of material the object should be, which saved time for him creating materials and assigning textures!
Now we get into some of the more complicated/time saving stuff!
Obviously we were pushing ourselves a lot with the scope of our final film, especially for something that needed to be made in 3 months. This meant it was vital we saved time wherever possible. One way time could be saved was by saving multiple texture sizes for some assets that weren't going to be viewed up close. We had many close up shots of the violinist/his skin so to avoid texture blurring, we decided to use 4K textures for all close ups of the violinist. We used 2K textures for mid-shots and 1K for shots where he was in the background. Having multiple sizes of our textures like this would save render time where it didn't have to be used (for example having 4K textures on him even in shots he was far away)
We decided on using 1K textures for all background assets, 4K on hero assets like the characters, the violin and crossbow and 2K on some mid shots of characters, if needed.
One of my first tasks once Texturing had gone underway, was to look through the animatic and find out which assets needed a high res for each shot and which didn't. This would allow our texturer to know which should be textured in 4K and then saved out as 4K, 2K and 1K and which didn't need a high-res texture at all.
All assets in the film, excluding the Cobblestone which we had high and low poly versions for, were low-poly and textured using bump, displacement maps etc.
This above spreadsheet was used by Ana and Chris, our texturers to begin with (so she knew what needed to be textured high-res) and then by our renderer Huy to know which scenes required the high res plugging in for render and which were fine with the low res.
Similar to Munchin Monk, we had a Shot Tracking Sheet that showed the shot, shot type, who it's assigned to and the progress of the shot through the pipeline.
The screenshot above was taken a couple of weeks before the project was completed. This sheet was useful to see the overall progress of the film to being complete. It was a little redundant after I created the task sheet but was still nice to have, as a linear way of showing our progression to the final edit.
I made the next sheet about 3 weeks into production after it was clear it was needed. Usually projects like ours would be done on something like Shotgun that has version control. But considering our shotgun wasn't unlocked to allow a lot of it's functionality, we were using One Drive to store our assets etc. Fairly on in the project, we were set back a day because an old version of the retopologised beast was used for rigging (imported not referenced). This was a big set back in the scope of things, considering rigging was already behind, so I set up a versioning sheet, so everyone could be sure they were referencing the right rigs/assets into the scene.
For ease of access, I set up direct links on the names, so team members could save time downloading directly from the spreadsheet rather than searching through the One Drive for it. I kept this updated daily, as new assets were released (and I was made aware through the task sheet)
This sheet became particularly important when it came to exporting the animation as alembic, because exporting from a rig with the wrong topology and UV's could cause issues down the line with re-applying the textures. Above is a screenshot of some of it, showing the versions of some of our assets.
The last two sheets tracked export progress. The first half of the sheet (before the frame range) tracks the export the animators make of the Camera and Animation (and the modellers export of the Environment) and after the frame range, whether everything has been vrcached ready for it to be distributed for rendering (and the render status of each shot broken into layers).
Render Wrangling was a stressful process. We'd originally planned to upload everything to the render farm and take things from there once a day, but a lot of our frames were failing (due to it being under a heavy workload from all 3 MA courses) so we found it more reliable to render locally. Vlasis tried setting up VRAY slave so we could use all free computers on the network to render, but we found this caused problems with the xgen hair on the characters flickering/being generated differently dependant on the specs of the machines. One of the Undergraduate labs downstairs was empty so we nabbed some computers from down there (and used our personal PC's) and worked around the clock to rotate and retrieve renders locally instead.
Myself and Will (and Nathalia later in the project) supervised renders in the day, whilst Ana and Vlasis looked after things at night. We gave all the PC's names based on their locations (Colours and Animals were located in the undergrad lab downstairs and fruits were in our lab) so the PC's shots were rendering on could be located and retrieved easily and Vlasis taught us how to render vrscenes from the VRay command prompt without having to open Maya, which sped things up further!
The next chart was used to show which frames/parts of render were where and which had been retrieved and put on the drive. It's a super rough looking sheet that we weren't expecting to need, but it proved useful especially during the day/night divide between the group. The top of the sheet shows which shot is being rendered (with the frame count in brackets) and down the side shows which PC it is rendering on (we labelled all of these with sticky notes so people knew which machine they needed to look for)
It took us just under 5 days to render around 3000 frames using this process! It was a stressful, stressful week but we completed rendering with 5 days to spare (and the entire film was finished 2 days before) which allowed us time to relax and work on our personal hand-in documents.
Looking at the length of this post, I think I'll have to explain more about the production side of things in another post! (Congrats if you've read this far) But for now, this is a good overview of the charts we used at least! Next I'll talk a little about our file sharing setup, the naming conventions we had in place, group meetings and the shader ID sheets!
Until next time :)