Easy Rigging Tool - My MEL Rigging Tool

September 2, 2005
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 [...]

Read More » »

885 views Comments (1)

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

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 [...]

Read More » »

1,488 views Leave a Comment

加拿大college的入学考试是随专业不同有不同要求,并不都是很简单

(本贴写于2006年7月2日)
我这里补充一下关于入学考试的情况。
比如seneca的会计,国际贸易,digital media,3D Game。前三者基本要求是高中毕业生,而3D Game是postgraduate的,基本要是:要求先有美术方面的diploma。

—————————————————————————————————————
阿童木给了很好的college申请经验。是很好的参考。我这里补充一下关于入学考试的情况。

比如seneca的会计,国际贸易,digital media,3D Game。前三者基本要求是高中毕业生,而3D Game是postgraduate的,基本要是:要求先有美术方面的diploma。
前三者和3D Game的要求起点不一样,考试类型不一样是可以理解的。但是digital media的英语考试较奇怪,它并不象是针对高中起点的考生,英语题目数量多一倍,但是时间限定是一样,难度加大,很多题目做不完。原来,digital media的英语入学考试和3D Game等一样,是postgraduate的考试难度。因为digital media是oversubscirbtion的,即申请的人超过其录取人数,于是提高了难度。
而大家平时说的考数学,digital media和3D Game,都不要求考。我想是因为这两专业和数学关系不大;相反,两个专业都要求考手工画画(digital media的另一个专业不考画画,但是据说考一些视频软件的使用,如photoshop什么的,请知情的朋友补充这里)。
以上仅以四个专业作例子,其它专业还有不同要求,比如要求interview等。
所以,要申请college的朋友,还是好好准备一下English吧,看清专业的要求。否则以后可能被动,我现在就担心英语没有考好,到时候让我多学几个英语课程,那就累多了。

Read More » »

548 views Leave a Comment

EasykeysTools (updated)

New feature:

One click to select all objects that you have keyed.

But for our talking ball assignment , don’t care the following condition, they are not the objects what you have keyed.

Hi! Guy!
What did you think after you finished your “LiftGuy” animation assignment?
You set many keys in your file, right? like me did it:

Then, How did [...]

Read More » »

861 views Leave a Comment

Something about applying to Seneca 3D Animation program

(注意这是大概2005~2006年写的老文章,今天搬到这里来,供参考, Please attention this post was written in 2005 or 2006, I just moved my old Blog website to here)
Sorry about I write this post so lately. There were many friends asked me how to apply to 3D Animation program of Seneca college. In fact, you can visit Seneca’s website especially the website of Animation [...]

Read More » »

3,191 views Leave a Comment

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 [...]

Read More » »

524 views Leave a Comment

You must be shocked by them ! 感受三维动画的震撼

I collected some very great short animation films  on the internet. If you want
to know how they can shock you, just click the following URLs.
I hope you guy can give me more suggestions, and  more information of short
information films on the internet so that I can update this post constantly, I will
put your name in [...]

Read More » »

489 views Leave a Comment

bluebohe: OpenGL 下的文字显示

bluebohe: OpenGL 下的文字显示
from: http://blog.csdn.net/bluebohe/archive/2004/02/20/21063.aspx
一直以来,OpenGL状态下的文字显示都是一个问题,本文使用嵌套显示列表的方式进行OpenGL状态下的字符串的显示。
有以下几点需要注意:
1:本程序显示按照给定的高度和文字的位置显示某一种字体的文字,其中一些字体的参数定义在OpenGLText内部给定,可以随意将它抽出来。如果将代码用于实际应用中,建议文字的文字间距自己设定,也可以随意添加文字的倾斜角、旋转角度、定位方式等等参数。
2:wglUseFontOutlines函数的第五个参数表示文字的精度(弦偏差),一般设置成零,但这样缺省的做法会导致文字太粗糙,可以将它设置成一个比较小的数,以提高文字显示的精确度,但这样会增加内存的占用量。
3:如果文字的高度比较小,文字的线条可能会出现断裂的现象,影响美观,解决这类问题有以下几种方式:(1)使用OpenGL反走样技术;(2)把文字的 轮廓用线条勾勒出来;(3)在文字的Draw成员函数中多次调用glCallList函数,每次调用向周围平移一个像素,这样的话会使文字的线条断裂问题 大为改观,速度也是三种方式中最快的。
本文的详细代码在这里,欢迎参考:下载源程序
应用方式如下:
COpenGLText text;
COpenGLText text2;
text2.m_dX=0;
text2.m_dY=200;
glLoadIdentity();
glClear(GL_COLOR_BUFFER_BIT);
glColor4f(0.0f, 0.0f, 1.0f, 1.0f);
text.Draw(”宋体”);
text2.Draw(”楷体_GB2312″);
glFlush();
类的声明和实现如下:
#include <string>
using namespace std;
class COpenGLText
{
public:
//构造文字
COpenGLText();
virtual ~COpenGLText();
//绘制制定字体的文字,字体只在第一次绘制时进行设置,之后可以传入空值
void Draw(char *strFontName);
//释放文字所占空间
void Free();
//文字字符串
string m_str;
//字符串高度
double m_dHeight;
//字符串位置
double m_dX;
double m_dY;
protected:
BOOL GenList();
BOOL GenCharsLists(char *strFontName);
int m_iDisplayList;
};
//////////////////////////////////////////////////////////////////////
// COpenGLText Class
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
COpenGLText::COpenGLText()
{
m_dX=0;
m_dY=0;
m_str=”abc中国”;
m_dHeight=100;
m_iDisplayList=0;
}
COpenGLText::~COpenGLText()
{
Free();
}
BOOL COpenGLText::GenCharsLists(char *strFontName)
{
HDC hdc;
const char *str=m_str.c_str();
hdc=CreateDC( “DISPLAY”, “”, “”, NULL );
int iNum=_mbslen((const unsigned char *)str);
m_iDisplayList=glGenLists(iNum+1);
HFONT hNewCFont;
LOGFONT CLogFont; //存储当前字体参数
//初始化字体参数
memset( &CLogFont, 0, sizeof(LOGFONT) );
CLogFont.lfEscapement = CLogFont.lfOrientation = 0;
CLogFont.lfWeight [...]

Read More » »

529 views Leave a Comment

迪斯尼的动画规律(zt)

迪斯尼的动画规律(zt)
目前中国最流行的动画规律,其实就是由迪士尼的动画师长久以来所累积下来的动画绘制的经验,而形成的动画原理,再精确一点,应该说是应用在角色动画上的法则。
目前中国最流行的动画规律,其实就是由迪士尼的动画师长久以来所累积下来的动画绘制的经验,而形成的动画原理,再精确一点,应该说是应用在角色动画上的法则。

在早期的迪士尼动画片厂中,并不存在任何动画形式的原理式的理论,但是在日积月累的绘制过程中,各种独特的术语便逐渐在动画师的谈话或对作 品的检讨中,被普遍的使用,这些术语也逐渐成为片厂中累积相传,且广泛的用于新进动画师的教育与培养中的动画制作原理。
以下就是10条最经典的动画规律的详细讲解。
1.Squash and Stretch压缩与伸展
这是影响最深远的一项动画原理。在人物或对象的动作传递过程中,拉扯与碰撞等互动性动作都会做出压缩与伸展的表现,透过这个动作,也表现出物体的质感与量感。
这不见得是真实的物理表现,可是一般人却期待在动画中看到这种夸张的表现,压扁拉长,尽量夸大角色身体变形的程度,来达到动作上的张力与效果(喜感,惊讶感…….)
对应到现在的三滴动画软件中,皆有提供形变(Deformation)的功能,从最基本的scale到不等比缩放,以及进阶控制的,如FFD BOX……等网格式形变功能,都能帮助我们轻易的达到压缩与伸展的效果。
2。Anticipation预期性
动画中人物所表现之情绪(emotion)与讯息(information)必须以观众,也就是人类共通的肢体语言来传递,让角色的动作带给观众清楚的" 预期性",这个角色作出了这个预备动作,观众就能推测他接下来的行动。反之,则难以说服观众将认知投射在角色上。
不管是使用何种软件,什么功能…….在角色的动作设计上,这是相当"核心"的一点,端赖动画师长期的观察不同特性的人类情绪、动作表现来获得肢体语言的各种表现方式与经验的累积,方能为之。
3.Exaggeration夸张
基本上,动画就是夸张的……动画中的人物的每一个感情与动作,必须以相对性的较高级来传达才会更有真实感(说服力)。如主角进入一个快乐情绪,便让它更为高兴,感觉悲伤时会更有悲伤的表现。
夸张的表现方式五花八门,有在技术面上利用各种形变等功能,产生造型上的夸张,也有来自角色动作上的夸张……. 相较于真实拍摄的电影,以(计算机)动画来表现夸张的效果,是轻而易举的一件事。但夸张的意义并不完全是动作幅度大,而是经过深思熟虑后挑选的精采动作, 将传递出角色动作的精髓。
4.Straight ahead and pose to pose连续动作与重点动作
这是动画制作上相对的不同技巧,用来区分绘制动画时,需考虑之动作种类。连续动作在进行时,一次一个步骤,一张一张绘制,直到整个动作 结束﹔而重点动作则是先将各主要动作画面完成后,再绘制连接主要画面的中间画格。
对应于计算机动画制作上,几乎所有的计算机动画软件都是以Key frame的方式来设定人物角色的动作或是物体的行进路线(主要动作)﹔而由电 脑依所赋予的各项参数计算出中间的画格(连续动作)。 主要画面的设置,与中间画面之间,存在着极微妙的关系。
5.Follow through and overlapping跟随动作与重叠动作
可让角色的各个动作彼此影响,融混,重叠…….在移动中的物体或各个部分并不会永远一起移动,有些部分会先行移动,其它部分随后再到,然后再对先行移动的部分作重叠的夸张表情。
这也是我们在动画中常见的表现方式,如跑步时身体先离开画面了,屁股还留在原地,再"嗖"一声弹出去的趣味效果。
比起传统手绘制作的动画,在计算机动画中所有的动作都会转化为各种数值,物体的行进路线也会构成控制的曲线(PATH),我们能很精准的调校各个部分动 作发生的时间与幅度,经由这种设定来达到"跟随"与"重叠"的效果。 这种夸张的趣味,可以说是动画之所以吸引人的一个重点吧。
6.平滑开始与结束Slow in and Slow out
将动作的起始与结束放慢;加快中段动作的速度,放慢动作的起始与结束。我们知道举凡肢体、对象等的移动,并不是以等速度运动,而多半呈一个拋物线加(减)速度进行。
对于一个从静止状态开始移动的动作而言,需要以先慢后快的设定来完成。在动作结束之前,速度也要逐渐减缓,乍停一个动作会带来突兀的感觉。而每一个主要 动作之间必须完整的填进足够的中间画面来使得每一个动作都会以平滑的感觉开始,而且以平滑的感觉结束,而不至于产生跳格或是动作生硬的情形(反之亦然)。
由以上的原则可知,动作的速度变化,可以清楚的说明动作的种类、程度……带给观者不同的感受,我们在制作计算机动画时,所有的动作都会转化为各种数值, 物体的行进路线也会构成控制的曲线(PATH),每一个Key frame在动线上会形成一个事件刻度(Control Point),这个刻度与动线所形成的切线种类,会影响到事件开始执行与结束的速度,经由这种设定来达到"平滑开始与结束"的效果。
7。圆弧动作Arcs
动画中的动作,除了机械类的对象之外,几乎都是以圆滑的动线在进行移动。所以在描绘中间画面的时,要注意连接主要画面的动作是以圆滑的曲线在进行动作设定,而不是以锐利的曲线形成动作,以免形成不自然的感觉。
让角色的动作沿着圆弧动线来进行,不要走完全的直线。反之,如果是机械性的动作,就会是僵硬的、笔直行进的,藉由动线上的差异,传达出不同角色的特性。
在计算机动画制作上,我们可以直接在Key frame上调整,或透过诸如Track View的动线轨迹上形成的事件刻度(Control Point),这个刻度与动线所形成的切线种类,也可以控制物体运动的方式,经由这种设定来达到"圆弧动作"的要求。
8.第二动作 Secondary Action
以较小的运动来为定义动作的主要运动作辅助。在角色进行主要动作时,如果加上一个相关的第二动作,会使主角的主要动作便得更为真实以及具有说服力。但这个第二动作需要是以配合性的动作出现,不能过于独立或剧烈以至于影响主要动作的清晰度。
例如以跳跃的脚步来表达快乐的感觉,同时也可以加入手部摆动的动作来加强效果……第二动作可能相当的细微,但却有画龙点睛之效,在制作计算机动画时。我 们可以将主要动作设置好,透过反复预视,再加入辅助的动作,但什么是恰当的Secondary Action?则必须透过经验的累积、对动作的观察,转化为属于动画师的肢体语言的风格!
9.时间控制与量感 Timing and Weight
运动是动画中最基本和最重要的部分,而运动最重要的是节奏与时间。
时间控制是动作真实性的灵魂,过长或过短的动作会折损动画的真实性。除了动作的种类影响到时间的长短外,角色的个性刻画也会需要「时间控制」来配合表演。
量感是赋予角色生命力与说服力的关键,如何表现出物体应有的质感属性?动作的节奏会影响量感,如果物体的动作(速度)和我们预期上的视觉经验有出入时,将会产生不协调的感觉。
在计算机动画的制作上,修改动作发生的时间是相当容易的一件事,透过各种的控制方式能对Key Frame作相当精准的调整,而预视(Preview)的功能更是比传统方式能够更快的观察出动画在时间上所发生的问题,而能径行修改。
10. 演出(布局) Staging
角色在场景中所要叙述的故事情节,都需要以清楚的表演来完成,场景或高潮的气氛与强度,带进画面中角色的位置与行动里去。一个情绪可能需要十多个小动作 来表达。每一个小动作都必须清楚的表达,简单完整、干净俐落是这个原理的要求标准,太过复杂的动作在同一时间内发生,会让观众失去观赏的焦点。
很幸运的,计算机动画可以一再的重复运作,预视并在最大的范围内作修正,创作者可以尝试不同的动作方式、画面构成(并付出最少的成本),当然,我们还是要强调,好的动画来自好的设计,每一个动作、镜头的位置都必须是精心设计而有其意义的。
自 第一部动画片问世以来,动画都是通过片中主要角色和次要角色的动作来营造幽默气氛和阐述剧情的。动画就是动的艺术,而角色动作则是表现重点,角色动作的实 现手段更是随着科技的发展而有了很大的不同:最早的动画片,诸如Max Flesher兄弟的《逃出墨水井》,用的是最为直观方便的办法来实现的,将胶片上的人物角色的动作一张一张的描摹下来。经过一段时间的发展,动画成了一 门独立且包罗万象的视觉媒体艺术,制作程序也渐渐的流程化,科学的工作分配使角色的动作实现起来变地烦琐。按照迪斯尼的经验和要求,首先,要对真实的表现 对象进行长时间的临摹,对角色的形象、结构,乃至习性和习惯动作都要有一个系统的观察临摹,再进行艺术夸张,把一张对角色形象性格逆造有帮助的要素夸张出 来,有的是极度夸张,使最后在画面中的角色有血有肉,有性格有弱点,有他们自己的生活。这时的角色动作创作要经过上述的艺术夸张之后,再进行提炼,画出关 键的特点动作,再在这些关键张之间按照角色的性格不同所需要的不同节奏画出数量不等的中间张,这就是一直沿用至今流传世界的关键张的办法。
实际 上,现在的动画大多数在制作过程中都包含了各种各样的技术的段,比如一些迪斯尼的三维动画片,在制作的不同阶段用不同的软件,甚至一部影片下来,要用十种 以上的软件,这样做的目的是为了呈现完美的最终效果,发挥不同软件的不同优势。现在的动画技术也一样开始有趋同的趋势,很多运用在三维中的技术现在渐渐的 应用到了二维的高端软件中,以用来实现二维中完美的空间效果,方便的用计算机运算出中间张。还有的干脆就用三维动画来实现二维效果,就像《埃及王子》中摩 西用神杖将红海一分二为的宏大场面,就是用的三维模型贴上二维的海面贴图,将三维细腻的运动和二维华丽的贴图完美结合到一起。
《花木兰》中,匈奴 [...]

Read More » »

393 views Leave a Comment

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 [...]

Read More » »

527 views Leave a Comment

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

Read More » »

625 views Leave a Comment

FK/IK

IK是反向动力学;FK是正向动力学。
IK是用子骨骼带动父骨骼定位运动。典型的标志是IK链,FK是没有的。FK与IK正好相反,是以父骨骼带 动子骨骼定位运动。是最早的CG骨骼定位方式。二者可以相互转化。其实二者的效果是一样的,只不过计算方式和具体侧重不同。对于强调运动效果目的性的,如 拿东西更适用于IK,而对于强调运动本身的过程的,更适用于FK。虽然FK早于IK出现 ,IK更加先进,但现在二者作用是不能互相替代的,在制作过程中二者缺一不可。
在MAYA里面建立的IK/FK HANDLE里面都包含有IK/FK控制是么?
是的!

Read More » »

825 views Leave a Comment

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 [...]

Read More » »

653 views Leave a Comment

maya UI 环境打开显示light的shadow及其影响显示性能

maya UI 环境打开显示light的shadow及其影响显示性能
将view视图的light->shadow打开,将使场景显示灯光变暗,同时MMB和RMB也不灵活了。

Read More » »

559 views Leave a Comment

以一个curve投射到surface来裁减surface

以一个curve投射到surface来裁减surface
做好surface后,在front, side或top view窗口,画好所需要的curve,画好的curve现在还是在surface的中央,所以将其拉到surface之外。 然后,先选curve,后shift选surface,在正确的视图下(非pers视图),选择menu的Edit NURBS -> project Curve on Surface, 这样就将curve映射到了surface表面。
之后,保持surface表面的 curve被选择,选择Edit NURBS -> Trim tools, 点击surface,surface各边界呈白色,然后再点击需要保留的surface部分(缺省是保留,在trim tool的选项里有discard选项,若选这个就是有黄色的被切掉),这部分出现一个黄色点。最后按回车即可。
注意:一定要在垂直向下的视图中做project Curve on Surface操作,否则映射就会偏离。

Read More » »

377 views Leave a Comment

Maya 6 中Camera沿path移动

Camera 沿path移动
In the Side View, draw a  NURBS curve from camera’s current position . Name it camPath.
Select camPath and shift-select camera1. Attach to Path with options set to Start 0, End 240, and Follow turned Off,( Animate -> motion path -> Attach to motion path )
Adjust the timing of camera1’s motion path U Value curve [...]

Read More » »

446 views Leave a Comment