freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件工程-基于視頻的互動(dòng)游戲平臺(tái)研發(fā)-資料下載頁(yè)

2024-12-05 17:39本頁(yè)面

【導(dǎo)讀】系統(tǒng)提供所需要的實(shí)時(shí)運(yùn)動(dòng)信息。使開(kāi)發(fā)更順利的進(jìn)行。人機(jī)交互、視頻會(huì)議、醫(yī)療診斷、虛擬現(xiàn)實(shí)等方面,具有廣闊的研究和應(yīng)用前景。將繼續(xù)有研究人員投身于體感游戲制作和游戲設(shè)計(jì)之中。[3]朱強(qiáng),莊越挺,潘云鶴,基于緊身衣的人體動(dòng)畫(huà)研究[J],軟件學(xué)報(bào)。出開(kāi)發(fā)出一套具備良好用戶(hù)界面的、較完整的應(yīng)用軟件平臺(tái)。查閱資料,了解視頻處理和運(yùn)動(dòng)捕獲的算法。實(shí)現(xiàn)已有運(yùn)動(dòng)捕捉算法與游戲系統(tǒng)的整合。完成15k-20k字的畢業(yè)設(shè)計(jì)論文。當(dāng)今世界,電子游戲已經(jīng)在方方面面影響了人們的生活方式和思考方式。子游戲產(chǎn)業(yè)也以其高額的利潤(rùn)成為熱門(mén)產(chǎn)業(yè)。作和實(shí)際從事這些運(yùn)動(dòng)的動(dòng)作完全不同,這大大的破壞了游戲的真實(shí)感。玩家對(duì)真實(shí)感的需求導(dǎo)致了體感技術(shù)的出現(xiàn)和發(fā)展。并按照預(yù)定方式,計(jì)算機(jī)對(duì)相應(yīng)動(dòng)作做出反饋。加速度傳感芯片。出結(jié)果,從而得到玩家手臂的運(yùn)動(dòng)數(shù)據(jù)。傳感器位置固定。接在攝像頭前作出動(dòng)作,系統(tǒng)即可識(shí)別。代表系統(tǒng)有SCE公司EYETOY和微軟

  

【正文】 大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論 文) 18 所有的 Windows 窗口程序都是從 WinMain 函數(shù)開(kāi)始的,本游戲也不例外,在WinMain 函數(shù)里所作的工作只是創(chuàng)建了 SmilyMain 類(lèi)的一個(gè)實(shí)例,并調(diào)用實(shí)例的go 函數(shù)。所以一切都將從 SmilyMain 的 go 開(kāi)始。 在 SmilyMain 的實(shí)例中,首先將創(chuàng)建一個(gè) Engine 類(lèi)的勢(shì)力,在類(lèi)設(shè)計(jì)的部分已經(jīng)說(shuō)明 Engine 類(lèi)負(fù)責(zé)引擎的初始化。可以提供的初始化參數(shù)包括窗口的名稱(chēng)、 Scene Manager 的類(lèi)型,默認(rèn)攝像機(jī)的位置和名稱(chēng),位置、默認(rèn)視口的名稱(chēng)。提供這些參數(shù)后, Engine 將提供創(chuàng)建好的 Scene Manager、 Window 和 Ogre Root的指針,用于初始化其他類(lèi)。下面將解釋在 Engine 中所做的工作。 Engine 是啟動(dòng) Ogre 的核心,是對(duì)啟動(dòng)過(guò)程的抽象。首先通過(guò)插件的配置文件初始化 Ogre Root 對(duì)象。然后通過(guò)資 源配置文件 load 資源(資源文件的具體信息將在下一節(jié)說(shuō)明), 接下來(lái)是創(chuàng)建窗口,創(chuàng)建窗口需要的信息可以通過(guò) Ogre自帶的配置對(duì)話框來(lái)得到,如果程序目錄里面有配置文件,也可以加載已有的配置文件來(lái)得到窗口信息。 接下來(lái)要做的是創(chuàng)建 Scene Manager 這是場(chǎng)景里面一切事物的管理器,包括要繪制的物體、攝像機(jī)等等。 Ogre 提供了不同種類(lèi)的 Scene Manager 來(lái)滿足不同天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論 文) 19 的需要,它們擅長(zhǎng)的場(chǎng)景各不相同,對(duì)于本游戲,由于大部分物體都在距離攝影機(jī)非常近的地方,所以選擇 Ogre::ST_INTERIOR。 下一步是創(chuàng) 建攝像機(jī)和視口,攝像機(jī)的可選項(xiàng)包括它的位置、朝向和最大及最小剪裁距離。視口連接攝像機(jī)和窗口,本游戲可以直接把視口大小設(shè)置為窗口大小。至此 Engine 類(lèi)的全部工作都已完成。 完成 Engine 類(lèi)中的初始化后, Ogre 只需要初始化一個(gè)最初顯示的場(chǎng)景和創(chuàng)建一個(gè)幀監(jiān)聽(tīng)器即可開(kāi)始渲染,這兩個(gè)工作在 Scene 類(lèi)和 Frame Listener 類(lèi)完成。 值得說(shuō)明的是在開(kāi)始渲染之前還有兩個(gè)操作,一個(gè)是加載 UI 的資源,另一個(gè)是創(chuàng)建音樂(lè)的線程。這兩點(diǎn)將在后面的章節(jié)說(shuō)明。 完成以上工作以后,游戲場(chǎng)景開(kāi)始逐幀渲染,從用戶(hù)的角度而言 ,即游戲正式開(kāi)始。 資源的加載 Ogre 的 資源是通過(guò)資源組的方式來(lái)管理的,資源組可以使用默認(rèn)的 Default也可以自己創(chuàng)建。資源的生命周期為:聲明、初始化、加載使用,釋放。每個(gè)資源都可以獨(dú)立完成這些步驟,也可以以資源組為單位完成。 在本游戲中, 資源 有 三類(lèi): Ogre 資源,包括模型文件,材質(zhì)文件,骨骼文件,場(chǎng)景(即天空盒)。 CEGUI 資源,包括材質(zhì)文件,字體和布局等 。 用戶(hù)文件,主要是 音樂(lè)文件。 接下來(lái)將分別描述三類(lèi)資源的加載方式。 對(duì)于 Ogre 資源,首先通過(guò)資源配置文件來(lái)聲明資源的位置,上面 已經(jīng)說(shuō)明Engine 類(lèi)中有對(duì)資源配置文件的讀取操作,這個(gè)操作實(shí)際上是聲明資源和創(chuàng)建資源組的集合,由于本游戲的資源不多,所以只是用了 Default 資源組。聲明資源之后,就進(jìn)行了所有資源的初始化,著同樣是小型系統(tǒng)的加載方式。經(jīng)過(guò)初始化后,系統(tǒng)就可以通過(guò)文件名來(lái)訪問(wèn)這些資源了。 對(duì)于 CEGUI 資源, CEGUI 的設(shè)計(jì)導(dǎo)致了它需要一個(gè)渲染系統(tǒng)才能完成用戶(hù)界面的渲染,而這些渲染系統(tǒng)中巧恰好有 Ogre,所以 CEGUI 的資源同樣是通過(guò)Ogre 的資源組來(lái)組織的,它們的資源聲明位于 Engine 的初始化之后,渲染之前,初始化過(guò)程 的工作實(shí)際上是告訴 CEGUI 系統(tǒng),它需要的資源位于 Ogre 的哪個(gè)資源組中,設(shè)置了 CEGUI 的默認(rèn)資源組之后,它就可以找到這些資源。在資源聲明的同時(shí)還順便進(jìn)行了默認(rèn)鼠標(biāo)圖形和默認(rèn)字體的設(shè)置。 用戶(hù)文件主要是音樂(lè),因?yàn)?Ogre 的資源組中包含的主要是圖形數(shù)據(jù),而且音樂(lè)數(shù)據(jù)的主要用戶(hù)是 Fmod,所以本游戲并沒(méi)有將音樂(lè)文件和上面的資源一起進(jìn)行管理。這些數(shù)據(jù)主要使用 File 類(lèi) 讀取文件名,然后由 Fmod 直接進(jìn)行播放。 天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論 文) 20 游戲流程控制 本節(jié)描述流程控制之中的一些具體功能的實(shí)現(xiàn)方式 關(guān)于按鈕的行為 按鈕接受按動(dòng)信號(hào) 是由 fl 類(lèi)和 CEGUI 庫(kù)共同完成的 上文已經(jīng)說(shuō)明, SmilyMain初始化了 FrameListener,這是一個(gè)控制幀的類(lèi),它的 frameRenderingQueued 函數(shù)會(huì)在每一幀渲染之前被調(diào)用, cegui 通過(guò)它來(lái)獲得用戶(hù)點(diǎn)擊的坐標(biāo) 來(lái)判斷那個(gè)按鈕被點(diǎn)擊了 。 然后通過(guò)按鈕的回調(diào)函數(shù)來(lái)做出動(dòng)作 . 退出 : 在除去 Loading 之外的三個(gè)界面,都具有回調(diào)函數(shù)為 cbEcs 的按鈕,在這個(gè)回調(diào)函數(shù)中,會(huì)判斷調(diào)用者是哪個(gè) UI,如果是歌曲選擇,那么顯示一個(gè)退出菜單,包括回到游戲和退出游戲。如果是角色和場(chǎng)景選擇, 同樣會(huì)顯示一個(gè)退出菜單,包括回到游戲,退出游戲,還有回到歌曲選擇界面?;氐礁枨x擇界面會(huì)摧毀 3D 模型和 UI。然后重新繪制第一個(gè)場(chǎng)景。如果是歌曲界面,首先會(huì)停止角色動(dòng)畫(huà)的播放,然后彈出類(lèi)似的對(duì)話框,提供回到前面任意場(chǎng)景的功能,實(shí)現(xiàn)方式同樣是摧毀當(dāng)前模型和 UI,然后重繪要返回到的界面。 音樂(lè) 線程的啟動(dòng) 聲音系統(tǒng)是和主線程分離的,該線程在 SmilyMain 中創(chuàng)建 ,時(shí)間在渲染開(kāi)始之前,初始化 Framelistener 之后 , 使用到的類(lèi)是 Sound,該類(lèi)使用 File 類(lèi)得到要播放的音樂(lè)的 文件名,把它們傳遞給 Fmod 的 API,實(shí)現(xiàn)音樂(lè)的播放和停止等操作。 音樂(lè)的試聽(tīng)和播放 當(dāng)音樂(lè)選擇界面加載完成之后,會(huì)在歌曲列表顯示所有的 歌曲的名稱(chēng),當(dāng)用戶(hù)點(diǎn)擊其中一個(gè)歌曲的時(shí)候,系統(tǒng)不當(dāng)會(huì)高亮它,而且會(huì)開(kāi)始播放著短音樂(lè),實(shí)現(xiàn)方式很簡(jiǎn)單,用戶(hù)點(diǎn)擊音樂(lè)的時(shí)候,記錄音樂(lè)的名稱(chēng)并把它放入到 Level 類(lèi)的一個(gè)成員變量之中,當(dāng)音樂(lè)線程發(fā)現(xiàn)該成員變量不為空時(shí),調(diào)用 Sound 類(lèi)來(lái)播放這個(gè)音樂(lè),期間要加上鎖來(lái)保證音樂(lè)只播放一遍而不是線程的每個(gè)循環(huán)都重新播放。 而且由于每個(gè)界面都會(huì)與音樂(lè)線程有交互,所以當(dāng)它做出行為 是會(huì)判斷當(dāng)前位于哪個(gè)界面。 玩家所選的音樂(lè)被放入到 Level 類(lèi)中之后就 可以繼續(xù)下一步了。 角色 的 選擇 位置的記錄 天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論 文) 21 游戲中的角色選擇是通過(guò)屏幕上角色模型的旋轉(zhuǎn)來(lái)實(shí)現(xiàn)的,角色選擇界面被載入之后,系統(tǒng)會(huì)通過(guò) File 類(lèi)得到 Mesh 目錄下的所有模型文件的名稱(chēng)。然后使用 Scene 類(lèi)繪制這些模型,在繪制的過(guò)程中會(huì)使用 四元數(shù)來(lái)是坐標(biāo)旋轉(zhuǎn),使模型們被放置成一個(gè)近似的圓形。繪制過(guò)程中需要記錄模型的當(dāng)前位置,和下一個(gè)模型的位置,用來(lái)為后面的模型換位做準(zhǔn)備。 由于換位操作不過(guò)是把邏輯上的模型移動(dòng)到下一個(gè)模型的 位置上,所以并不需要記錄 這個(gè)位置是屬于哪個(gè)模型的,只要按順序記錄即可。 繪制結(jié)束以后,會(huì)有一個(gè)正對(duì)屏幕的模型,把它壓入 Level 類(lèi)得 PlayerMesh和 TeacherMesh 這兩個(gè)隊(duì)列中,作為默認(rèn)選擇的模型。 動(dòng)畫(huà)的實(shí)現(xiàn) 記錄下各個(gè)模型的位置之后,當(dāng)玩家點(diǎn)擊選擇模型按鈕就可以讓各個(gè)模型的位置按照逆時(shí)針?lè)较蜣D(zhuǎn)動(dòng),在最前面的即為選擇的模型。 為了簡(jiǎn)化,移動(dòng)過(guò)程是直線,需要的參數(shù)是方向向量, 距離 和速度,在上一節(jié)已經(jīng)記錄 了起點(diǎn)和終點(diǎn)的位置 ,方向向量 和距離均可 通過(guò)簡(jiǎn)單的向量計(jì)算得到,速度是 一個(gè)預(yù)定值。 這些計(jì)算在 UI 類(lèi)的按鈕回調(diào)函數(shù)中完成。 得到以上三個(gè)數(shù)據(jù),即可把把開(kāi)始播放動(dòng)畫(huà)的信息傳遞給 FrameListener 類(lèi),在該類(lèi)中逐幀通過(guò)方向向量來(lái)移動(dòng)模型位置,移動(dòng)的大小由速度決定,這里需要說(shuō)明的是由于游戲幀數(shù)并不固定,所以規(guī)定的是速度而不是具體的長(zhǎng)度,長(zhǎng)度由速度乘以上一幀與這一幀的間隔時(shí)間來(lái)得到,這保證了視覺(jué)上的運(yùn)動(dòng)連貫性。同時(shí)需要削減距離值,當(dāng)距離被減少到 0 或者小于 0 時(shí),即可判斷模型已經(jīng)到達(dá)預(yù)定位置, 這時(shí)改變 Level 類(lèi)中記錄的模型數(shù)據(jù)。并更新數(shù)據(jù)窗口中模型數(shù)據(jù)的信息。 在運(yùn)動(dòng)過(guò)程中,還會(huì)播放走動(dòng)的動(dòng)畫(huà) ,在模型到達(dá)預(yù)定位置之后會(huì)播放一段站立姿態(tài)的動(dòng)畫(huà),這些設(shè)計(jì)是為了使游戲的用戶(hù)體驗(yàn)更加順暢。 動(dòng)畫(huà)播放 在舞蹈界面,前面已經(jīng)說(shuō)過(guò)會(huì)繪制指導(dǎo)者和玩家兩個(gè)模型,玩家模型將由運(yùn)動(dòng)捕獲系統(tǒng)來(lái)控制,而指導(dǎo)者模型是有預(yù)先定制好的舞蹈數(shù)據(jù)控制的(即 Ogre動(dòng)畫(huà)), Ogre 動(dòng)畫(huà)被存儲(chǔ)在與模型文件( .mesh)同名的骨骼文件中( .skeleton),這是 Ogre 的內(nèi)置格式,所以可以很方便的進(jìn)行讀取。 骨骼文件同時(shí)包含模型的骨骼信息和骨骼動(dòng)畫(huà)信息, 而不同模型的骨骼是不能兼容的(嚴(yán)格來(lái)講是可以通過(guò)來(lái)調(diào)整來(lái)達(dá)到兼容的目的, 但是這方面的研究和本課題的方向相距較遠(yuǎn),所以沒(méi)有采用), 所以 在本游戲中,每一個(gè)模型都會(huì)擁有自己的骨骼文件( .skeleton),其中包含它要播放的動(dòng)畫(huà)數(shù)據(jù)。 播放動(dòng)畫(huà)的方法很簡(jiǎn)單,在 Frame Listener 中告訴 Ogre 播放與下一幀對(duì)應(yīng)的天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論 文) 22 動(dòng)畫(huà)數(shù)據(jù)即可,同樣這和幀數(shù)有關(guān),所以依然會(huì)用到兩幀之間的間隔時(shí)間 動(dòng)作數(shù)據(jù)獲取 運(yùn)動(dòng)捕獲算法概述 交互方式及數(shù)據(jù)格式 數(shù)據(jù)處理 攝像數(shù)據(jù)的獲取和展示 由于本系統(tǒng)的算法還處于研究階段,所以不能保證用戶(hù)的每 一個(gè)動(dòng)作都能完美的被識(shí)別, 所以系統(tǒng)還提供了一個(gè)額外的窗口用來(lái)顯示攝像頭實(shí)際捕獲到的數(shù)據(jù),以幫助玩家了解自己的動(dòng)作。 該窗口的所有行為同樣是在另一線程中完成的,線程啟動(dòng)于開(kāi)始渲染之前,系統(tǒng)通過(guò) CamWindow 類(lèi)來(lái)啟動(dòng)線程, 線程中通過(guò) OpenCV 的一段公共代碼來(lái)訪問(wèn) DirectShow,并通過(guò)它來(lái)訪問(wèn)硬件。 首先創(chuàng)建 OpenCV 的窗口,然后檢測(cè)攝像頭的數(shù)量,如果沒(méi)有攝像頭就結(jié)束線程,如果存在那么選取第一個(gè)攝像頭并打開(kāi)它,設(shè)置窗口大小,然后把攝像頭采集到的數(shù)據(jù)繪制到窗口上。 游戲結(jié)束時(shí),該線程被一并殺死。 天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論 文) 23 參 考文獻(xiàn) (以上,如果需要兩行的,第二行文字要位于序號(hào)的后邊,與第一行文字對(duì)齊。中文的用五號(hào)宋體,外文的用五號(hào) Times New Roman 字體。) 外文資料 天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論文) 1 中文 譯 文 天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論文) 致 謝
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1