Wednesday, August 28, 2013

Houdini Engine + Play Mode

I've been messing with the Houdini Engine API to see if I can get Engine assets to cook in Unity during play mode.


It does work, as long as I don't ask it to update more than once every few seconds. Otherwise I end up with a memory allocation error:


I'll have to find a good workaround for this.

Sunday, August 18, 2013

SIGGRAPH 2013

I went to SIGGRAPH about a month ago with SideFX, where I spent the majority of my time running the Houdini Engine demo at SideFX's expo booth. I really enjoyed getting to know SideFX's Toronto staff, and talking to people interested in the Engine.

I had the privilege of speaking at the "SIGGRAPH Birds of a Feather: VFX Student & Intern Showcase," where I talked about my path from student to professional and showed off some of my internship work. It was a great experience!

Aside from that, I spent a lot of time walking around the Emerging Technologies hall. E-Tech always has a lot of neat technology, and this year was no exception. Some of the ones I thought were especially interesting:

I had a blast at the conference, met some amazing people, and caught up with a lot of old friends, including my mentor from Georgia Tech, Greg Turk. Hopefully I'll get to go again next year in Vancouver!

Monday, August 5, 2013

Messing around with audio...


I've been getting back into computer audio recently. I really enjoyed the course when I took it at Georgia Tech four years ago, during which my teammates and I wrote a basic autotuner (back when autotuning was still cool). More recently, I've been brushing up on comp. audio concepts (yay, wikipedia!) and playing around with scripting an audio spectrum analyzer in Unity: https://vimeo.com/71708392.

I've also done some more work on my Kinect pointcloud visualization in Houdini: https://vimeo.com/71702497. This one's an audio-driven CHOPs animation of a Kinect pointcloud. The particles change color according to the pitch and percussion. R value for percussion, and G & B according to pitch. It's not perfect, and it's still a work in progress, but it's getting there.

Tuesday, July 30, 2013

Kinect experiments part 2

I have a render! I'm still waiting on my Leap Motion to arrive, but I'm checking out ZVector meanwhile.

http://vimeo.com/71382971

I'm working on a few Houdini Engine experiments right now. Stay tuned. :)

Monday, July 29, 2013

Kinect Experiments...

Recently, I've been messing around with bringing Kinect pointcloud data into Houdini. Here's a screenshot of my work in progress. I should have a render to share soon, too.

After that, I plan to do the same with Leap Motion data, and probably mess around with ZVector, too. If I could tie the three in together somehow, that would be fun, but I'm not sure how, yet. Some brainstorming is necessary... More soon. :)

Inspiration: http://mattiaslindberg.com/tag/houdini/

Tuesday, July 2, 2013

An interesting challenge

The other day, my supervisor at work asked me to create a series of assets geared toward Houdini "noobs," so to speak, who may or may not be artists and who are new to the procedural workflow. Our goal was to come up with assets that were simple enough for someone with zero Houdini experience to be able to load the asset, play with it, and understand what it does. Below are some of the assets I created.

Sweep Along Curve: Use the Sweep SOP to sweep a polyline along a curve.



Stacked Crates: Allows the procedural stacking of various sized boxes. After the lowest box has been positioned, the lower can change the number of boxes and adjust the offset between them.





Copy to Points: Copy objects to the points of any input object, using the Copy SOP. Random scales are optional, and the multiplier for the random scale is adjustable. This could be used for something like scattering vegetation on terrain.



Instance to Points: Same as CopyToPoints, but using the Instance node.

I found it unexpectedly challenging to create these assets without Python/HScript, which, as a computer scientist, is my go-to problem-solver. I actually had to create each asset solely with Houdini nodes, with the assumption that the user of my assets would have no programming knowledge whatsoever. I learned a lot about Houdini through this exercise and found myself approaching problems differently. It was a fun challenge and a good workout for my brain!

Tuesday, June 4, 2013

GDC

In late March of this year, I had the opportunity to attend GDC, the Game Developers Conference, for the first time. Not only did I get to attend with some of my co-workers at SideFX, but I also got to catch up with a lot of my ETC friends! I had a blast! I was able to attend quite a few interesting talks.


My favorite one was part of the Technical Artist bootcamp on the second day of the conference. Game studio Slant Six Games talked about the tools they used to create procedurally generated cinematics for their game Galactic Reign, a turn-based strategy game. Essentially, they used animation sequence templates in combination with actual events from the player's game to generate the ending cinematic to the player's game. One thing I found interesting was Slant Six's use of Maya to create the different fleet formations of ships for the game. The studio wrote their own plugin to generate different formations, but I think this could have been accomplished much more efficiently if they had used Houdini. You can read more about their work here. Double Fine Productions gave a talk on rapid prototyping that was part of the Technical Artist bootcamp as well, which I also found interesting. Hearing about their work inspired me to pre-order a Leap Motion controller for myself. I'm pretty excited to play with it when it gets here in a month!

Another talk I liked was "Equality or GTFO: Navigating the Gendered Minefield of Online Gaming Spaces," given by Anita Sarkeesian. Sarkeesian spoke about her experience with sexist online harassment and cyber mobs as a result of her Kickstarter campaign to create a series of videos exploring tropes vs. women in video games. Hearing about her experience and the internet's reaction to her Kickstarter was appalling, but it was definitely an eye-opening talk. You should read more about her talk here.

The last talk I saw at GDC was "Achieving Real-time Synthesis in the Musical World of FRACT," a first-person, puzzle adventure game inspired by electronic music. The developers talked about how they used Pure Data with Unity and wrote their own sound libraries to achieve a high level of control with which the player could create their own music in game, rather than using pre-recorded loops. This game recently was greenlit on Steam, so I'm excited to see cool things from them soon! Check out the videos on their website for more information!

Overall, I really enjoyed my GDC experience. I learned a lot, and I would love to go again!