Skip to main content

Posts

Showing posts from 2012

Set extension with Nuke and Maya

Using the fire made with Maya (with some modification), I'm trying to realize a set extension of a footage downloaded from Digital Tutors.

I've replaced the sky and placed mountain on the backgournd, with some color corrections.

Here some images about the work in progress.
In the next steps I'm going to insert other fire, some spaceship in the background and a 3D model rendered with Maya and Arnold.

Stay tuned...




Fire with maya fluids

This is an example on how to use maya fluids to create fire.
You can download the example file at this location
https://www.dropbox.com/s/uq3ri39jxt44s83/testFire.mb

Here the video of the simulation.


Arnold + Maya 2013

Today I'm trying to render some architectural models with the powerfull render engine from SolidAngle.
The quality is too low but it seems to be very impressive.


In the next days I'm trying some other render.

Interesting link to programming lessons

Take a look at cgcircuit if you're interest in c++ plugin programming

There're 3 courses about c++ and plugin creation for maya
http://www.cgcircuit.com/browsepage.php?op=1&val=6

and a course about math insisde deformations
http://www.cgcircuit.com/lessondetailcomplete.php?val=599

Multi parent constraint with expression

How to use:

Select the object to contrainSHIFT+Select all the object that must constrain the first oneExecute the script On the target object there's a new attribute called "parentTo" and you can select from list. Now I'm trying to resolve the snap problem and create a simple pyQt interface...
This is the base script you can add to the Shelf _________________________________________________ import maya.cmds as cmds attrString = '' selection = cmds.ls (sl=True)
target = selection[0] l = len(selection)
for i in range(1,l):     cmds.group(em=True, n = 'grp_' + selection[i])     cmds.select('grp_' + selection[i],selection[i])     cmds.parent()     cmds.select('grp_' + selection[i],target)     cmds.parentConstraint(mo=True, weight=1)     cmds.select(cl=True)     attrString += selection[i] + ':'  cmds.select(target, r=True) cmds.addAttr(ln='parentTo', at='enum', en = attrString, k=True, h = False)
expreString ='' for j in range…

Little up...

Stretchy spine with volume preservation [part 1]

During this hot days, I'm studyng new rigging techniques.

I'm starting with the torso and here is a little tutorial on how to create a simple stretchy spine with volume preservation.
Some simple steps: Create a joint chain with at about 6 or 7 joints, and add some geometry parented on all joints to watch the result. Rename all!Then create two extra single joints aligned to the start and the end of the chain. Call that start_joint and end_joint. Add two geometry and parent joints under that geometry.  Now it's time to create an IKSpline form start joint to end jointSkin two extra joints created before to the curve created with the IKspline and...voilà!!! Move the two big geomtry and something appened! But there's a problem: the chain doesn't stretch. Ok... Use the arcLenght tool to measure the arc lenght of the curve and take note of the "relax lenght"
Now open the hypergraph and create "multiplyDivide" node.
Simply write createNode multiplyDivide in…

Let's start a new project

The model is downloaded from creative crash. It's named "The librarian" and is a rigged model. I've just elinated all rig and texture information and I start the project from the beginning.

I'm starting from texture!

A little test of AR

Here a little test about Augmented Reality workflow from Revit to 3ds Max.
A soon as possibile I'll post the same workflow from maya with a complete architectural project.




And here some future development of Augmented Reality




First production reel (work in progress)

Here a little breakdown of the video: 1. minute 00:00: Biped autorig system developed with Python scripting. - Full IK/FK - Full leg and arms stretch - IK/FK spine and some others interesting features 2. minute 01:00: Full lighting automated pipeline implementation with Mental Ray - Light/Extra lights RGB pass - Shadows/Extra shadows RGB pass - Contact shadows - Contact occlusion - Full pass: diffuse, ambient, occlusion, motion vector, beauty, separated front and back scatter - Lighting setup - Render layer override implementation 3. minute 3:30: Maya fluid example 4. minute 4:11 - Exotic Matter Naiad fluid simulation - main fluid pass - splash pass - foam pass - rib export 5. minute 4:31 -  Exotic Matter Naiad  water fall simulation - main fluid pass - splash pass - foam pass - rib export - Mental ray main fluid rendering - 3delight particle rendering 6. minute 4:51 -  Exotic Matter Naiad  smoke particle guide simulation

Finally the first alpha release

Here's a video presentation about my last wip on a custom lighting pipeline integration.


WIP: LightingPipeline script, now with PyQT interface...

Stay tuned...

WIP: Now workin' on lighting pipeline scene asset

Here the first code to create a simple production lighting pipeline script.
Stay tuned!


import maya.cmds as cmds
import maya.mel as mel
import pymel.core as pm


ambientName = 'ambient'
flatDiffuseName = 'diffuseflat'
ambientOcclusionName = 'occlusion'
sssFront = 'sssfront'
sssBack = 'sssback'
colorVector = ['red','green','blue']
colors = [[1,0,0],[0,1,0],[0,0,1]]
lights = ['key','fill','rim','extraR','extraG','extraB']
overrideMTLName = 'SHD_overrideMTL'

def createOverrideMTL(name):
overrideMTL = mel.eval('shadingNode -asShader lambert')
cmds.sets(renderable=True, noSurfaceShader = True, empty = True, name = overrideMTL + 'SG')
cmds.connectAttr(overrideMTL + '.outColor', overrideMTL + 'SG.surfaceShader')
cmds.setAttr(overrideMTL + '.color',1,1,1)
cmds.rename(overrideMTL,name)
cmds.rename(overrideMTL + 'SG',name + 'SG')


def createCus…

Maya Fluid

Simple maya fluid animation.

Simplest shader tutorial for renderman

Hi, here a simple shader example tutorial.
With this code we'll realize a lambert shader with 3 custom parameter: diffuse color, texture color, opacity.







Here the code with some comment due to explain all the lines.


\\definition of the shader tipe "surface" and the name. Between the brackets there's the parameter, one of color type, one of string type and one of float type.


surface Lambert(color diffuseColor=color(1,0,0); string colorTexture=""; float opacity=1)
{


    \\definition of the texture projection coordinates in world space
    point worldP = transform("world",P);

    \\function to normalize vector normal
    normal Nn = normalize(N);
    \\with this function we normalize the vector for pointing to the camera eye ("I")
    vector Nf = faceforward(Nn,I);
    \\definition of a texture file with path passed by the parameter with the coordinates u and v (s,t)
    color textureFile = texture(colorTexture,s,t);


    \\if there is a texture …

mandlebrot fractal shader

Here an example of the code for a mandlebrot fractal noise written for renderman. In this particular simple shader, you can change the color of the fractal using a spline color. I use 3delight to test the shader inside maya.


surface Mandelbrot(color c1=(1,0,0);color c2=(0,0,1);color c3=(0,0,0))
{
    float u = s;
    float v = t;

    //Z^2 + C
    float Zx = 0;
    float Zy = 0;
    float Cx = u;
    float Cy = v;

    float i;
    for(i=0;i<100;i=i+1)
    {
        float a = Zx*Zx-Zy*Zy;
        float b = 2*Zx*Zy;
        Zx = a;
        Zy = b;
        Zx = Zx+Cx;
        Zy = Zy+Cy;
        if (Zx*Zx+Zy*Zy>4)
            break;


    }
    float value = i/100;
    Ci = spline(value,c1,c1,c2,c3,c3)*diffuse(normalize(N));
    Oi = Os;
}

The city - first step

Let's start "The city" project. In this step I'll cover the body simulation of the fluid.
Stay tuned!

Naid fluid simulation test

A very simple simulation made with Naiad.
I've exported a recipient adn a liquid mesh volum from Maya and I've simulated all liquids inside Naiad. A simple box emitter with a vector velocity was added inside the simulation.

First naiad video...the simplest simulation

My very first Naiad Graph.
Only a box emitting with collision mesh

First texture test of character

First liquid simulation NAIAD...very cool!

My very first basic liquid simulation in Naiad

AutoRig new UP...

Finished
1. IK leg Stretch
2. FootRoll
3. Spine rig
4. Head rig with eye aim (followHead/world switch)
5. Hand with only curl (for the moment!!) for all fingers

Now I'm focusing on the interface

Lasso rig with splineIK and Set Driven key for node closing

ccAutoRig.py work in progress

I've just finished Arms and legs IK and FK with switch.
Now I'm focusing on the spine.
Next I will focus on the leg IK stretch and so on...

Stay tuned!

New production started!

Due immagini tratte dall'ultimo setup ancora in WIP...

Switch IK - FK

Che dire...oggi mi sono imbattuto nella realizzazione di uno switch IK/FK per simulare il movimento di un braccio. Devo dire che è stata una esperienza mistica.
Si inizia a toccare con mano la forza di Maya e si inizia a intuire perchè il rigger non vuole farlo mai nessuno!

Io ci sguazzo in queste cose e non vedo l'ora di continuare su questa strada.
Non appena avrò più chiare le idee proverò a fare un bel videotutorial per il rigging di un bipede.
Intanto beccatevi questa immagine dell'Hypergraph e dell'Outliner


rig bipede - 01

Come non postare le prime immagini del setup del character!?
Si inizia con una prima ossatura molto semplice per gestire tutti i joint principali. Occhio ai nomi altrimenti non ci capite na mazza!
E' molto importante avere sotto occhio una buona immagine di uno scheletro umano per capire dove piazzare i joint e soprattutto quali sono i joint principali che influenzano il movimento.