了解一些FMS的基本概念

一、什么是FMS     

     Macromedia于2002年年末发布了令人惊异的FMS的前一个版本Flash Communication Server MX服务器(简称FCS)。后来该名为Flash Media Server(简称FMS),使用FMS你只需要配备Web摄像头和麦克风,并加上十几行ActionScript脚本便可以完成一个电视会议系统。

FMS给全世界的人带来一种全新的通讯方式。有了FMS服务器,您可以参加实时网络会议;使用FMS的功能在工作中进行协作以及通过Internet或企业Intranet共享信息。

还不只是这一点,Flash Player的强大功能使得实时通讯和应用程序的集成由梦想变为现实,这正是未来网络软件发展的趋势,这都是Flash Player惹的“火”。

Flash Media Server(简称FMS)服务器是用于用户之间相互通讯的新平台,它集成了Flash多媒体交互的特性,又添加了实时音频、实时视频和实时数据流等新特色,使用该平台,你可以通过网络存储录制下来的音频、视频,也可以共享数据对象,并且可以将这些音频、视频和共享数据对象传递给多个客户端,实现实时同步共享。该平台集成了通讯功能和应用程序功能,它通过Flash Player(Flash Player 6或更高)在客户端提供音频共享、视频共享和共享数据流,为用户带来了更为丰富的体验。

二、FMS的传输协议

FMS使用实时通讯协议(RTMP),RTMP 是一种未加密的TCP/IP协议,专门设计用来高速传送音频、视频和数据信息。

使用FMS可以捕获(甚至录制)用户客户端的视频和音频流。信息通过FMS使用Real-Time Messaging Protocol (RTMP)协议被传递到客户端(用户计算机上的Flash Player)。当一个Flash影片应用程序要使用 FMS时,Flash Player就连接到服务器,这样就在客户端Flash Player和FMS之间提供了往复的源源不断的信息流,称为network stream(网络流)。其他的用户也可以同时连接到相同的FMS接收信息、更新数据以及音频和视频,这些都是“网络流”。

三、FMS的特色

FMS是一个完全基于软件环境的多媒体实时通讯环境,代表了当前实时通讯领域内的发展方向,并且,其自身也融合了大量的新特色,用于创建下一代通讯应用程序,这些新特色包括:
1、它提供了一个高效高性能的运行时,该“运行时”不但可以用于执行代码、处理数据内容,并且还可以进行通讯。
2、它将内容、通讯功能和应用程序界面集成进一个通用环境,这个通用环境就是Flash Player,通过强大且分布广泛的Flash Player,使得通过FMS进行通讯变得更加便利。
3、它为交互性提供了强大、高扩展性的对象模型。在为FMS开发Flash通讯应用程序的过程中,您就会慢慢认识到FMS无处不在的面向对象开发的特点。
4、它还建立了一个高效的组件架构模型,使用该组件架构模型可以创建高效的Flash通讯组件,而使用组件和其它的可重用模块,可以使你快速的开发基于FMS的通讯应用程序。
5、它还允许使用应用程序服务器提供的web服务和数据服务,从而可以和其它的应用服务器技术结合起来以创建功能更强大、更完整的富媒体应用程序。
6、它并且可以识别那些处于连接状态和处于未连接状态的客户端,以降低网络负载。
7、使用它,你可以将通讯应用程序客户端轻松的部署在多个平台和设备上,这多亏了Flash Player的广泛使用。

使用FMS和Flash创作环境,你可以非常轻松迅速的创建即时通讯应用程序,它可以让两个或多个的用户实现即时交流(交流可以使用文字、音频和视频)。例如,你可以使用FMS创建会议系统、在线社区、客户支持、销售支持、培训、远程展示或者即时消息系统。FMS是一个实时数据流平台,使用该平台加上客户端Flash Player的支持,可以将实时的数据流通过网络传递到Internet、PDA、iTV或者其它的设备上。

FMS的功能平台由两部分组成:服务器提供通讯方式;Flash影片应用程序(SWF文件)提供终端用户界面。你可以使用Flash创作工具作为开发环境创建Flash影片应用程序,该影片应用程序使用FMS提供的服务(也就是位于FMS上的Flash通讯应用程序)。有时你也可以编写服务端脚本为通讯应用程序添加新的功能,使用服务端脚本可以更灵活的控制共享状态信息,并且可以作为一个负载平衡器调节多用户之间的实时交互。

注:以上内容主要来自互联网和相关书籍,如有相同之处,纯属巧合。

粒子系统简要说明

1, 基础说明篇。
基本上本粒子系统主要分3大部分,粒子,粒子发射器和场。其中最最重要应用是粒子发射器,最最灵活的运用是粒子。下面先介绍粒子发射器的参数说明。
可见度:设置发射器是否可见
发射持续时间:设置粒子发射的时间,单位是“帧”。例如100表示粒子将持续发射100帧。
发射频率:表示每帧发射几个粒子,例如值3表示每帧该发射器将要发射3个粒子。值0.1表示每帧发射0.1个粒子(其实就是每10帧发射一个粒子)
/// 目前没有设计非匀速发射参数,各位有兴趣的朋友可以自己制作。
粒子发射速度:设置粒子的发射速度,单位是象素,例如5表示粒子发射出去以每帧5象素的速度前进。
发射速度变值:对粒子的初速度进行增减变化,例如2表示粒子的发射速度在3(5-2)到7(5+2)之间变化。
双向发射:判定发射器是否同时向两个方向上发射粒子。在某些情况下这个项目比较有用。
发射器速率影响度:该值用于判断粒子发射器本身的速度会不会影响到粒子的速度。关于该参数后面会有一个例子说明。
发射开放角:该值用语控制粒子发射方向上的变化。例如10表示在-10度到10度之间的扇面区域进行发射,如果改为180,则为360度全角度发射。
发射粒子品种:该值是运动粒子的as标识符,也就是表示该发射器将发射什么粒子。目前默认是库里的“粒子01”的标识符---- lz_01
粒子健康值:粒子的生命时间,例如100表示该粒子从发射开始运动100帧以后就要消失
粒子健康变值:同上,对粒子的存活时间进行变化。
粒子健康衰减值:设置粒子最后多少帧开始逐渐消失(透明度)。例如值10表示在最后10帧开始,粒子将变的越来越透明到消失不见,该值的目的是为了让粒子消失的不太突然。
粒子旋转值:设置粒子自转速度;
粒子旋转变值:不解释了
粒子角度校正:该值用于判断粒子是否按运动方向进行旋转,关于该值后面会有一个例子说明
粒子运动拉伸度:该值在粒子角度校正为true时生效,目的用于让粒子根据运动的速度进行拉伸变化。
粒子大小:设置每个粒子的大小,单位是百分比。例如100表示每个粒子按照100%原始粒子的大小。
粒子大小变值:不解释了
不规则形变:该值用于判断粒子的长宽比是否等比例缩小和放大。
粒子生长时间,粒子生长度,粒子萎缩时间,粒子萎缩度:均用于控制粒子开始和结束时的缩放变化。
深度控制min,深度控制max:控制发射粒子的深度范围。关于“深度”这个概念请查阅flash帮助。
2, 基础应用篇。
该系统的应用非常简单,只要把发射器从库里拉出来,拉到场景中即可。然后对其参数进行一些简单的设置就可以了。(使用默认值也可以)
例1;
这样一个非常简单的粒子效果就出现了,那么,对该发射器可以进行哪些操作呢。
首先你可以把它进行旋转,根据旋转的方向,该粒子发射器的发射方向也会变化。
例2;
同时该粒子发射器也可以进行时间轴上的运动变化。(包括位置变化和角度变化,支持引导线);
例3;
注意,当你改变发射器的参数“发射器速率影响度”的时候,粒子的运动会产生变化,比较一下不同。
例4;
该粒子发射器的各种参数已经提供了比较好的解决方案。大家可以试验一下更改一些参数来观察效果。(提醒:观察旋转效果的时候请使用比较大点的粒子)。
以下是利用该粒子系统制作的一些特效,大家可以试着练习下。
基本上,以上这些例题如果你可以完成的话,对粒子发射器的应用应该就没有什么问题了。(友情提醒,里面的某些例子或许你会认为很简单,不值得一做,但我建议大家还是认真的做一下,例如第4和第8题就牵涉到一些知识点,初学者很容易出错。)
补充:线形发射器只比点状的多出一个参数,即删格距离,该值用来控制发射粒子之间的距离。
3, 中级应用篇。
力场
力场里最主要的就是重力场,他的使用非常简单,只需要把它从库里拉到场景里就可以了(任意位置均可)。当然,要为这个力场设置一下方向和强度,还有最最重要的是立场的作用范围,该作用范围是深度范围,必须同发射器的深度范围一致才可以起到作用。
例5-例7;
补充说明,目前由于FLASH的功能有限,力场不支持在时间轴上的参数变化(原本我是通过重力场实例的拉伸变化来控制的,后来考虑到可能更麻烦就去掉了),但是各位有兴趣和有AS基础的朋友可以尝试更改AS代码达到这一效果。例如,让重力场的“重力值”呈现从-5到+5的正弦变化,就可以变成震荡器。通过设定不同的振幅和频率来达到不同的效果。
4, 高级应用篇
变化多端的粒子。
只要在“粒子01”内部嵌套不同的粒子MC,该粒子系统就可以变化出更多的效果出来。
例如,在粒子内,加入一个本身就有形变变化的动画,可以产生出类似细菌的效果。
再例如,在粒子内,加入一个落叶自转的动画,或一个樱花花瓣旋转的动画,也可以创造出非常漂亮的效果。

例8-例9
扩展思考,粒子发射器,发射的是粒子,那么,可以不可以发射“粒子发射器“呢。
比如一个线状发射器,每10帧发射一个点状发射器,该点状发射器自身又发射粒子。这样可以做一个类似烟花的效果。