




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、各專業完整優秀畢業論文設計圖紙基于Unity3D平臺的籃球游戲三維動漫設計與實現班級:軟件092姓名:指導老師: 摘要:本系統的目標是基于Unity3D平臺的籃球游戲,實現在3D籃球館中模擬人物的投籃運動,并通過計分、計時系統記錄玩家當時的得分和游戲時長,使用戶從視覺、聽覺上感受投籃運動。主要工作內容分為三維建模、調試動畫和游戲的交互實現等。首先,在3DSMAX中按真實比例建立了包括地板、座椅、吊燈、液壓籃球架等在內的籃球場館的模型,按真實人體比例建立了人物模型,并在PhotoShop中為人物繪制了貼圖。接著,在3DSMAX中為人物綁定了骨骼并調試了走路、跑步、運球、投籃、扣籃等籃球運動動作。
2、然后運用Adobe Soundbooth cs4剪輯編輯出拍球、籃球彈跳、籃球入網等聲音。最后,將建立好的模型、調試好的動畫、剪輯好的聲音導入到Unity3D中,在Unity3D中建立菜單、游戲場景,通過編程實現對人物投籃的環境、動作、聲音的模擬。為了給用戶更好的聽覺和視覺體驗,本系統添加了背景音樂,并且在菜單中添加了粒子特效。關鍵詞:虛擬現實 三維建模 骨骼動畫 Unity3D 1 引言虛擬現實技術創造了一個包括三維模型、三維聲音和三維人物等資源逼真的虛擬世界,滿足了人們的需求,讓人們實現了夢想,體驗了現實和常規情況下不能完成的事情。時至今日,虛擬現實技術在游戲領域的應用越來越多。從最初的文
3、字MUD游戲,到二維游戲,再到網絡三維游戲,逼真度和沉浸感正在一步步地提高。并且,隨著顯卡性能的優化、CPU運算速率的提高和計算機內存的擴展,三維游戲已經成為虛擬現實技術應用的重要方向之一。本系統的目的就是應用虛擬現實技術的研究成果,通過基于Unity3D平臺來展現籃球運動員的投籃練習。并且計劃發布到手機平臺,方便用戶在休閑娛樂時使用。2 游戲總體架構2.1游戲架構系統通過游戲場景來展現球館和人物,包括模擬真實的碰撞和碰撞發出的聲音。場景中的主要物體有籃球館、人物、籃球、地面、籃球架及相機。系統架構如圖1所示。通過分析系統功能,可將系統分為:特效、聲音、數據、碰撞、控制和運動邏輯等6個模塊。其
4、中各個模塊功能如下:特效:為了給用戶強烈的視覺沖擊,在菜單中為籃球加入粒子特效。而在場景中,為模擬真實的運動,因此不添加特效。聲音:系統的背景音樂,物體之間碰撞的音效和音量的大小。數據:用來存儲用戶設定的有關游戲中聲音和人物屬性的數據。控制:對人物運動的控制,比如人物的走路、跑步、投籃、撿球等;對相機的控制,使相機能夠始終以人物為中心點運動。碰撞檢測:主要是籃球與地面、籃球架、籃球框之間的碰撞。對于不同材質的物體碰撞之后產生的效果應該是不同的。運動邏輯:人物的運動狀態轉換,比如從運球走到急停跳投、從跑到走、從運動狀態到停下來彎腰撿球。運動狀態之間應該有過渡動畫。圖1 系統架構2.2開發平臺開發
5、平臺選用的是MonoDevelop+ 3DSMAX + Unity3D+NGUI+ Soundbooth。主要工作流程是在3DS MAX中創建場景模型和人物模型,調試骨骼動畫,綁定骨骼,并將模型和動畫導入Unity3D中;在Unity3D中應用了粒子系統、物理系統、碰撞檢測、聲音控制等技術,用戶通過鍵盤控制,實現人物投籃運動的模擬。為便于游戲控制交互,用戶界面使用了NGUI技術,運用Soundbooth對聲效進行了處理。整體實現了模擬了人物投籃的環境、動作,以及對投籃的時間結果的統計。3 游戲模型及動畫的設計 系統首先需要創建3D籃球場館和人物的建模。本系統在3DSMAX中建立人物場景及調整骨
6、骼動畫,在Unity3D中實現游戲的控制、碰撞處理和物體的渲染。具體關系如圖2所示。圖2模型及動畫架構3.1模型的創建3DSMAX創建模型的種類有網格模型、多邊形模型和面片模型。此外3DSMAX自帶網格修改器、多邊形修改器等,可完善創建模型的效果。網格建模是3DSMAX中較為常用的建模方式之一,這種建模方法更容易掌握,也更易于控制。通過對網格模型的5中層次對象Vertex(節點)、Edge(邊)、Face(面)和Element(元素)的編輯而達到預想的效果。多邊形建模是以網格建模為基礎,并進行改進后的一種建模方法。與網格建模的不同之處是網格建模中的面次對象定義為三角面,而多邊形建模將面定義為P
7、olygon(多邊形)。模型創建之后,賦予不同的材質貼圖,得到最終效果。籃球館模型效果如圖3所示,人物模型效果如圖4所示。圖3 籃球館效果圖4 人物模型效果3.2骨骼動畫的添加和調整3.3.1骨骼綁定人物模型在綁定的時候要擺成“大”字型。模型應該盡量位于場景中心位置,腿向兩側分開,與肩部寬度近似。兩個手臂伸向兩側,高度不應該超過肩部,手部應與腕關節平行,手掌掌心面向下,手指分開。選擇骨骼,通過縮放骨骼大小和骨骼角度的調整,使得骨骼的各個部分與人物網格模型的各個部位對齊。人物的骨骼綁定是通過為人物模型添加骨骼綁定相關的修改器來完成的。綁定方法有兩種:一種是physique綁定,另一種是skin綁
8、定。physique綁定只能添加biped骨骼,綁定骨骼之后可以進行變肌、加腱等修改,能非常逼真的模擬出人物的肌肉線條。skin可以添加任意的bone,綁定之后通過調整bone對點的權重值、添加角度變形器來使得人物的肌肉表現的更真實。人物運動模型需要添加籃球的bone,因此選用skin方式對骨骼進行綁定。3.3.2骨骼動畫3DSMAX中的biped骨骼系統可以模擬兩足或多足動物的骨骼系統,并且可以使用相關修改工具做局部形態調整,比如手指個數,骨節,尾巴等。biped骨骼系統設定好的動畫數據可以單獨保存為*.bip或*.STP等動作格式。創建動畫和調試動畫的過程中,使用WorkBench可以方便
9、的調整某幀動作的x、y、z位置和旋轉角度。WorkBench還可以對位置曲線、旋轉角度曲線進行平滑等操作,方便動畫的編輯。3DSMAX提供Motion Flow Mode 和 Mixer Mode兩種方式來編輯多個動作文件。Motion Flow Mode可以對多個動作文件進行順序編輯、循環編輯、共享編輯、隨機編輯。Mixer Mode可以將多個動作文件的不同動作單元,在同一時段內分別指定給同一骨骼的不同骨節上。本系統在調節動畫是,首先將閑置動作、走路動作、跑步動作、走路運球動作、跑步運球動作、彎腰撿球動作、投籃動作、扣籃動作、背后運球動作、換手動作等一一調好,之后,編輯到一起。然后使用Mot
10、ion Flow Mode將所有動畫編輯為一個文件。4 游戲在引擎中的實現4.1游戲引擎的簡單介紹Untiy3D 4.0編輯器界面可以分為Scene、Game、Hierarchy、Project、Inspector、Console等幾個部分,Scene(場景)可以在Unity3D的3D世界中擺放物體,Game是相機真正渲染得到的效果顯示,Hierarchy中包含了在Scene中所有物體的名稱顯示和層級管理,Project顯示Unity3D工程的文件層級結構,Inspector中顯示物體的詳細信息,Console中顯示調試信息。4.1.1聲音Unity3D中播放聲音的組件有AudioListen
11、er、AudioSource。被播放的聲音文件叫做AudioClip。聲音文件被導入到Unity3D中的時候會自動進行壓縮、解壓縮處理。導入時還可以對聲音進行設置,例如壓縮方式、壓縮率、是否為3D音效。如果Audioclip是3D音效,那么它播放時候的聲音大小與監聽器的位置有關系。AudioListener是播放聲音的監聽器,如果沒有AudioListener,即時播放了audio,也沒有聲音。AudioSource是音源,可以指定一個要播放的audioClip。用AudioSource來控制audio的播放、暫停、停止、音量、播放速度等。4.1.2粒子特效Unity3D中將2D的貼圖在3D世
12、界中渲染出來來,可以實現例如煙霧、火焰、水流、爆炸等特效。粒子特效系統由三部分組件共同完成:Particle Emitter、Particle Animator、Particle Render。Particle Emitter組件實現了在球體內生成粒子,可以修改產生的縮放比例、速率等。Particle Animator組件可以控制粒子播放時的顏色變化、旋轉速度的變化、噴射速度的變化、力的變化和粒子消失的延遲時間等。Particle Render組件實現了粒子在被渲染時的材質、大小、路徑的渲染。4.2游戲資源處理4.2.1模型導入將3DSMAX導出的.FBX模型導入到Unity3D的時候,可以設
13、置模型導入的參數。如設置模型的比例、壓縮、模型的UV展開圖和材質的命名等。Unity3D中的游戲物體叫做GameObject,導入模型的每個物體都是一個GameObject。GameObject都有Transform,可以對它的Position、Rotation、Scale進行調整。4.2.2切割動畫帶動畫的物體可以通過Unity3D自帶的動畫切割器將一個Animation分割成多個AnimationClip。根據動畫所在的幀數,將各個單一的動畫從整體中分割出來。4.2.3添加物體碰撞人物若想在球館內走動而不掉到世界中去,必須對球館地面添加碰撞。初始導入的模型是不帶碰撞的。在球館中,需要添加碰
14、撞的有地面、墻壁、籃球架、籃板、籃筐等。Unity3D中提供了多種多樣的碰撞器,如box collider,sphere collider,capsule collider,wheel collider,mesh collider等。對于規則形狀的物體,可添加相應的collider,通過調整collider的大小來匹配物體。對于形狀不規則的物體,可以添加mesh collider,隨物體的表面添加碰撞。4.2.4添加物理材質籃球在與地面碰撞、籃板碰撞的時候,由于其不同的物理材質而產生的碰撞效果是不同的。在Unity3D中可以創建物理材質,讓物體擁有不同的物理特性。Unity3D中物理材質的屬性
15、主要有動摩擦因素、靜摩擦因素、彈性、摩擦力方式、彈力方式、力在方向上的設定等。根據實際情況,創建不同材質。4.3游戲菜單的設計及實現4.3.1菜單整體流程進入游戲之后,首先展示Splash(屏閃)界面,之后進入菜單選項。菜單結構如圖5所示。圖5菜單結構圖4.3.2 Splash屏閃通常用來展示公司logo,或者制作團隊的logo,通常只有幾秒。一方面來給系統加載資源做準備,另一方面可以使得用戶快速了解系統的特征。另外,Splash界面還可以為用戶提供一個瞬間接收大量信息的緩沖。Splash在用戶無意識的情況下提供給用戶系統的整體信息,使獲取對系統的第一印象。而用戶對系統的第一印象的好壞直接影響
16、到了用戶對系統的興趣、依賴程度。本系統特色之一就是用3D世界來展示籃球運動員的投籃練習。Splash一開始以2D圖像出現,再漸漸變成3D圖像,使得用戶眼前一亮,并且在最后將本系統的最大特色籃球彈跳顯示出來,展示系統的整體特色。4.3.3菜單菜單的設計應當盡量簡潔,少用文字,多用圖片,讓用戶能夠清楚的明白、找到每一個功能。為了避免菜單靜態單一的出現,系統菜單選用了2D加3D的方式顯示。2D菜單的制作運用了NGUI插件。NGUI插件用三維的方式渲染出二維平面的效果。NGUI提供了創建label、button、sprite等多種控件,方便的菜單的實現。菜單中3D部分展示了player的各種動作。4.
17、3.4設置功能在系統設置中可以改變背景音樂的音量和游戲中音效的的音量。4.4游戲場景的設計及實現游戲中除了物理碰撞之外,主要的部分為籃筐、籃球、聲音,代碼組件為籃球管理器、籃球、籃筐和聲音等。在場景中的所有籃球都需要到籃球管理器中注冊一下。當player處于無球狀態是,籃球管理器負責為player找到離他最近的籃球。判斷離player最近的球的方法是遍歷注冊表中的球的位置。籃球組件的主要作用是根據player的投籃方式、出手力度、角度來進行相應的位置改變。在這里,籃球組件用籃球初始的水平初速度和垂直初速度來更準確的表現出手力度。當前的投籃方式分為跳投、上籃、扣籃、快速投籃四種方式。對于跳投、上
18、籃、快速投籃,籃球都是在player出手后做瞄準籃筐的拋物線運行。拋物線的形成是由player出手的位置和籃筐的位置決定的,對于扣籃則出手時對籃球施加一個朝向目標的力。籃筐主要用來判斷是否進球,并且通知UI得分的變化情況。籃筐本質是一個觸發器,當籃球觸發之后,來計算累計的分數,并通知UI當前的分數。當進球時要播放籃球進球是聲音。4.5人物控制的實現整體設計結構,將人物狀態分為none,idle,walk,run,shot,crouch,通過這幾種狀態的變化來控制人物當前應該做什么。人物在狀態切換的時候,會有不同的過渡動畫。所以對于每一種狀態,都有對應此種狀態的不同動畫播放。對于投籃,不同的投籃
19、方式需要有不同的準備條件,扣籃需要在籃筐下才能進行,上籃需要距離籃筐有一定的距離。若不滿足相應的條件,則需要自動調整。為了增加游戲的趣味性和互動性,玩家可以通過按投籃鍵的時間長短來控制投籃的力度和出手速度。若按鍵時間超過一定程度,投籃會自動運行。對于投籃方式的判斷,當人物在不同的情況下按投籃鍵的時候,根據當前的運動速度、離籃筐的距離來判斷應該用什么方式投籃。投籃方式與投籃條件:1)扣籃條件:速度:跑動速度距籃筐距離:小于3扣籃彈跳高度:大于1.52)上籃條件:速度:走動速度或者跑動速度距籃筐距離:58扣籃彈跳高度:無影響3)快速投籃條件:速度:走動速度或者跑動速度距籃筐距離:無限制扣籃彈跳高度
20、:無影響4)跳投條件:速度:無影響距籃筐距離:大于5扣籃彈跳高度:無影響根據上述投籃條件的分析,用一個int值的4個字節來記錄當前狀態,4位表示一個信息。每4位的順序如表1所示。表1 int字節中每4位的順序表765432107:跑動速度狀態6:走動速度狀態5:無速度4:距離小于33:距離582:距離大于81:距離大于三分線距離0:彈跳高度是否大于1.5所以,扣籃條件:0x10010001上籃條件:0x11001001快速投籃條件:0x11011111跳投條件:0x11101111根據優先級從高到底依次為扣籃、上籃、拋投、跳投來判斷投籃方式。5 游戲實現效果整個系統根據以上的設計結構、設計方法完成。首先是屏閃界面如圖6所示,接著是菜單界面如圖7所示。在菜單界面可以選擇開始游戲、設置人物屬性、設置系統屬性和退出系統。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯網金融平臺用戶信任建立與維護機制2025年行業政策解讀與應用報告
- 2025年浙江省湖州市高三一診考試英語試卷含答案
- 陜西省興平市2025屆高考壓軸卷英語試卷含解析
- 遼寧省錦州市重點中學2025屆高考英語全真模擬密押卷含答案
- 即時配送行業2025年配送路徑優化與成本控制技術創新與應用
- 2025標準借款合同范本4
- 2025年貨車買賣合同
- 新能源汽車內飾環保材料行業產業鏈上下游協同創新模式報告
- 2025【合同終止協議書】終止合同協議書范本
- 2025土地承包合同修訂與附加協議書范本
- 山西醫藥投資價值分析報告
- 《影視藝術鑒賞》課件
- 動態血糖管理-動態血糖監測CGM
- 屋面高空作業安全施工方案
- PE管道井房首部工程施工方案(完美格式)
- 2023年陜西省中考道德與法治試卷真題及答案詳解(精校版)
- 職業衛生評價考試計算題匯總
- 三一掘進機技術維修方案-新疆永寧煤業
- 全新版大學進階英語第二冊-Unit-4-Study-Abroad
- 2023年江蘇無錫市初中學業水平考試地理試卷真題(答案詳解)
- 愚公移山英文 -中國故事英文版課件
評論
0/150
提交評論