素材图片酷 图酷镜像二 | 壁纸酷 壁纸镜像二 | 写真扫图酷 | Free Wallpaper | 贴图论坛 | ·设为首页 ·加入收藏
您现在的位置: 图酷 >> 自习室 >> 多媒体制作 >> Director >> 教程正文

  没有公告


Director 3D 基础(之五)
作者: 十年磨一剑
教程来源: 奥古多媒体
教程等级:         ★★★
教程录入: 烤焦面包
教程审核: 烤焦面包
添加时间: 2004-12-3
点击次数:
字体选择: 【字体:
相关操作: 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
热门信息:
推荐内容:

用lingo来把2D字体延展成3D字体

Macromedia Director 8.5 Shockwave studio允许你在你的影片中用以下两种方法创建3D文本:
1、把2D演员延展成3D文本。
2、延展文本进3D世界。
虽然你可以利用这两种方法来获得类似的“看”到的效果,但由于它们是用不同的方法来改变文本的,所以它们是有不同的优点的。

一、延展2D演员成3D文本

当你延展2D演员成3D文本,显示2D文本为3D模式,既可以使用Lingo也可以使用属性检查员来指派3D属性给一个2D文本。显示3D文本需要Text Asset Xtra、3D Asset Xtra和Font Xtra,这些都是在安装Director 8.5时已经一起安装了的。
当一个文本演员以3D模式显示并在舞台上有一个精灵时,这个精灵就是一个3D精灵(还成了一个有自己独立的摄像机与灯光属性的3D世界),不是一个2D“普通”的文本精灵。你可以切换文本于2D与3D模式之间。如果是从3D切换到2D,这个精灵的3D Asset和一些3D属性就会删除掉,并且舞台上的精灵就会回复为一个普通的2D文本精灵。然而,位置、材料属性和灯光信息还是会保存在文本演员中。
要显示2D文本于3D模式,你必须设置2D文本属性如字体大小与样式,然后设置3D文本属性如斜面类型和斜面厚度、字的厚度、字的光滑程序。
二、延展文本进3D世界

当你直接延展文本进3D世界,你也要设置文本演员的属性,如字体大小与样式,然后使用Lingo延展文本。然而你还有切换2D与3D之间的选择权。一旦文本被延展进3D世界,你还可以象移去世界中的其它模型一样移去它的。
延展文本进3D世界的一个优点是文本中的每个字符都有自己的材质球,并且3D文本属性包括一个材质球列表。你可以利用材质球列表单独地改变每一个字符。例如,你可以选择某个字符运运起来,其它不运动,也可以只为某个字符加上色彩。

三、观看样版影片

样版影片3DText1说明如何把2D文本显示为3D模式,样版影片3Dtext2说明如何延展文本进3D世界。

四、3DText1

当你打开3DText1影片,你可以看到舞台上有一个由名叫“textSample”扮演的精灵。这个演员的文字是“Director 3D”。当影片播放时,你可以切换文本于2D与3D模式之间,你可以使用舞台左边的按钮来应用不同的设置并看这些设置是如何影响这个文本的。
每个属性按钮包括一个行为脚本以调用影片程序中的一个事件(句柄)。
要查看完整的影片程序,打开Script window然后去到Movie Script 5。
在影片程序中,以下的事件指定了模型(文本)位置以及摄像机位置与旋转角度。transform属性包括旋转和位置两个子属性。

on startMovie

if member(‘‘textSample‘‘).displayMode = #mode3d then
member(‘‘textSample‘‘).model[1].transform.position = vector(-190, -5,0)
member(‘‘textSample‘‘).camera(‘‘DefaultView‘‘).transform.position = vector(81, 21, 90)
member(‘‘textSample‘‘).camera(‘‘DefaultView‘‘ ).transform.rotation = vector(-3, 0, 0)

end if
end

以下的事件显示在文本演员中的当前的3D文本属性调用的内容:

on setComment
member(‘‘comment‘‘).text = ‘‘3d Text‘‘ & RETURN & \
‘‘bevelType = ‘‘ && member(‘‘textSample‘‘).bevelType & RETURN & \
‘‘bevelDepth = ‘‘ && member(‘‘textSample‘‘).bevelDepth & RETURN & \
‘‘tunnelDepth = ‘‘ && member(‘‘textSample‘‘).tunnelDepth & RETURN&\
‘‘smoothness = ‘‘ && member(‘‘textSample‘‘).smoothness & RETURN & \
‘‘displayFace = ‘‘ && member(‘‘textSample‘‘).displayFace
end

点击舞台上的按钮调用的不同事件。当你点击“Toggle 3D”按钮,以下这个切换2D与3D模式的事件会通过改变displayMode属性来实现。

on toggle3d
if member(‘‘textSample‘‘).displayMode = #modeNormal then
member(‘‘textSample‘‘).displayMode = #mode3d
member(‘‘textSample‘‘).model[1].transform.position = vector(-190, -5,0)

member(‘‘textSample‘‘).camera(‘‘DefaultView‘‘ ).transform.position = vector(81, 21, 100)
member(‘‘textSample‘‘).camera(‘‘DefaultView‘‘ ).transform.rotation = vector(-3, 5, 0)

setComment
else
member(‘‘textSample‘‘).displaymode = #modeNormal
member(‘‘comment‘‘).text = ‘‘2d Text‘‘
end if

end

以下事件设定3D文本的侧面(斜面)效果,象倾斜、圆与没有效果。

on setBevelType
if member(‘‘textSample‘‘).bevelType = #none then
member(‘‘textSample‘‘).bevelType = #miter
setComment

else if member(‘‘textSample‘‘).bevelType = #miter then
member(‘‘textSample‘‘).bevelType = #round
setComment

else if member(‘‘textSample‘‘).bevelType = #round then
member(‘‘textSample‘‘).bevelType = #none
setComment

end if
end

以下的事件设定字的前面与背面的倾斜数值。这个厚度的数值从1一直提升到15,然后会返回到1。

on setBevelDepth
if member(‘‘textSample‘‘).bevelDepth < 15 then
member(‘‘textSample‘‘).bevelDepth = member(‘‘textSample‘‘).bevelDepth + 1

setComment
else
member(‘‘textSample‘‘).bevelDepth = 1
setComment

end if
end
以下的事件设定字的厚度。这个数值从10一直提升到100,然后会返回到10。

on setTunnelDepth
if member(‘‘textSample‘‘).tunnelDepth < 100 then
member(‘‘textSample‘‘).tunnelDepth =
member(‘‘textSample‘‘).tunnelDepth + 10
setComment

else
member(‘‘textSample‘‘).tunnelDepth = 10
setComment
end if
end

以下的事件设定字的光滑程序和3D字的弯曲角度。当你点击“Display Smoothness”按钮时,数值会返回到1。

on setSmoothness
if member(‘‘textSample‘‘).smoothness < 10 then
member(‘‘textSample‘‘).smoothness = member(‘‘textSample‘‘).smoothness + 1

setComment

else
member(‘‘textSample‘‘).smoothness = 1
setComment
end if
end

  • 上一篇教程:
  • 下一篇教程:
  • ::版权和投稿说明::
    • 任何媒体、网站或个人转载、链接、转贴或以其他方式复制发表本站文章,在使用时务必注明“稿件来源:图酷”及“www.tucoo.com”字样,多谢。
    • 本站已注明“来源”的文章均为转载稿,本站转载出于传递更多信息之目的。如本站转载稿涉及版权等问题,请来信与本站联系。
    • 如果您有自己原创的作品,请向我们投稿哦!您可以通过Email:gogocat@21cn.com投出自己的作品,赶快行动吧!
    • 如果觉得我们的资源有用,请推荐给朋友,谢谢!
    ::相关教程::
    使用visible时要不要宣告puppetSprite
    如何可以在Director中侦测键盘的输入
    Case指令在Director中的应用
    什麽是Sprite
    Director中几种Scirpt
    Xtra系列--人性助手Msagnet
    MCI指令在DIRECTOR 中的应用
    用面向对象的方法在DIRECTOR中实现滚动条
     
    网友评论:(评论内容只代表网友观点,与本站立场无关!) 发表评论