A while ago I was doing a bunch of work to generate Star Patterns using the Henkin Method. Then my hard drive died and I lost it all. The other day after much procrastination I rewrote the code from scratch, and kind of got it working again…
Working on some procedural distribution systems in Houdini. Rendered in Mantra.
Taking the previous delauny triangulation experiment and wrapping it into 3d space. I've been thinking a lot about monsters lately and wondering what might be some interesting ways to drive construction. Maybe there is a way to map Jung's "Shadow" into geometric spaces.
Exploring delaunay triangulation. Reminded me of a plan I have to make some images to scare trypophobiacs...
I love using combining photography and computer graphics in different ways. Here I'm using a photograph to drive procedurally generated growth.
First pass dropping the character controller into my test environment. This is all running in realtime including hair and cloth. Character and camera input is from an xbox controller. Pretty pleased with how this is looking! I had a go with Wwise and working in some basic interactive sound fx. Portal sound is from my Moog Minitaur.
Here I’m showing off the vaulting component of the traversal system, again implementing some ideas from Paul van Grinsven's Horizon Zero Dawn traversal paper. The player character does terrain shape analysis by sending out raycast probes to build a model of the terrain ahead. The system then selects, blends and warps animation clips to best fit the obstacle ahead. This results in an animation that will vault up, over or down obsticles depending on context. Terrain obstacles can also be identified by tags, so for example she will jump down a steep slope but vault off of a platform.
I’ve turned off the cloth simulation and realtime IK system for the moment, I have some issues to resolve with synchronising physics and animation update cycles. A fix is in the works and I’ll loop back to that later.
I’m pretty happy with this first pass of the traversal system, there is still loads of polish to do but it definatley feels really good with the controller in hand, control is responsive and precise. That was my main goal for this milestone. I’m going to take break from the traversal system for a little while and look at some other aspects of the project.
One of my students is making a film set in Yosemite and I was reminded of this image I made some time ago. I was trying to explain to him about the amazing light in the Sierra Nevada. Best to just show it.
I played The Last Guardian recently and despite really liking it was was disappointed with the game feel, I felt the unresponsive character and camera controls really let down an otherwise great game. This got me thinking pretty hard about 3rd person character control. I decided to try making a third person character controller that uses realistic animation while still being responsive to input and having great game feel. These design goals are pretty much orthogonal to each other and it has been quite challenging to get something that feels and looks right.
Recently I enjoyed playing through Horizon Zero Dawn. I think the character control is probably the best I've ever played, the animation looks fantastic and the control feels very precise and responsive. I have set out to make something that feels and looks as good!
I started out trying lots of third party character controllers, but none of them really felt right - if the animation looked good they were laggy and unresponsive to play with, or if they were responsive the animation looked unrealistic. I wanted to use mocap with root motion and not do an arcade style controller. Next I started going through all of the character controller tutorials I could find. I came across an old tutorial by John Mac, where he builds a Zelda Windwaker style controller from scratch. Despite the implementation being a little funky, this was really helpful and felt the best by far. Then a colleague pointed me to Paul van Grinsven's GDC talk on Player Traversal Mechanics in Horizon Zero Dawn, where he pretty much lays out the whole setup! Very exciting. I started building the controller again from scratch and have begun incorporating ideas from Paul's talk. This is where I am at so far, it feels a lot better already. Hair and Jacket are simulated in realtime with a PBD solver. Next I'll have a crack at vaulting and jumping.
This has been a really fun excersise, it combines my interests in motion picture editing, simulation, and procedural systems. It's like building a realtime procedural editng system! Plus it's a computer graphics problem that is not related to optimization - a rarity these days.
Jon Mac tutorial:
HZD Player Traversal GDC talk
Another toy prototype. I've been playing with steering behaviours and implemented Reynolds "predator" and "evasion" behaviours.
You can play with it here.
The behaviour and environment is all procedurally generated (sorry!) Wind gusts a bit if you press the mouse. Camera follows the black birds around, the black birds hunt the red birds, and the red birds feed on the clouds...
Not very interactive but quite meditative if you watch it for a while.
I'm quite interested in exploring this idea some more and making something bigger with flocking / herding as a central mechanic.