|
QuickDraw 3D Xtra 使用指南
来源:
|
|
|
|
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单位高。)
编辑: | |
| | |
|