通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>网络媒体>>director>>正文 新版上线![旧版]
注:打开慢时请稍等

director 3d 基础(7)

http://www.iyit.net  日期:2006-5-29 8:56:22  来源:网络转载   点击:
参加讨论】director 3d 基础
     以下的事件控制显示修饰 3d 文本的字面。显示字面组合可以包括显示延展文本的前面、背面、字厚度,以及其它面的一些组合效果。举例说明,如果你只是选择显示前面和字厚度,背面就不会在 3d 文本上显示。

on setdisplayface
if member(‘‘textsample‘‘).displayface = [#front] then
member(‘‘textsample‘‘).displayface = [#tunnel]
setcomment

else if member(‘‘textsample‘‘).displayface = [#tunnel] then
member(‘‘textsample‘‘).displayface = [#back]
setcomment

else if member(‘‘textsample‘‘).displayface = [#back] then
member(‘‘textsample‘‘).displayface = [#back, #tunnel]
setcomment

else if member(‘‘textsample‘‘).displayface= [#back, #tunnel] then
member(‘‘textsample‘‘).displayface = [#front, #tunnel]
setcomment

else if member(‘‘textsample‘‘).displayface=[#front,#tunnel] then
member(‘‘textsample‘‘).displayface = [#front, #back, #tunnel]
setcomment

else if member(‘‘textsample‘‘).displayface = [#front, #back, #tunnel] then

member(‘‘textsample‘‘).displayface = [#front]
setcomment

end if
end

五、 3dtext2

当你打开并播放 3dtext2 样版影片,你可以通过点击舞台左上角的按钮延展文本进 3d 世界。你可以点击另外两个按钮以应用一个材质球于每个字母。所有这三个按钮都有调用以下事件的行为,你可以在 movie script 中找到以下事件。
以下代码是一个错误捕捉,如果一个 3d 文本已经存在于 3d 世界中就促使这个事件退出。如果模型已经存在,而你试图创建另一个同名的,一个错误信息会出现。

on extrudetexttoworld
if not(member(‘‘scene‘‘).model(‘‘3dtext‘‘).voidp) then exit

prepareshaders 事件调用创建所有影片中的材质球事件。 preparelightandcamera 事件调用设定影片的灯光与摄像机位置的事件。要预备灯光和摄像机位置,你必须先保证你在影片中的文本已经是看得见的。
以下的代码定义延展文本象一个模型资源一样,并把它指派给一个方便使用的变量:
textmodelresource = member(‘‘textsample‘‘).extrude3d(member(‘‘scene‘‘))
以下的代码创建一个新的模型,用上了新的 textmodelresource 变量。
nm = member(‘‘scene‘‘).newmodel(‘‘3dtext‘‘, textmodelresource)
这个新的模型延展文字 “i 』 m shocked!” ,由于这些文字有 11 个字母(包括标点符号),所以它有 11 个材质球 ╠╠ 每个字母一个。
以下的脚本循环指派同样的材质球给每一个字母:

repeat with x = 1 to member(‘‘scene‘‘).model(‘‘3dtext‘‘).shaderlist.count

member(‘‘scene‘‘).model(‘‘3dtext‘‘).shaderlist[x] = member(‘‘scene‘‘).shader(‘‘shmetal‘‘)

end repeat
end

这些代码为模型创建一个材质球和贴图:

on prepareshaders
member(‘‘scene‘‘).newtexture(‘‘texmetal‘‘, #fromcastmember, member(‘‘metallic‘‘))

member(‘‘scene‘‘).shader(‘‘shmetal‘‘).texture = member(‘‘scene‘‘).texture(‘‘texmetal‘‘)

这些代码为模型创建另一个材质球和贴图。它使用 newtexture 函数去添加贴图到贴图列表并指派贴图到 shlines 材质球。

member(‘‘scene‘‘).newtexture(‘‘texlines‘‘, #fromcastmember, member(‘‘lines‘‘)) member(‘‘scene‘‘).newshader(‘‘shlines‘‘, #standard)

member(‘‘scene‘‘).shader(‘‘shlines‘‘).texture = member(‘‘scene‘‘).texture(‘‘texlines‘‘)

end
以下的事件设定演员的 directionalpreset , directionalcolor , and ambientcolor 属性。这些是用于修饰 “scene” 的灯光的。

on preparelightandcamera
member(‘‘scene‘‘).directionalpreset = #bottomleft
member(‘‘scene‘‘).directionalcolor = rgb(255, 255, 255)
member(‘‘scene‘‘).ambientcolor = rgb(255, 255, 255)

这些代码移动摄像机到新的模型的位置:

member(‘‘scene‘‘).camera[1].transform.position = vector(266, 0, 300)
member(‘‘scene‘‘).camera[1].transform.rotation = vector(0, 0, 0)

end

以下的事件应用 shlines 材质球于一半的字母。注意到 shlines 材质球仅仅应用于材质球列表中的奇数条; shmetal 材质球将显示于其它字母。这儿利用了 mod 函数,这儿是用来除以 2 ,得到的余数是 1 或者 0 。

on addlinestohalf
if member(‘‘scene‘‘).model(‘‘3dtext‘‘).voidp then exit
repeat with x = 1 to member(‘‘scene‘‘).model(‘‘3dtext‘‘).shaderlist.count
if x mod 2 = 1 then -- if x is an odd number
member(‘‘scene‘‘).model(‘‘3dtext‘‘).shaderlist[x] =
member(‘‘scene‘‘).shader(‘‘shlines‘‘)
else
member(‘‘scene‘‘).model(‘‘3dtext‘‘).shaderlist[x] =
member(‘‘scene‘‘).shader(‘‘shmetal‘‘)
end if

end repeat
end

以下的事件指派 shlines 材质球于所有的字母:

on addlinestoall
if member(‘‘scene‘‘).model(‘‘3dtext‘‘).voidp then exit
repeat with x = 1 to member(‘‘scene‘‘).model(‘‘3dtext‘‘).shaderlist.count

member(‘‘scene‘‘).model(‘‘3dtext‘‘).shaderlist[x] = member(‘‘scene‘‘).shader(‘‘shlines‘‘)

end repeat

end

编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:director 疑难解答(1)
下一篇:director 3d 基础(6)
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
最新更新 热点排行 推荐新闻
发布director mx 2004
directmedia xtra 在 director 中的应
speech xtra 应用(director mx 新增 
谈谈director作品的发布模式
关于多媒体程序运行速度的研究
博客网总裁辞职
发布director mx 2004
directmedia xtra 在 director 中的应
speech xtra 应用(director mx 新增 
谈谈director作品的发布模式
关于多媒体程序运行速度的研究
director mx 2004教程--哪些人适合使用
director mx 2004教程--常用多媒体编著
director mx 2004教程--为什么选择dir
director mx 2004教程--director与fla
发布director mx 2004
directmedia xtra 在 director 中的应
speech xtra 应用(director mx 新增 
谈谈director作品的发布模式
关于多媒体程序运行速度的研究
优秀公益广告作品欣赏(8)
java数据类型转换
windows xp专业版iis连接数的更改
新开放qq免费挂级网站
优秀公益广告作品欣赏(7)
免费在qq上看在线电影电视听音乐
qq最新版下载 2006 beta2 体验新感受 
office2007简体中文版浮出水面 美图抢
qq珊瑚虫外挂4.0版本发布!
免费把qq炫铃设为本机qq的系统提示音
dreamweaver mx 2004从零开始(1)
利用css改善网站可访问性
如何让mm的脸通透可人
msn8.0下载
asp 五大高效提速技巧
如何在win20003中更好的玩游戏
qq收费头像免费使用的方法 
微软将在华推分期付款,充值卡pc 可低价
 amd处理器am2测试 风扇竟运行7分钟
exeplorer.exe错误的问题的总结、解决
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息