操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

ShockWave 3D 制作系列教程之六

2004-6-6 作者:sunshine 转载自:阳光原创游戏 网友评论 0 条 点击进入论坛

物体的复制与三维字体的建立

通过本例,你将掌握:

物体的克隆

从文字演员中建立三维字体

把位图演员作为材质

摄像机的自转

下面就让我来介绍制作的过程:

1、使用3DMAX制作一张茶桌并命名为DESK;建立一个酒瓶并命名为BOTTLE
2、输出W3D文件并导入DIRECTOR
3、在DIRECTOR中建立一个文本演员,命名为TXT,如下图所示

4、按FILE-IMPORT分别导入两个位图演员,本例中这两个演员的位置位演员表的4和5号,如下图所示

5、在场景中单击右键对W3D添加行为,如下图所示


 

[下一页]


 

6、行为内容如下:

property pscene,pbottle
on beginsprite me
--定义场景
pscene=member("scene")
--场景归位
pscene.resetworld()
--定义场景中的酒瓶
pbottle=pscene.model("bottle1")
--复制四个酒瓶
repeat with i=2 to 5
--复制酒瓶
newbottle=pbottle.clone("bottle" & i)
--酒瓶定位
newbottle.transform.position.x=pscene.model("bottle" & (i-1)).transform.position.x+15
end repeat
--建立3D字体
txt = member("txt").extrude3d(pscene)
--产生字体模型
newtxt=pscene.newmodel("3dext", txt)
--3D字体高度
newtxt.resource.tunneldepth = 3
--导角类型
newtxt.resource.beveltype = #miter
--导角参数
newtxt.resource.beveldepth = 0.2
--从演员表中新建两个材质
normalmap=pscene.newtexture("normalmap",#fromCastMember,member(4,1))
reflectmap=pscene.newtexture("reflectmap",#fromCastMember,member(5,1))
--对字体贴材质一
newtxt.shader.texturelist[1]=normalmap
--贴图方式为圆柱
newtxt.shader.texturemodelist[1] = #wrapcylindrical
--对字体贴材质二
newtxt.shader.texturelist[2]=reflectmap
--贴图类型为反射贴图
newtxt.shader.texturemodelist[2] = #reflection
--以混合方式贴图
newtxt.shader.blendfunctionlist[2] = #blend
--字体透明度为80%
newtxt.shader.blend=80
--把字体的X轴旋转90度
newtxt.transform.rotation=vector(90,0,0)
--字体定位
newtxt.transform.position=vector(-16,3,27)
end
on exitframe me
--摄像机以瓶子3为中心旋转
pscene.camera[1].rotate(vector(0,0,1),pscene.model("bottle3"))
end

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 用户名: 密码:
  匿名发表
今日推荐
技术文库(共有 46294 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
移动开发
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail