Fixed Broken Links in Old 3D Maya MEL Tools Blogs

I just got little bit time to fix all broken links in my old 3D Maya MEL tools articles, which I wrote in 2005 and repost on 2008. My MEL tools got A+ score when I studied in 3D Animation (but I am also a professional software developer).  Maybe they are too old but I also know some 3D guys are still need those old MEL tools, so today I fixed broken links.

Improving MJ Poly Tools

Easy Rigging Tool

Continue reading “Fixed Broken Links in Old 3D Maya MEL Tools Blogs”


Easy Rigging Tool – My MEL Rigging Tool

Updated in 2016 Feb 10:

Hello Friends:

Sorry I did not update my Maya Tools long time. Today I come back to fix the broken links in all my old Maya Tool Blogs. I might find spare time to learn newer Maya and maybe update my tools if I think it is necessary, but I can not guarantee I have time soon.

—————————————————–

September 2, 2005 (published GoGoToTo.com on May 2008)

When I did my Demo Reel in the Seneca College, I found I had to rig characters again and again. For me, rigging is a boring works, and hard. I tried to find some rigging tool for my characters. I used Final rigging, advanced skeleton tool, but I found they were all too complex for my own characters, and, I found if I wanted use them, I had to spend more time to learn how to use them correctly. These were not what I wanted.

So, I thought, why I did not write my own Rigging tool so that I can use it and control it easily?

Then, Easy Riggint Tool was born.

My teachers Mr. Martin Mayer, my classmates and good friends Eric Stinnissen, and Martin Geiger gave me lots of helps and directions. Thanks them very much!

My teacher Mr. Mr. Sean Craig asked me published my Rigging tool about 1 month ago, but, I did not. The first reason is I had to test this tool by myself; the second reason is I was really busy for my Demo Reel works; and the third reason is : My computer crashed and crashed since I added some new hardware devices. I am trying to find what lead this big problem. but, no result by now

So sorry about that.

Anyway , today I can find a chance to publish it! I am happy.

Download here:
Download jsyeasyrigging10.mel

Let me provide some some descriptions for my Easy Rigging Tool:
1: I did most of rigging steps followed Alias’s book ” Learning Maya 5: Character Rigging and Animation”;
2: I added some new rigging options by my classmates’ help (Martin and Eric);
3: It is only used for biped characters by now. I will improve this tool later for all kind of characters (let me try )

If you have more questions, pls give me Email or ask Martin Geiger and Eric Stinnissen directly. I think they are more professional on rigging.

Here are usage guide:


Improving MJ Poly Tools (updated on June 18, 2005)

Updated in 2016 Feb 10:

Hello Friends:

Sorry I did not update my Maya Tools long time. Today I come back to fix the broken links in all my old Maya Tool Blogs. I might find spare time to learn newer Maya and maybe update my tools if I think it is necessary, but I can not guarantee I have time soon.

—————————————————–

This MEL plugin was created in 2005, June. I just move my weblog here.

(June 13, 2005:)
I like MJ Poly Tools. I think it is great. It is very useful when I do modeling.

One day I asked my MEL teacher Mr. Martin Mayer to give me some suggestions for my MEL studying. He told me I can design and make some custom selections tools, because MJ Poly Tools doesn’t has these functions. For example, it just can select entire ring or entire loop. Thanks Martin, I think it is a very good idea, and then, I can get more contents for my graduate Demo Reel.

I spent one completing weekend to do this. right now I finished. I sent a Email to the author of MJ Poly Tools to ask him give the new version of MJ Poly Tools a new name, I hope he can let me add my name to the menu title :-)

There have been newer version out. please read the detail.

June 18th, 2005:
Today I finished to fix several bugs of my previous improvement version on MJ Poly Tools 1.3. I almost re-write all my code for these bugs.

The original creator of MJ Poly Tools replied me, I can published it freely. And I named the new version “MJPolyTools (JSY) 1.5“, ” (JSY)” is me.

Later I will find time to add my script into the OMT. But I can not find time recently, I have to do my assignments for my graduating Demo Reel for my studying and that my teachers assigned.

If you find the inverse functions can not work sometimes, that’s because some components of objects that Maya created (i.e the index number of Vertexes and edges are not on a regular order sometimes. if you check several index numbers on a sphere bottom including the bottom top vertex, you will find it). I can not find a way to resolve this problem now, and I don’t have more free time recently. But you can choose the “inverse ” option to resolve it sometimes.

Right now this condition can work:

Add I give more illustrations:

June 13, 2005:
I like MJ Poly Tools. I think it is great. It is very useful when I do modeling.

One day I asked my MEL teacher Mr. Martin Mayer to give me some suggestions for my MEL studying. He told me I can design and make some custom selections tools, because MJ Poly Tools doesn’t has these functions. For example, it just can select entire ring or entire loop. Thanks Martin, I think it is a very good idea, and then, I can get more contents for my graduate Demo Reel.

I spent one completing weekend to do this. right now I finished. I sent a Email to the author of MJ Poly Tools to ask him give the new version of MJ Poly Tools a new name, I hope he can let me add my name to the menu title :-)

The following are some illustrations for the new functions I did based on MJ Poly Tools 1.3. And I passed the testing under Maya 6.0.1.

The menu items I added.

1. Single edge selected for Ring Selection with interval:


2. Ring select edges between two edges:


3. Two edges, inverse ring selection:


4. Multi Ring Selection:


5. Multi two edges Loop selection with interval:


6. Multi two edges Inverse loop selection:


7. Multi Objects multi selections:

I will publish the new tools later, right now I am waiting for the reply from the author of MJ Poly Tools, I asked him give this tools a new name. If you guy like those functions mentioned above, and you know my Email Address. Just Email to me. maybe I will send you this new version before I get the new name. If you are my classmate of Seneca College, sure you can get it , maybe tomorrow.

Download from here (If you feel it is helpful, You might like to click some Google advertises on this page. Thanks!):

MJ Poly Tools Plus By JSY

Please wait, my blog moved and moved, so I have to find a way to put my tools and let you guys download for free.

A MEL tool for Maya – Shader Transparency Tools

A MEL tool for Maya – Shader Transparency Tools (I modified a little)

I modified it base on the tools that teacher provided. It can slide transparent object. The difference is mine can be minimized and maximized. It is more convinient when you modeling. Because the old one always display on the top screen, you have to move it frequently when you modeling if your screen is not wide enough. It can be placed in any folder.

After download, you must use Unzip tool (ie: winrar) to unzip it.

Download tp2_yjs

A post about maya API enviroment setup

A post about maya API enviroment setup

Hi all!
I’m preparing to develope some API…or try to do that ^_^
I’ve got microsoft visual c++ .NET 2003 (v7.1), so, does anybody can link me a tutorial to develope my first .mll? I don’t need programming hints, only how to configure Visual C++ and maya!
thanks for your attention

A post about maya API enviroment setup

Hi all!
I’m preparing to develope some API…or try to do that ^_^
I’ve got microsoft visual c++ .NET 2003 (v7.1), so, does anybody can link me a tutorial to develope my first .mll? I don’t need programming hints, only how to configure Visual C++ and maya!
thanks for your attention

Hi, welcome.

Try the following changes:

General:

1. In Extras->Options->Projects->VC++-Directories

add “C:\Program Files\Maya6.0\include” to include files,

add “C:\Program Files\Maya6.0\lib” to library files.

Per Project:

1. In Project->Properties->Konfigurationproperties->Linker->CommandLine

add “/export:initializePlugin” and “/export:uninitializePlugin”

2. In  Project->Properties->Konfigurationproperties->Linker->General

set Output File to “C:\Program Files\Maya6.0\bin\plug-ins\plugin_name.mll”

In the main cpp file add below #include “stdafx.h”:

#pragma comment(lib, “Foundation.lib”)

#pragma comment(lib, “OpenMaya.lib”)

// … Any other library that needs to be included
#include <maya/MFnPlugin.h>

In your stdafx.h file you might want to add the following:

—————————————————– stdfx.h
#define _BOOL

#include <maya/MGlobal.h>

#include <maya/MString.h>

#include <maya/MStringArray.h>

#include <maya/MEventMessage.h>

#include <maya/MUiMessage.h>

#include <maya/M3dView.h>

#include <maya/MFnNurbsCurve.h>

#include <maya/MFnUnitAttribute.h>

#include <maya/MItMeshPolygon.h>

#include <maya/MFnMesh.h>

#include <maya/MDistance.h>

#include <maya/MPxContextCommand.h>

#include <maya/MPxContext.h>

#include <maya/MEvent.h>

#include <maya/MCursor.h>

#include <maya/MFloatMatrix.h>

#include <maya/MPxModelEditorCommand.h>

#include <maya/MPx3dModelView.h>

#include <maya/MFStream.h>

#include <maya/MPxFileTranslator.h>

#include <maya/MStatus.h>

#include <maya/MPxCommand.h>

#include <maya/MSyntax.h>

#include <maya/MArgDatabase.h>

#include <maya/MFnComponent.h>

#include <maya/MFnSingleIndexedComponent.h>

#include <maya/MSyntax.h>

#include <maya/MArgParser.h>

#include <maya/MArgDatabase.h>

#include <maya/MDagModifier.h>

#include <maya/MDGModifier.h>

#include <maya/MDagMessage.h>

#include <maya/MModelMessage.h>

#include <maya/MAnimMessage.h>

#include <maya/MTime.h>

#include <maya/MAnimControl.h>

#include <maya/MIOStream.h>

#include <maya/MPxToolCommand.h>

#include <maya/MArgList.h>

#include <maya/MGlobal.h>

#include <maya/MItSelectionList.h>

#include <maya/MPoint.h>

#include <maya/MVector.h>

#include <maya/MDagPath.h>

#include <maya/MFnTransform.h>

#include <maya/MItCurveCV.h>

#include <maya/MItSurfaceCV.h>

#include <maya/MItMeshVertex.h>

#include <maya/MPxSelectionContext.h>

#include <maya/MPxContextCommand.h>

#include <maya/M3dView.h>

#include <maya/MFnCamera.h>

#include <maya/MCommandResult.h>

#include < maya/MGlobal.h >

#include < maya/M3dView.h >

#include < maya/MPxLocatorNode.h >

#include < maya/MPxSurfaceShape.h >

#include < maya/MPxSurfaceShapeUI.h >

#include < maya/MPxTransform.h >

#include < maya/MPxTransformationMatrix.h >

#include < maya/MDrawRequest.h >

#include < maya/MTypeId.h >
#include < maya/MString.h >
#include < maya/MVector.h >

#include < maya/MColor.h >

#include < maya/MPlug.h >

#include < maya/MDataBlock.h >

#include < maya/MDataHandle.h >

#include < maya/MFnNumericAttribute.h >

#include < maya/MFnTypedAttribute.h >

#include < maya/MDagPath.h >

#include < maya/MFnDagNode.h >

#include < maya/MFnTransform.h >

#include < maya/MEventMessage.h >

#include < maya/MSelectionList.h >

#include < maya/MPxCommand.h >

#include < maya/MArgList.h >

#include < maya/MFnCamera.h >

#include < maya/MItSelectionList.h >

#include < maya/MEulerRotation.h >

#include < maya/MNodeMessage.h >

#include < maya/MFnMatrixAttribute.h >

#include < maya/MStringArray.h >

#include < maya/MSceneMessage.h >

#include < maya/MFileIO.h >

#include < maya/MFnCompoundAttribute.h >

#include < maya/MConditionMessage.h >

#include < maya/MDGMessage.h >

#include < maya/MIOStream.h >

#include < maya/MPxSurfaceShape.h >

#include < maya/MPxSurfaceShapeUI.h >

#include < maya/MFnNumericAttribute.h >

#include < maya/MFnEnumAttribute.h >

#include < maya/MPoint.h >

#include < maya/MPlug.h >

#include < maya/MDrawData.h >

#include < maya/MDrawRequest.h >

#include < maya/MSelectionMask.h >

#include < maya/MSelectionList.h >

#include < maya/MDagPath.h >

#include < maya/MMaterial.h >

#include < maya/MMatrix.h >

#include < maya/MPlugArray.h >

#include < maya/MIntArray.h >

#include < maya/MPointArray.h >

#include < maya/MFnMessageAttribute.h >

void p(char *message, … );

—————————————————– stdfx.h

in your stdafx.cpp you might want to add

—————————————————– stdfx.cpp

void p(char *message, … )

{

char tempBuffer[10000];

va_list args;

va_start(args, message);

vsprintf( tempBuffer, message, args );

va_end(args);

MGlobal::displayInfo( MString( tempBuffer ) );

}

—————————————————– stdfx.cpp

In your maya shelf:

add a button containing the following mel code

catch( `loadPlugin “C:/Program Files/Maya6.0/bin/plug-ins/plugin_name.mll”`);

add a button containing the following mel code

file -f -new;

unloadPlugin “plugin_name”;

Probably somethings missing, so if you find something to add, please feel free to do it.

Post Extras: Print Post
Subject     Re: start to develope maya APInew [re: Daniel_Faust]
Posted by    winniethetwo (Few Posts)
Posted on    06/16/05 02:20 AM

so…I have to install V C++ before maya, isn’t it?and then follow your instructions…

—————————————-

http://www.moksha3d.com

a useful CG board!

Post Extras: Print Post
Subject     Re: start to develope maya APInew [re: winniethetwo]
Posted by    Daniel_Faust (Posting A Bit)
Posted on    06/16/05 02:40 AM

It does not matter which one you install first.

I did a fresh install a couple of days ago, first VC++.NET and then Maya. Mayas installation did not alter any of the General Preferences in VC++.NET, so I had to add the stuff I mentioned under General by hand.

In the “C:\Program Files\Maya6.0\devkit\pluginwizard” directory there is a zip file containing a Wizard for VS.NET and a txt file explaining how to use it. The wizard will take off most of the work that are on a per Project basis.

I don’t think that the wizards include all the headers for you, but you might start to feel that it’s a bit easier to include all of them in a central file right from the beginning instead of letting your flow break because you need to add a new include.

The printf-like p( “%d text”, counter ); function is also a nice timesaver, you can build variations from it to print errors or warnings or to the output window.

The mel code in the shelf is something the wizard will not add for you, but it also saves you a lot of time once it has been set up.

Edited by Daniel_Faust (06/16/05 02:43 AM)

Post Extras: Print Post

Several websites about maya programming

http://www.zjprogramming.com/
http://www.ewertb.com/maya/api/api.php?howto=18
http://caad.arch.ethz.ch/info/maya/manual/FileFormats/index.html
http://www.gamedev.net/reference/programming/features/mayaexporter/default.asp
http://www.alias.com/eng/products-services/maya/file/maya5_apiwhitepaper.pdf
http://www.garagegames.com
http://nehe.gamedev.net
http://www.davidgould.com/Books/CMP1/index.html

About Linear and Non Linear

Linear vs Non Linear Editing
In the early days of electronic video production, linear (tape-to-tape) editing was the only way to edit video tapes. Then, in the 1990s, non-linear editing computers became available and opened a whole new world of editing power and flexibility.

Non-linear editing was not welcomed by everyone and many editors resisted the new wave. In addition, early digital video was plagued with performance issues and uncertainty. However, the advantages of non-linear video eventually became so overwhelming that they could not be ignored.

In the 21st Century non-linear editing is king and linear editing is widely considered to be obsolete, or at least primitive. This is an understandable attitude considering the advantages of non-linear editing, but we urge you not to be too judgemental. Linear editing still has some advantages:

It is simple and inexpensive. There are very few complications with formats, hardware conflicts, etc.
For some jobs linear editing is better. For example, if all you want to do is add two sections of video together, it is a lot quicker and easier to edit tape-to-tape than to capture and edit on a hard drive.
Learning linear editing skills increases your knowledge base and versatility. According to many professional editors, those who learn linear editing first tend to become better all-round editors.
Although the “linear vs non-linear” argument is often subjective and some editors will disagree with the statements above, there can be little doubt that increasing your skill base is a good thing. There is nothing to be gained by completely rejecting linear editing, and much to be gained by adding it to your repertoire.
From: http://www.mediacollege.com/video/editing/linear/linear-vs-nonlinear.html