QuickDraw 3D Xtra 使用指南

4/7/2006来源:Director教程人气:9659

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单位高。)