




免费预览已结束,剩余27页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Virtools入门教程Twist 扭曲Twist Instruction: 本范例中主要示范Ball被扭曲成螺旋状,且可以控制其扭曲轴向、扭曲角度与扭曲型态等。 Building Blocks: (a) Bezier ProgressionLogics/Loops/Bezier Progression (b) TwistMesh Modifications/Deformation/Twist 制作构想: 利用Building BlocksTwist配合Bezier Progression即可使Ball达到扭曲的效果,且可以控制其扭曲轴向、扭曲角度与扭曲型态等。 制作步骤: (a) Ball Bezier Progression:设定动作持续执行的时间Duration2秒;设定A、B值表示Bezier-interpolated的最大与最小值(分别为0和5);调整物体变形曲线Progression Curve (如图标)。 利用由pOut输出的变量值Delta(内插值Value的减少值)作为Building BlocksTwist的变量角度值Angle。 注:Progression Curve曲线斜率愈大表示变化速度愈快;反之斜率愈小表示变化速度愈慢;斜率变为负值表示物体向原始模型变化;斜率不变表示变化速率相等(如图标)。 Twist:由pIn输入扭曲角度Angle;设定Bias值(介于-100100),值为-100时Ball的扭曲均分布在中央,值为100时Ball的扭曲均分布在上下两端,值为0时Ball的扭曲呈现均匀的分布。 设定扭曲的轴向AxisY轴(0, 1, 0);不勾选Reset Mesh表示Twist执行后物体不会回复至初始的状况。Virtools入门教程2Planes 面位2Planes Instruction: 本范例可以和Infinite Plane作一个比较。在此示范Particle因重力从FrameEmitter落下至FrameReflector1,且产生反弹作用而弹到Reflector2,再反弹跳出,且呈现连续的效果。 Building Blocks: (a) Set As Active CameraCameras/Montage/Set As Active Camera (b) Point Particle SystemParticles/Point Particle System 制作构想: Particle从FrameEmitter发射后,可以在FrameReflector1添加属性Particle Gravity使Particle向-Y方向前进;且在FrameReflector1、Reflector2添加属性Particle Plane Deflector使Particle接触到FrameReflector1、Reflector2会呈现反弹的效果。 制作步骤: (a) Camera Set As Active Camera设定现在所使用的Camera。 (b) Particle Point Particle System:在FrameReflector1增加属性Particle Gravity,Value调为-0.0001,使Particle向-Y方向前进;再增加属性Particle Plane Deflector,Value(Response; Friction; Density)调为(1; 1; 100%),使Particle接触到Reflector1会产生反弹的效果(如图标)。 同理,在FrameReflector2增加属性Particle Plane Deflector(如图标)。 在此就Building Blocks Point Particle System更改之处加以说明(如图标)。 Emission Delay200 Ms0 Ms,表示Particle呈连续发射,没有中断时间。 Yaw Variance20度8度,表示减少XZ平面上Particle的变化量。 Pitch Variance20度2度,表示减少YZ平面上Particle的变化量。 Speed Variance0.0010,表示Particle呈等速发射,没有速度的变化。 Lifespan1 Sec3 Sec,表示延长每次Particle发射的时间。 Ending Color and Alpha(0, 0, 0, 0,)(0, 0, 255, 0,),更改Particle最终的颜色。 TextureRadial,选择组成Particle的Texture。 Virtools入门教程Box Deflector 反弹Box Deflector Instruction: 当Particle碰撞FrameDeflector时,会受到阻挡且呈现散开的现象。 Building Blocks: (a) Particle SystemParticles/Particle System (b) Set As Active CameraCameras/Montage/Set As Active Camera 制作构想: Particle从FrameEmitter发射后,可以在FrameDeflector添加属性Particle Box Deflector 使Particle接触到FrameDeflector 会受到阻挡且呈现散开的效果。 制作步骤: (a) Particle -Particle Systems:在FrameDeflector增加属性Particle Box Deflector, Value(Response; Friction; Density)调为(0.1; 0.1; 200%),使Particle接触到Reflector1会受到阻挡且呈现散开的效果(如图标)。 在此就Building BlocksParticle Systems更改之处加以说明(如图标)。 Emission Delay200 Ms0 Ms,表示Particle呈连续发射,没有中断时间。 Yaw Variance20度5度,表示减少XZ平面上Particle的变化量。 Pitch Variance20度5度,表示减少YZ平面上Particle的变化量。 Speed0.0050.05,表示增加Particle发射的速度。 TextureFlarec,选择组成Particle的Texture。 (b) Camera Virtools 4.0介绍高互动3D应用的研发平台Virtools4:国际3D技术的主流Virtools4LifePlatform是目前全球唯一的解决方案,作者可以将作品发布到PC个人计算机、游戏控制台、局域网及互联网上,分享3D体验给更多的普通人群。这一切,展示了DassaultSystmes达索系统的庄重承诺为所有的用户团队提供最强有力的3D服务。Virtools4开发的架构体系,支持多种3D文件格式。Virtools提供的3D内容转换插件,支援主流的DCC(DigitalContentCreation,数字内容创建)软件格式(3dsMax?,Maya?,XSI?,Lightwave?,Collada?),Virtools还可以直接导入和输出3DXML(达索系统标准的工业文件格式),从而使real-time3D作品的技术制作变得更加方便和有效率.现在,基于最新的PCS(Product-Context-Scenario)平台,Virtools4允许用户去设计、分享和体验高互动内容的3D产品。企业内部互联网方案:引进了用于企业互联网配置的两种新产品:3DXEPlayer和3DOfficePlayer。这两种新产品是建立在PCS基础上的,因而能够使得所有三维的专业和非专业人士都能体验到产品和环境,这就为涉及企业创新程序的所有人员提供了分享三维体验的工具,为他们提供了完全掌握产品特性的最直观的独特方式。有了PCS,Virtools4平台就能够进行虚拟体验的创作,比如,驾驶、购物、产品使用、维修和市场销售测试等等。Virtools4同时延伸了制作3D产品的体验范围:大众化的PC比如操作系统为Microsoft?Windows?和Apple?MacOS?电脑、数字娱乐常见的Microsoft?Xbox?游戏机和Sony?PSP?游戏控制器,局域网能够支持3DOffice和3DXEplayers,互联网能够支持3DLifePlayer的浏览器,利用VRLibrary还可以在将作品运行在更加震撼的沉浸式的VR系统中。目标环境的多样性,体现了可能的配置的多样性,这就为不同的用户提供了创建和体验三维的强大解决方案。在我们的指尖下完成最尖端技术Virtools独特的开发系统,考虑到3Dobjects作为单独的组件,并可以使与3Dobjects相关联的数据同样地分离出来为作单独的组件,进行制作任务的分配和重复使用。Virtools开放的架构,极其的灵活,允许开发者使用模块的脚本,方便有效地行对象的交互设计和管理。普通的开发者可以用鼠标拖放脚本的方式,通过人机交互图形化用户界面,同样可以制作目前市场上顶级游戏中高品质图形效果和互动内容的作品。作为高端的开发者,利用SDK(SoftwareDevelopmentKit,软件开发工具包)和VSL(VirtoolsScriptingLanguage,Virtools专用脚本语言),通过相应的API接口,可以创建自定义的交互行为脚本和应用程序。通过Virtools的可视化流程图式脚本制作界面,在不使用第三方技术的情况下,用户同样可以进行高级互动模块的熟练使用,比如Physics(物理学)、AI(ArtificialIntelligence,人工智能)和Multi-users(多用户)制作和执行环境。Virtools4平台中集成的强大Renderengine渲染引擎,可以让开发者制作更多令人震撼的视觉特效,使用更多高级的面画渲染技术(Shaders支持Shader3.0,HLSL和CgFX;图形加速使用:DX9.c和OpenGL2.0).减少开发周期和制作成本,获取更高的投资回报在制作任务中,通过对对象的数据和脚本的拆分,开发者使用Virtools4可以更经济地、同时开发各种各样的应用模块,有效缩短了产品在市场上面世的时间。开发时间的缩短,一部分要归功于Virtools脚本库中超过450以上行为脚本模块的组合使用及重复利用.Virtools多重的工作方式(人机交互界面,VSL,SDK),确保非技术性的设计人员和高端的程序员,聚集在Virtools工作环境中,群策群力,为一个共同的制作任务进行工作协作。应用程序正变得越来越复杂,但是我们的脚本依然能很便捷地进行管理。利用Virtools4技术,早先一年开发时间才能完成的工作,现在在几个月内就可以完成.通过Virtools4的使用,商业公司现在可以组织一个合理的设计人员和程序研发人员配备的制作团队。利用Virtools4技术,从制作的方案、原型到最后交付使用的成品,通过对项目制作流程的优化,越来越多的事实证明,我们的客户大大节省了制作成本和周期.利用Virtools4,商业公司开发者、游戏工作室、网络内容提供商和系统集成商,还可以减少之前利用其它技术或者引擎制作3D高互动应用开发的风险。Virtools独特的开发过程,可以让制作团队协同工作。Virtools的buildingblocks脚本模块化和可视化流程图式脚本设计及重复利用特性,确保了开发团队在项目制作流程中的优化,使未来的项目制作更加科学与实用。Virtools4Virtools4包含有五个关键组件:GUI(GraphicalUserInterface,人机交互图形化用户界面),以可视化的编辑方式,流程图的思维模式,进行对象和脚本设计工作,有效的减短了作品的制作周期BehaviorEngine脚本引擎用来运行互动应用程序RenderEngine渲染引擎以实时渲染的方式来显示图形图像VirtoolsScriptingLanguage脚本语言以代码的方式,进行一部分的编程开发,优化脚本,提高效能SDK用来创建自定义的脚本和应用程序,以及对Virtools本身的功能进行扩充.UserInterface用户界面:Virtools4开发平台的GUI(人机交互图形化用户界面),包含下列内容:3DLayout(实时3D编辑器)用来显示Realtime3D实时渲染环境的内容.图形工具条,用来进行作品中3Dobjects(3D对象)、lights(灯光)、cameras(摄像机)和curves(曲线)的导航、创建、编辑、选择和操作.新建和编辑lights(灯光)、cameras(摄像机)、materials(材质)、textures(纹理贴图)、grids(栅格)和paths(路径).在一个虚拟环境中,进行3Dentities(3D实体)的Translation(位移),rotation(旋转),scale(缩放)操作及作品导航.behaviors交互脚本以鼠标拖放形式,赋予2D和3D对象.behaviors交互脚本完成一定的功能后,可以打包或者合并的方式,保存起来,供我们重复使用.图解式的buildingblocks脚本编辑模式,有助于我们便捷有效地创建互动内容作品.ScriptDebugger(脚本调试器)可以用来对应用程序进行优化.EntitySetupTools(实体设置工具)用来对任一对象及其关联脚本的参数编辑.AttributeManager(属性管理器)用来快速地设置和修改多个对象属性数值.ActionManager(操作管理器)用来编写常用的一些函数,以快捷键的方式,来执行一些预定义的操作或者创建任务.HierarchyManager(层级关系管理器)以树形结构的方式来显示所有对象之间的父子关系.VSL(VirtoolsScriptingLanguage,脚本语言):VirtoolsScriptingLanguage是一个强大脚本语言,可以在Virtools4的Schematiceditor图形脚本编辑器中,提供脚本关键字智能颜色显示(intelligentcoloringsystem)、自动上下文区分提示(context-sensitivecompletion)及函数参数显示(functionargumentsdisplay)功能,可以进行相应的code代码编写与运行,可以提高脚本的执行效率,完成部分SDK的功能。除了用于脚本互动部分的撰写与运行,VSL还可以用于创作模式下的操作功能的扩展,提升Virtools本身开发环境的制作效能.VSL提供完整的Debug调试功能,支持脚本运行的breakpoint中断点,变量和数值编辑的监测,及步进脚本的Debug调试(支持调试的stepinto/out模式).BehaviorEngine脚本引擎:Behaviorengine脚本引擎可以运行内置或者自定义的behaviors脚本.Virtools4基本的互动脚本,涉及以下的类别:Cameras(摄像机)、Characters(角色)、Collisions(碰撞)、Controllers(控制器)、Grids(栅格)、Interface(界面)、Lights(灯光)、Logics(逻辑)、Materials-Textures(材质和纹理)、Meshmodifications(模型结构的修改)、Narratives(作品故事相关)、Optimizations(优化)、Particles(粒子)、Sounds(声音)、Shaders(着色器)、Visuals(视觉特效)、Web(网页)、WorldEnvironments(虚拟环境).利用VirtoolsSDK的BehaviorPack脚本源代码文件包或者第三方脚本,我们可以对BehaviorLibrary脚本库进行功能扩充.RenderEngine渲染引擎:Renderengine渲染引擎,用来提供高品质、实时渲染的3D图像和角色动作.它包含有如下的功能:支持国际产业标准:DirectX和OpenGL.支持可编程Vertex顶点和Pixel像素的Shaders着色技术(DX9.c,OpenGL2.0,HLSL,CgFX,ShaderModel3)支持3D模型对象和动作(通过3dsMax?,Maya?,XSI?,Lightwave?和Collada?插件导出).提供与renderengine渲染引擎相关的源代码.SDK(SoftwareDevelopmentKit,软件开发工具包)Virtools的SDK是一套软件开发工具(包含有libraries库文件,DLLs文件,header头文件),提供Virtools软件的所有底层函数.开发者可以使用它进行下述的应用程序的工作:利用Virtools引擎,制作自定义的可执行应用程序.对Virtools引擎进行功能扩充,比如Behaviors互动脚本,媒体文件的导入插件,Manager管理器,RenderEngines画面实时渲染显示插件,Rasterizer图像光栅和其它的功能插件(指定的ParameterTypes参数类型)等等.开放的架构:Virtools提供了一个开发和灵活的架构,可以兼容下列标准的技术文件格式:3D文件格式:3DXML,3dsMax?,Maya?,XSI?,Lightwave?,Collada?.图像文件格式:JPG,PNG,TIFF,TGA,BMP,PCX.声音文件格式:MP3,WMA,WAV,MIDI.安装需求:硬件CPU中央处理器:PentiumIII以上内存:128MB以上光驱:DVD普通光驱以上显示器:支持1024768显示分辨率、16bit位颜色质量(65536高彩色)以上的显示器指点设备:普通鼠标、trackball控制球等等显卡:8M以上并支持Direct3D兼容OpenGL的3D图形加速显示卡声卡:关于声卡部分,不是必须的,但我们推荐使用软件操作系统:MicrosoftWindows(2000,XP)硬件加速:MicrosoftDirectX7.0,8.0或者9.0C,利用DirectX技术进行3D图形加速显示OpenGL:如果以OpenGL的模式进行作品显示时,需要一个支持OpenGL1.5显卡及相关驱动浏览器:MicrosoftInternetExplorer4.0以上(主要用于OnlineReference帮助文件的阅读)Virtools 的应用能协助不熟悉 3D 模型化的使用者,轻松快速的透过 3D 互动模拟,体验生活乐趣。举例而言,运用 Virtools 的开发技术,使用者能体验置身于超级市场、享受仿真的购物经验,或可想象自己化身成驾驶员,驾车穿梭于城市间、饱览不同城乡的风光景致。 Virtools 全系列的 3D / VR 完整解决方案,能辅助企业创造出如同游戏般高质量的 3D 互动应用内容。Virtools 拥有许多生产开发客户,广泛应用在工业设计、市场营销、 CRM 应用、多媒体设计,及 3D 游戏开发等多元领域。客户层面包含 Procter & Gamble( P G 宝侨集团), LOral(法商欧莱雅集团), Microsoft Game Studio(微软游戏开发), Electronic Arts, PSA Peugeot Citroen(标志雪铁龙), 及 EADS 等。多物品移动管理RDV Instruction: Ball、Statue和Box分别依不同的速度向指定的位置前进,待最后的物体到达定位后,三个物体便依同样的速率一齐自转。 Building Blocks: (a) Set Position3D Transformations/Basic/Set Position (b) Move To3D Transformations/Movement/Move To (c) RendezvousLogics/Synchro/Rendezvous (d) Rotate3D Transformations/Basic/Rotate (e) Set As Active CameraCameras/Montage/Set As Active Camera (f) Text DisplayInterface/Text/Text Display 制作构想: 可以利用Building BlocksRendezvous配合Move To使先到达定位的物体等候最后到达的物体,再分别执行后续动作。 制作步骤: (a) Statue Set Position:设定Statue的初始位置Position(X, Y, Z);设定参考轴Referential-NULL-,以World坐标轴为参考。 勾选Hierarchy表示Building Blocks也同样应用在Child。 Move To:如图示。 设定移动目标点Destination Point(X, Y, Z);Destination Referential-NULL-,必须以World坐标为参考决定Statue的位置;设定行进时间Duration(Minute, Second, Millisecond);Progression CurveStatue的移动方式以及速率的变化。 注:Progression Curve曲线斜率愈大表示行进速度愈快;反之斜率愈小表示行进速度愈慢;斜率变为负值表示物体向后倒退(如图示)。 Rendezvous:设定相互等待的物体群组RendezVousRDV;使用的物体数Number of Users3。Rotate:设定旋转轴Axis of RotationY轴(0, 1, 0);设定旋转角度值Angle of Rotation(Turn:圈数、Degree:角度);设定Referential of the Axis -NULL- ,必须以World坐标轴为参考;勾选Hierarchy表示Building Blocks也同样应用在Child(如图示)。 (b) Camera Set As Active Camera:设定现在所使用的Camera。 (c) Ball Ball所使用的Building BlocksSet Position、Move To、Rendezvous与Rotate其设定方式与意义皆与Statue相同。 Text Display:文字说明。 (d) Box Box所使用的Building BlocksSet Position、Move To、Rendezvous与Rotate其设定方式与意义皆与Statue相同。网格变形Mesh Morpher Instruction: 本范例所要示范的是Building BlocksMesh Morpher的应用,如同墙面上人像浮现与隐藏之间的变化。 Building Blocks: (a) Set As Active CameraCameras/Montage/Set As Active Camera(b) Camera OrbitCameras/Movement/Camera Orbit (c) Text DisplayInterface/Text/Text Display (d) Bezier ProgressionLogics/Loops/Bezier Progression (e) Mesh MorpherMesh Modifications/Deformation/Mesh Morpher 制作构想: 利用Building BlocksMesh Morpher配合Bezier Progression就可以表现出物体变化的效果,且使用Building BlocksCamera Orbit便可使Camera环绕并且观看着物体的变化。 制作步骤: (a) Camera Set As Active Camera:设定现在所使用的Camera。 Camera Orbit:设定观看目标TargetElement,且作无穷循环。 Camera Orbit默认值为Page Up镜头拉近;Page Down镜头拉远;方向键Up和Down绕X轴旋转;方向键Left和Right绕Y轴旋转;Right Shift速度* 2。 Text Display:文字说明。 (b) ObjectBezier Progression:设定动作持续执行的时间Duration5秒;设定A、B值表示Bezier-interpolated的最大与最小值;调整物体变形曲线Progression Curve (如图标)。 利用由pOut输出的变量值Value作为Building BlocksMesh Morpher影响值Effect Value的变量。 注:Progression Curve曲线斜率愈大表示变化速度愈快;反之斜率愈小表示变化速度愈慢;斜率变为负值表示物体向原始模型变化;斜率不变表示变化速率相等(如图标)。 Mesh Morpher:设定起始模型Start MeshObject Start_Mesh;设定最终模型End MeshObject Final_Mesh;由pIn输入影响值Effect Value,值为0表示物体和起始模型一样,值为100表示物体和最终模型一样,值为50表示物体处于起始模型和最终模型的混合型态;勾选Calculate Vertices Normals表示会计算点的法向量;勾选Calculate Faces Normals表示会计算面的法向量。 旋转选择来源-VRART | 作者- | 发表时间-2008-04-16 09:16:53 | 查看评论0Per Second Instruction: 本范例中的两个Boxes分别由不同的方式控制使其产生转动,均可以控制其转动速度、旋转的轴向等。 Building Blocks: (a) Set As Active CameraCameras/Montage/Set As Active Camera (b) Text DisplayInterface/Text/Text Display (c) Switch On KeyControllers/Keyboard/Switch On Key (d) Rotate3D Transformations/Basic/Rotate (e) Deactivate ScriptNarratives/Script Management/Deactivate Script (f) Activate ScriptNarratives/Script Management/Activate Script (g) Per SecondLogics/Calculator/Per Second 制作构想: 利用Building BlocksDeactivate Script和Activate Script来选择Box;再使用Building BlocksRotate,或是Per Second配合Rotate使Boxes产生旋转的效果。 制作步骤: (a) Camera Set As Active Camera:设定现在所使用的Camera。 Text Display:文字说明。 (b) Box02 Switch On Key:设定控制键分别为8、2、4、6。 Rotate:设定旋转轴Axis of Rotation分别为X轴(1, 0, 0)、-X轴(-1, 0, 0)、Y轴(0, 1, 0)、-Y轴(0, -1, 0);设定旋转角度值Angle of Rotation(Turn:圈数、Degree:角度);设定Referential of the Axis设定-NULL-或Box02均可(如图示);勾选Hierarchy表示Building Blocks也同样应用在Child。 (c) Box01 & Box02 Switch On Key:设定控制键分别为Del、0。 Deactivate Script:当按下控制键Del时中断ScriptBox02 Script,按下控制键0时同理。 Activate Script:当按下控制键Del时启动ScriptBox01 Script,勾选True表示Script会执行Reset,不勾选表示Script会依照原来的状态,例如Deactivate状态,按下控制键0时同理。 (d) Box01 Switch On Key:设定控制键分别为8、2、4、6。 T X(pIn) * Elapsed Time = Y(pOut) Rotate:设定旋转轴Axis of Rotation分别为X轴(1, 0, 0)、-X轴(-1, 0, 0)、Y轴(0, 1, 0)、-Y轴(0, -1, 0);且由pIn输入旋转角度值Angle of Rotation(Turn:圈数、Degree:角度);设定Referential of the Axis设定-NULL-或Box01均可(如图示);勾选Hierarchy表示Building Blocks也同样应用在Child。 Per second:设定1秒钟所旋转的角度值X(Turn:圈数;Degree:角度),乘上一个Frame所花费时间,在pOut输出变量Y (旋转角度值)。 1我顶用Virtools SDK+VC+6.0来写Buliding Blocks的方法来源-VRART | 作者- | 发表时间-2008-04-16 09:07:36 | 查看评论0使用Virtools的朋友都知道,Building Blocks是很重要的.在VT中提供了几百个BB供我们来使用.使用Virtools的SDK,我们可以开发出自己需要的Buliding Blocks,利用它很容易对我们的Virtools供能进行扩展.在这里我写一篇教程,来介绍一下用Virtools SDK和VC+6.0来写Building Blocks的过程和方法. 这里要用到一些Win32和API编程的方法,不会的赶快恶补一下了,否则看不懂可别怪我在这个实例中,我们要开发一个这样的Building Blocks.它可以完成以下三个功能:1:可以把当前系统的时间以不同格式在Virtools中显示;2:它可以是你的Building Blocks对应的主窗口永远处于最上层;3:通过关闭进程的方法,它可以关闭你想要关闭程序和进程.要先完成准备工作,在SDK中提供给我们了一个开发Building Blocks的向导文件Virtools Behaviors AppWizard.awx,位于SDKUtils目录下.你把它拷贝到你的Microsoft Visual StudioCommonMSDev98Template目录下.完成以后启动的VC+,执行File-New.,在Project中可以看到Virtools BB新建这一项,选中它.在Project Name中填入你的名称,比如My Building Blocks,同时要设置好你的项目保存路径.如图单击OK进入下一步。勾选Behavior和Manager这两个选项.说明:开发Buliding Blocks,Behavior选项一定要选择的,否则不能继续了.由于我们在这个实例中要用到Enum类型变量,也就是枚举类型的变量.在Behavior中要用到你自己声明的新类型变量,必须要在CKERROR InitInstance(CKContext* context)接口中先注册,才能使用.所以我们要用到ParameterManager,必须勾选Manager这一项。按下Next,继续。在这个窗口中填入你的Buliding Blocks的名字,要注意,这个名字不要和你的先前Project名字相同,否则编译时会报错。实现的类名称,我们不错修改,Next,继续。在这个窗口中,我们在Behavior栏目中输入你的BB的类别名称“MyBBs”描述中填入你的描述“Show time Set Windows Always Top Exit Your proceeding”为了简化我们Code,在Behavior Flags中我们不作勾选,需要的时侯我们自己加上代码来实现。这个实例中我们不用到Behavior的回调函数,所以CallBacks也不选择。Next,继续填入你的Manager的名字,其他的选项不作勾选。Next,继续。 在这个窗口设置你的SDK目录和VT程序目录,插件名称等。单击Finish,完成。执行Build-Rebuild all。即可生成你的Buliding Blocks,它已经自动编译。到你你的VirtoolsBuildingBlocks目录中。你启动你的Virtools,在Buliding Blocks列表中可以看到MyBBs这一项,里边已经有了我们编写的Time_Top_Exit BB了。在你的项目文件中可以看到一些接口函数。我们先声明一个枚举变量,然后注册它。用它来做我们的Time Type下拉列表(4个选项)。打开你的MyBB.h文件,在顶部加入以下Code: typedef enum SHOWTIMETYPENUMOSTIME =0x00000000, /24小时显示时间OSDATE =0x00000001, /显示当前日期UNIX_TIME_AND_DATE= 0x00000002,/完整显示日期,时间HOUR_TIME_12= 0x00000003,/以12小时方式显示Enumeration;这里有四个枚举值。然后用define宏来设置这个变量:#define GUID_SHOWTIMETYPENUM MyBBGUID在CKERROR InitInstance(CKContext* context)接口中加入注册新类型变量的Code:CKParameterManager* pm = context-GetParameterManager();pm-RegisterNewEnum(GUID_SHOWTIMETYPENUM,SHOWTIMETYPENUM,OSTIME =0x00000000,OSDATE =0x00000001,UNIX_TIME_AND_DATE= 0x00000002,HOUR_TIME_12= 0x00000003);/注册新的变量类型。接口原型请参见SDK。pm-ChangeEnumDeclaration(GUID_SHOWTIMETYPENUM,OSTIME,OSDATE,UNIX_TIME_AND_DATE,HOUR_TIME_12);/设置可以枚举的变量范围找到你的CKERROR CreateTime_Top_ExitProto(CKBehaviorPrototype* pproto)接口函数:在这里进行InPut,Out,InputParameter和OutParameter等参数的声明.这两行代码保留:proto-DeclareInput(In0);proto-DeclareOutput(Out0);在他的下边加入我们的LoopIn和LoopOut声明proto-DeclareInput(LoopIn); proto-DeclareOutput(LoopOut);还是在这个接口函数中,我们把proto-DeclareInParameter(InP0,CKPGUID_INT);proto-DeclareOutParameter(OutP0,CKPGUID_INT);这两行注释掉,加入我们的输入参数列表Code,并且初始化它:proto-DeclareInParameter(Show Time Type,GUID_SHOWTIMETYPENUM,OSTIME);/第一个型参,是一个enum类型的,以下拉List来实现用户的选择proto-DeclareInParameter(window always top?,CKPGUID_BOOL,FALSE);/第二个型参,布尔类型.用户勾选则执行window always topproto-DeclareInParameter(Exit Virtools?,CKPGUID_BOOL,FALSE);/第三个型参,布尔类型.用户勾选则执行Exit Virtools.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 航空航天复合材料 课件知识点4 纳米复合材料
- 农电工基础试题及答案
- 快乐工作总结汇报
- 中国电信业务培训
- 小班熊猫美术课件
- 安全事故范例培训
- 整容术前护理常规
- 毛球画花卉课件
- 大出血的急救护理措施
- 主动脉瘤超声表现
- GB/T 18907-2002透射电子显微镜选区电子衍射分析方法
- GB 21454-2008多联式空调(热泵)机组能效限定值及能源效率等级
- 建设工程竣工验收消防设计质量检查报告(填写范本)
- 锚杆锚固质量无损检测
- 数码迷彩工艺
- 高效执行四原则授课版
- 动火许可证(模板)
- 论脑心同治理论与实践解析课件
- 防汛应急预案桌面演练
- 代领毕业证委托书模板(通用6篇)
- CJJ-T 34-2022 城镇供热管网设计标准
评论
0/150
提交评论