AutodeskNavisworks高级动画富仪设计内部培训资料大纲动画的交互基本交互高级交互思考题4123AutodeskNavisworks可视化和仿真,分析多种格式的三维设计模型。富仪设计内部培训资料动画交互•Scripter(脚本动画)–Animator对象动画、Scripter脚本编辑是Navisworks动画制作的两个基本编辑窗口。–“Animator”可在模型中创建动画对象。–“Scripter”可向模型中的动画对象添加交互性。富仪设计内部培训资料动画交互•Navisworks支持的主要动画:–由关键帧以及关键帧之间的线性插值指定的动画(类似于视点动画)。–相机、剖面、对象动画。–多个单独启动并单独移动的对象。–同一场景中同一对象的多个动画(例如,移动起重机,然后抬起它的机械臂)。–简单脚本(例如,打开和关闭指定门)。富仪设计内部培训资料动画交互–链接到“TimeLiner”将在任务开始时关闭独立动画。–链接到具有不同“TimeLiner”任务的“TimeLiner”将播放到动画中的特定点(例如,有一个在施工现场中的所有点之间移动起重机的动画,任何任务均可以触发动画,以便从当前点移动到所需点)。–链接到“ClashDetective”,以在动画的特定步骤运行碰撞检测来检查动画对象与动画对象或动画对象与静态对象之间的碰撞。富仪设计内部培训资料动画交互•“Scripter”窗口是一个浮动窗口,通过该窗口可以给模型中的对象动画添加交互性。•“Scripter”窗口包含下列组件:树视图、事件视图、动作视图和特性视图。富仪设计内部培训资料动画交互•脚本是要在满足特定事件条件时发生的动作的集合。–要给模型添加交互性,至少需要创建一个动画脚本。–每个脚本可以包含下列组件:•一个或多个事件•一个或多个动作–模型可以包含所需数量的脚本,但仅会执行活动脚本。•对脚本可以通过文件夹的形式进行分组管理–可以轻松激活/取消激活文件夹的内容以节省时间–对脚本执行不会产生任何效果。富仪设计内部培训资料动画交互•脚本的基本操作–添加新脚本–删除项目–取消激活–激活项目–增加文件夹–删除文件夹–……富仪设计内部培训资料动画交互•事件是指发生的操作或情况(如单击鼠标、按键或碰撞),可确定脚本是否运行。•脚本可包含多个事件。–在脚本中组合所有事件条件的方式变得非常重要。即,您需要确保布尔逻辑有意义,括号正确匹配成对,等等。–注意在满足脚本中所有事件条件的组合之前,将不会执行脚本。富仪设计内部培训资料动画交互•事件类型–启动时触发、计时器触发、按键触尾、碰撞触发、热点触发、变量触发、动画触发富仪设计内部培训资料动画交互•启用开始–只要启用脚本,事件就会触发脚本。如果在载入文件后启用了脚本,则将立即触发文件中的所有开始事件。这对设置脚本的初始条件很有用,如向变量指定初始值,或将相机移动到定义的起点。•启用计时器–-在预定义的时间间隔事件将触发脚本。•启用按键–事件通过键盘上的特定按钮触发脚本。富仪设计内部培训资料动画交互•启用碰撞–当相机与特定对象碰撞时,事件将触发脚本。•启用热点–当相机位于热点的特定范围时,事件将触发脚本。•启用变量–当变量满足预定义的条件时,事件将触发脚本。•启用动画–当特定动画开始或停止时,事件将触发脚本。富仪设计内部培训资料动画交互•事件条件–可以使用一个简单的布尔逻辑组合事件。要创建事件条件,可以使用括号和AND/OR运算符的组合。如下图的布尔条件表达式为:–(计时器触发OR热点触发)AND按键触发富仪设计内部培训资料动画交互•事件动作–动作是一个活动(如播放或停止动画,显示视点等等),当脚本由一个事件或一组事件触发时会执行它。–脚本可包含多个动作。动作逐个执行,因此确保动作顺序正确很重要。富仪设计内部培训资料动画交互•Navisworks中支持的操作类型:–播放动画-指定要在触发脚本时播放哪个动画的动作。–停止动画-指定要在触发脚本时停止哪个当前正在播放的动画的动作。–显示视点-指定要在触发脚本时使用哪个视点的动作。–暂停-用于在下一个动作运行之前使脚本停止指定的时间长度。–发送消息-在触发脚本时向文本文件中写入消息的动作。富仪设计内部培训资料动画交互•Navisworks中支持的操作类型:–设置变量-在触发脚本时指定、增大或减小变量值的动作。–存储特性-在触发脚本时将对象特性存储在变量中的动作。如果需要根据嵌入的对象特性或链接数据库中的实时数据触发事件,则该特性可能会很有用。–载入模型-在触发脚本时打开指定的文件的动作。如果要显示一组不同模型文件中包含的一组选定的动画场景,则可能会发现该选项很有用。富仪设计内部培训资料动画交互•启用脚本–单击“动画”选项卡“脚本”面板“启用脚本”,才可以与模型进行交互。启用脚本后,无法在“Scripter”窗口中创建或编辑脚本。–禁用脚本,请再次单击“动画”选项卡“脚本”面板“启用脚本”富仪设计内部培训资料大纲动画的交互基本交互高级交互思考题4123AutodeskNavisworks可视化和仿真,分析多种格式的三维设计模型。富仪设计内部培训资料基本交互•创建脚本交互的基本步骤–Step1:在Animator中先定义相关对象的基本动画、相关有特殊意义的视点;–Step2:在脚本栏,创建相应的文件夹,进行动画的分组管理;–Step3:创新一个脚本,作为包含事件条件、事件动作的容器;–Step4:创建一个事件条件,设置好相应的条件参数;–Step5:创建相应的事件动作,并设置相应的动画参数;–Step6:启用脚本进行测试。–Step7:对结果进行分析,对相关的条件和动作属性参数进行编辑。富仪设计内部培训资料基本交互•一个简单的交互案例一:–漫游系统启动时,打开木门。–条件:系统启动–动作:打开木门•Step1:在Animator中先定义相关对象的基本动画、创建相关有特殊意义的视点;•创建两个对象的基本动画–木门的打开/关闭–玻璃推拉门的开启/关闭富仪设计内部培训资料基本交互•第一步:创建两个选择集door、glassDoor•注意选择左边门时,注意把锁也要先选上。富仪设计内部培训资料基本交互•第二步:在Animator中创建文件夹AnimatorGroup•定义门的开关动画:opendoor/closedoor•玻璃门的移动动画:openglass/closeglass富仪设计内部培训资料基本交互•Step2:在脚本栏,创建相应的文件夹(BasicScripter),进行动画的分组管理;•Step3:创新一个脚本(AutoOpendoor),作为包含事件条件、事件动作的容器;富仪设计内部培训资料基本交互•Step4:创建一个事件条件(启动时触发),设置好相应的条件参数;富仪设计内部培训资料基本交互•Step5:创建相应的事件动作(播放动画),并设置相应的动画参数:opendoor–注意:结束时暂停设置的区别富仪设计内部培训资料基本交互•Step6:启用脚本进行测试。富仪设计内部培训资料基本交互•案例二:在案例一基础上,增加互动:启动10秒后关闭木门。•step1:创建脚本:closedoor•step2:创建事件条件:计时器触发(10秒)富仪设计内部培训资料基本交互•step3:创建事件动作:播放动画closeDoor,关上木门。富仪设计内部培训资料基本交互•案例三:按字母键O时打开玻璃门;按字母键P时停止打开门;•Step1:创建脚本touchglass•Step2:创建事件条件:按键触发(O键);事件动作:播放动画(openglass);•Step3:创建事件条件:按键触发(P键);事件动作:停止动画(openglass);富仪设计内部培训资料基本交互•案例四:碰撞玻璃门,打开玻璃门;•Step1:创建脚本Crashglass•Step2:创建事件条件:碰撞触发,碰撞对象选择glass;事件动作:播放动画(openglass);富仪设计内部培训资料基本交互•案例五:走近玻璃门,打开玻璃门;离开玻璃门时,关闭玻璃门。同理可以设置离开玻璃门,关闭玻璃门。•Step1:创建脚本nearglass•Step2:创建事件条件:热点触发,拾取glass的中心作为球体中心的位置,半径设为5m;事件动作:播放动画(openglass);富仪设计内部培训资料基本交互•案例六:设置木门打开后,再打开玻璃门•Step1:创建脚本continuetoopen•Step2:创建事件条件:动画触发(opendoor),选择触发事件为“结束”,事件动作:播放动画(openglass);富仪设计内部培训资料大纲动画的交互基本交互高级交互思考题4123AutodeskNavisworks可视化和仿真,分析多种格式的三维设计模型。富仪设计内部培训资料高级交互•在实际应用中,可能会有不可预知的情况出现,需要通过一些参数来控制动画的播放–把交互的一些信息输出;–根据内存变量的变化进行相应的交互;–快速切换视点–在运行过程中插入其它模型–…….富仪设计内部培训资料高级交互•案例一:打开木门后,输出一个文本信息•Step1:在advancedAnimator文件夹下,创建脚本:sayhellodoor•Step2:创建事件:动画触发(opendoor),条件:开始;创建动作:发送信息(hello,doorisopening!)富仪设计内部培训资料高级交互•Step3:设置发送消息的目的文件:–选项选项编辑器工具动画交互工具–指定一个方本文件保存发送的信息。富仪设计内部培训资料高级交互•案例二:视图的切换,启动时进入视图1•Step1:创建脚本view_A,•Step2:事件“启动时触发”,•step3:事件动作:显示视图,选择视图1富仪设计内部培训资料高级交互•案例三:关于内存变量;•有几个问题来讨论:–第一步:如何建立变量?–第二步:变量在运行过程中如何改变?–第三步:如果利用变量来控制一些动作?富仪设计内部培训资料高级交互•第一步:•Step1:了解一个三维模型的属性数据;•如:选择木门M0821,具有标高的属性:–立面=-3.30m–名称=-1F–类型=GB-下标高符号–……富仪设计内部培训资料高级交互•Step2:创建脚本”getTransparency”•Step3:创建事件“启动时触”•Step4:创建动作“存储特性”,选择设置前面的M0821,变量为Transparency,类别设为“Revit材质”,特性选”Transparency”(透明度)富仪设计内部培训资料高级交互•第二步:设置每隔三秒,变量Transparency增加0.1•Step1:创建脚本addTransparency•Step2:创建事件条件:计时器触发,设置“连续”“3秒”•Step3:创建动作:“设置变量”,参数设置:变量名称:Transparency,值:0.1,修饰符:增量;富仪设计内部培训资料高级交互•第三步:应用变量,当Transparency0.5时,打开木门;•Step1:创建脚本”vartoopendoor”•Step2:创建事件条件:变量触发•Step3:创建动作,openDoor富仪设计内部培训资料高级交互•其它高级交互动作–多个事件的复合布尔条件:•如在启动计时10秒后才可以通过碰撞玻璃门时打开玻璃门。–暂停:可以定义某些键,让系统暂停演示一段时间;–载入模型:在某些情况下,加载其它模型–……富仪设计内部培训资料大纲动画的交互基本交互高级交互思考题4123AutodeskNavisworks可视化和仿真,分析多种格式的三维设计模型。富仪设计内部培训资料思考题•如何完整实现门的开和关?•方法:–定义一个连续的开关门对象动画,时间为[t1,t2];记住中间开关的过渡时间点t0,整个开关动作可以分为两个阶段:[t1,t0]、[t0,t2],分别表示门的开与关。–定义一个开门事件,动作的开始时间设在t1,结束时间设在t0;–定义一个关门事件,动作的开始时间设在t0,结束时间设在t2;ThankYou!