Sunday, June 2, 2013

The Final Semester - Recap

Near the end of last semester, I was fortunate enough to be offered an internship at Side Effects Software Inc. in Santa Monica, CA, as their Houdini Gaming Intern. I've been here about 5 months now, and I'm really enjoying my work! I've been working on a few projects to demonstrate how Houdini can be used in the games space. We'll hopefully get to show off some of my work at SIGGRAPH in a couple of months! Though my internship work does keep me busy, I've also gotten some time to learn Houdini on my own using SideFX's vast library of resources. I'm currently learning more about procedural modeling, and creating assets in Houdini that would be useful in games.

Other news: a few weeks ago, I traveled back to Pittsburgh for a weekend to graduate. I now officially have a Master of Entertainment Technology degree from Carnegie Mellon University! I still have a few months left of my internship, so I will be in Santa Monica for a while longer, but it feels good to finally be finished with my degree and done with school!

Overall, I really enjoyed my final semester, and I'm looking forward to the rest of the internship!

Tuesday, March 5, 2013

India Trip!

I spent the majority of my winter break (December 19th to January 3rd) on a trip to India with my family. It was somewhat bittersweet, since this was the last time for who knows how long that my sister and I would have a vacation at the same time and thus was possibly the last family trip for a while. We managed to fit quite a bit of travel and sightseeing into our trip, so in the interest of keeping it short, I'll give you the highlights.

A man meditating on the beach, circa 6am
We arrived in India on 12/19, and met up with my maternal grandparents and my cousins (my mom's younger sister's family). The next day, we took an early morning walk to the beach, then visited Mylapur for some shopping as well as to visit the local temple (you'll see a trend here, soon). On the 21st, my mom, my sister, and I went on a mini-sight-seeing trip with my grandparents, my aunt, and one of my cousins. We visited the Vedanthangal Bird Sanctuary and two temples in the city of Kanchipuram, including Ekambareswarar temple, the largest temple in the city.

I know we went to Vedanthangal to see birds,
but the monkeys were just so cute!
We spent the next few days with family and running errands. We also threw an ice cream party (of sorts) for the children at a local orphanage, and donated some clothes and things to the orphanage and a nearby old age home.  On the 23rd, my sister, mom, and I took a train to Bangalore, where we met up with my dad. The next day, we began a hectic but fun road trip in a rental car with a driver.

On day 1 of our trip (Christmas Eve), we visited Ranganthittu, a bird and crocodile sanctuary, where we took a guided boat ride. Next we drove quickly through the ruins of Tipu Sultan's fortress, followed by a visit to the Brindavan gardens in Mysore to see the light show (which wasn't much of a show, but it was still pretty). We bedded down for the night at a homestay in the Madikeri hill station in Coorg.

Abbey Falls
The next morning, after a traditional Coorg breakfast of homemade rice chapatis, we visited Abbey Falls, the Namdroling Monastery (a Tibetan Golden Temple) in Bylakuppe, and the Palace of Mysore. At this point, we were cutting it really close to the 8pm closing of the only road to Bandipur jungle, so we hightailed it to the Bandipur Tiger Reserve in record time, where we stayed in a resort for the night.

Tibetan Golden Temple
We took a safari bright and early the next morning, on which we saw very few animals. Fortunately, the driver of our rental car was familiar with the area and was able to show us plenty more creatures. After this, we began the long, arduous journey to Guruvayur (nearly a 7-hour drive), to see the Guruvayur Sri Krishna Temple. At Guruvayur, we got to see the Seveli ritual performed, where an image of the presiding deity, Vishnu, was carried by the temple's elephants (yes, elephants!) and the temple priests. The elephants (three of them, side by side, such an awesome sight!) circled the temple three times, with devotees preceding them and praying aloud. Seeing the Seveli was definitely worth braving the extreme crowdedness of the temple! After Guruvayur, we spent the night with some family friends who recently moved to India from our hometown in Georgia.

A peacock from our morning safari!
On December 27th (the following morning), we visited my dad's cousins, followed by my maternal grandfather's ancestral home, where he grew up. Next, we drove to Coimbatore, where we visited the university campus where my dad's eldest brother works. After a campus tour, we visited the famous Marudamalai temple, followed by a delicious dinner at the Annalakshmi charity restaurant. This was a really neat restaurant in that all the "employees" were volunteers, and you were allowed to pay whatever amount you wanted for the food you ate. What a cool idea! We spent that night at my uncle's place.
Amrita University, Coimbatore
(http://www.amrita.edu/cbr/)

The morning of the last day of our trip, we visited the local Perur temple during a festival. It was too crowded for us to go in, but we did get to see some of its beautiful architecture - thousands of years old. After saying our goodbyes, we began the trip back to Bangalore (which included a delicious buffet lunch in my mom's hometown of Salem).

During the remainder of my time in Bangalore and later in Chennai, I was able to see some friends from Georgia and Pittsburgh, and watched fireworks on New Years Eve on my aunt's terrace near the beach. A few days later, I returned home to Georgia, exhausted, but pleased with a wonderful trip!




Wednesday, February 6, 2013

Fall 2012 Semester: End

Wow, how long has it been since my last post? Since then, my semester has ended, and I've moved on to my last semester as a student! (Finally!)

I finished out last semester in Entertainment Design Studio (EDS) with one last Houdini project: a colormix OTL with basic compositing. You can see some of the iterations of my work along with the final version at the Youtube link below.
I really enjoyed my semester in EDS, but it made me realize that there is a lot more to Houdini than I can learn in a semester. Luckily, I will be learning a lot more Houdini in my co-op this semester... but more on that later. :P

I also finished up my project, Up+, sponsored by Microsoft. For this project, our team--five programmers, one artist, and one content designer (me)--worked together to create a highly personalized, interactive, retail experience to help sell the Windows Phone 8. The experience we came up with was a website which asked the user a series of seemingly random, unrelated questions. Our algorithm would then analyze the user's responses to these questions, and use this data to create a personalized Windows Phone for the user, complete with all the apps the user liked. My part in this project was designing the textual content and flow of the experience, as well as managing cultural implications and obstacles. You can read more about our project on the project website. The fruits of our labor have been handed over to Microsoft, so you will hopefully see it in retail spaces soon!

Next post: My winter break adventure!


Wednesday, October 31, 2012

Entertainment Design Studio: Progress Pt. 2!

As part of my elective this semester, during which I am learning Houdini 12, I recently finished my bowl-breaking simulation. Watch the video of my progress and the final version below:
I'm quite proud of how it turned out, especially considering what it looked like to start with and the number of iterations it went through. One of the main things I changed between the previous iteration and this one is the way the bowl is broken. I initially used the "Make Breakable" shelf tool, which breaks the object immediately on impact. For the final version, I instead went with the "Break" shelf tool for the model itself, followed by the "RBD Glue" shelf tool to ensure that the break occurred gradually.

There are a few things I think could use some work, if I had more time to fix this up. I would definitely like to do something about the leakage from the bowl. My initial idea was to use a proxy volume, but the problem was that the bowl needed to be a rigid body in order to be able to be broken by the falling rock. When I tried to use the proxy volume, it collided with the bowl and popped out on top of it, defeating the purpose of the proxy volume entirely. Finally, I came up with a sort of makeshift fix for the leakage: I compensated for it by starting the simulation with the bowl already tilted and slightly cracked. This made the splashing and movement of the leaking fluid plausible, as the whole bowl was moving and cracking further. The other issue I'd like to fix, given more time, is that the fluid that leaks out of the bowl becomes thinner and eventually disappears, as is evidenced in the video. I think the leakage would be more convincing if I could add some fluid emitters beneath the bowl which emit fluid as the fluid leaks from the bowl, keeping the amount of fluid present in the scene constant at all times (rather than slowly decreasing).

I also had some technical constraints to work with. I would have loved to have used a glass material for the bowl, to give it that extra bit of realism. However, I discovered that the machine I have to work with is not powerful enough to render scenes with complex lighting or simulation. While this put a damper on my creative juices, I think it also poses an interesting and definitely useful challenge for me: learning to construct an effect such that it is as easy to render as possible, while still looking realistic.

All adjustments aside, I'm pretty pleased with the final outcome. I've added the bowl breaking video to my film demo reel, which can be found here.

I've started my final Houdini project for the semester this week, so expect a progress update on that soon!

Tuesday, October 9, 2012

Entertainment Design Studio: Progress!

As I mentioned in a previous post, I'm using my elective for the semester, Entertainment Design Studio, to learn the basics of Houdini and to start to create my own VFX demo reel. Thus far, I've gotten solid introductions to lighting, rendering, shaders, particles, rigid body dynamics, fluids, and pyro. I've also gotten the chance to create custom tools using nodes (the one I use most frequently is a Light/Shade/Render tool which sets up a basic camera, ground plane, key light, and fill light for rendering purposes). The new topic I've been learning for this week and last week is how to integrate Python scripts and expressions into my simulation. It's proving pretty useful for my current simulation!

Ever since I finished the particles and fluids section, I've been working on a small simulation with which I've tried to combine all of the physical simulation techniques I've learned. It's a work in progress which has gone through several different iterations, but I think it's going well. This "mini-project" started out as a geyser shooting up out of some terrain, but it was pointed out to me that, since I am a beginner at using Houdini, it would be better for me to start out with something on a smaller scale. So, I set out to create a simulation of a bowl of water, into which a rock is dropped. The rock breaks the bowl, and the water spills out. Video of the work in progress is below.


Some challenges I have run into thus far:
  • Realistic breaking - I haven't yet experimented with the Voronoi fracture node, and have instead been using the "Make Breakable" shelf tool. While this is physically accurate and easy to use, it doesn't provide a realistic-looking or interesting fracture. It would be cool if the fracture appeared gradually (small cracks at first, then bigger ones), but instead it fractures into large pieces almost immediately.
  • Rendering limitations - As I am not using Houdini as part of a project, I don't have access to the ETC's render farm. Because of this, I have to be careful of which materials and shaders I use, and how complex they are. As I found out when I tried to render a bowl made of glass, rendering time can really add up if I'm not careful of how complex the lighting and simulation is in a scene.
  • Feedback: Learning curve vs. realism - One of the biggest challenges I've found is the feedback I've gotten on my work so far from my classmates. Not the quality of the feedback, but rather what they are commenting about. I am the only one in my class (and, maybe, the only one in my graduate program) who has any Houdini experience, and, as I am a beginner, there is a bit of a learning curve when I work on projects. When they see my projects, my classmates can at most give me feedback on the realism of my work, but not on the technique, the latter of which I think would be more useful to me. 
I originally intended this project to only last about two weeks, but I think I can learn a lot more from continuing to experiment with different effects and techniques for this simulation. I'll be working on this project for about another week. Check back for the final version!

Sunday, October 7, 2012

SIGGRAPH 2012!

This past August, I had the privilege of being selected to be a Student Volunteer at the SIGGRAPH 2012 conference, a conference and exhibition focusing on Computer Graphics and Interactive Techniques convened by ACM SIGGRAPH. There was no photography allowed at the conference, so the only two photos I have are of the lobby and outside area; however, rest assured that any photo I could take could not possibly convey how amazing this experience was for me. I have wanted to attend this conference for a few years, as it is such an incredible learning opportunity for computer scientists interested in computer graphics, as well as a great way to network. Unfortunately, I (until now) was never able to procure the funds to attend. I was ecstatic to be selected as a student volunteer this year and to have access to the ETC’s conference stipend as well, in order to make this trip possible! 


While at the conference, I attended many talks and presentations, including (but not limited to) “Studio Views of Demo Reels,” SIGGRAPH Dailies, Real-Time Live!, “Grooving” (a Studio Talk), “Effects Omelet” (several VFX studios’ presentations on how they achieved complex effects), and some presentations exclusively for student volunteers. One such presentation, “Getting Your Foot in The Door at a Major VFX Studio,” I found extremely useful. It was presented by Andrea Pace of the Production Services & Resources department at Sony Imageworks; she described an entry level position at the company (with equivalent positions at other studios) where I would be able to gain experience working on a major film production while also learning skills to carry on to another position. This talk definitely opened a new door for me in terms of career paths and skills I can work on in order to get a job in the film industry. Along the same lines, “Studio Views of Demo Reels” was also quite useful, as representatives from various studios showed reels and reel clips of skills they look for in potential hires.

Real-Time Live!, another favorite presentation of mine. showcased the latest trends and techniques in interactive visuals. The part of the presentation that I found most intriguing was “Beauty: Real-Time Visuals,” a presentation of BeautyPi. This is a project that takes advantage of high-quality, advanced, real-time rendering to create an engaging and interactive experience. BeautyPi is the perfect example of something I would love to do as a career: merging great VFX with music and audience interactivity to really captivate and immerse the audience.

Aside from attending talks and presentations, I also explored the different areas of the conference, such as the Art Gallery, the Exhibition Hall (of course), and the Emerging Technologies area. The Emerging Technologies area was neat, for obvious reasons, and I liked the Art Gallery as well! My two favorite works there were "The Galloping Horse" and "The HeartBeats Watch" (the latter of which I was tasked with guarding as part of my student volunteer duties).

My biggest takeaway from this conference was first and foremost that it really inspired me to stay creative, to keep looking for ways to integrate the various things I’ve learned, and to continue to work across disciplines (a la BeautyPi).  A secondary (but not less important) takeaway was all of the amazing people I met. Not only did I get to network with industry professionals and learn about all of the innovations in the graphics industry, but I also came away with many new friends! (Not to mention, I got to catch up with Greg Turk and Chris Wojtan from Georgia Tech, both of whom advised me on an NSF-funded CG research project I worked on back in Summer of 2010.) Attending this conference made me realize that Computer Graphics is not purely a technical field, and that there is a lot to be learned in this area from artists as well! I learned so much from this year’s conference, and I can’t wait to go back next year!

Sunday, September 9, 2012

A New Semester!

I'm back in Pittsburgh (by the way, I know my SIGGRAPH post is a month overdue, so I'll get to work on that, next), well into the first few weeks of a new school year! This semester, I'm on project team Up+ (website currently under construction), working on a retail display for the upcoming Windows Phone 8. While we are based here in Pittsburgh, our client contact, Arnold Blinn, is up in Seattle. We've been NDA'd, so details will be scarce, but suffice it to say that we are only three weeks in, and I'm already super excited for this project!

Outside of school, I've been working on brushing up my UNIX skills and getting back into shell and Python scripting to automate the more time-consuming processes on my computer that I usually do by hand. In an effort to commit to this, I've given up mouse clicks in favor of full keyboard navigation while on my Mac partition at home. I've been doing this for about two weeks, and I'm slowly getting better at cmd+tabbing and cd-ing my way around my computer. Progress!


What I'm most excited about right now is my elective for the semester: Entertainment Design Studio. This class is an independent study, but better. Within the first week, the students choose a goal for the semester, come up with a plan to achieve it, and how it will be evaluated. From then on, it's all about following said plan and getting feedback. We have allotted class time where we can work on our independent studies in an actual classroom, present to the instructor, and get criticism from our classmates and instructor. For my EDS project, I've decided to learn Houdini, and I plan to create a Houdini reel by the end of the semester. I have to say that, so far, Houdini is really fun! I've used Autodesk Maya quite a bit (and 3DS Max a little bit), and while they are both useful and easy to navigate, I've found Houdini's procedural approach much friendlier to my math-oriented mind. The hours I've spent going through tutorials have flown by, and I'm looking forward to learning more! I've already gotten a good overview of the UI and contexts, lighting, rendering, and shading, and I just finished the section on fluids and rigid body dynamics. This week, I'll be diving into my first "assignment." Stay tuned for updates on my progress!