This is it! The culmination of your procedural graphics experience this semester. For your final project, we'd like to give you the time and space to explore a topic of your choosing. You may choose any topic you please, so long as you vet the topic and scope with an instructor or TA. We've provided some suggestions below. The scope of your project should be roughly 1.5 homework assignments). To help structure your time, we're breaking down the project into 4 milestones:
Before submitting your first milestone, you must get your project idea and scope approved by Rachel, Adam or a TA.
Start off by forking this repository. In your README, write a design doc to outline your project goals and implementation plan. It must include the following sections:
- What motivates your project?
- I have been always amazed by VFX and various effects in moveis, such as Marvel. This course is my first time actually using Houdini for assignments and using nodes properly. After having a slight beignning experience from past assignment, I wanted to create some kind of effect like in moveis. For this project, I want to create a pattern creation tool, which creates a pattern based on object's shapes and forms.
- What do you intend to achieve with this project?
- I hope I can create a tool that can be used for any mesh and objects to create cool animated effect of pattern geration based on their forms and shapes.
- Reference Images:
- Outline the main features of your project.
- Create a HDA using houdini that generates patterns based on the objects
- Various parameters that change the patterns and effects
- Create cool clips using it
- What are the main technical/algorithmic tools you’ll be using? Give an overview, citing specific papers/articles.
- The circular patterns from the references seem like it can be acheicved using curves in a smart way. The curves cannot be generated fully random, as it has to be bounded by the shape of the objects. I plan on adopting the concept of bezier curve, so that the curves can be constrained by points, which are based on the polygons of the object.
- It will be a one HDA that have the parameters to modify, in order to create the patterns.
- Week 1: Go over concept of bezier curve and go thoguth some houdini tutorials to get used to the tool.
- Week 2: Create basic HDA with the core functionality. Also add simple parameters if time allows.
- Week 3: Add extra parameters for more room to diversify the patter effect. Then create some cool exmaples using the tool for demo.
Submit your Design doc as usual via pull request against this repository.
- Current Effect with Circle:
- Current Effect with Torus:
- Demo link (Contains all the work from the beginning to the end):
- Basic functionality of having several iterations of each face of the object to create basic circulating effect. Also have basic parameters to see the effect in animation using keyframes.
- Current Effect with Cylinder:
- Demo link (Contains all the work from the beginning to the end):
- Added few more parameters such as changing iterations and switching primitives to see the pattern effect. I will be adding more cool shapes to create better visual demo.
- Screenshot of a Pawn with effect:
- Pawn with effect Demo:
- Demo link (Contains all the work from the beginning to the end):
- The overall outcome is satisfying. If I had more time and expereince with Houdini, I would've go forth and get the actual bezier curve effects also as additional features for more circular patterns, intead of just spinning effect. That addition would've made the outcome more similar to the references. I added a pawn object file for more interesting demo than just primitives.
Submission:
- Push all your code / files to your repository
- Come to class ready to present your finished project
- Update your README with two sections
- final results with images and a live demo if possible
- post mortem: how did your project go overall? Did you accomplish your goals? Did you have to pivot?
- In the spirit of the demo scene, create an animation that fits into a 4k executable that runs in real-time. Feel free to take inspiration from the many existing demos. Focus on efficiency and elegance in your implementation.
- Example:
- Take an academic paper or other pre-existing project and implement it, or a portion of it.
- Examples:
Taking inspiration from a particular natural phenomenon or distinctive set of visuals, implement a detailed, procedural recreation of that aesthetic. This includes modeling, texturing and object placement within your scene. Does not need to be real-time. Focus on detail and visual accuracy in your implementation.
- Like generations of game makers before us, create a game which generates an navigable environment (eg. a roguelike dungeon, platforms) and some sort of goal or conflict (eg. enemy agents to avoid or items to collect). Aim to create an experience that will challenge players and vary noticeably in different playthroughs, whether that means procedural dungeon generation, careful resource management or an interesting AI model. Focus on designing a system that is capable of generating complex challenges and goals.
- Examples:
- Rhythm-based Mario Platformer
- Pokémon Ice Puzzle Generator
- Abstract Exploratory Game
- Tiny Wings
- Spore
- Dwarf Fortress
- Minecraft
- Rogue
- Create an environment full of interactive procedural animation. The goal of this project is to create an environment that feels responsive and alive. Whether or not animations are musically-driven, sound should be an important component. Focus on user interactions, motion design and experimental interfaces.
- Examples:
- You are of course welcome to propose your own topic . Regardless of what you choose, you and your team must research your topic and relevant techniques and come up with a detailed plan of execution. You will meet with some subset of the procedural staff before starting implementation for approval.