29
-1

Nature Mort Doc

  • Upload
    octiano

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 1/29

-1

Page 2: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 2/29

CHRISTIAN TJAHJONO

Documentation

 Nature Mort Project

Page 3: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 3/29

Description

Page 4: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 4/29

The objective is to create the illusion of decay and rotting written in RenderMan Shading

Language, to Maya scene. A combination of displacement and surface shade will used todemonstrate this decay process.

After collecting a sequence of picture reference, I began with creating the base mesh inMaya and unwrap the uv so that it’s not going to be a trouble later if I export the obj file

into Mudbox. Also it will give you more control if I want to apply fur or hair in Maya by

crank-up the uv’s.

I start sculpting inside Mudbox to create a believable shape of fresh strawberry. I use the

 photos reference to recreate the process of decaying. At the end I end up with 28 different

shape and texture of strawberry. After finish with the sculpting, bake all 28 displacementmaps and then bring all the alpha channel into Photoshop and compile everything in one

tiff file.

I use one of displacement maps to create the color maps in Photoshop by painting it from

Page 5: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 5/29

scratch. Keep adding layers until you satisfied with the rotten maps as a final color maps.

I put all the color maps in one tiff file.

I use the texture channels from www.fundza.com to compile displacement and color 

maps into cutter to be able to create and have more controls of your texture later in Maya.

In Maya I stated to import all the different base mesh in obj’s file and create a blendshapes for the animation purposes.

Page 6: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 6/29

After you created the blend shape, now it’s the fun part! Start to load all the shader that

you created in cutter into Maya Renderman node’s.

After I satisfied with the look of my strawberry I applied a fur on to my strawberry. Then

start to animate the color, displacement and fur.

Page 7: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 7/29

Page 8: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 8/29

STRAWBERRY DISPLACMENT

Page 9: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 9/29

PARAMETERS

Km = 0.0001 Overall displacement scaling factor.

UseShadingNormal = 1 Smooth shading surface normals give the polygonal data a smooth.

Time = 1 Appearance through time.

Page 10: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 10/29

Hump = 0 The value output of the surface shader.

Page 11: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 11/29

STRAWBERRY SURFACE

PARAMETERS

Ks = 1 The percentage of specular light in the scene

Page 12: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 12/29

reflected by this surface.

Specular Color = The color of the specular  illumination.

Time = 1 Appearance through time.

Hump = 0 The value output of the surface shader.

Page 13: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 13/29

Page 14: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 14/29

Displacement Shader Code

displacementStrawberry_Displace(float Km = .0001, /* displacement magnitute */

UseShadingNormals = 1, /* [0 or 1] */

time = 1; /* {0 1] */

string map = "";output varying float hump = 0)

{vector diff = normalize(N) - normalize(Ng);

normal n = normalize(N);

float tex;

if(map != "")

Page 15: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 15/29

{

if(time <= 0.20) hump = mix(1, texture(map[0]), smoothstep(0,0.20,time)); else if(time >0.20 && time <= 0.4) hump = mix(texture(map[0]), texture(map[1]),

smoothstep(0.2,0.4,time)); else if(time > 0.4 && time <= 0.6) hump =

mix(texture(map[1]), texture(map[2]), smoothstep(0.4,0.6,time)); else if(time > 0.6 &&

time <= 0.8) hump = mix(texture(map[2]), 1 - texture(map[3]),smoothstep(0.6,0.8,time)); else if(time > 0.8)

hump = mix(texture(map[3]),

1 - texture(map[4]), smoothstep(0.8,1.0,time));

else if(time > 1.0)hump = mix(texture(map[4]),

1 - texture(map[5]), smoothstep(1.0,1.2,time));else if(time > 1.2)

Page 16: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 16/29

hump = mix(texture(map[5]),

1 - texture(map[6]), smoothstep(1.2,1.4,time));

else if(time > 1.4)…………….

}

Page 17: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 17/29

P = P - n * (hump - 0.5) * Km;

if(UseShadingNormals) N = normalize(calculatenormal(P)) + diff;

else

 N = calculatenormal(P);

}

Page 18: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 18/29

Page 19: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 19/29

The Shader Code

surface

Strawberry_Surface(float Ks = 1,

time = 0;color hilitecolor = color (0,1,0),

specularcolor = (0,0,0);

string map = "";color blotch_color = 0;)

{

color surfcolor = 1;normal n = normalize(N);

Page 20: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 20/29

normal nf = faceforward(n, I);

float tex;

if(map != "")

{

if(time <= 0.20)

tex = mix(1, texture(map[0]), smoothstep(0,0.20,time));else if(time > 0.20 && time <= 0.4)

tex = mix(texture(map[0]),

texture(map[1]), smoothstep(0.2,0.4,time));

else if(time > 0.4 && time <= 0.6)tex = mix(texture(map[1]),

texture(map[2]), smoothstep(0.4,0.6,time));else if(time > 0.6 && time <= 0.8)

Page 21: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 21/29

tex = mix(texture(map[2]),1 - texture(map[3]), smoothstep(0.6,0.8,time));

else if(time > 0.8)

Page 22: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 22/29

tex = mix(texture(map[3]),

1 - texture(map[4]), smoothstep(0.8,1.0,time));

// composite the texture map color over the backgroundsurfcolor = mix(blotch_color, Cs, tex);

}

Oi = Os;

Ci = Oi * Cs * surfcolor * specularcolor * Ka * Kd * Ks * diffuse(nf);}

Page 23: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 23/29

Page 24: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 24/29

Maps Images

Page 25: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 25/29

Page 26: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 26/29

Page 27: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 27/29

Page 28: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 28/29

Page 29: Nature Mort Doc

8/14/2019 Nature Mort Doc

http://slidepdf.com/reader/full/nature-mort-doc 29/29