Avery Brown Week 04 Journal

Avery Brown

Spending most of this week trying to deal with the farm, I feel like I have made significant progress towards making it work a little bit.  On Friday, I met with Rob Dlugos from IT, and he has made several fixes to the farm already.  The frequent network drops have been the bane of this project from the start, and also seem to cause many of the server-related issues with the farm computers.  The fact is, any organization with a farm of our size would have a dedicated wrangler, or at least be under the control of the people who utilize it the most.  IT, being in an unrelated department, and being ultimately responsible for the entire college, cannot continue to be the ones responsible for the farm’s well being, unless the department wants all the students to render with local batch jobs.  However, while many other jobs have had issues, this one came back nicely.


Here is the nuke comp script for this shot:

The render is broken into a plate and the characters/props. This is then taken and split into it's component elements (Light, GI, etc.). The two layers are then combined on an element by element basis. The individual combined elements are then added together (linear light is additive). Some elements are altered before being combined (Such as the skylight on the janitor) as well as some undesireable things fixed (Such as the janitor's tendency to turn bright pink). A little zDefocus is tossed in at the end, as this is a fairly dark scene with a large depth to focus. Each shot will be comped similarly, using previously comped shots as templates.

Here is a quick comp of some reactor machinery.


I also took some extra time to start working on a script that can check files for error causing nodes, such as the RenderMan nodes.  It runs using Maya’s own Python interpreter and uses Maya’s standalone feature, which runs maya in headless mode.  Maya, being fairly crashy, has made me reconsider this, and if I went back, I would have written the script to simply parse Maya ASCII files instead, using the standard python interpreter.  Anywho, the script is on my GitHub for perusal purposes.

def main():
    # Debugging setting is very necessary for me, as I make a lot of mistakes
    flg = setup_log("logging.DEBUG")

    search_dir = '//awexpress.westphal.drexel.edu/digm_anfx/SPRJ_cgbirds'

    flg.debug("Initializing Maya")
    # Starts interpreter
    flg.info("Maya Initialized")

    # The filename is generated by another function based on the time that the script is run

    output_file_name = gen_file_name()

    test_file(output_file_name, search_dir)

    files = get_ma_files(os.path.normpath(search_dir))

    results = []

    flg.info("Getting List of Unwanted Nodes")
    bad_types = bad_types_list()

    flg.info("Searching Files")

    i = 0
    j = 1

    # Splits the file list into chunks, though 250 might still be two large

    chunked = split_chunks(files, 250)

    for c in chunked:
        flg.debug("Searching Chunk {} out of {}".format(j, len(chunked)))
        for f in c:
            print("{} out of {} files".format(i, len(files)))
            results.append(search_file(f, bad_types))
            i += 1

        flg.debug("Compiling results for chunk {}".format(j))
        comp_res = compile_results(results,
                                   '*' * 150,
                                   "Chunk {} out of {}".format(j, len(chunked)),
                                   '*' * 150,

        array_to_file(comp_res, output_file_name)
        j += 1

    flg.info("Maya uninitialized")

if __name__ == "__main__":

I also spent a day to make my XGen script cross-platform compatible, so that hair can be added to scenes on windows.

Hours Breakdown:

  • Environment Surfacing – 4:00
  • Technical Directing – 32:30
  • Adviser Meeting – 1:30
  • Group Meeting (Dallies) – 3:00
  • IT Meeting – 0:30
  • Paperwork – 2:30
  • Render Farm work – 4:00 (Chris asked me to clock this separately on Saturday, so much of my time for this task was clocked under Technical Directing this week)

Total: 47:00

Leave a Reply

Your email address will not be published. Required fields are marked *