Skip to content

taikomatsu/SeExprMeshMaya

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SeExprMeshMaya

Polygon deformer node plugin for Maya that using Disney's SeExpr

Introduction

This plug-in is allowed you to edit meshes with Disney's SeExpr language.
You can develop your unique mesh deformer, furthermore, can coding just the method without troublesome C++ codings and plug-in declaration.

What's SeExpr?

Walt Disney Animation Studios: SeExpr
SeExpr is a expression language and the library developed by Disney.
It's a simple and easy, but has enough functions what you want in your daily work.
You can find it from here.

Build

I developed this plug-in on Linux and I don't have any environment.
So I didn't build it on Win/Mac environment.

If you are a user of Maya2013/Linux and Windows, you can use pre-compiled binaly.
Please download it from here.

Windows version is built by Takkyun.
Thank you!

Linux

  1. Download the source.
  2. Unzip and cd to src directory.
  3. Edit the Makefile for your environment.
  4. run make

This plug-in uses OpenMP. So it's compiled by gcc4.2 or higher.

Install

On Linux, the simplest way is make install after Makefile modification.
If you don't want it, you have to move some files to specified path.

  • build/SeExprMesh.so to any MAYA_PLUG_IN_PATH directory.
  • scripts/AESeExprMeshTemplate.mel to any MAYA_SCRIPT_PATH directory.

Usage

  1. Start Maya

  2. Open Plug-in Manager from Window > Settings/Preferences > Plug-in Manager.

  3. Load SeExprMesh.so(mll).

  4. Select a mesh.

  5. Execute seExprMesh command.

seExprMesh;

  1. You can find seExprMesh node from the network.

Attributes

enable

Do process or not.

outType

You can select some output type.

  • Position
  • Normal
  • Color
  • uv

color and uv is processed on current colorSet or uvSet.

seExprStr

Enter your SeExpr expression here.
In this field, you can use extra attributes as SeExpr variable directly.
But it's just limited float and vector.

envelope

Deformation influence.
0 is no deformation, 1 is full.

time

You have to connect here from time1.outTime if you use time or frame local variable.
This parameter drives all time value on the node.

inMesh

The mesh be processed.

outMesh

Processed mesh.

ctrlMesh

Additional control mesh.
If you want to use closestPoint() or closestNormal(), have to connect any mesh.

inMatrix

If you want to move the object by its transform, and follow the deformation, you should connect matrix attribute here.
Furthermore, this attribute is shown in Attribute Editor.
Because when you unconnect it, its values may not reset right.
Then you have to clear the unnecessary values manually.

Local Variables

P (vector)

Position

N (vector)

Normal

Cd (vector)

Vertex color

u (scalar)

Texture U coord

v (scalar)

Texture V coord

time (scalar)

Current time in second

frame (scalar)

Current time in frame

Additional Functions

closestPoint(pos)

Get closest point position on ctrlMesh from given pos.

closestNormal(pos)

Get closest normal on ctrlMesh from given pos.

Contact

If you have some ideas, or found bugs, please tell me it.

mail: taikomatsu AT gmail.com (Please replace AT to @)

About

Polygon deformer node plugin for Maya that using Disney's SeExpr

Resources

License

Stars

Watchers

Forks

Packages

No packages published