Today was the day which marks the end of a 2½ month stint with Side Effects Software Inc. And today, we also had to present what we did during this stint. As required, the final renders, shot-breakdown and of cause presentation slides which summarize what we did. Initially, the presentation will be held at 10am but was postponed to later time, 12pm as Steven was coming in to see the presentation.
I was first to present, follow by Jia Bao then Bryan and lastly, Lu Sheng. Everybody in the office were present and saw our presentations. Aliza and the rest were impressed and all of us did well. We had a good presentation. Some of the interns or SESI, bought lunch for everyone and we get to order what we like. After all the hype and lunch, Ari bid farewell to us, probably the last time we will see him. We also kind of had a very very small biding farewell session with the rest of the interns and also to thank them for their great help throughout this stint. A very very small farewell session because we are still going back tomorrow.
After so long, I had not been telling/showing what I did for the project, maybe some bits and parts of here and there of my project scattered among different post. I have decided to do a very long post at the end to summarize the entire project, from R & D to post-production. Will do the posting as soon as I prepare all the stuff and compose them neatly. Be right back....
Thursday, 25 August 2011
Tuesday, 23 August 2011
Day 71-73 -- 22/8/2011-24/8/2011 Monday - Wednesday
Spending the whole day checking the renders, when I encounter any missing/bad frame, I will re-render that frame and patch back. Also, finalizing the remaining shots and put them in the render farm. It was the same for the next two days as the final presentation date will be held on the 25th August. What I did was to wait for renders spitted out by the HQ render farm. As everyone was rushing, we got to wait for available machines to be free to get assign for the renders. Of cause, priority will be given to those in need or urgently needed to get the renders done. Could tell everyone was in a panic state.
While waiting for some shots to be rendered, I did some compositing work on Nuke. Was my first time using it and I got the hang of it after awhile. I got help from Zack and abit from Lu Sheng, which he also got help from Zack. I will say that Nuke was interesting and I loved it. The tools and interface was easy to understand and straight forward. Now, I will summarize what I did for the all of the shots.
Shot 1: Extract reflection pass and tweak, add blur, color correct and then apply depth of field.
Shot 2: Extract reflection pass and tweak, add blur, color correct.
Shot 3: Extract reflection pass and tweak, add blur, color correct.
Shot 4: Extract reflection pass and tweak, add blur, color correct and add camera shake.
Shot 5: Extract reflection pass and tweak, add blur, color correct.
And to prepare for the shot-breakdown and the presentation slides.
While waiting for some shots to be rendered, I did some compositing work on Nuke. Was my first time using it and I got the hang of it after awhile. I got help from Zack and abit from Lu Sheng, which he also got help from Zack. I will say that Nuke was interesting and I loved it. The tools and interface was easy to understand and straight forward. Now, I will summarize what I did for the all of the shots.
Shot 1: Extract reflection pass and tweak, add blur, color correct and then apply depth of field.
Shot 2: Extract reflection pass and tweak, add blur, color correct.
Shot 3: Extract reflection pass and tweak, add blur, color correct.
Shot 4: Extract reflection pass and tweak, add blur, color correct and add camera shake.
Shot 5: Extract reflection pass and tweak, add blur, color correct.
And to prepare for the shot-breakdown and the presentation slides.
Saturday, 20 August 2011
Friday, 19 August 2011
Day 68 -- 19/8/2011 Friday
I played with the keyframing and the graph editor to smooth out the camera movement in shot3. It took me quite long to test out as I need to play the sequence with the cube stream on to visualize the movement to the camera angle. Overall the angle is there. Also, Steven told me to fix a few thing in this shot, e.g the cubes are intercepting the floor and I also find the speed of the stream was quite fast. I got to tweak the velocity parameter and the scale of force of the velocity path and re-sim each time so it took awhile to get what I want.
After that, I work on the suggestion/advice by Steven on some part of the shots. For shot 1, the last part of the camera movement somewhat coincidentally move along with the cube movement making it kind of awkward to look at. Fix that as soon as I was done with shot 3. Next was shot 2. The part where the cubes start to roll towards the camera, I need to make it such that some of the cubes gets to pick up the wind force then gradually the rest of the cubes gets the wind force. By doing that, I use an expression on the wind force.
(rand($OBJID) < clamp((($F/ -350)/20, 0, 1) * the value set by the user of wind force
What the expression does was picking random cubes to apply the force on from the "rand($OBJID)". Then the current frame - 350; 350 is the frame the simulation start, the value was then divided by 20 and thus setting a kind of threshold of the wind force to kick in. A clamp function is use to prevent the value from going outside the range which in this case set by me, 0 to 1.
Like before, I did some test renders while waiting for simulation to cook and stuff. I still couldn't decide on the color scheme. I played with black, teal, red, blue and white. I also did some motion blur test but the result was weird. I was then told that tweaking the xform time sample will lessen the motion blur.
After that, I work on the suggestion/advice by Steven on some part of the shots. For shot 1, the last part of the camera movement somewhat coincidentally move along with the cube movement making it kind of awkward to look at. Fix that as soon as I was done with shot 3. Next was shot 2. The part where the cubes start to roll towards the camera, I need to make it such that some of the cubes gets to pick up the wind force then gradually the rest of the cubes gets the wind force. By doing that, I use an expression on the wind force.
(rand($OBJID) < clamp((($F/ -350)/20, 0, 1) * the value set by the user of wind force
What the expression does was picking random cubes to apply the force on from the "rand($OBJID)". Then the current frame - 350; 350 is the frame the simulation start, the value was then divided by 20 and thus setting a kind of threshold of the wind force to kick in. A clamp function is use to prevent the value from going outside the range which in this case set by me, 0 to 1.
Like before, I did some test renders while waiting for simulation to cook and stuff. I still couldn't decide on the color scheme. I played with black, teal, red, blue and white. I also did some motion blur test but the result was weird. I was then told that tweaking the xform time sample will lessen the motion blur.
Thursday, 18 August 2011
Day 67 -- 18/8/2011 Thursday
The first thing to do was to gain control of each cube with cubes on fluid path. I wanted to give some of the cubes so rotation so to give the look of stream of violent cubes rather then a gentle flow of fluid path. I applied the same technique on the previous shot where the smaller cubes from the exploding cube starts to roll. However this time, with fluid solver already in the dopnet, having RBD fracture in the same dopnet will be complex and slow. I consulted Ziggy on this problem. He told me I should rop out the sequence and then use a simpler method of copy stamping.
At 12pm, there was a training class on intro of Houdini by Ari. The class was good and interesting although it was some basics. I even got to help out some of the people who needs help on some questions.
After that, I did some test renders trying out some of Zack's advice. I went to change the reflections on the shadow area. I tried to lower the reflection of the shadowed area but the normal side was compromised. What I did was to use the width of the hatch as a measurement to dictate the reflection. I didn't save the test renders though. Also went to lessen the reflection of the wall and floor by tweaking the reflection angles of the lighting model in the shader itself.
At 12pm, there was a training class on intro of Houdini by Ari. The class was good and interesting although it was some basics. I even got to help out some of the people who needs help on some questions.
After that, I did some test renders trying out some of Zack's advice. I went to change the reflections on the shadow area. I tried to lower the reflection of the shadowed area but the normal side was compromised. What I did was to use the width of the hatch as a measurement to dictate the reflection. I didn't save the test renders though. Also went to lessen the reflection of the wall and floor by tweaking the reflection angles of the lighting model in the shader itself.
Wednesday, 17 August 2011
Day 66 -- 17/8/2011 Wednesday
I went to tie up the loose end of shot2. For the past 2 days, I've been working on combining 2 shots into 1. There was a slight jerk in the middle and I thought it was the camera graph but after seeing the shot with Evan, he see that the camera was smooth instead, the cube movement was the one who causes the jerk. He suggested that rather the cube to pick up speed immediately, I could make it gain speed gradually so it will not have a sudden movement. For that, instead of using a vopforce, I apply a windforce sop and removed the point velocity assign to them.
Also, I added 3 more exploding cube to enhance the number of mini cubes. It's to make it more believable as the next 2 shots will show many cubes. Adding more exploding cube means I got to re-rop the geometry out and play with its timing of trigger.
Also, I did some test lighting while waiting for the roping to complete. I try different colors on the wall. I wanted the wall to be white but due to the reflections, it was overly-exposed. For the lighting, I used 2 lights. One environment light and an area light at the side. As the room is enclose, the environment light cant pass through so I got to shadow-link, not to cast shadow on the room, using the light linker. The area light do not cast shadow on the cubes. Also, I showed Zack a render sequence and give me some advice on improving the renders. For example, the reflection on the wall got to be less sharp, the reflection on the floor got to gradually fall off, lessen the reflection on the hatch area and to widen/darken the hatch lines.
Today, we also had a hour lesson on nuke. A basic Nuke lesson by a fellow intern. The lesson was on basic navigating, interface parameter and compositing layers with the help of Houdini. A simple yet enriching lesson.
Also, I added 3 more exploding cube to enhance the number of mini cubes. It's to make it more believable as the next 2 shots will show many cubes. Adding more exploding cube means I got to re-rop the geometry out and play with its timing of trigger.
Also, I did some test lighting while waiting for the roping to complete. I try different colors on the wall. I wanted the wall to be white but due to the reflections, it was overly-exposed. For the lighting, I used 2 lights. One environment light and an area light at the side. As the room is enclose, the environment light cant pass through so I got to shadow-link, not to cast shadow on the room, using the light linker. The area light do not cast shadow on the cubes. Also, I showed Zack a render sequence and give me some advice on improving the renders. For example, the reflection on the wall got to be less sharp, the reflection on the floor got to gradually fall off, lessen the reflection on the hatch area and to widen/darken the hatch lines.
Today, we also had a hour lesson on nuke. A basic Nuke lesson by a fellow intern. The lesson was on basic navigating, interface parameter and compositing layers with the help of Houdini. A simple yet enriching lesson.
Tuesday, 16 August 2011
Day 65 -- 16/8/2011 Tuesday
Back to work on the "cubes rolling to camera" sequence. Yesterday, I was stuck at making all the cube to move despite having point velocity assign to all cubes. I thought of doing something like giving them a rule saying "if the speed is below a certain amount, give it the necessary amount of speed to move again", however, I know how the concept but didn't know how to apply, guess I need more Houdini lesson. I asked Charles for help, telling him the concept I had. He said this was a good way to solve my problem. He did a vopforce sop in dopnetwork.
Inside the vopforce, this was what he did;
> add a length sop to the velocity of the global to computes the length of the 3D vector.
> a compare sop to set rule like "less than", also give it a parameter, minspeed, for the user to input a value.
> a if sop with the compare sop connect to its condition, if the condition was true the value will be multiply by a constant and multiply with the mass and output it.
After getting the results I wanted, I play with the minspeed parameter to adjust the speed. I started out with a high, ridiculous value to see if the network does affect the cubes, then slowly decreasing the value by half to the right amount. Now, it does what I want.
Next, I work on the camera movement connecting that 2 shot together. I had this flipbook render of the this 2 shot and showed Steven. I am required to fix this little jerk in the middle.
Inside the vopforce, this was what he did;
> add a length sop to the velocity of the global to computes the length of the 3D vector.
> a compare sop to set rule like "less than", also give it a parameter, minspeed, for the user to input a value.
> a if sop with the compare sop connect to its condition, if the condition was true the value will be multiply by a constant and multiply with the mass and output it.
After getting the results I wanted, I play with the minspeed parameter to adjust the speed. I started out with a high, ridiculous value to see if the network does affect the cubes, then slowly decreasing the value by half to the right amount. Now, it does what I want.
Next, I work on the camera movement connecting that 2 shot together. I had this flipbook render of the this 2 shot and showed Steven. I am required to fix this little jerk in the middle.
I asked Evan for his advice. He help me start tweaking the some parts in the graph editor. We spend some time tweaking that. Then he told me to combine both camera together to have a one shot movement. I combined both together by copying the keyframes on one camera to another. The overall movement was there but now there are a few bumps and hiccups. I spend nearly 2 hours tweaking on the graph editor. Finally, with Evan helping me to finalize the movement.
Monday, 15 August 2011
Day 64 -- 15/8/2011 Monday
I was trying some stuff on Sunday, hoping to accomplish something but I was stuck at a point. When I select a cube out of the exploded cube, it select a cube from each "group". I couldn't continue as I want to apply jitter movement to a single cube.
Today, the first thing I did was to solve this problem. I asked Charles for help. He showed me using the assemble sop to identify each cube as an individual geometry.
Then I asked him how can I know which cube number to choose if I want to choose a specific cube. He then directed me to Ziggy. Ziggy explained to me while laying down sop by sop. First, I need to break up the group and re-assigning new primitive attribute then grouping them with the new attribute. Next, a foreach sop to add a point to each cube. A centroid expression to centralize the point. A delete sop to see the selection.
After getting the cubes isolated, I started applying jitter movement, running through foreach, using the rand($FF) expression, also an if statement to activate the expression at a certain frame. I tried tweaking the values of the expression but after quite some time, the movement looks subtle through the camera angle. I asked Steven for advice to see if scraping the idea will be better. He agreed.
After that, I carried on to the next part where the cubes will roll towards the camera. The steps are as follow; save a single bgeo of the rest position, delete unwanted attribute to clear up memory and neater in a way, creating a new velocity attribute and then promoting it as a point attribute so in a point sop, velocity can be added there. Next I put them into a dopnet and do a test run. However, the result was not as expected. Instead of individual cube roll, the thing moves as a whole, the entire area moved together. Consulted Ziggy on this and he points out that using RBD object moves the entire thing as it reads in the sop path while using RBD fractured group has a group mask function which read each group, allowing each group to act on its own. I had a test video on this.
Saturday, 13 August 2011
Friday, 12 August 2011
Day 61 -- 12/8/2011 Friday
Back from the Vegas trip, I needed some time to refresh my memory. Oh, I planned to abandon the "transformer-effect" on the cube transformation. I spend some time working on shot2 where the smaller cubes burst out of a cube. Played with the creation frame to control when each simulation kicked in, also, the point sop, where it controls the velocity vector direction which varies to its speed. Next, I went ahead to work on shot 5. That shot somehow linked up the entire sequence and I needed to finish up that fast. However, things don't always go smoothly. Firstly, I wanted to follow a camera angle reference from world of warcraft. I played with the keyframe of the camera but always didn't get what I wanted, sometimes it even get very weird result. I got stuck at this point for quite long. Next, was the movement of the cubes. The direction of the flow required tweaking and each time I tweak, the simulation cooking takes very long.
Thursday, 4 August 2011
Day 52 -- 3/8/2011
Pretty much started the day by trying out some lighting test. I asked Zack for some advice for lighting interior, like an enclosed room. I also showed him a reference which I might follow quite closely. Closely looking at the reference, he explained the setup to me. It looks like some ambient occlusion kind of feel and an area light, not casting shadow, acting like an key light on the object.
Okay, Zack suggested using environment light to light up the scene and an area light as a key light on the objects. Heeding his advice, I tried it out. However there's an issue. As my scene had a enclosed room, the environment dome light cant penetrate in. I thought of light link the shadow mask of the room away of the environment light. I was kind of struggling with this part as I didn't expect it to be that messy. It kind of work but don't know if it's the correct way of doing.
Next, I try out the finalized toon shader on the room wall. Using a spot-light to test reflection on the wall, give more variations and not flat at all. I also test out the reflection, like clear reflection and blurred reflection. For the wall without reflection, it looks totally flat, I will scraped the idea of making it non-reflective for the wall.
Next, I was playing with the reflection properties and did some test renders, clear and blurred reflections. The cleared reflection was too clear until the opposite wall could be seen. It was kind of distracting for the audience. For the blur, it was a little over blurred and need to adjust more, the noise was kind of noisy. So I need to strike a balance between the both of them.
Okay, Zack suggested using environment light to light up the scene and an area light as a key light on the objects. Heeding his advice, I tried it out. However there's an issue. As my scene had a enclosed room, the environment dome light cant penetrate in. I thought of light link the shadow mask of the room away of the environment light. I was kind of struggling with this part as I didn't expect it to be that messy. It kind of work but don't know if it's the correct way of doing.
Next, I try out the finalized toon shader on the room wall. Using a spot-light to test reflection on the wall, give more variations and not flat at all. I also test out the reflection, like clear reflection and blurred reflection. For the wall without reflection, it looks totally flat, I will scraped the idea of making it non-reflective for the wall.
Next, I was playing with the reflection properties and did some test renders, clear and blurred reflections. The cleared reflection was too clear until the opposite wall could be seen. It was kind of distracting for the audience. For the blur, it was a little over blurred and need to adjust more, the noise was kind of noisy. So I need to strike a balance between the both of them.
Tuesday, 2 August 2011
Day 51 -- 2/8/2011 Tuesday
Went to continue conceptualizing the camera angle for the shots. Kinda still struggling with having many dopnetwork in a hip file. It was quite irritating as simulation overlapped each other causing the scene to lag. I decided to trying roping out the sims. For the whole day, I just concentrate on conceptualizing the angles. I showed Ari the overall angles and he was satisfied with it and said that it had improved much since last week. After finishing with the rough work, I clean up the hip file as much as possible. Here is the flip-book sequence of the entire project, actually left out a shot. The speed are still quite fast but the rough concept and angle are almost there. Its kind of what I wanted.
Monday, 1 August 2011
Day 50 -- 1/8/2011 Monday
I asked Ziggy if there's such thing as stopping a dopnetwork simulation. I never had a series of dopnetwork in a hip file, was my first time doing this. I experienced overlapping simulation and was causing the scene to lag. Ziggy's solution was to add a drag or alter the object's and floor's friction. He also mention using RBD freeze but it was not what I wanted and I shouldn't use that as I had quite a number of dopnetwork. After some advices, I tried out his methods. The drag method kind of worked and I stick to that since. I started working on the camera angles. I will say that I kind of wasted today as I spend quite a time working on a sculpted fluid sequence. The thing just simply wouldn't budge.
Subscribe to:
Posts (Atom)

















