Latest Entries »

We often use tileable textures for Asset Texturing and will have to check the tilebale UVS in UV Texture Editor in Maya.

In Maya the default Grid display is only showing (0,1) UV space. In order to display more than just that, in UV Texture Editor, under the View Tab, click on the square box thats next to the Grid option.

By changing the values in the Size tab from the pop up menu, you’ll able to display 0 to 10 UV space.

Below is an image demonstrating how to setup.

Next up is Translating UVs Space.

At times we have to shift UVs from certain UV coordinate to another one without moving it manually. Thats because when a Texture Map is done and its shifted to different coordinate in UV space, the UV has to match the Texture Map accurately. Theres a way in Maya to do it, its actually pretty straight forward.

In the Script Editor, whenever the UVs are shifted it will print this message –

setAttr “polySurface1_polySurface17Shape.uvPivot” -type double2 0.932446 0.49605 ;
polyEditUV -u 0.428196 -v 0 ;

Notice the second line polyEditUV -u 0.428196 -v 0 ; , its actually showing the coordinates of where the UV are shifted in u and v space.

So by editing the values of u and v in the script you can maneuver the UV space accurately according to your preference.

Below are the commands that you can shift the UV in space by Left, Right, Up and Down. And make sure these commands are executed under the Mel Tab in Script Editor.

polyEditUV -u 1 -v 0 ;

polyEditUV -u -1 -v 0 ;

polyEditUV -u 0 -v 1 ;

polyEditUV -u 0 -v -1 ;

Alternatively these commands can be saved as shortcut buttons by highlighting the command and middle mouse drag and drop to your preferable Maya Shelf 🙂

Its been awhile since the last update. However there will be some updates on Generalist and Digital Matte Painting works coming very soon done at Industrial Light and Magic in 2014 and 2015.

A little teaser of the four shows thats done 🙂

Last update for the year 2014. Its a gold paint on cast iron kind of shader.

Searched through some reference and came upon this buddha statue reference. In the beginning it took quite awhile to figure out whats the base material like that is used to create the buddha. It looks like cast iron thats a little rusty on the surface. More likely to be oxidize for quite awhile. And from the reference, it looks like the buddha statue was coated in gold before. However some paint has been worn off and revealing the base material which is cast iron.

So first shader created was the cast iron shader. And followed by the gold paint shader.

And then blend this two shader together with a mask.

Theres two specular created for this shader. One was to control a more glossier specular on the gold paint area. Which is colored in orange as theres some of it in the reference. And another tighter specular on the material itself.

To achieve dual specular effect in Vray, i used vrayblendmtl and turning “Additive (shellac) mode” on. An error message will prompt saying that by doing so it will break the energy preservation law. Meaning it will go against the physical material law assuming. There was another spot light placed on screen left just to test the dual specular is working as seen in the final render.

Till then 🙂

Basic Scripting 001

This is an entirely new section on basic scripting in nuke script editor for personal reference only. There are couple of things to understand in scripting, which is Scripting Language.


“A scripting language or script language is a programming language that supports scripts, programs written for a special run-time environment that can interpret (rather than compile) and automate the execution of tasks that could alternatively be executed one-by-one by a human operator. – wikipedia”


Data types


variables = A variable in a shell script/script editor means of referencing a numeric or character value. Qoute –

However, programming is not limited only to printing simple texts on the screen. In order to go a little further on and to become able to write programs that perform useful tasks that really save us work, we need to introduce the concept of variable. Qoute –


string = An example of compound type is the string class. Variables of this type are able to store sequences of characters, such as words or sentences. A very useful feature!

A first difference with fundamental data types is that in order to declare and use objects (variables) of this type, the program needs to include the header where the type is defined within the standard library (header <string>) Qoute =

To recognize a string, there is always an open hyphen. There are also various hyphen and brackets in script that are like ” ” , (  ) , [   ] , {  }

On the above case, python cant recognize dog as a variable because there isnt an open close hyphen on it.

With the open close hyphen, python can recognize its a variable and will print – this is dog

For example “apple” , “doctor” , “dog” , “this is a string”


integer = integers are numbers,whole numbers that are not 11.5 , 5.5. They are  ( 56 , 23 , 5 ,11 ) In script editor it will be typed as int


float      = floating numbers. For example ( 1.0 , 5.1 , 88.5 )


print = to execute commands. For example: print(“Today is a good day”)


*The reason why there are data types in green or red is that python has reserved them for certain functions.

*There are times when script has an error that says – TypeError: cannot concatenate ‘str’ and ‘int’ objects

concatenate means combine, in this case it means a string cant be combined with an integer (number)

In order to solve this, we should tell python that the integer is a string in order to print out the result. By adding str + (  ) it should work, put the integer into the bracket.

Below are a couple of examples on how does these data types works with each other.

Python is able to add both same data type together. For example on the above case, it is able to combine two variables together without the open close hyphen.


On above example, because all variables are integers, python can add all of them.


python can also recognize integer and float together.


You can also create a variable to add two integers together.  Above is an example.

By printing the result of the variable it will add the integers.


As for this, we will need to tell python theres string and integer to be executed. So we have to put str(  ) for the integer in order to combine both info together.

Will continue with more information on the next post 🙂

An update on a new shader – Wood.
Initial approach was to start from sculpting out the details of wood on the geometry surface. And later extract cavity map as guide for texturing. However it didnt work that way. It looks almost like some kind of mud,rock surface. The displacement of the surface is probably too over.
So instead of jumping straight to sculpting, start off by doing a quick paint over and see how the final result would most likely be.
And then start off with texturing using photo reference to get the feel of it. Once thats done, i hopped over to lookdev just the sphere geometry itself and see whether the direction is right. It turns out pretty well. Starting to look like wood and also the characteristic is popping out.
One of the thing to take note was getting some bounce light on the surface itself. Because the reference image has such info, as well as some semi polished wood would catch some bounce light. Below is a couple of test on the different values keyed in primary bounce. The last one with a value of 100 is way too over, almost as if the wood is burning.
Heres the final result of the Wood Shader. Pretty much satisfy but would be great if ive some time to enhance its character a little more interesting. 🙂

This is just a documentation of Maya 2014 and 3dsMax 2014 cross platform check on Camera and Geometry. At times, there are needs to transfer scene from one to the other application for certain purposes say like rendering.

Lets start with Geometry. Couple notes to take note of.

– Both Maya and 3dsMax Unit preferences. They need to be set to the same unit scale in order to work.

Maya – under preferences – settings – working units – linear

3dsMax – Customize – Units Setup – System Unit Setup

*In 3dsMax, whatever System Unit Scale is set, it will read the Unit Scale from there.



For geometry to work correctly, exporting Obj should do the trick. Below image displays a geometry created in Maya and exported out as Obj and works well in 3dsMax with the unit scale as Centimeters.



Theres a question where you will notice the X,Y,Z axis on both Maya and 3dsMax is not showing correctly. However the geometry is sitting correctly on the grid.


You can also simply create a cube in Maya with the measurement of 1cm x 1cm x 1cm,with unit preferences set as Centimeters, and bring it over to 3dsMax. If  3dsMax unit scale is also set to Centimeters, you will notice the cube is the same size. To double check,by going to command panel (Customize – Show UI – Show Command Panel), in 3dsmax, go to the last tab, Utilities and go to Measure, it displays 1.0 unit on X,Y and Z under Dimension.



Next is Camera. From Maya to 3dsMax, fbx works well at the moment.


First thing just create a camera in Maya and export it as fbx and import into 3dsMax. FBX Import window will pop out and theres couple of things to check, make sure Animation is checked if the camera has animation, Cameras is checked. And take note of Scale Factor is at 1.0 under Advanced Options – Unit.


Camera exported from Maya as fbx should be sitting correctly on 3dsMax even though the axis is still incorrect.


Another way to test is to try out with an Animated Camera. It is still the same method, by exporting the Animated Camera from Maya as fbx and import into 3dsMax with the settings mentioned above.

Below is a clip displaying Maya Camera exported as fbx and working fine in 3dsMax. First half Maya and Second half in 3dsmax.



*Apologize on the second half is too dark where the Geometry is not that visible. But the Animated Camera is working fine in 3dsmax.


This is another clip viewing from the Camera.


Will update once there are more solid technical proof on this topic 🙂



Its been busy lately but Hey~ Heres a small update on the Vray Surface Materials thats still on going!

Its the Rock Surface Material. Took quite awhile to get the look and demonstrate how a Rock Surface should look like in both lookdev and texturing.


The initial test done looks flat, more towards like a stone.


The identity of a Rock gives a sense of its a hard surface object that can be used a a weapon, caught a bruise when got scratched by it. Spent some time to analyze the look of it, the silhouette should give a sense of danger, sharp edges, pointy corners. These are some of the characteristics. Of course, you can argue there are some Rocks that are smooth. For example those you can find near seashore. The reason why its smooth is because the sea water ‘brushes’ the surface everytime it contacts the Rock surface.

The aim here is to achieve a Rock that has sharp features on it. This is a Displacement Map rendered image from Vray.



This was the settings for exporting Displacement Map from Zbrush for Vray purpose. And also the Cavity Map settings.


*Still exploring which is a better way to export DSP *Displacement*  Maps from Zbrush for Vray to render better.

This is the final look of the Rock Surface Material. The texturing process is also challenging to deal with. Its not just about slapping on Rock Textures on to the model. Because there is a certain texture look on a Rock base on the surface pattern on it, by exporting Cavity Map and use it as a guide line to place the texture and details in is a better way.


Will update a new one when its done. Enjoy!


Been working on Surface Material with Vray. Taking more time to understand how each surface reacts to light, especially on reflection, reflection glossiness and its IOR (Index of Refraction). It is important to understand these terms as it creates different look of the material.

A good read and understanding of different terms and aspects by Neil Blevins.

Started off creating the first two basic materials, Chrome Ball and Gray Ball. This two balls are often used during on set shooting for films as Artist grabs info from them, especially HDRI from the Chrome Ball. Besides, there is also light information cast on the Chrome Ball and Gray Ball. Gray Ball will provide information like is it a warm or cold tone of gray base on the environment.

Surface of the Chrome ball is fully reflective. And the value of Gray ball was set to 119,119,119 in RGB value. Its 50% gray.


Follow up by testing color bleed. Included a luminance green color on the curve piece to check how it was affecting the other surface.

Tested out with 3 values to see how the color was bleeding.


Next was recreate a Chrome ball which is left over 20 plus years covered with dust.


Clay was a little more challenging. It has a little subsurface scattering on its surface. Didnt included hotter specular on the surface as just want to keep this Clay as a dried version personally. Might create another version with some specular on its surface since its a little oily.


Orange Plastic is pretty interesting. It is not just about Plastic surface, however there is slight different on the texture. Since its a used Orange plastic, there will definitely be some color wear off and desaturate. Created some dust around the corner areas to give a story of it was left at a corner for some time. It helps to make the surface look interesting than just standard Orange Plastic material.


Rusty Metal. There are two materials created and mixed for the final render. One is a painted Metal surface, Two was a rusty surface. Using a mask to mask out the rusty area that is under lying on the Metal surface.

Rusty Metal640

Still working on more different Surface Material. Will update with a new batch when its ready. =)


Its been awhile since the last update. Currently putting that environment project aside and deal with this Organic subject – HammerHead Shark. Having lotsa fun sculpting this sea creature during the break from Christmas to New year. Ill put filling up its teeth and eye and more details after posing it.

Here’s a first look at it. Happy New Year 2014 everyone!!!

Will upload some of the work in progress soon and updates =)


The Deck Project will be on hold as there are some studies to be taken care of for the time being.

Forking out some time going through certain particular maps in the Vray Material Library to understand and figure out what would be crucial for Procedure Map purposes.

*Some Maps are yet to discover and will update when its done! Stay tune!*

Vray Cellular Map Characteristic Chart by Ken Lim

Vray Cellular map Size and Spread

Cellular Chips Characteristic Size and Spread

Cellular Circular and Fractal Iterations

Noise Regular , Fractal , Turbulence Size

Noise Regular , Fractal , Turbulence Threshold

*Note there are a few maps with swap color setting, this is up to individual preferences*

Speckle Chart

Smoke Chart

These are the current Vray Procedural Map Charts Im creating for the time being for Cellular, Noise, Speckle and Smoke.

More to come! To be continue =)