Jon Macey Computer Animation Pages

MSc Major Animation Projects

 

Previous Work

Project Suggestions

I will place ideas for different project on this page, you do not have to do any of these projects but these are areas we are currently working on and think would make good project topic areas. (at present we only have a few project ideas, but more are coming in all the time)

From Andy Lomas Framestore CFC

BRDFs for low resolution Level of Detail models.

There is a problem with the conventional way of sampling high frequency detail, such as from bump and displacement maps: as the models get further from camera, the filtering used to anti-alias these types of maps results in the surfaces effectively becoming smoother as the object becomes more distant, often drastically altering the look.

At Siggraph 2005, Pat Conran from ILM presented a sketch proposing a method of fitting simple new BRDFs to better match the look of the high resolution model as it gets further from the camera. This project will look at this problem, and look at extending the technique to other more complex BRDFs such to use anisotropic shaders to represent hair on low resolution models.

Procedural cities

You will develop a set of user-friendly tools to automate and facilitate the accurate 3D re-creation of a real city. The first part of this project will focus on generating a realistic 3D city layout based on reference data such as street maps, elevation maps or photographs. The second part will concentrate on determining the density, position and overall shape of individual buildings based on information such as the local area type (commercial, residential...), age (1990s,1900s..) and culture (Chinatown, Little Italy...). To achieve this you will use a scripting language (eg, MEL) and C++ where necessary.

Tools to help build cities - modular building blocks, virtual lego

Realistic Buildings for Cityscapes

Procedurally generated buildings are an efficient way of populating a 3D cityscape but the resulting buildings are often repetitive and lack complexity, breaking the illusion. Alternatively, getting artists to create unique buildings is a time consuming and expensive process. This project should investigate the middle ground between these two extremes.

There are many tools that could be created to assist an artist in quickly creating more believable buildings. Different components such as floor layouts, roofs, windows and doors could be connected like building blocks, with suitable construction rules to avoid incorrect placement. The buildings could also adhere to rules chosen by the user that define building age, type, height etc. This could be combined with procedurally generated elements such as building geometry and wall textures to further vary the types of buildings.

Modeling drool

Implement a system to simulate and animate the behaviour and appearance of drool. Possible solutions are using metaballs or simulation of viscoelastic fluids

IK solver with stretching and bending

A common problem in animation/rigging is the IK solver. Goal may be to implement an IK solver as plugin for Maya.

Some problems/features:

  1. IK-pop: When reaching an outstreched position the solver tends to pop.
  2. IK as FK: Provide the user with the ability to animate FK with the IK solver without blending.
  3. Damping: Implement optional damping.
  4. IK-Flip: When crossing the center IKs tend to flip/ behave in unpredictable ways.
  5. Limits: Enable angle limiting.
  6. Streching: For cartoon animation stretching is necessary.
  7. Animatable middle joints: To correct positioning of ellbows etc.
  8. Temporal awareness: When playing an animation the solver should be able to limit/predict motion to avoid impossible movement.

Example for a few features: www.michael-hutchinson.com (http://www.michael-hutchinson.com/downloads/index.php)

Accelerating Global Illumination using Principal Component Analysis

In the Pixar paper "Statistical acceleration for animated global illumination", Principle Components Analysis (PCA) is used to reduce noise in global illumination, allowing lower-quality, and faster, global illumination to be used.

Implement the methods presented in the paper. The implementation is challenging and also raises many questions. For example, what are the conditions needed to get a geniune decrease in processing time? What are the advantages, and limitations, of using PCA, compared to other noise reduction methods?

GPU based interactive relighting tools

Rendering photorealistic imagery can take a very long time. This slowness means that iterative tasks such as positioning of lights can involve a lot of waiting to see what each test looks like. This project involves writing an interactive relighting tool that would use the GPU to speed up the rendering of a scene, producing results that are a comparible but lower quality approximation of a PRMan render but in a fraction of the time. A similar system was developed at Pixar [1] and reading up on how their system worked would be a good starting point.

[1] Fabio Pellacini, Kiril Vidimce, Aaron Lefohn, Alex Mohr, Mark Leone and John Warren, Lpics: a Hybrid Hardware-Accelerated Relighting Engine for Computer Cinematography. In Proceedings of ACM SIGGRAPH 2005

Dirt and junk

A common problem with CGI is that the end result looks too clean and artifical.

Investigate various ways of adding dirt and junk to scenes and possible ways of deteriorating buildings due to pollution, weather and other factors.

Rain, snow flurries

Develop a system to generate realistic animation of rain and snow. The student should pay attention to the following areas

Should time allow, the student may also like to consider the following

The system could be developed in Maya, Houdini or as a standalone program

Grooming fur, hair, feathers

A common problem when modelling and setting up CG characters is how to groom hair, fur, or feathers to produce the character's look. Various methods and tools can be used to manipulate a look and groom hair, including: painting maps, manipulating curves point by point or with combs or brushes, using constraints or field-like influences to position the hair, automated simulation and distribution techniques.

Investigate and evaluate methods and tools for grooming. Consider things like:

As an extension, develop and evaluate a novel method and tool for grooming.

Interactive fluid like behaviour using PCA

Great strides have been recently made towards simulation of complex fluid phenomena for production use. However, allowing a user to continually interact with and control large flows in real-time remains a challenging problem. Recent work applying model-reduction to fluids has helped to address this somewhat. In this project you should take an existing open source fluid simulator and apply model-reduction to it using [1] as the principal reference. You should train the system on a number of examples of desired fluid behaviour e.g. a set of user-defined impulse forces and illustrate the fluid motion in your resulting simulations using immersed particles (dust, leaves) or textures.

[1] Treuille, A., Lewis A., Popović Z., Model reduction for real-time fluids. In the Proceedings of ACM SIGGRAPH 2006, 826–834.

Global Illumination for procedural cities

Large scale procedurally-generated cities present many rendering challenges. Once such challenge is incorporating global illumination efficiently. In particular, colour bleed from street signs, and ambient occlusion will add realism to a render. However, large citiscapes present problems for traditional ray-trace or point-cloud based occlusion techniques - both in terms of their physical scale and the memory / computational requirement needed.

One possible approach might be to approximate objects further away from a surface with a spherical harmonics term, which can be corrected with a more accurate near-geometry term to correct for errors.

A nice extension to this project might be using the computed fast ambient occlusion to guide placement of things like windows in the cityscape.

Worth investigating:

From Ian Stephenson :-

Rendering with Spectral colour

RGB is a pretty limited model of colour - more advanced models can produce more accurate rendering results.

Simulating film grain

Film grain looks good, but is complex. Develop more advanced models of film grain.

Lens aberration modelling

Real lenses don't actually focus very well. Develop parametric models of lens distortions, that can be dialled into a rendering system.

An optimising shading compiler

Shader compilers are a poorly explored area - graphic guys are good at writing renderers, but bodge their way through to get a working compiler. A well written, retargetable, optimising compiler would be very valuable.

Smalltalk rendering testbed

Smalltalk is a prefect language for rapid prototyping. A render written in smalltalk would be trivial to extend and adapt, making it the perfect basis for more advanced rendering research.

From Jon Macey :-

NCCA Pipeline Tools

At present we have a very basic pipeline, and we need a number of tools developed to help establish a solid production pipeline.

  1. XSI -> Maya ->XSI export / import tools (could throw Houdini in there as well!)
  2. Renderfarm Management software (at present the tools are very basic and need loads of work)
  3. Integration of Alfred into renderfarm
  4. Asset management system.

From Jonathan Auckland

The case of a Binding Chair and patient exposure.

I have been working on a video project for some time now and have finally reached that point where I have to ask for help.

Very briefly, I am trying to do two things with live-action video and need some advice with the code, or any ideas that can assist with the concept in general. The project is based around motion detection and keying. What I want to do is to process live video so that

  1. When an object/character is in motion we can see that character keyed on to a background. As the character becomes motionless, the video is keyed out until that character disappears. If any part of the character returns to motion that part is keyed back in to the scene.
  2. When a character enters the frame the video source is not keyed onto the background. If this character remains motionless the video is gradually keyed on (like a long exposure) until it reaches full exposure. If any part of that character moves, the video gets keyed out.

I have found some open source files in the journal of circadian rhythms relating to motion detection of rats and this looks promising but I really do need some help on this. (being rubbish at C and a relatively inexperienced Linux user).

Originally I was looking at difference fields but this took too long to do for real time so any help would be welcomed.

I can be contacted at jaucklan@bournemouth.ac.uk if you think you can help.