荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: guita (3dmax), 信区: Multimedia
标  题: QuickDraw 3D Xtra 使用指南
发信站: 荔园晨风BBS站 (Thu Jun 13 12:04:51 2002), 转信

原作者:ovews

QuickDraw 3D Xtra 使用指南
------------------------------------------------------------------------
--------
硬件和软件要求
安装QuickDraw 3D Xtra
使用QuickDraw 3D Xtra
创造一个模型
QuickDraw 3D Xtra对话框
模型
渲染
灯光
摄影机
动作
Lingo命令
QuickDraw 3D Xtra允许你引入3DMF文件的3D模型,和象角色成员一样与Director
一起使用他们。
QuickDraw 3D Xtra界面允许你通过设置属性值修正引入的模型。你能设置全局模
型性质(物体的位置、光源、和摄影机),对象性质(色彩、明暗、和组织)。
QuickDraw 3D也允许你决定类型控制用户在Director运行时结束这个模型。
QuickDraw 3D Xtra 特殊设置Lingo命令,允许你在运行时操纵模型的属性。
QuickDraw 3D Xtra 中设定的属性值可以用Director的Lingo脚本重新设定。
Lingo使动画视图、灯光、位置、旋转、和模型的比例成为可能。


一、硬件和软件要求
QuickDraw 3D Xtra支持MacOS、Windows 95和Windows NT 4.0。在Windows NT 3.
5.1,仅重现是支持的(不创作)和系统dll MSVCRT40.dll是必须的。
在MacOS上运行QuickDraw 3D Xtra,你需要PowerPC电脑和多于16MB内存;推荐
32MB或更多。
在Windows 95或Windows NT上运行QuickDraw 3D Xtra,你需要Pentium或
Pentium Pro电脑及最少16兆内存(RAM)(推荐32MB或更多内存),和提供256色
(8-bit)640x480分辨率的视频卡。
你需要有安装Director 5和QuickDraw 3D(MacOS上是版本1.06或更高,Windows上
是版本1.5或更高)。你能从Apple Computer站点http://quickdraw3d.apple.com上
,下载QuickDraw 3D免费程序。


二、安装QuickDraw 3D Xtra
安装用于创作状态的QuickDraw 3D Xtra:
1、从http://www.macromedia.com下载QuickDraw 3D Xtra安装程序。
2、运行这个安装程序不安装Xtra、文件、和一个示例影片到Director Xtras文件
夹中。
分发这个Xtra和放映机或Shockwave影片,你应该从Macromedia网站(http://www.
macromedia.com)下载QD3D Xtra的运行版本。这个Xtra的运行版本象创作版本一样
精确重现句柄,分发时没有限制。
与放映机一起使用这个Xtra,请将这个Xtra包含于放映机的Xtras文件夹中。与
Shockwave一起使用这个Xtra,下载QD3D Xtra的运行版本且放于Director
Schockwave Plug-in支持文件夹中。


三、使用QuickDraw 3D Xtra
在Director中使用QuickDraw 3D Xtra:
1、开启Director。
2、选择Insert/Media Element/QuickDraw 3D Model。
3、在出现的引入对话框中,选择3DMF文件,并且单击Import。这个对话框有两个
附加选项:
*Linked
如果选择这个选项,角色成员将与磁盘上的外部文件连接。如果没有选择这个选项
,模型数据将引入Director影片内部。这个选项象其它类型Director角色成员一样
,重要例外:模型文件必须与Director影片在同一个文件夹内,或必须于原始路径
下可找到。
*Import Geometry Only
如果选择这个选项,模型的所有色彩和组织信息都剥除。允许你使用Xtra属性对话
框或Lingo设置色彩。这个选项当前只在Windows是有效的。
4、设置角色成员的属性,作下列之一:
*选择Modify/Cast Member/Properties.
在QuickDraw 3D Xtra角色成员属性对话框中,选择选项。
*在角色库中双击角色成员。
*拖拽角色成员到舞台上并双击它。


四、创建模型
使用Macromedia Extreme 3D版本2转换已存在的模型或在3DMF格式中创建新模型。
Extreme 3D版本2在任意二进制或ASCII版本中输出3DMF文件。QuickDraw 3D Xtra
在任意格式中读文件。使用E3D(球,圆锥体,或立方体)中的"primitive objects"减
小文件尺寸,且二进制文件通常比ASCII相关文件尺寸小。描绘一个物体时使用的
多边形数量能在Extreme 3D中用"adaptive smoothing"和"uniform smoothing"调
整,于Render菜单中。
关于QuickDraw 3D支持3DMF的附加信息和属性,访问QuickDraw 3D站点http:
//quickdraw3d.apple.com。


五、QuickDraw 3D Xtra对话框
QuickDraw 3D Xtra对话框决定引入的QuickDraw 3D最初的设置。你能使用界面定
义这些设置,或者用Lingo控制设置。你也可以使用Lingo在影片播放时控制和改变
设置。
QuickDraw 3D Xtra对话框由5个界面组成:模型(Modeling)、渲染(Rendering
)、灯光(Lights)、摄影机(Camera)、和行为(Action)。每一个对话框允许
你在同一方面修改角色成员。
有三个控制按钮。OK钮设定当前显示面板中的对象。Presets按钮重新设定对话框
为默认设置。Cancel按钮关闭对话框且不做任何改变。
当你在对话框中改变角色成员属性时,这个改变反映到对话框的全部界面中。使用
出现的三个控制键改变图像相关摄影机的位置。你能移动摄影机向上/向下、向左
/向右、向内/向外、或围绕源模型旋转。



(一)模型
使用Modeling对话框来设置模型在Director舞台上的位置。QuickDraw 3D Xtra允
许应用一定规则的比例、旋转、和位置。色彩和组织能应用于任何时候。如果模型
已经是染色的或组织的,设置色彩或组织将无效。

模型对话框选项:
*File Import
有两种方法引入一个模型到Director之中:Embedded或者Linked。如果模型是
embedded,"Embedded 3DMF Model"出现next to the file图标。如果模型是
linked,文件名出现next to the file图标。Import按钮允许你引入不同的模型。
连接一个模型,检查"linked"文件对话框中的检查框。在Windows,附加的"Import
 Geometry Only"检查框允许你剥除一个引入模型的所有色彩,加入你自已的色彩
或者组织。

*Scale
你能设置以百分比来设置模型的比例(0 - 无限大)。正常尺寸(100%)按钮是返回模
型最初状态的快速方法。

*Position
最初,模型的默认位置是由创建它的应用程序输出时决定的。你能改变模型的内部
相关位置为默认位置[0,0,0]。

*Rotation
模型能用循环X, Y, 和/或Z轴(度)设定。

*Color
你能设置散开的色彩和反射的色彩。散开的色彩是物体的色彩。反射的色彩是物体
反射灯光的色彩。如果引入的模型是已经染色的或组织的,则色彩选项无效。

*Texture
组织有两个类型:角色成员(位图,QuickTime影片(只能是Macintosh), 或Rich
Text)和 Built-In视频(只能是Macintosh)。如果你选择角色成员,你必须输入角
色成员名称。(注意:如果你稍后改变这个角色成员名称,QuickDraw 3D Xtra将不
能找到这个角色成员。)如果引入的模型是已经组织的或染色的,则组织选项无效

在Windows,Xtra不支持QuickTime和Built-In视频组织类型。


(二)渲染
使用Rendering对话框决定模型在Director中如何表现。设置渲染选项根据你的图
像的最终状态。如果模型是原型,你能选择快速表现图像"sketch"。如果模型是最
终结果,你可以选择显示最终图像选项(display the finished image)。

渲染对话框选项:
*Renderer
有四个选项:Interactive Software、Interactive Hardware、Interactive
Best(默认),和Wireframe。如果你选择Interactive Software,你的计算机执行
这个渲染。如果你选择Interactive Hardware,内部的3D加速卡执行这个渲染。如
果你选择Interactive Best,QuickDraw 3D Xtra决定最佳方法:Interactive
Software -- 如果没有可用的硬件;Interactive Hardware -- 如果有一个或多个
可用的加速卡(QuickDraw 3D决定使用最好的卡)。如果你选择Wireframe,图像象
wireframe一样执行。

*Interpolation
有三个选项:None、Vertex(默认值)、和Pixel。None在多边形顶点间不用任何灯
光添写。Vertex计算灯光以平均数为基础。Pixel修改最高灯光每一象精确中象素
和结果的明暗。None是最快的选项。Pixel是最慢的选项。

*Backfaces
一个物体的backfaces是物体离开摄影机贴面的一部分。默认状态,你不能看到物
体的backfaces,或者背部。有三个选项:Show、Remove(默认值)、和Flip。Show
根据模型的方向指定来拖拽backfaces,摄影机的指向。Remove不能拖拽
backfaces。Flip拖拽backfaces,如果贴面即将到摄影机。Remove是最快的选项。
Flip是最慢的选项。

*Shading
有三个选项:Phong(默认值)、Lambert、和Flat。Phong加强灯光和影响散开的和
反射色彩。Lambert只用于散开的色彩。Flat忽略所有灯光和在所有多边形上显示
一个单独的色彩。Flat是最快的选项。

*Fill
有三个选项:Filled(默认值)、Edges、和Points。Filled显示一个固体,shaded
图像。Edges显示一个wireframe图像。Points象一个点收集(a collections of
points)样显示图像。

*Direct to Stage
如果这个选项是被选择的,QuickDraw 3D Xtra拖拽模型直接到舞台上。Direct to
 Stage选项与Director内部QuickTime是相似的。如果这个选项没有被选择,
QuickDraw 3D Xtra拖拽模型到Director的离开场景缓冲区(off-screen buffer)
。Director然后拖拽模型到舞台上。这个允许你使用不同的墨水效果在舞台中混合
模型和其它物体。


(三)Lights
QuickDraw 3D Xtra对每一角色成员支持两个灯光。
使用Lights对话框设置方向灯和周围灯。方向灯从光源散发且有方向。周围灯没有
光源,并且象所有周围灯光样显示。

Lights对话框选项:
*Directional
你可以设置方向灯的方向(direction)、色彩(color)、和光亮(brightness)
。灯光来自物体前面,单击和定位球形上的红点。灯光来自物体的后面,单击
Flip按钮且在球形上定位蓝点。设置灯光的色彩,单击Directional按钮,在弹出
栏中设置色彩。设置光亮,向左或右滑动光亮级别,有百分数表示,在到下一个滑
动条域中出现。

*Ambient
你可以设置周围灯的色彩和光亮。单击Ambient按钮在弹出栏中设置色彩。设置光
亮,向左或或滑动光亮级别。光亮级别,有百分数表示,在到下一个滑动条域中出
现。


(四)Camera
使用Camera对话框决定摄影机的位置和方向。你可以选择用摄影机镜头和不用来修
剪模型。调整物体的视图使用viewer中的按钮更新摄影机属性。

Camera对话框选项:
*Lens
有两个选项:Narrow Angle和Wide Angle。如果选择的是Narrow Angle,图像出现
比较好的靠近细节。如果选择的是Wide Angle,模型encompasses对于周围区域更
多。

*Position
你可以指定3D空间中摄影机的位置。例如,你能将摄影机定位于物体之上、物体之
下、或者物体前面正中。输入摄影机位置使用X, Y, 和Z 坐标值。

*Orientation
有两个选项:Point of Interest、和Direction Vector。Point of Interest直接
在X, Y, 和 Z域内输入摄影机位置点。摄影机能改变空间内的位置,但是它将总是
指向兴趣点。Direction Vector指向固定位置内的摄影机。如果摄影机改变位置,
它继续向前指向Direction Vector。

*Clipping
定义自摄影机"clipping planes"的近或远的距离。适当的渲染,确定物体位于两
个平面之间。远处clipping后面的物体不表现,近处clipping前面的物体也不。如
果它和任意平面一致,物体是"sliced"。在Windows,对话中的QD3D viewer和
QuickDraw 3D sprite(和controller或者badge enabled -- 见Action对话框)都不
反射clipping格设定。sprite的clipping平面使能够,隐藏Action对话框中的控制
设定必须被选择。


(五)Action
使用Action面板设置选项给用户控制模型,之后显示于舞台上。你可以显示控制按
钮或标记,且允许用户在舞台上拖拽模型。你也可以决定是否模型将自动旋转。

Action对话框选项:
*Direct Manipulation
如果这个选项是被选择的,用户可以操纵模型通过三个设置之一:Show Badge、
Show Controller、或Hide Controls。Show Badge显示Director舞台中的显示标志
。当用户点击这个标志,显示控制者。Show Controller简单地显示Director舞台
中的控制者。所有这些选项提高模型在舞台的表现(见渲染对话框)。
如果选择Hide Controls,标志和控制者都不显示。用户可用鼠标和键盘操纵物体

1、左/右移动鼠标 - 围绕Y轴旋转图像。
2、上/下移动鼠标 - 围绕X轴旋转图像。
3、苹果机的Command键,Windows的Control键 - 移动图像左/右或上/下。
4、苹果机的Option键,Windows的Alt键 - 移动鼠标左/右旋转图像围绕Y轴;移动
鼠标上/下旋转图像围绕Z轴。
5、苹果机的Control键,Windows的鼠标右键 - 调图像的比例。向上移动鼠标使它
更大。向下移动鼠标使它小一些。

*Allow Drag and Drop
如果选择这选项,用户可以拖拽模型从Director舞台到finder或到其它苹果机的应
用程序。在Windows,用户可以从一个文件夹拖拽3DMF模型到舞台sprite上。如果
控制者或标志是显示的这只可进入。

*Auto Rotate
如果这个选项是被选择的,当Director影版运行时模型自动的旋转。你可以设置关
于X, Y, 和Z轴(在每帧度数)旋转的速度。


六、Lingo命令
QuickDraw 3D Xtra界面是对于初始化模型属性值的快速方法。可是,制造动态的
模型,你需要Lingo。Lingo是命令语言,允许你修改模型的属性值。例如,假定你
要创建一个玩具公司的可旋转和上下弹跳的logo。使用QuickDraw 3D Xtra界面,
你能设置自动旋转属性值来制造logo旋转。然后,将引入模型放于舞台上,你能加
入Lingo命令脚本,来制造logo的上下跳动。
特别的,orthographic摄影机类型,对Lingo仅有用。

(一)Lingo概述
多数Lingo界面是如属性设置一样的工具。界面是象属性值一样实现的。属性值是
分开的在那些应用角色成员和sprite之中。角色成员属性值是自QuickDraw 3D模型
原始存储初始化的,或是创作时经由QuickDraw 3D Xtra UI设置的。Sprite建议属
性值是角色成员属性初始化的。角色成员和sprite实例属性值可以在运行时经由
Lingo修改。例如,设置模型的散开色彩,Lingo如下写"set the diffuseColor of
 member <QuickDraw 3D member> to <value>"。
两个新类型是这个Xtra的简介:一个色彩值的RGB类型,和一个向量的XYZ类型。他
们是象线性列表一样的工具。
RGB值是三个整数的列表,顺序为红、绿、蓝的深度[(0-256),(0-256),(0-256)]。
一些可能的值如:
[0,0,0] 是黑色
[127,127,127] 是灰色
[256,256,256] 是白色
[256,0 0] 是红色
[0,256,0] 是绿色
[0,0,256] 是蓝色
XYZ值是三个浮点数的列表,例如[1.0, 0.0, 30.0]。获得独特的坐标,象getAt一
样使用Lingo列表命令建造。
QuickDraw 3D使用右手系统。默认下,当模型是首先引入的,绝对的X轴指向场景
右侧,绝对的Y轴指向场景的上方,绝对的Z轴指向场景外部。如果你使用
QuickDraw 3D Xtra 属性对话框中的Presets按钮,这个方向是恢复的。
一些其它属性能有少数特殊值,和定义Lingo符号。符号使用这个Xtra的"q3"字首

角色成员没有自已任何新的属性。translation、viewer、和camera属性可以设置
和恢复;角色属性是象新sprite默认值一样使用。使用sprite属性独立操纵变形、
viewer、和camera属性。命令名的星号(*)表示命令能用于角色成员或者sprite。
没有星号表示命令仅能用于角色成员。
------------------------------------------------------------------------
----
基本性质
------------------------------------------------------------------------
----
命令 默认值 描述
------------------------------------------------------------------------
-----
modelFile (string) None 连接QuickDraw 3D成员的文件名(不应用给未连接角色
)。
举例:
set the modelFile of member 2 to "cube.3dmf"
(引入模型"cube.3dmf"替换当前的模型。)
注意:
当引入时角色必须有如"linked"一样的指定(文件名与其它
角色成员一样)。
------------------------------------------------------------------------
-----
directToStage True 等同于数字视频的directToStage
(boolean) 举例:
set the directToStage of member 1 to true
(制造角色1直接显示的sprites基础。)
注意:
如果控制者或标志无则没有效果(两个设置影响
directToStage)。
------------------------------------------------------------------------
-----
* True 控制是否用户能在运行时操纵这个模型
directManipulation 举例:
(boolean) set the directManipulation of sprite 1 to false
(使sprite 1在用户点击时无应答。)
注意:
等同于UI中的"direct manipulation"选项。
------------------------------------------------------------------------
-----
diffuseColor (RGB) [127,127,127] 模型的散开色彩
(灰色) 举例:
set the diffuse Color of member 1 to [255,0,0]
(设置角色1的散开色彩为红色。)
注意:
如果模型文件没有色彩或组织,只有效果。
------------------------------------------------------------------------
-----
specularColor (RGB) [225,225,225] 模型的反射色。当用Phong shading时,这
是最亮区
(白色) 的色彩。
举例:
set the specularColor of member 1 to [0,255,0]
(设置角色1的反射色是绿色。)
注意:
如果模型已经有它目录指定的反射色,或者如果组
织应用于角色成员,则无效。
------------------------------------------------------------------------
-----
specularCoeff 0.5 模型的反射系数(正确的排列是0到1)。它控制反射高亮区的
(float) 亮度。
举例:
set the specularCoeff of member 1 to 0.25
(设置反射高亮区的亮度是25%。)
注意:
如果模型已经在它的目录指定有反射系数,或者如果组织
应用于角色成员,则无效果。
------------------------------------------------------------------------
-----
backColor (RGB) [0,0,0] 角色成员的背景色
(黑色) 举例:
set the backColor of member 1 to [225,225,225]
(设置角色1的背景色是白色。)
注意:
这只是极小的和性质对话框。演员不继承这个性质。这个
演员从场景获得背景色。因此,这在运行时无用。
------------------------------------------------------------------------
-----
* modelCenter (XYZ) 模型从属 模型居中或边界,变形之后(只有GET)
举例:
put the modelCenter of sprite 1
(结果是[1.0,0.0,30.0]模型居中,在3D空间的坐标
(1,0,30)上。)
注意:
有意帮助创作者决定摄影机和更远变化物体的位置。
------------------------------------------------------------------------
-----
* modelSize (XYZ) 模型从属 模型边框的大小,在变形之后(只有GET)
举例:
put the modelSize of sprite 1
(结果是[10.0,4.5,3.0],尺度是X方向10单位、Y方向
4.5单位、和Z方向3.0单位。)
注意:
有意帮助创作者决定摄影机和更远变化物体的位置。
------------------------------------------------------------------------
-----
变形
------------------------------------------------------------------------
-----
变形向量的单一设置能用于整个场景。这些向量对全部模型的简单动画是有用的。
简单化界面,操作顺序是固定的:缩放比例,然后旋转,然后定位。旋转指令绕X,
 Y 和 Z 轴(顺序)旋转。这些变形应用于最初模型每次显示时的坐标;变形不累加

------------------------------------------------------------------------
-----
命令 默认值 描述
------------------------------------------------------------------------
-----
* scale (XYZ) [1,1,1] 模型的比例因素(1.0 = 没有缩放比例)
举例:
set the scale of sprite 3 to [2,2,2]
(sprite的所有方位都变为双倍。)
注意:
比例因素不能为负数。
------------------------------------------------------------------------
-----
* position (XYZ) [0,0,0] 偏移坐标转化物体(局部模型坐标)
举例:
set the position of sprite 8 to [5,0,0]
(放置物体在坐标X=5, Y=0, and Z=0。)
------------------------------------------------------------------------
-----
* rotation (XYZ) [0,0,0] 旋转角度,X、Y和Z轴(顺序)
举例:
set the rotation of sprite 4 to [90,45,0]
(设置模型旋转到X轴90度,Y轴45度。)
------------------------------------------------------------------------
-----
旋转角度是常规的设置位置角度。模型的任何角度可以有多个旋转角度的设置,成
为模型在方向中结束向上的原因。例如,绕X轴转动一个物体90度,然后绕Y轴转动
90度与下述是相同的:绕X轴转动-90度,然后绕Y轴转动90度,然后绕Z轴转动180
度。

QuickDraw 3D Xtra 返回一个关于位置角度的具体设置。这允许你测试是否模型有
确定的导向。

因为旋转角度是常规的,用"put the rotation of sprite n"取回的角度与"set
the rotation of sprite n"设置的,有可能不同。因此执行

set the rotation of member 1 to [90,90,0]

之后执行

put the rotation of member 1

将返回[-90,90,180]。

这是设置你将测试的角度,如果你希望看到物体与本来设置相同的方位。旋转的角
度也是被使用者处理物体影响的(如果userControl是打开的,有controls隐藏的)
,自动旋转。

实现一个平滑的动画使用旋转,你将在单独的Lingo参数中存储你的旋转角度。例
如,下列Lingo脚本中的代码,将绕X轴平滑旋转模型:

      set rx to 0

    repeat while rx < 360

      set the rotation of member 1 to [rx, 0, 0]

      set rx to rx + 1

    end repeat


当角度变得正规化时下列代码可以引起X角度为"jump":

    set i to 0

    repeat while i < 360

      set rx to 1 + getAt(the rotation of member 1, 1)

      set the rotation of member 1 to [rx, 0, 0]

    end repeat

------------------------------------------------------------------------
-----
* autoRotate (boolean) false 栓牢物体的自动旋转
举例:
set the autoRotate of sprite 3 to true
(使用当前自动旋转角度开始旋转sprite 3。)
注意:
自动旋转允许模型在每一帧旋转指定的数量。对于简单
动画是有用的。使用自动旋转自动地更新旋转角度属性。
------------------------------------------------------------------------
-----
* autoRotateAngle (XYZ) [1,1,1] 旋转角度,每一帧自动旋转的关于X、Y和Z的
度数
举例:
set the autoRotate Angle of sprite 12 to [2,0,0]
(改变旋转因此模型绕X轴转2度每一帧。)
注意:
这些角度是常规的,与存储于"rotation"属性一样。
如果userControl属性也在起作用,和如果在不同方向
中旋转模型,角度是反映新旋转的。使用这个属性,
autoRotate属性必须设置为真(true)。
------------------------------------------------------------------------
-----
周围灯光
------------------------------------------------------------------------
-----
周围灯光是无方向的灯光,出现于3D场景中各处。
------------------------------------------------------------------------
-----
命令 默认值 描述
------------------------------------------------------------------------
-----
ambient Color (RGB) [255,255,255] 模型的周围灯光的色彩
举例:
set the ambient Color of member 2 to [255,0,0]
注意:
由于当前QuickDraw 3D渲染者,周围灯光的色彩不
是应用于组织的模型。
------------------------------------------------------------------------
-----
ambientBrightness 0.25 周围灯光的强度
(float, [0.0 - 1.0]) 举例:
set the ambientBrightness of member 2 to 0.1
(改变周围灯光强度为10%亮度。)
------------------------------------------------------------------------
-----
方向灯光
------------------------------------------------------------------------
-----
方向灯光是远处光源的位置,无减弱。
------------------------------------------------------------------------
-----
命令 默认值 描述
------------------------------------------------------------------------
-----
lightDirection(XYZ) [1,-1,-1] 方向光源的方向
举例:
set the light Direction of member 2 to [0,0,-1]
(改变灯光使它指向负Z轴。)
注意:
由于当前QuickDraw 3D渲染者,方向灯光的色彩不是
应用于组织的模型。
------------------------------------------------------------------------
-----
lightColor (RGB) [255,255,255] 方向灯光源的色彩
举例:
set the lightColor of member 2 to [0,0,255]
(改变灯光为纯蓝色。)
------------------------------------------------------------------------
-----
lightBrightness [0.75] 方向灯光的强度
(float, [0.0 - 1.0] 举例:
set the lightBrightness of member 2 to 0.5
(改变灯光为50%亮度。)
------------------------------------------------------------------------
-----
组织
------------------------------------------------------------------------
-----
命令 默认值 描述
------------------------------------------------------------------------
-----
textureType #q3None 组织图可以来自实际视频(只有Mac),或其它角色(只
(#q3Video(Mac only), 有GET)
#q3Member, 举例:
#q3None) if the textureType of member 2 = #q3member then
set mytexture to the texture of member 2
End if
(如果角色2的组织是另一个角色则改变,如果是,设
置变量"mytexture"结角色2使用自己的组织。)
------------------------------------------------------------------------
-----
texture no default QuickDraw 3D Xtra可决定数据类型和值上的组织装
(member, or #q3Video) 置的类型。如果组织象角色一样被指定,这是角色的
ID。角色必须是bitmap/pixmap、QuickTime movie(
只在Macintosh)、或者rich text之一,并且,在
Macintosh,如果组织是如符号"#q3Video"样被指定的
且你的Macintosh有视频输入,则live video feed是
可用的。
举例:
set the texture of member 2 to member 4
(不论角色4是bitmap、QuickTime move、或rich text,
这个角色2的组织设置给角色。注意:如果角色4是用
*after*指令修改的,角色2将不改变组织直到这个指
令重新执行,或影片保存后重新加载。)
------------------------------------------------------------------------
-----
渲染属性
------------------------------------------------------------------------
-----
命令 默认值 描述
------------------------------------------------------------------------
-----
shading #q3Phong 允许你改变渲染必需速度上的照明值装置:
(#q3Phong, #q3None - 模型在散开色彩上严格的装置。任何灯光是
#q3Lambert, 忽略的。这个选项是快速的,但是可消去所有底纹,制
#q3None) 造物体显示2D。
#q3Lambert - 着色模型根据为Lambertian运算法则,
shades物体但是在灯光方向上无加亮装置。这是比Phong
稍快的但小于realistic。
#q3Phong - 着色模型根据Phong运算法则,物体加阴影
和最亮区。
举例:
set the shading of member 1 to #q3Lambert
(使用Lambertian运算法则设置模型阴影风格。)
------------------------------------------------------------------------
-----
interpolation #q3Vertex 定义运算法则用于添写模型的阴影与多边形
(#q3None, #q3None - 无添写;第一多边形是shaded统一的色彩。
#q3Vertex, #q3Vertex - 阴影是以内值替换的线性过多边形,使用
#q3Pixel) 此值是顶点。
#q3Pixel - 阴影是图像中每一象素重新计算的。
举例:
set the interpolation of member 1 to #q3Pixel
(引起renderer使用象素添写。)
------------------------------------------------------------------------
-----
fillStyle #q3Filled 指定填充面部,wireframe、或vertex-only绘图
(#q3Filled, 举例:
#q3Edges, set the fillStyle of member 1 to #q3Edges
#q3Points) (引起renderer只绘制模型的多边形的边缘。)
------------------------------------------------------------------------
-----
backfacing #q3Remove 指定是否自摄影机的多边形贴面,rendered、not
(#q3Both, rendered、或者flipped(面向摄影机)和rendered
#q3Remove, #q3Both -
#q3Flip) #q3Remove -
#q3Flip -
举例:
set the backFacing of member 1 to #q3Both
(引起renderer平坦绘制多边形,如果他们面向摄影机。)
注意:
多边形是以模型面向前和面向后定义的。典型的面向前
是物体外部上的;renderer能最佳化跳过多边形的渲
染,他们通常是可见的。
------------------------------------------------------------------------
-----
视图性质(Viewer Properties)
------------------------------------------------------------------------
-----
QuickDraw 3D支持建立于3D模型的视图(viewer)。视应用程序而定,创作者可以
希望隐藏或显示标准视图控制,隐藏或显示帧,和隐藏或显示个别的控制。在鼠标
单击和拖拽中的控制设置模式是在视图中操作物体时翻译的。
------------------------------------------------------------------------
-----
命令 默认值 描述
------------------------------------------------------------------------
-----
* badge (boolean) true 标志是小符号,象征资产是QuickDraw 3D物体。当标志

点击,显示controller(无方法返回标志)。
举例:
set the badge of sprite 1 to true
(当显示sprite时使用产生标志。)
------------------------------------------------------------------------
-----
* controller (boolean) false 栓牢controller为可见的
------------------------------------------------------------------------
-----
* frame (boolean) true 栓牢viewer frame为可见的
------------------------------------------------------------------------
-----
* dragAndDrop false 栓牢用户拖拽模型从controller到其它controller或苹果
(boolean) 机上finder的能力。在Windows,dragAndDrop只是在拖拽
3DMF模型从桌面到舞台上的sprite(由于controller是活
跃的)时是激活的。
------------------------------------------------------------------------
-----
* buttonDistance true 栓牢"distance"按钮是可见的,向前或向后移动摄影机
(boolean)
------------------------------------------------------------------------
-----
* buttonRotate true 栓牢"rotate"按钮是可见的,旋转摄影机
(boolean)
------------------------------------------------------------------------
-----
* buttonZoom false 栓牢"zoom"按钮是可见的,改变当前摄影机视图域,制
(boolean) 造物体在视口内部出现大的或小的
------------------------------------------------------------------------
-----
* buttonMove false 栓牢"move"按钮是可见的,移动摄影机在视图内部向左和
(boolean) 向右
------------------------------------------------------------------------
-----
摄影机性质
------------------------------------------------------------------------
-----
这些性质是用于自资产创建新演员的预先设定。
------------------------------------------------------------------------
-----
命令 默认值 描述
------------------------------------------------------------------------
-----
* cameraPosition (XYZ) model 摄影机的位置
dependent 举例:
set the cameraPosition of sprite 8 to [0,0,100]
(定位摄影机于点(0,0,100);这是,Z轴绝对向前100
单位。)
------------------------------------------------------------------------
----
* cameraInterest (XYZ) model 摄影机的位置是进行中的指向。(XYZ)象征兴趣点

dependent 如果这个值是集合,摄影机总是"looks at"这个点作
为兴趣指向,如果摄影机是移动了的。
举例:
set the cameraInterest of sprite 8 to the
modelCenter of sprite 8
(指向模型的即将来临的摄影机中心。)
注意:
设置这个值放弃cameraDirection值,和vice-versa。
------------------------------------------------------------------------
-----
* cameraDirection model 变通的方法设置cameraInterest。(XYZ)象征方向向量

(XYZ) dependent 如果属性是设置,摄影机总是在向量方向看,因此兴趣
点移动象摄影机移动。
举例:
set the cameraDirection of sprite 8 to [0,1,0]
(指向摄影机向上,即将来临的+Y轴。)
注意:
设置这个值放弃cameraDirection值,和vice-versa。
------------------------------------------------------------------------
-----
* cameraUpVector model 方向是被考虑过的"up",当显示摄影机视图时。将要使

(XYZ) dependent 视图方向垂直的。
举例:
set the cameraUp/Vector of sprite 8 to [0,-1,0]
(如果摄影机是最初指向即将来临的-Z轴,和向上的向量
是[0,1,0],这个弹的摄影机现在是sprite底部的"top"。)
------------------------------------------------------------------------
-----
* cameraHither model 靠近clipping平面的距离(沿着摄影机视图向量)。必须
(float) dependent 非负数。这是摄影机对话框中提到的。
------------------------------------------------------------------------
-----
* cameraYon model 远离clipping平面的距离(沿着摄影机视图向量)。将要
(float) dependent 比cameraHither值更好的。这是摄影机对话框中提到的。
举例:
set the cameraHither of sprite 8 to 30.
(引起模型任意部分,自摄影机靠近30单位。)
注意:
如果在这边和你值过大的之间不同,QuickDraw 3D可以
在正确顺序中有难题渲染模型的多边形,如这种情况模
型可以在其它面前出现。如果向这边或你平面交错模型,
模型将出现在转动的前面工后面。
------------------------------------------------------------------------
-----
* cameraType #q3Perspective 摄影机的类型
(#q3Orthographic, #q3Orthographic - 使用"parallel projection"映射模
#q3Perspective) 型到屏幕上。主要效果是物体尺度不是来自它距离摄影机
距离的效果。当使用这个属性时,你也应该设置
cameraWidth和cameraHeight属性。
#q3Perspective - 使用"view point"映射模型到屏幕
上。物体与摄影机较近将显示比物体远离摄影机是较大。
举例:
set the cameraType of sprite 8 to #q3Orthographic.
(引起sprite 8表现,使用orthographic摄影机。)
注意:
你不能使用orthographic摄影机与controller或badge。
当那些起作用,摄影机总是透视的。
------------------------------------------------------------------------
-----
* cameraFOV (float) 30 度中视图的摄影机域(仅透视摄影)。这是将肯定数字,

向上180度。视图的小域在兴趣点中有放大缩小效果,
视图大域可以显示多数场景,如果模型摄影机关闭。
举例:
set the cameraFOV of sprite 8 to 60.
(设置视图摄影机是60度,显示大范围场景,但是制造
摄影机前面物体出现相对较小。)
------------------------------------------------------------------------
-----
* cameraAspectRatio 0 摄影机视图平面的外观比率。如果此值是非零,sprite是

(float) 必须伸展的,适合真实的sprite矩形。零外观比率,摄影
机的外观比率将自动地匹配sprite矩形的外观比率。
举例:
set the cameraAspectRatio of sprite 8 to 1
(这个原因QuickDraw 3D表现模型到square之中,然后
伸展正方形匹配sprite的尺度。)
------------------------------------------------------------------------
-----
* cameraWidth (float)model 只应用于orthographic摄影机。这是宽度,在区域
坐标
dependent 中,摄影机的视图平面。
举例:
set the camera Width of sprite 8 to 10
(如果sprite的摄影机是orthographic,设置它的视口为10
单位交叉(across)。)
------------------------------------------------------------------------
-----
* cameraHeight model 只应用于orthographic摄影机。这是高度,在区域坐标
(float) dependent 中,摄影机的视图平面。
举例:
set the camera Height of sprite 8 to 8
(如果sprite的摄影机是orthographic,设置它的视口为
8单位高。)





--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.55.226]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店