Just assign a xgen description as usual. and notice that in the hypershade it’ll have a hairphsycial shader assigned to the description
select the description and convert it to interactive groom

Continue Reading »

Create a regular placing and shaping guides description
add guides to create the basic shape either by importing or shaping them by hand

Continue Reading »

Its the subtraction of the inverted colour

layer 1: 20% grey

base layer: 90% grey

result: 10% grey

explain:  The invert of 20% grey is 80% grey 100-20=80

base 90% grey subtract 80% = 10% grey

layer 1 – 100 + base layer = linear burn


Thanks to Francis Bezooyen for doing this.  Follow the instruction the process may take a long time depending on how many verts are selected but better than nothing.


Version: 1.0
Date: february 21st, 2016
Author: Francis Bezooyen
Credits: This is a very quick retooling of the bb_snapToClosestVert script that can be found here: http://www.creativecrash.com/maya/script/bb_snaptoclosestvert-mel
Changes were made to make it function in Maya 2016 (The original version was made for Maya 6). 

Purpose of this script: This script snaps each selected vertice of one mesh to the closest vertice of a given reference mesh.

How to use:
Note: As this is a quick retooling the gui has been removed 

1. Copy the text of this script into a mel tab of your script editor
2. Copy the name of the reference mesh to which selected vertices will be snapped (Note: the name must be unique in the scene), and paste it in place (within the "") of "referenceMeshName" at the bottom of the script
3. Set Tolerance value (currently set to 10000. Reduce this value to limit the distance that the vertices can be moved)
4. Select vertices to be snapped
5. Execute the script (select all of the text of the script and either execute the "play" button at the top of the script editor, or hit the keypad "enter" key on your keyboard)
global proc fbb_SnapToClosestVert(string $refObject, float $tolerance){
string $vertices[] = `ls -sl -fl`;

for ($each in $vertices)
	fbb_runSnapToClosestVert $each $refObject $tolerance;


global proc fbb_runSnapToClosestVert (string $vertex, string $refObject, float $tolerance){

//find the world space position of the vertex.
float $vertPosition[] = `pointPosition -w $vertex`;

//find out how many verts are in the reference object;

int $refVertCount[] = `polyEvaluate -v $refObject`;

//find the shape of the reference model.
string $refShape[] = `listRelatives -f -s $refObject `;

int $i;

float $closestDistance = 10000;
string $closestVert;
float $closestPosition[];

	//for each vertex in the reference model.
	for ($i = 0; $i < $refVertCount[0]; $i++)
		//find the world space position of the vert on the reference model;
		float $refVertPos[] = `pointPosition -w ($refShape[0] + ".vtx[" + $i + "]")`;

		//find the difference between the two positions.

		float $xValue = $vertPosition[0] - $refVertPos[0];

		float $yValue = $vertPosition[1] - $refVertPos[1];

		float $zValue = $vertPosition[2] - $refVertPos[2];

		vector $difference = <<$xValue, $yValue, $zValue>>;

		//find the distance between the two points
		float $distance = `mag $difference`;
		//if the distance between the verts is lower than the distance between the previous vert.
		if ($distance < $closestDistance)
			//store the closest distance so far.
			$closestDistance = $distance;
			//store the name of the closest vertex so far
			$closestVert = ($refShape[0] + ".vtx[" + $i + "]");
			//store the closest position so far.
			$closestPosition = $refVertPos;

if ($closestDistance < $tolerance)
		move -ws  $closestPosition[0] $closestPosition[1] $closestPosition[2] $vertex;


fbb_SnapToClosestVert("referenceMeshName", 10000);

MD fabric sim property

1. Although Shear is the diagonal of the stretch property.  But it can also create the effect of thin fabric Continue Reading »

Tiff/png will have artifacts even when the texture is 16bit.  Problem solved by resave the image in photoshop in PSD.

(Backup) PBR models

Source:  https://google.github.io/filament/Filament.md

Author unknown.  Posting here as a backup just in case the original get deleted

Physically-based rendering engine