ImageVerifierCode 换一换
格式:PPT , 页数:68 ,大小:2.45MB ,
文档编号:3026065      下载积分:28 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-3026065.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(试验室研究方向课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

试验室研究方向课件.ppt

1、游戏中的音频编程与人机交互主要内容o 声音播放o 调节声音o 三维立体声o 音效o 人机交互什么是声音o 声音:50Hz-22,000Hz之间的压力波n 本质上而言是正弦波,具有波幅和频率等属性o 声音的低频部分不仅仅被耳朵,也可被身体所感知o 人感知到声音从某一地方发出n 不能精确地定位出音源什么是声音?o 声音表现为波形,可以被记录、保存以及精确播放o 声音(Sound)不等同于音乐(Music)o 声音可以被合成出任意效果什么是声音?o 声音是一个时间域上的函数: x( t ) (从物理属性上看, 是一个时间箭头)o 频率域:X( f ) (从数学和人的感知上看)o 声音的产生:是什么造

2、成了声音?o 感知:我们自己的感受!什么是声音?o 时间域:与声音的生成最相关o 频率域:与人的感知最相关三维声音o 考虑下列影响人感知声源位置的因素,把声音作三维定位,创造出三维的环境声响n 声源越远,音量越小n 从左边发出的声音将在左耳中产生较大的音量n 从左边发出的声音将首先到达左耳,左右耳朵相差1微秒左右n 从脑后传来的声音,与从前方传来的声音相比,有一定程度的减弱体检声音在游戏中的重要性o 除了视觉以外,最重要的信息获取手段就是声音o 可以指导视觉感知,甚至比视觉更为集中、有效o 可根据声音收集周围物体的信息o 能带来某种情景暗示目标1:营造沉浸感o空间的暗示使得玩家能判断自己的方位

3、n距离n方向感n当音源和听者移动时的更新n连续性是关键!o在实体的世界中n玩家不能听到大墙背后的声音目标2: 营造意境o 能传递不同的心情和意境n 沉重的、压迫感的和狭窄的能造成热的空间感n 回音能造成空旷、悠远、冷寂的空间感o例如仙剑奇侠音乐n 其他的环境相关的声音操作游戏中的音频编程o更好地体现游戏中声音的意义n声音作为载体在空间中传播n玩家和游戏智能利用声音做出gameplay决定o如果声音处理不好n玩家将忽视声音的存在n对于有遮挡物的室内场景,将给玩家错误的暗示玩家的空间定位空间的合成感玩家自身的位置玩家所在空间的材质大的石头房子小的金属房子小的木质房子对声音的操作o 采样(Sampl

4、ing)n 通过任意方式录制声音o 合成 (Synthesis)n 模拟合成n 调频合成n 波表合成对声音的操作 o 模拟合成n 不同频率波形的简单叠加o 从已有波形中选择o 叠加后进行滤波o 调频合成n 通过改变频率调整输出波形o 波表n 录制下来的每种乐器的声音,以数字化形式存放对声音的操作o MIDI - Musical Instrument Digital Interface(乐器数字界面)o 用于控制音乐合成器n合成细节由合成器决定o MIDI数据n仅仅是一个事件的列表,描述了一个声音卡或其他播放设备要产生某种声音的特定的步骤n每一个描述乐器演播的动作的字都赋给一个特定的二进制代码

5、。要奏响一个音符,你要发出一个“音符开”(Note On)消息,然后对该音符赋以一个“速度”,用以判断该音符能奏多响。 n其他控制包括选择哪件乐器演奏、混合和平移声音以及控制电子乐器等。DirectX组成o DirectSound:处理声音的播放。包括单声道、立体声、三维声与多通道声音。o DirectShow:提供不同的视频播放和视频采集功能。o DirectInput:控制鼠标、键盘、游戏操纵杆和力反馈装置的输入o DirecMusic:合成并播放所以声音,包括音乐。(建立在DirectSound基础上)o DirectPlay:控制多人对战游戏中的通信。DirectX 9的声音播放o 集

6、成DirectSoundn WAV 文件或其他资源现在可以由 DirectSound加载器加载,通过 DirectSound演奏器进行播放 n 合成器的输出被送至多个回放缓冲区内,每一个缓冲区对应特定的三维位置和声音效果n 提供空间残音效果、交互三维声音、环境混响、扭曲和回音等效果,并可随意添加第三方制作效果。DirectX播放声音的例子o Visual Studio .NETo DirectX SDKo 四个例子说明:n High5:播放声音n Cacophony(杂音):改变立体声音量、频率n 三维声音播放n 音效处理实例1:High5o 掷骰子声音(1到5个)o dsutil.cpp:提

7、供声音方面的实用库,可以修改为我所用o dxutil.cpp:directX实用库o / CSoundManager类和 Csound类在 dsutil.h中定义. 他们是Dsound类中最为有用的,也是可以被开发者扩充的类。High5 步骤o 初始化声音管理器o 装入声音文件o 由用户触发播放声音文件o 两个全局变量n g_pSoundManager: 声音管理器n g_pSound:CSound,声音对象HIGH5o 声音播放中最常用到的是时间函数o MS Win 32 SDK中提供的计时工具并不精确:最小间隔是55毫秒;o 在古老的Multimedia SDK中,有一个毫秒级的timeG

8、etTime函数(DWORD)n initMSTimer:记录调用时的时间n getMSTimer:计算两者之间的间隔时间初始化声音管理器o InitDirectSound():o 创造一个新的管理对象:og_pSoundManager = new CSoundManager();osoundWorking = false;oif (g_pSoundManager != NULL)o 初始化该管理对象if (SUCCEEDED(g_pSoundManager-Initialize( hwndDlg,DSSCL_PRIORITY)osoundWorking = true;ooDSSCL_PRIO

9、RITY:仅播放当前focus的声音装入声音文件/ 处理正在播放的声音if( g_pSound )g_pSound-Stop();g_pSound-Reset();/ 删除声音对象SAFE_DELETE( g_pSound );/ 声音文件名strcpy(fullFilename,g_soundDir);strcat(fullFilename,filename);/ 将wave 文件装到DirectSound 缓冲区中if (FAILED(g_pSoundManager-Create( &g_pSound,fullFilename, 0, GUID_NULL, nSounds )return

10、false;声音管理器的声音创建函数o 声音管理器创建一个CSound对象,从wav格式中复制到指定数目的缓冲区(buffer)中;o Create( &g_pSound /声音对象,fullFilename/路径, 0, GUID_NULL, nSounds/指定数目缓冲区 )o 第三个参数:指定是否可以对该声音进行处理,如DSBCAPS_CTRL3D参数可以用于三维声音控制o 第四个参数:guid3DAlgorithm,指定三维声音处理方式。如果前面没有指定DSBCAPS_CTRL3D,必须设为GUID_NULL声音管理器的声音创建函数(续)o 如果控制参数设置为0,那么在播放时不能修改!

11、o DSBCAPS_CTRLVOLUME:可以修改音量o DSBCAPS_CTRLFREQUENCY:修改频率o DSBCAPS_CTRLPAN :可以移动声音o DSBCAPS_CTRLFX:可以生成音效o DSBCAPS_CTRL3D:可以进行三维处理播放声音o for (n=0; nnSounds; n+)/ 延迟最多0.2秒odelay = dieRoll(200);ocurrent = getMSTime();owhile (getMSTime() Play( 0, dwFlags, 0 , 0 , 0 );o 实例2:Cacophony(杂音)o 功能:改变音量、Panning和频

12、率o 仅处理二维声音o 修改了Csoundmanager和Csound两个类o 将dsutil.h和dsutil.cpp改为Extended-dsutil.h和Extended-dsutil.cpp,添加三个类:o class CCircularSound;/处理streamingo class CSoundFXManager; /音效管理器o class CSoundFXData;/音效对象数据实例2:Cacophony(杂音)o 改变声音的播放时段o 启动与结束音量o 启动与结束声音移动的位置o 频率的起始与结束CSoundEffect类o 用于管理各种声音的特效o 几个方面:o Star

13、t_time:播放的起始时刻o Start_distance:播放的起始距离o Start_position:播放的起始位置o Start_frequency:播放的起始频率o End_distance:播放的结束距离o End_position:播放的结束位置o End_frequency:播放的结束频率o On_completion:指向下一个播放的声音实例3:Rumpus吵闹的三维声音o DirectSound最有震撼力的是三维声音o 三维功能通过IDirectSound3Dbuffer和 IDirectSound3Dlistener两个接口提供o 在应用中, IDirectSound3

14、Dbuffer物体表示声音源, IDirectSound3Dlistener表示听到声音的物体(用户)三维Direct Soundo IDirectSound3Dbuffern 位置n 声源传播速度n Sound projection conen 与有向光源类似o IDirectSound3Dlistenern 位置n 方向三维声音中的几个影响因素o Doppler 效应n 快速移动的物体朝向听者,声音将被压缩,因此,具有更高的频率n 快速移远的物体,声音将被扩充,因此,具有更低的频率三维声音中的几个影响因素o Distance Factor:实际场景中的尺寸与meters的比例。如英尺:0.

15、3048o Rolloff Factor:决定声音消失的快慢。0表示没有衰减。类似于绘制中的雾。(demo:carrevupdown.wav)o 最小距离:三维声音中的几个影响因素o Ambient Sounds:泛音o Sound Cones:音锥,模拟有向声音三维声音中的几个影响因素三维声音播放的数据结构o CSoundManager* g_pSoundManager = NULL;o CSound* g_pSoundmax_sounds;o LPDIRECTSOUND3DLISTENER g_pDSListener = NULL;o / 听者o DS3DLISTENER g_dsList

16、enerParams;o /听者参数initDirectSound函数o.oif (FAILED(g_pSoundManager-Get3DListenerInterface( &g_pDSListener )o/获得三维听者的界面osound3DWorking = false; oelseo/ 设置听者的参数尺寸og_dsListenerParams.dwSize = sizeof(DS3DLISTENER);o/获取参数og_pDSListener-GetAllParameters( &g_dsListenerParams );osound3DWorking = true;oo.DS3DL

17、ISTENERo typedef struct o o DWORD dwSize; /尺寸o D3DVECTOR vPosition; /位置 o D3DVECTOR vVelocity; /速度o D3DVECTOR vOrientFront; /朝向o D3DVECTOR vOrientTop; /up方向o D3DVALUE flDistanceFactor; o D3DVALUE flRolloffFactor; o D3DVALUE flDopplerFactor; o DS3DLISTENER, *LPDS3DLISTENER; DS3DBUFFERo typedef struct

18、 o DWORD dwSize; o D3DVECTOR vPosition; o D3DVECTOR vVelocity; o DWORD dwInsideConeAngle; o DWORD dwOutsideConeAngle; o D3DVECTOR vConeOrientation; o LONG lConeOutsideVolume; o D3DVALUE flMinDistance; o D3DVALUE flMaxDistance; o DWORD dwMode; o DS3DBUFFER, 实例4 声音特效o 纯声音叫 dry, 加了特效的声音叫weto 古老的游戏都是发出b

19、eep声、单声道o Compact Disc(CD):音乐播放的标准o Digital video disc (DVD)声音特效的用处o 对同一个声音处理,使得它像出现在不同的环境中o 将在不同声音使得它们像出现在同一个环境o 创造一个真实世界并不存在的声音环境o 创造一个不自然的声音o 增强音乐的效率时间域特效o Echo: 回音o Reverb: 反射,反响o Chorus: 合唱,合成Echo:回音o 声音的标准传播速度是1130英尺每秒(在海拔温度为59华氏度)o Left delay和right delay:左声道和右声道o Wet/dry mix:调整原来声音和处理后的声音的比例E

20、cho:回音o Feedback:反馈o Pan delay:左与右是否可以交换(话筒从某人传到另外一人)Reverb:反射o 在音乐界用于增强空间感o 波的反射:简单地调节波的参数o 环境反射:不仅包括延迟,也包括早到的反射Chorus: 合唱o 合成多个声音o Delay:延迟播放o Depth:可以控制延迟的长度o Frequency:调整频率o Wet/dry mix:混音o Waveform:波形o Phase:相位o Feedback:反馈频率域的特效o DurectSound只提供一个效果:ParamEqo Graphics equalizer(均衡器)o Notch equal

21、izero High-pass filtero Low-pass filtero Band-pass filter振幅特效(amplitude)o Gargle:吱吱o Distortion:失真o Compressor:扩音器,压缩声音Gameplay(可玩性)交互模型o 玩家与游戏的交流的方式o 两个传统的模型有:n 角色(Avatar)o 单个的人物或者物体用以表示玩家o 玩家的动作局限于人物的空间位置n 多角色o 玩家可以在多个地方进行交互o 比如国际象棋 User interface (用户交互)o 图形用户界面o 人机交互模式o 视频游戏中的交互控制o DirectX编程n 键盘n

22、 鼠标n 游戏杆什么是GUIo GUI-图形用户界面n 键盘鼠标显示器n 近20年没有发生改变n 明确告诉用户能够采取什么样的动作,发出什么样的命令,以及可能的结果n 让用户有责任感和成就感WIMPo WIMP界面n Window:窗口,图形用户界面的基础n Icon:图标n Menu:菜单n Pointer:指针以用户为中心的设计准则o 控制权在用户手上:让用户感觉到是他在控制程序,而不是被程序所控制n 漫游:考虑用户将屏幕上的角色从某个地点移动到另外一个地点的难易程度n 选择:考虑用户选择某个物体,或将其高亮显示的难易程度人机交互模块o 人与人之间的交互通过五个基本的感知器官进行,并表达为

23、声音、动作、脸部表情等o 目前,新出现的人机交互模块包括:语音识别、手势识别、眼睛跟踪、脑电图仪等人机交互模块 人类行为模块人类行为模块 计算机感知模块计算机感知模块 设备设备 打字 手写 点击 带上数据手套手势 说话 身体移动 头的移动 自由手势 面部表情 眼睛移动 手部挤压 大脑运动 位置/运动 声音 视频 触觉/挤压力 神经 相机、视觉跟踪与识别 麦克风、语音识别与合成 键盘、鼠标、数据手套、写字板等 眼部跟踪系统 触觉仪器 脑电图描记器 人机交互模块 人类行为模块人类行为模块 计算机感知模块计算机感知模块 设备设备 打字 手写 点击 带上数据手套手势 说话 身体移动 头的移动 自由手势

24、 面部表情 眼睛移动 手部挤压 大脑运动 位置/运动 声音 视频 触觉/挤压力 神经 相机、视觉跟踪与识别 麦克风、语音识别与合成 键盘、鼠标、数据手套、写字板等 眼部跟踪系统 触觉仪器 脑电图描记器 游戏中最基本的交互工具o 键盘o 鼠标o Joysticko 力反馈装置o USB接口(理论上100个)o 游戏开始时要检测可用的工具!o DirectInput!DirectInput vs Win32 APIo Win32 API并没有考虑游戏的因素,也就是速度和效率.o Win32下对Joystick的支持不足,特别是复杂的包含8到10个按钮,无法在Win32下处理o Win32的鼠标支持

25、仅限于三个按键,其实市场的鼠标已经支持4个、5个甚至更多的按键。o Win32下的键盘操作是通过键盘映射表实现的。而游戏中并不需要很复杂的功能,如处理自动的重复键,从键盘代码转换为ASCII码等,会浪费处理器时钟指令。o 消息处理方式并不是最快的。DirectInput设备o 一个DirectInput设备对应了一个物理上的对象。这些对象当然也是通过COM接口完成控制的。界面的名字停留在IDirectInputDevice8o 枚举设备对象:IDirect-InputDevice8:EnumObjectso 每个物体由DIDEVICEOBJECT- INSTANCE结构描述,并有一个GUID号

26、GUID表o GUID_Xaxis:沿x轴的移动(如鼠标) o GUID_YAxis o GUID_ZAxis o GUID_RxAxis:绕x轴旋转 o GUID_RyAxis o GUID_RzAxis o GUID_Slider:滑动条,经常出现在joysticks上 o GUID_Button:按钮,一般出现在鼠标或者joystick上 o GUID_Key: 按键(键盘) o GUID_POV:joysticks上出现的POV hat (Point of view)视觉头盔o GUID_Unknown:未知设备 设置设备可提供的格式o HRESULT IDirectInputDevi

27、ce8:SetDataFormatIDirectInputDevice8:SetDataFormat( LPCDIDATAFORMAT lpdf ); o c_dfDIKeyboard:标准的256键键盘o c_dfDIMouse:三个轴和4个按键(对应于DIMOUSESTATE)o c_dfDIMouse2:三个轴和8个按键(对应于DIMOUSESTATE2)o c_dfDIJoystick:三个位置轴,三个旋转轴,o 两个滑动条,一个POV hat, 32个按钮:DIJOYSTATE o c_dfDIJoystick2:DIJOYSTATE2,更为复杂,硬件相关数据获取o 立即模式 vs

28、缓冲模式o HRESULT IDirectInputDevice8:GetDeviceStateIDirectInputDevice8:GetDeviceState( DWORD cbData, /参数的尺寸o LPVOID lpvData /参数的值,如DIMOUSESTATEDIMOUSESTATE o ); DirectInput的协作层次o 因为设备可能被多个应用程序共享o HRESULT IDirectInputDevice8:SetCooperativeLevelIDirectInputDevice8:SetCooperativeLevel( HWND hwnd, /创建该对象的应

29、用程序的窗口o DWORD dwFlags o ); oDISCL_BACKGROUND:应用程序任意时刻都可获取oDISCL_EXCLUSIVE:排他性oDISCL_FOREGROUND:窗口移到背景,自动无效oDISCL_NONEXCLUSIVE:排己性oDISCL_NOWINKEY:无键盘事件创建DirectInput Interfaceo HRESULT WINAPI DirectInput8CreateDirectInput8Create( HINSTANCE hinst, /应用程序句柄o DWORD dwVersion, /DIRECTINPUT_VERSION o REFIID

30、 riidltf, / IID_IDirectInput8 o LPVOID* ppvOut, /创建界面的指针o LPUNKNOWN punkOuter /NULLo ); o -IDirectInput8:CreateDevice 创建设备Sound:声音 Voice:人的嗓音 Audio: 音频的,声频的,声音的Music:音乐 PCM(Pulse Code Modulation): 脉冲编码调制Propagation: 传播 Waveform: 波形 Midi(Musical Instrument Data Interface): 乐器数字界面,与硬件相关Mp3: 一种音频压缩格式 Synthesis:合成 Sampling:采样Decibels:分贝,是一个相对值 Volume:音量Frequency:频率 WIMP:窗口、图标、菜单、指针 UI:用户界面HCI:人机界面 Gameplay:可玩性

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|