Sunday, June 12, 2011

The Eagle Has Landed

Finally, today is the day we've reached Los Angeles.

Our flights from Singapore to HK and HK to L.A. were really really long.
Kept figgeting about since I'm claustrophobic.

We've arrived safely at our new home and successfully established internet connection.
Right now Jia Bao, Tanner and Lu Sheng have officially knocked out.
Except me of course since I want to write this short post before I knock myself out too.

This will be the last post before I migrate to my new project blog.

Once again, thanks to all the lecturers in NYP SIDM who made this possible.

Mr Ron, Mr Michael, Miss Eda and Mr Tk!

Link to my new project blog here:
www.projectsesi02.blogspot.com

So once again stay tuned, we'll be geared up and back in action by Monday (L.A date, in Singapore it'll be Tuesday) to kick some CG butt.











Tuesday, June 7, 2011

Elapsed Day 7

Guess what.

Yeah our flight got delayed...

Feel as though I'm actually stranded in my own home country.

Either way I've spent time thinking about my idea for the next upcoming project.
It's a simple yet satisfying idea, I'll draw out the storyboards soon.

Let's see if I can pull it off shall we?

Anyway here's a demonstration of my latest rock generator digital asset.
It's pretty cool and procedural check it out!

Part 1


Part 2


Watch out for my next project blog coming soon!

Tuesday, May 31, 2011

Day X

Our final year project officially ended last friday along with our presentation.

Because we didn't have our ultimate final renders ready we had to show our individual best works produced during these 3 months.

For me it was the digital assets and procedurally generated models I created.

Here's my digital asset presentation

Height Map Digital Asset



Rock Generation Digital Asset


It's not over yet, we're back in school now to touch up on the shot and document our files. Whether we can finish it in time by this friday? We'll find out soon enough.

Wednesday, May 25, 2011

Day 54

I suppose my encounter with pyro fx has paid off even though it's not going to be used for the project in LA.

I dived into the AutoDopNetwork for Tanner's flip fluids file, tweaked a couple of parameters and nodes here and there.

I have a rough idea of how the file works. The smoke solver is actually driving the flip fluid particles to flow nicely. The particles are somewhat there for the details.

Here's my documentation of what I've learnt so far:

AudoDopNetwork

Particle Fluid emitter:
Velocity changes speed emission rate of fluid.
Variance increases randomness of particle motion.












FLIP Solver:
Force Scale increases amount of strength used to drive the particles.
Smoothing controls how much friction is applied to particles. Affects bouncing off primitives.












Gravity:
Y-axis tweak, nice to tweak this along with velocity and force.












flipfluidobject:
Particle seperation affects space between particles.
Physical Tab -
Bounce affects particles bounce sensitivity. Tweaked this along with smooth.












Smoke Solver's Apply Source:
Noise Tab -
Frequency tweak?
Turbulence tweak?
I turned it off as it didn't make much difference in the end.
Emission Amount -
Doesn't affect look much.
Affects rate of emission of smoke but doesn't affect particles much












OBJ/ particlefluid


particlefluidsurface:
Surface tightness controls connectivity between particles in volume state.












Basic Liquid Shader

Achieve looks by tweaking:
Attenuation Density,
Attenuation Colour,
White water &
White water colour.






===================================================

Flood Simulation

Here are test simulations to determine the flow of how the flood is going to pour down the terrain. The simulation of the particles may differ when the emitter is scaled up to match the size of the terrain. Thus I'm prepared to increase the emission rate of particles and re-tweak the settings if needed.

Test Renders 01 to 08 showcase the simulations of the particles not in their fluid volumetric state:



After getting the look I want from the flow of particles, simulating them in their volumetric state didn't go quite well.

Note: For comparison with render timings, total number of frames flipbooked is 50 for all simulations.

testRender_09: Simulation from testrender_08 with volume state.
Simulation Time: 11 min +

testRender_10: Very active noisy look.
Force Scale: 2.5
Smoothing: 0.25
Bounce: 0
Simulation Time: 10 min +

testRender_11: Particles still scattered around but less active.
Force Scale: 2
Smoothing: 0.25
Bounce: 0
Simulation Time: 10 min +

testRender_12: Particles extremely active. Particles scattered, seperated and isolated everywhere.
Force Scale: 2
Smoothing: 0.1
Bounce: 0
Simulation Time: 9 min +

testRender_13: Lack some splash details. Liquid flows somewhat nicely though.
Force Scale: 1.25
Smoothing: 0.5
Bounce: 0
Simulation Time: 10 min +

testRender_14: Particles flow very smooth and nicely, probably not ideal for a violent flooding scene we're working on.
Force Scale: 1.5
Smoothing: 0.5
Bounce: 0
Simulation Time: 10 min +

testRender_15: Particles flow slightly more vigorously, other than that not much change.
Force Scale: 1.5
Smoothing: 0.5
Bounce: 1
Simulation Time: 10 min +

testRender_16: Some particles flying around.
Force Scale: 1.5
Smoothing: 0.35
Bounce: 1
Simulation Time: 10 min +

testRender_17: Looks decent if it's going to be scaled up?
Force Scale: 1.5
Smoothing: 0.4
Bounce: 1
Variance: 5 in x, y & z
Simulation Time: 10 min +


These are what I've observed so far

In simple terms,
Force Scale controls how nice and smooth the flow is.
Smoothing controls how sensitive the particles react to geometries.
Bounce controls how vigorous the flow is.

Possible Outcomes?

Increase emission rate of particles if scaled? (To achieve and maintain fluid details.)
Somehow decrease the size of each particle in it's volumetric state?
May have to bump up tweaked values to maintain detail on scaled fluid?

Tuesday, May 24, 2011

Day 53


I've thought about my alternative ideas regarding the project to be done at SideFx. I've got a couple of references to help me start off since it's involving particles flowing in houdini. I'm not going to go into details on my idea yet till I get the storyboards drawn out.

For now my first alternative idea involves using particles to reenact the activation of science fiction active camouflage.


















Second idea involves using simple trails of smoke sprites emitted from missiles delivered by an apache strike team. Reference images will be posted soon.

Friday, May 20, 2011

Day 52

So day 51 went by pretty quickly. The lucasarts talk was about how a production pipeline works in the game industry, attitude and quality comes first, passion and things we're supposed to look out for when we enter professionalism.

Quite similar to most talks we've been to before. Still it was worth refreshing our memories with what stuff we should be prepared to face when we're gonna enter the film industry in the near future.

This morning my storyboards involving the epic nuclear explosion with the destruction of military choppers have been rejected. Thankfully the guys from Sidefx told us conducting pyro simulations over there will be too time consuming before I went too deep into my research. Oh well, looks like I'll use my alternative storyboards I've had in mind.

I really wanted to do an awesome nuclear explosion... ):

Moving on to project Dragon Flood, I'm providing some assistance to jia bao and tanner by doing a few placements of more rocks and understanding fluids to help tanner when he needs it. (Since fluids is quite similar to pyro fx)

Thursday, May 19, 2011

Day 50 to 51

Once again I've stayed overnight in school to run a couple of pyro simulations while working with Jia Bao on the placement of geometries in the terrain.

I've done some shading tests along with the simulations. Even though the simulations run pretty okay, the pyro shader still needs quite a lot of tweaking to get my hollywood style nuclear explosion.













=========================
  












=========================

Here are some test simulations before test rendering using mantra.

The secondary simulation wave is being bounding by a square. I don't know whether it's the gasresizefluid container causing this problem or isooffset. Let's post some questions on odforce!



 

 

 

 

 

Day 51 post shall continue, based on me writing about an upcoming Lucasarts talk which we're gonna attend at 2pm. Also along with some problems I'll try to solve regarding the secondary simulation bounding problem.

Wednesday, May 18, 2011

Day 49

The previous post Day 47 and 48 has been updated, a new walkthrough of normalization rather.

Mr Douglas got ready the camera angles and dragon animation for us to follow.

Introductory Shot


Flood Shot



Dragon Flood Sequence



There were few additions to the terrain we've thought of adding.
However with the vopsop rock generator, that would be an easy task.

As for the rock generation digital asset, I still have one last problem to solve. That is allowing the user to visualize the geometry being repositioned to fit the bounding box, which I still can't manage to figure out how to do.

Monday, May 16, 2011

Day 47 & 48


Here's a walkthrough of a method which enables user to:
1) Import a low-poly geometry.
2) Tweak the geometry in 3 different sections of the geometry regardless of shape and size.
3) Apply a layer of vopsop as shown in previous walkthrough. (See day 40)
4) Render bgeo.

Special thanks to Mr Ron for cracking his brains over this method. I could have never come up with all the expressions myself without his help.


==========================================================================



Import in a low-poly base mesh and subdivide it. Don't subdivide it too much or you'll face PC crashing based consequences later.



Create 3 transform nodes to act as the following functions:

1) Rotate geometry about it's pivot to fit bounding boxes which are meant to capture top, middle and bottom points of geometry. Rotation will be defined by user.


2) Center to centralize geometry and zero out transformations.



3) Normalize geometry to fit into the scale of 1 unit for bounding boxes to act upon.


Create 3 bounding box groups to control the top, middle and bottom of the geometry. The bounding boxes will grab certain points of the geometry (based on where it's position) so that transform nodes can be applied to edit those parts.

Expressions used:

bbox("../xform_center", D_YSIZE)/3

In the Y channel of Size attribute. This expression controls the size of a bounding box. It divides the scale in Y axis by 3 according to the geometry. Thus this allows all 3 bounding boxes to fit into the 1 unit the geometry is confined to.

centroid("../xform_center", D_Y) - or + bbox("../xform_center", D_YSIZE)/3

In the Y channel of center attribute. This expression is used to position a bounding box right in the middle of the geometry. Subtract or add the previous expression to position the bounding box bottom or top.

centroid("../xform_center", D_Y) + bbox("../xform_center", D_YSIZE)/3


centroid("../xform_center", D_Y)


centroid("../xform_center", D_Y) - bbox("../xform_center", D_YSIZE)/3


Create 3 softTransform nodes, each softTransform node will control the points of the geometry within a bounding box by reading a group name.


The softTransform nodes will be for the user to twist the geometry and make the rock more organic looking.


Create 3 more transform nodes. These will be used to reverse the rotate, center and normalize nodes. The edited geometry will then be transformed back into its original scale and position.

Reverse Normalization


Reverse Centralization


Reverse Rotation


Add a pre-generated vopsop layer onto the geometry for additional rock details.


Here would be a good time to increase subdivisions slowly to see extra details pop up.


==========================================================================

This section of screen shots shows how a user will use this rock generator before I turn it into a digital asset.




Thursday, May 12, 2011

Day 46

Here's the 2 expressions I was talking about in my previous post.













Today I've spent most of the time testing pyro simulations as I'm once again stuck with the rock generation. I can't seem to reverse the normalisation in it.

I shall ask Mr Douglas and Mr Ron for assistance in the review.

There are also some problems I'm facing with pyro fx and I'm currently still figuring out how to successfully produce a secondary simulation. I hope I can solve all my problems by friday...

Here are some test simulations



The first thing I want to create is a nice looking mushroom cloud with fire continuously burning into the clouds.

nuke_testRender02 is the result of me adjusting curves in the fuel and smoke amount graph.

The fire continues to burn but the smoke doesn't react.

nuke_testRender03 is a more successful look but the fuel and smoke dies away after some time, in this case I dragged the keyframes close to their default positions.

Here's the thread in odforce containing my w.i.p and request for help:
http://forums.odforce.net/index.php?/topic/13196-nuclear-explosion/

Wednesday, May 11, 2011

Day 45

No work screen shots for today as it's quite unnecessary. What I mostly did was solve normalisation problems using expressions and gain more understandings and knowledge regarding pyro fx.

I had a couple of questions for Mr Ron, most of which involved me being stuck at some point in both the rock generation and pyro fx area.

Here's a summary of the FAQ session:

What expressions do I use if I want 3 bounding boxes to control a geometry?

bbox("../xform_center",D_YSIZE)/3

Assuming the geometry is already scaled down to 1 unit using the expression mentioned 2 posts ago (1/$SIZEX), the expression above controls the size of one of the bounding boxes. It divides the scale in y axis by 3 according to the geometry. Reason being I want to have 3 bounding boxes altogether (top, middle, bottom).

centroid("../xform_center",D_Y) - or + previous expression

This expression is used to position one of the bounding boxes. Use the expression centroid("../xform_center",D_Y) in center y to position the bounding box right in the middle of the geometry. Subtract or add the previous expression bbox("../xform_center",D_YSIZE)/3 to position the bounding box top or bottom.


Pyro fx questions:

"pyrosolver/sources/emitters/fuel amount(dont forget to scope the channel and adjust the curves)"?
Shift click channel to open graph window. Alt left click to create keyframe. Adjust the curves to your liking.

Prolong smoke emission?
Adjust curves as explained in previous answer.

Control intensity of fire within smoke? (See Russian Tsar Bomba Reference)
Control pyro surface shader in shop network. Play with the curves to achieve wanted looks.

Ideas on how to emit glowy effect from nuclear upon explosion?
Refer to previous answer above.

Pyrofields caching?
A good time to cache the bgeo files is when the simulation time takes about 10 seconds per frame.

Should I use the advanced tab when working with pyro fx?
Nope, next time buddy.

Monday, May 9, 2011

Day 43 & 44


Here are my storyboard ideas, I've finally scanned and uploaded them.

First Idea :



Second Idea :





Mr Ron! The pyro fx videos you provided were great! Now I understand much of the basics of pyro. Well there's too much to describe what I've learnt so far but here's some screen shots of some simple tests and renders I've done so far. I'll put up more descriptions in the future once I've familiarized myself with pyro fx and when I'm fluent with it.













 















From here, I tried forming the shape of a nuclear mushroom explosion.


Before that I've encountered a slight problem when resizing the fluid bounding box simultaneously along with the simulation of the explosion, it just couldn't work. In the end I realized it was due to a typo error I made.












Over the weekends Mr Douglas came up with a test file involving the use of bounding groups and softtransforms. I've tried applying the similar technique to the rock generation but I seem to have run into a little bit of trouble. I'll ask Mr Douglas or Mr Ron for help regarding this matter. It should get fixed by tomorrow.