Pages

Showing posts with label Fur. Show all posts
Showing posts with label Fur. Show all posts

Monday, January 22, 2018

Revolting Rhymes - Trailer


Hey all, 

One of the projects I worked on recently has released an awesome trailer.
I was Lead of Rigging, Fur/Hair and VFX on this one. Was a crazy fun, extreme time.




End

Thursday, September 25, 2014

How to install and use Symmetrice hair by booyabase...




So here is a video showing how to use a .py file off the net in XSI

*Note that every .py file is hand made and the maker can place his user menu where ever he wants*





Anyway... hope this video helps you out Mario :D

P.S this .py said it was made for 32 bit but it worked perfectly well on my 64 bit xsi... Win.


*By the way, this is a great little tool Booyabase*

Sunday, September 1, 2013

RGB hair growth in Softimage....


How to grow hair by color.


So I hear you ask, "How can I make soft stands grow according to a color?"
Well I answer in a kind - not to overly smart voice -  "Let me show you."


First lets look at color.


Using ICE we will grow hair with different lengths using the RGB value from a texture map. Blue being long hair and the rest being short or so on. Only problem is that some colors are not just blue they are also red like say Magenta(see color wheel below) or yellow(Green and Red) or Ocean(Green and some Blue) and so on. So we will have to compensate for that.

*click to make big*

You can see Magenta is 255 - 0 - 255 (in ICE that would look like 1 - 0 - 1), meaning it is a hundred present blue and a hundred present red. Using an If statement that simply says if something is a hundred present blue then make the hair longer there wont really work well. So we also need to say that, if you happen to have two values that are 255(or 1) then don't use that color to grow the hair longer. If that makes sense :/



Lets look at the ICE setup...

NOTE: If you don't know how to Texture strands using a texture map, never fear. Here is a link to a post I  did  -----> texture map.

Now to get the hair to be either short or long depending on whether or not it is the color you want to be long(Blue), or short(every other color). In the ICE TREE below you will see an If statement that tells the strand length to be either short or long. Then I simply duplicated that tree for red and green values. Using the select case node you can then choose between red, blue, or green if you make a compound. 

I also made a bleed option to include the color values like Magenta and Yellow using two more if statements.

*click to make big*


Blue example:

*click to make big*

Green example:

*click to make big*

Red example:

*click to make big*

Strands with a bleed of 0.4






Strands with a bleed of 0.8









Things I would like to include and improve:
Bleed hair has a fall off growth.
Hair grows in over time .
you can choose only bleed values.


So I will probably be updating this post in the near future.


To be continued.. :) 

Friday, December 7, 2012

Area Autodesk feature.......



We got mentioned on autodesk \:D/


Autodesk link

I did a brief Tutorial on the setup of feathers we used in Khumba, this is still very much a work in progress :D



hardware render of that setup ......



If you want to download these nodes to try them out, go to Triggerfish and click on the feather icon on the page.

Thursday, November 15, 2012

Underwater fur . . .





First step find reference of animals underwater


Never underestimate the power of reference, here is some I used...

UnderWater Fur
Fur Under the water

Here is some video reference of a tiger underwater.....


.....I also looked at Ink in water.



After watching the reference many times, I decided to break up the "underwater effect" into five different areas....

  1. Force of movement from the object
  2. Wave motion through hair when the object moves
  3.  Water movement and direction
  4.  Other objects making the water move for example the paw of the tiger
  5.  Over all Puff

    Demo Scene

    In my little demo scene for this blog post I'm going to touch on some of the ways I got around these problems. Obviously it includes tons of things I learned from tutorials and other resources. I'm not going to go into to much detail. Honestly I don't know if this is the best way to make under water fur effects, lets just say it worked for me :D Here's a Capture of the demo scene....





    Break down of Scene


    There is an over all modulate by null in this scene - Box null - , so that it looks like the sphere is entering the water, and leaving it again. Also all the effects are in the modeling stack in ICE. None of the effects are in the "Simulation stack".


    Step One: "Force of movement" made with the following ICE Trees

    Create an none simulated ICE tree in the modeling stack. Then get the point velocity from the emitter using the get closest location node, then apply that point velocity value to all the points in the strand. This way we get a strand velocity value for each point on the strand.


    Then I apply the Velocity as a "force", and vary it with the mass of the strands.



    Step two: I made the following ICE trees for the wake.



     The wake was just added to the "force" of the velocity.


    The wake is a simple sin function that takes the global position into account. I added a random around value to the amplitude to get it to be less repetitive.



    Step three: The following ICE Trees are for water direction and movement.


    To start off, watch this tutorial by Paul Smith
    Vector Flow

    So now that you have a feel for vector flow, I used the vector flow of a bunch of curves the represented the "waters" flow direction. This is all still in the modeling stack.




    Here are the curves I made for this scene.... to create variation of motion in the water I just animated the curves to rotate around their local orientation.



    Step Four: Other objects making the water move

    Here I have the strands push away from a Null object. I modified the modulate by null to take into account the strand position of the strands.


    Step Five: Puff


    The puff is just a simple push along the Y axis of the strands to add the illusion of weightlessness.



    Nice thing about doing the "under water effect" in the modelling stack is... I could step through my scene without having to wait for a simulation bar to calculate. And because of the curves I could change the way the water effected the fur on frame 60 but have frame 5 be uneffected. Which is really nice and flexible and feels more like animating then simulating. :D

    Thursday, September 27, 2012

    Beautiful broken fur

    Beautiful Broken Fur
    *click to make bigger*


    Forgot to set int Groom O_O sooooo pretty

    Thursday, September 13, 2012

    Backface Culling/Clipping of ICE Strands


     

    Backface Culling


    In computer graphics backface culling determines whether something is "visible" in the camera's field of view. This process makes rendering fur a lot quicker as you only render the fur that is "seen" instead of rendering the fur that is hidden from the camera.

    Image U is what the Camera sees.....

    Image U
    *click on image to make it bigger*
      If there was no backface culling there would be a lot of fur in the scene to calculate. Like in the Image F....
      Image F
     
    *click on image to make it bigger* 

    But if you use ICE to create backface culling you can reduce the amount of fur that the renderer needs to calculate by quite a lot, as you can see from Image Y...

    Image Y
    *click on image to make it bigger* 


    So how do we do Backface Culling and Clipping in ICE?


    The most common way of calculating "backface culling", would be to use a "dot product" to determine the normals of the mesh the fur is grown from then delete the fur that is not "seen" by the camera.
    As you can see from the image below named "Clipping" we can see that Clipping deletes the fur that is outside the F.O.V of the camera, shown by the blue lines.  For the actual "Culling" I used a similar approach to the dot product, but ignore the edge of the cameras F.O.V. Instead we focus on the side of the object that faces away from the camera, illustrated by the red line in the image called "Culling".


    "Clipping"
    *click on image to make it bigger*  
    "Culling"
    *click on image to make it bigger*   

    When you combine the two you get Image Y, shown earlier.
    Lets take a look at ICE and see how this all gets done.  Here in Image Q is the node we used on Khumba to Cull the fur.

    Image Q
    *click on image to make it bigger* 

    The Red Square is a scalar that makes it possible for us to adjust the Culling after we added the original values from the camera, just like a fall off.
    The Blue Square is exactly the same except it gives us a fall off for the Clipping.
    So within ICE we can adjust the Field Of View(F.O.V) as we need it. Without having to touch the camera settings/setup's. The Blue lines in Images H,J and I represent the actual camera F.O.V, while the Red lines shows how ICE adjusts the F.O.V.

    Image H
      
    *click on image to make it bigger*  

    Image J
     
    *click on image to make it bigger*  
     Image I
     
    *click on image to make it bigger*  

     
    When we explore inside, the node is made up of three sections, Image A and Image B and then brought together with Image C

    Image A
    *click on image to make it bigger*  

    Image A has to do with the Culling. We get the angle between the emitter object and the camera (inside the Blue square), then we get the angle of the Field of View of the camera (inside the Red square),  using the greater than or equal to Boolean node (inside the Orange square) we say that anything outside that angle gets deleted. So imagine a Triangle, everything inside the triangle stays, everything outside goes (deleted).

    Image B deals with the clipping of the fur. Here we use a standard node in ICE called "Test Visibility From Camera", we have modified it a bit to work for our needs. We obviously don't just want to test visibility from the camera when it comes to culling fur. It works out the length of the four sides of the camera view (inside the Red square) -- making a square in space -- using a dot product sum between the fur (inside the Blue square) and the camera (inside the Green square), then we just say delete everything outside of that square (inside the Yellow square). To do this we need the cameras position in space (inside the Green square) and the F.O.V and aspect ratio of the camera (inside the Purple square).


    Image B
     *click on image to make it bigger* 

    Image C brings the Culling and the Clipping together with an IF statement. If there is fur inside the clipping square that is behind the character then that fur will also get deleted.


     Image C
     *click on image to make it bigger*


    This is what it all looks like over time with a moving camera.



    And that is culling fur in a nut shell. There are tons of Clipping Algorithms
    that you can go look at here

    :D


    Monday, September 10, 2012

    Random commecial.....

    the Khumba fur nodes where used by Luma for a really funny add by Cadbury...


    Its nice seeing other people using our ICE nodes to make cool stuff
    :D


    Thursday, June 14, 2012

    Making a turbulence fall off along a strand


    Got a Comment from Chris on fall offs for turbulence, Sorry for the late replay been hectic at work(and diablo :D)

    But anyway, straight to it then.

    Bring into your Ice Tree the TF_Frizz_Strands_by_Turbulence node, it looks like this:

    Strand Turbulence ICE/SoftIMAGE
    *click to make bigger*


    Now to add the fall off you will have to go inside the compound and add the following nodes:


    Fall off along Strand
    *click to make bigger*

    Basically what you are doing is multiplying the turbulence with the fcurve, where its value is zero there will be no turbulence, where the value is 1(1.5) there will be turbulence.


    Rescale with a curve Fall off along a strand ICE/SOFTIMAGE
    *click to make bigger*


    So before the fall off it looked like-----

    Strands in ice with Turbulence
    *click to make bigger*


    And after ------

    Ice Strands With Turbulence that Falls off along the strand
    *click to make bigger*


    Hope that helps with your project Chris :D

    Sunday, May 20, 2012

    Fur, Feathers, and Scales


    Fur, Feathers, and scales


    The last year or so I have been making lots of the above mentioned. And now after all my suffering I would love to build these systems for myself, so that if I EVER have to use them again that I would be ready and prepared ..... kinda.

    I'm going to use my blog as a way to keep track of everything I learn and everything I try sooooo Hopefully it will help me not get distracted too much.

    To start:

    I have been using a combination of melena, normal soft strands, and 3dquacks verlet integration to make Khumba's fur. I found this to be an "ok" way to make fur, but it is heavy and "jittery". So I'm hoping to improve on this.

    The feathers are melena but with a huge twist, and the scales is a whole new system i made on the fly so these two need the most work :D

    Yeah for ICE \:D/

    Friday, May 11, 2012

    How To Link a Texture Map to Strands(XSI Ice)


    Alo there Blog,

    So I've been asked to explain how to link a Texture Map to an ICE Tree in Softimage\XSI.

    This is really easy once you get your head around it, and hopefully this little step by step tutorial will help you guy's to do that. :D

    1.  First step is to have an object (Sphere in this tutorial)
    On said object create a Texture Map as follows
    P.S you can use any Texture Map you like, then link your uv's to it.

    *click on image to make it bigger*


    2. Now we can go to our ICE Tree, and connect our Texture Map. For this you will need the get closest location node, and a get data(for your Texture Map).

    ICE/SoftImage Link Texture Map
    *click on image to make it bigger*

     
    3. The last step, connecting the color attribute from the Ice Tree to our render Tree.


    ICE/SOFTIMAGE linking render tree to ice tree
    *click on image to make it bigger*

    And there you have it. One Texture Map connected to one ICE Tree with the Render Tree.

    Hope this was helpful
    Thanks :D