免费论文查重: 大雅 万方 维普 turnitin paperpass

浅谈基于Maya脚本语言双面渲染方法

最后更新时间:2024-04-03 作者:用户投稿原创标记本站原创 点赞:16442 浏览:71375
论文导读:
摘 要:渲染是三维动画Maya软件最终色彩和光影效果的整体表现形式。介绍了使用Maya软件中的脚本语言对已经建立的一个三维碗状模型进行色彩双面渲染的策略。
关键词:Maya;脚本语言;双面渲染
DOIDOI:10.11907/rjdk.143352
16727800(2014)010012802
作者简介作者简介:马红旭(1965-),女,黑龙江哈尔滨人,内蒙古师范大学数学科学学院副教授,研究方向为计算机应用技术。
0 引言
Maya 是美国Alias/Wefront/Autodesk公司出品的当今世界顶级的3D动画软件,应用对象是专业影视广告 、动画、电影特技等,Maya功能完善灵活 ,易学易用,制作效率非常高。2000年,Alias Wefront公司推出Universal Rendering,使各种平台的机器可以参加Maya的渲染,渲染真实感极强[1],是电影级别的高端制作软件,也是制作者梦寐以求的制作工具。掌握了Maya将极大提高制作效率和品质,调节出仿真的角色动画,渲染出和电影一样极其真实的效果。
以Maya 2009为例,运用Maya软件中的脚本语言(Mel),对已经建立的三维surface模型进行双面渲染,目的是把已画好的三维模型(一个碗状模型),内外两面喷涂不同的颜色或花纹图案。
1 Maya三维模型双面渲染步骤
启动Maya软件,新建一个场景文件,选择surface曲面模式,创建一个碗状模型。
图1 碗状模型 图2 渲染效果
策略:先建立一个标准Nurbs半径为5的球体,然后在球体下部选择一条结构线,沿着结构线分离曲面,选择分离后的上半部分球体并删除它,剩下的部分就是所需的碗状模型,如图1所示。实现程序如下:
setToolTo "CreateNurbsSphereCtx";
sphere -ch on -o on -po 0 -ax 0 1 0 -r 5 -nsp 4 ;//产生一个半径为5的球体//
select -r nurbsSphere

1.u[2.3894173972483' ;

detachSurface -ch 1 -rpo 1 //分离球体//
nurbsSphere

1.u[2.3894173972483];

select -r detachedSurface1 ;
doDelete;
select -r nurbsSphere1 ;//产生一个碗状半圆模型//
对碗状三维模型进行双面渲染,主要建立条件节点(condition)、Sampler Info(信息采样节点)的设置策略[2],主要分为如下8步:
(1) 产生2个兰伯特材质图案(用surface shader渲染模型)。产生两个兰伯特材质,lambert2 颜色为红色,lambert3为file文件中选定的图案。
select -cl ;
shadingNode -asShader lambert;
sets -renderable true -noSurfaceShader true -empty -name lambert2SG;
connectAttr -f lambert

2.outColor lambert2SG.surfaceShader;

shadingNode -asShader lambert;
sets -renderable true -noSurfaceShader true -empty -name lambert3SG;
connectAttr -f lambert

3.outColor lambert3SG.surfaceShader;

(2)创建condition节点和 sampler info节点。产生condition节点和 sampler info节点,前者是程序执行什么操作的判断条件,后者提供采样点空间位置坐标信息。
shadingNode -asUtility condition;
shadingNode -asUtility samplerInfo;
(3)节点sampler info和 condition节点连接。把节点sampler info的(正常翻转)Flipped nomal属性和condition节点的first term属性连接。
select -r samplerInfo1 ;
select -tgl condition1 ;
nodeOutliner -e -replace samplerInfo1 connectWindow|tl|cwForm|connectWindowPane|leftSideCW;
nodeOutliner -e -replace condition1 connectWindow|tl|cwForm|connectWindowPane|rightSideCW;
connectAttr -f samplerInfo

1.flippedNormal conditionfirstTerm;

(4)兰伯特2和 condition节点连接。把兰伯特2的Outcolor属性和condition节点的colorIfFalse属性连接,至此兰伯特2的红色将作为碗内侧的颜色。 全文地址:www.7ctime.com/fanyixuelunwen/lw42519.html上一论文:简析基于目的论的我国古典戏剧英译