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

ShockWave 3D 制作系列教程之二

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

二 、建立一个简单的自转体

  本例子将带你建立一个自动旋转而且有六个不同面的正方体,最终输出如下图所示:

现在我们开始讲解制作过程:

1、创建场景

  首先打开DIRECTOR,并在第一帧中输入下面的程序

on prepareMovie

--在演员号4中建立一个W3D文件

pscene = new(#shockwave3d, member(4))

--把这个W3D命名为“SCENE”

pscene.name = "scene"

end

播放后会自动产生一个W3D的演员,如下图所示

然后把演员SCENE拖动舞台上,接着对该SCENE单击右键添加行为,如下图所示。


 

[下一页]


 

以下程序主要是建立一个正方体并为其添加材质,请看程序:

property pscene,myTexture

on beginsprite me

pscene=member("scene")

pscene.resetworld()

--创建正方体

makebox(me)

end

on exitframe me

--令物体以X,Z轴旋转

pscene.model("box").transform.rotate(-1,0,-1)

end

on makebox me

--定义正方体的资源参数

boxresource = pscene.newmodelresource("boxresource",#box)

--设置宽度

boxresource.width = 50

--设置高度

boxresource.height = 50

--设置长度

boxresource.length = 50

--产生物体

pbox = pscene.newModel("box",boxresource)

--对六个面进行贴图

repeat with i=1 to 6

--把演员库中的位图放进3D场景中作为稍图

pscene.newtexture("map" & i,#fromcastmember,member(i,"texture"))

--新增阴影渐变面

pscene.newshader("boxshader" & i, #standard)

--为每个渐变面赋予一材质

pscene.shader("boxshader"& i).texture = pscene.texture("map" & i)

end repeat

--对每一个面贴图

repeat with i = 1 to pbox.shaderList.count

pbox.shaderList[i] = pscene.shader("boxshader" & i)

end repeat

end

通过本例子您已经大概了解了简单模型的建立和贴图技巧

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