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

正文內(nèi)容

虛擬環(huán)境人物動(dòng)作控制研究畢業(yè)設(shè)計(jì)論文(文件)

2025-07-10 07:49 上一頁面

下一頁面
 

【正文】 好。 SmartFoxServer 支持的播放器從Flash player6版到Flash player9版,同時(shí)還提供豐富的Actionscript , and API,也支持 Flex Builder 2 and 3。SmartFoxServer就像一個(gè)黑匣子,我們不必知道開發(fā)多人社區(qū)互動(dòng)的每個(gè)細(xì)節(jié),SmartFoxServer已經(jīng)為我們?cè)O(shè)計(jì)好了很多模塊,我們就不必自己去開發(fā)去完善。3D Studio Max,常簡稱為3ds Max或MAX,是Autodesk(歐特克有限公司)公司開發(fā)的基于PC系統(tǒng)的三維動(dòng)畫渲染和制作軟件。而深深扎根于玩家心中的勞拉角色形象就是3DS MAX的杰作。其中,建筑方面的應(yīng)用相對(duì)來說要局限性大一些,它只要求單幀的渲染效果和環(huán)境效果,只涉及到比較簡單的動(dòng)畫。簡單地來說,我僅僅知道怎么從里面導(dǎo)出模型、動(dòng)畫等。PHOTOSHOP的應(yīng)用領(lǐng)域就很廣泛了,例如在圖像、圖形、文字、視頻、出版等各方面都有涉及。也可進(jìn)行復(fù)制、去斑、修補(bǔ)、修飾圖像的殘損等。而在本課題中,Photoshop主要負(fù)責(zé)對(duì)物體材質(zhì)貼圖的處理,UV處理,以及用戶界面GUI的制作。需求分析旨在回答“系統(tǒng)做什么”的問題,確保將來開發(fā)出來的軟件產(chǎn)品能夠真正滿足要求。對(duì)于本次畢業(yè)設(shè)計(jì),在開發(fā)網(wǎng)上社區(qū)之前,首先便要明確所要開發(fā)的社區(qū)屬于什么類型。最后通過程序?qū)崿F(xiàn)在虛擬環(huán)境之中將人物和周圍環(huán)境相融為一體,并能根據(jù)具體的事件與碰撞,虛擬人物也能做出相應(yīng)動(dòng)作和表達(dá)。二、擬解決的主要問題人物動(dòng)作的與程序控制的一一對(duì)應(yīng)虛擬人物與場景的交互事件觸發(fā)機(jī)制服務(wù)器的搭建網(wǎng)絡(luò)同步在線聊天系統(tǒng)的實(shí)現(xiàn)天氣系統(tǒng)的實(shí)現(xiàn)三、可行性從虛擬社區(qū)本身來說,行業(yè)為擴(kuò)大公司的影響力,推出軟件產(chǎn)品,采用網(wǎng)上虛擬社區(qū)的形式在網(wǎng)絡(luò)上進(jìn)行推廣,不但可以聚集更多的人氣,而且可以讓更多的人,更多的企業(yè)客戶了解該企業(yè),從而達(dá)到推廣企業(yè)軟件的目的,最終為企業(yè)帶來更大的收益,更重要一點(diǎn)是采取這個(gè)方法的成本相對(duì)于其他的電視廣告或者人力的宣傳成本要低多。開發(fā)軟件網(wǎng)上均可找得到。由此可見Unity3D引擎的強(qiáng)大。對(duì)于它的API,我只能用方便二字來形容:對(duì)各參數(shù)及功能詳細(xì)介紹,并且時(shí)不時(shí)還有例子可供參考。在建立這個(gè)列表的時(shí)候,需要注意人物編碼與具體模型的對(duì)應(yīng),并且根據(jù)編碼,在場景正中創(chuàng)建對(duì)應(yīng)模型。后臺(tái)則主要負(fù)責(zé)記錄符合命名標(biāo)準(zhǔn)的昵稱,以備提交到服務(wù)器端。這時(shí),一個(gè)地圖導(dǎo)航就能讓用戶明白自己所處的位置,并且看到附近有哪些人。后臺(tái)則主要負(fù)責(zé)將人物的實(shí)時(shí)位置和方向,還有人物正在做什么動(dòng)作傳輸?shù)絊martFoxServer服務(wù)器端,以讓其他用戶能夠看見。所有人共用一個(gè)聊天空間。從整個(gè)工作內(nèi)容模塊的角度看,架構(gòu)如下:虛擬現(xiàn)實(shí)系統(tǒng)虛擬場景虛擬人物人物模型程序控制虛擬人物目標(biāo)格式骨骼動(dòng)畫人物貼圖虛擬場景目標(biāo)格式場景模型燈光及效果調(diào)試場景貼圖 系統(tǒng)模塊化架構(gòu)程序控制交互性控制網(wǎng)絡(luò)控制人物交互性控制場景交互性控制界面UI交互性控制網(wǎng)絡(luò)同步運(yùn)行環(huán)境服務(wù)器端的配置網(wǎng)絡(luò)交互協(xié)議主機(jī)服務(wù)的建立網(wǎng)絡(luò)服務(wù)搜尋數(shù)據(jù)包發(fā)送控制 程序模塊架構(gòu)場景交互性控制物體碰撞的檢測特殊物體的判定天氣變化的調(diào)控具有交互性的劇情或事件觸發(fā) 場景交互模塊架構(gòu)人物形象動(dòng)作與程序的對(duì)應(yīng)人物交互性控制人物事件觸發(fā)控制NPC人物行為對(duì)話控制行走、跳躍等基本操作碰撞觸發(fā)距離觸發(fā)網(wǎng)絡(luò)聊天系統(tǒng) 人物交互模塊架構(gòu)用戶第一視角操作界面事件提示對(duì)話框聊天系統(tǒng)的圖形化界面GUI交互性控制 界面GUI模塊架構(gòu)在之后幾節(jié)里,我所做的將是對(duì)其中被我實(shí)現(xiàn)的部分進(jìn)行分析,并且對(duì)相應(yīng)的代碼進(jìn)行解釋,在必要地時(shí)候也會(huì)插入圖片說明。虛擬場景地形天空水面模型特殊天氣 虛擬場景的內(nèi)容虛擬場景的實(shí)現(xiàn)主要是通過3D Studio Max進(jìn)行建模、貼圖,最后再導(dǎo)入到Unity3D引擎進(jìn)行編輯、調(diào)整。下面即是調(diào)節(jié)的過程:調(diào)節(jié)position的x,y,z即是調(diào)節(jié)太陽位置,而rotation則是調(diào)節(jié)太陽的方向,調(diào)節(jié)intensity則是調(diào)節(jié)光強(qiáng)。若要降低地形,按住shift,再點(diǎn)擊目標(biāo)位置即可。貼圖往往有草地,巖石,沙灘,黃土等等。可視距離越遠(yuǎn),則占用系統(tǒng)資源越多。在導(dǎo)入虛擬人物的時(shí)候,需要導(dǎo)入該人物的骨骼動(dòng)畫。人物模型是可見的,它就是我們??吹降母魇礁鳂拥娜宋镄螤?。如果單獨(dú)將骨骼動(dòng)畫拿出來,沒有任何模型可供它驅(qū)使,那么我們將不會(huì)看到任何現(xiàn)象。人物模型與人物骨骼動(dòng)畫的關(guān)系,差不多就是肉體與靈魂的關(guān)系。 人物骨骼動(dòng)畫說明,我們可以看到在右邊是一個(gè)設(shè)置框,里面有6個(gè)人物模型骨骼動(dòng)畫,分別是idle、walljump、run、3。 SendAnimationMessage(message)。 (_cmd, a)。對(duì)于第一個(gè)函數(shù),PlayAnimation(string message){……},我把它的功能定義為控制播放關(guān)鍵代碼。對(duì)于第二個(gè)函數(shù),SendAnimationMessage(string message){……},我將它功能定義為向服務(wù)器發(fā)送骨骼動(dòng)畫的關(guān)鍵代碼。再具體下來,我們?cè)偬接憣dle和walljump以及run的骨骼動(dòng)畫發(fā)送:if (grounded) { // grounded表明我們是在陸地上,而不是在空中 moveDirection = new Vector3((Horizontal), 0, (Vertical))。 SendMessage(PlayAnimation,idle)。 if(()) { if(tempjumpSpeedjumpSpeed) tempjumpSpeed+=*10。 (Animation).Play(walljump)。其中,(Animation).CrossFade(run)。則是閑置時(shí)的人物骨骼動(dòng)畫。以上的鍵盤控制,都在Input類中。 SendMessage(PlayAnimation, 1)。由此,播放特殊骨骼動(dòng)畫得以實(shí)現(xiàn)。安裝包的下載是免費(fèi)的,可以訪問。在開始程序 。而MaxUserIdleTime是用戶閑置時(shí)間(即發(fā)呆時(shí)間),超過這個(gè)時(shí)間,用戶將被服務(wù)器自動(dòng)掉線。詳情請(qǐng)參見官方SmartFoxServer使用手冊(cè)。若要其它機(jī)器也能登錄本虛擬社區(qū),則需要打開端口。在做這個(gè)的時(shí)候,因?yàn)榻?jīng)驗(yàn)不足,并不知道還要開放端口,以為只要IP就行了,故而搗鼓了很久。如下: 端口開放界面(引自控制面板防火墻屬性)第五節(jié) 網(wǎng)絡(luò)聊天的實(shí)現(xiàn)在服務(wù)器搭建完成之后的基礎(chǔ)上,可以使虛擬社區(qū)擁有一個(gè)網(wǎng)絡(luò)聊天的版塊。由于該按鈕的代碼較短,因此羅列在這里,以供探討。 //1 void OnGUI () { =skin。MonoBehaviour是U3D的基類,擁有很多屬性和方法。標(biāo)注了“3”的那行代碼就是按鈕打印在屏幕上的位置,我設(shè)置的是左下角??偟膩碚f,聊天數(shù)據(jù)流如下:輸入字符串轉(zhuǎn)換成16進(jìn)制服務(wù)器將新增加的字符串發(fā)送給所有人16進(jìn)制轉(zhuǎn)換回來打印至用戶聊天框上傳至服務(wù)器 聊天字符串?dāng)?shù)據(jù)流對(duì)于輸入字符串,在Unity3D之中,有一套GUI的接口,專門負(fù)責(zé)從鍵盤輸入字符串。在確定發(fā)送的瞬間,執(zhí)行StringToUnicode(message)來進(jìn)行編碼轉(zhuǎn)換,否則將無法傳輸中文。(StringToUnicode(message))。 在發(fā)送完了之后,服務(wù)器會(huì)自動(dòng)將新發(fā)出的信息公布給其他在線的用戶。然后是對(duì)其進(jìn)行編碼轉(zhuǎn)換,由16進(jìn)制轉(zhuǎn)成正常,最后將會(huì)使用SendMessage(“AddChatMessage”,message)來把新得到的數(shù)據(jù)加載到用戶的聊天框之后。對(duì)于第②點(diǎn),跟上述方法一樣,也是按一定頻率不斷向服務(wù)器發(fā)送當(dāng)前方向的信息,再由服務(wù)器將這些信息即時(shí)傳到每一個(gè)用戶手中。之后,將播放的人物角色動(dòng)畫信息按照下面代碼SmartFoxClient client = ()。(data)。實(shí)現(xiàn)原理也是通過服務(wù)器來傳輸文字內(nèi)容,不過有一個(gè)3秒鐘的時(shí)間要求,在要求范圍內(nèi),所有人都看得見泡泡;超過此范圍,任何人都將不可見了。也可以調(diào)節(jié)陽光亮度,作用于整個(gè)場景。實(shí)現(xiàn)的時(shí)候,我自定義了一個(gè)控制面板,如聊天框一樣,可以隨意彈出或者收回。 if(GUIState) //彈出來的狀態(tài) { movingNumber+=。 }(0,new Rect(*movingNumber,200,160),WeatherFunction,天氣控制)。 scrollPosition[1]=(new Rect(50,140,20),scrollPosition[1],0,1)。 scrollPosition[3]=(new Rect(50,140,20),scrollPosition[3],0,1)。在打開之后,(0,new Rect(*movingNumber,200,160),WeatherFunction,天氣控制)。由這兩項(xiàng)內(nèi)容,就實(shí)現(xiàn)了對(duì)于每一個(gè)效果的完全控制。 //霧效 } else { = false。=scrollPosition[0]*。之后,在else語句之中,判斷當(dāng)scrollPosition[0]這個(gè)數(shù)值為零的時(shí)候,霧效系統(tǒng)關(guān)閉,以節(jié)省資源。也就是說,用戶虛擬人物在環(huán)境中的坐標(biāo)相對(duì)于虛擬場景的坐標(biāo)為一個(gè)比值,將這個(gè)比值用來計(jì)算代表用戶的小箭頭相對(duì)于地圖貼圖的位置。mapTexture就是地圖的圖片。因此,要想完成一個(gè)優(yōu)秀作品,找一個(gè)好的美工來進(jìn)行配合是必不可少的。請(qǐng)先看登錄界面: 登錄界面在這個(gè)界面里,我設(shè)置了幾個(gè)選項(xiàng):① 名字輸入框② 角色選擇按鈕(分左右兩個(gè))③ 點(diǎn)擊進(jìn)入社區(qū)的按鈕④ 進(jìn)度加載條第一個(gè),名字輸入框,我們?cè)谥暗恼鹿?jié)就已經(jīng)提及了,用于讓用戶輸入自己的個(gè)性化昵稱。首先我要有一個(gè)角色的列表,清理出人數(shù)和每個(gè)模型對(duì)應(yīng)的編碼。rolenumber=ChooseRole(CurrentRole(),)。rolenumber=ChooseRole(CurrentRole(),)。第三個(gè),是點(diǎn)擊進(jìn)入社區(qū)的按鈕是登錄場景中功能最為復(fù)雜的一個(gè)。最后,在這所有的關(guān)卡都驗(yàn)證成功之后,才正式登錄到虛擬社區(qū)。)!=1) //不允許出現(xiàn)_號(hào) return。 }}需要說明的就是((LoginTheGame) as LoginTheGame).enabled= true。因?yàn)楸菊n題的虛擬社區(qū)不僅僅可以發(fā)布成PC格式,也可以發(fā)布成Web形式。二、虛擬社區(qū)界面在虛擬社區(qū)界面之中,我沒有加入多少功能,除了必要的三個(gè)功能以外,其他的都是后。其關(guān)鍵語句為:(+1)。它的作用在于啟動(dòng)后臺(tái)腳本,完成與服務(wù)器相關(guān)的操作。((LoginTheGame) as LoginTheGame).enabled= true。 if((39。其次,在用戶名符合規(guī)范之后,要把角色信息也加入數(shù)據(jù)包,到時(shí)一同發(fā)送到服務(wù)器端。=roles[rolenumber].name。=roles[rolenumber].name。每點(diǎn)一次,就自動(dòng)銷毀當(dāng)前角色,并且創(chuàng)建列表的下一個(gè)角色。這一段的意思就是時(shí)刻記錄下名字,并存入createname變量之中。一、登錄界面登錄界面的代碼分兩部分:前臺(tái)代碼、后臺(tái)代碼。這樣一來,導(dǎo)航便能在使用中起到關(guān)鍵性的作用,使用戶不至于因場景太大大復(fù)雜而迷失方向。 //打印地圖出來Vector2 personPosition=new Vector2(+* () /(),+*()/())。它能實(shí)時(shí)地反應(yīng)出用戶在整個(gè)虛擬環(huán)境中所處的位置,并且也能顯示出其他用戶在虛擬場景中的位置。因?yàn)閟crollPosition[0]是一個(gè)在01之間的浮點(diǎn)數(shù),故而才有scrollPosition[0]*。其中, = true。且看如下:if(scrollPosition[0]0) { = true。該代碼的具體實(shí)現(xiàn)細(xì)則乃是void WeatherFunction(int windowID){……}函數(shù)。 scrollPosition[4]=(new Rect(50,140,20),scrollPosition[4],0,1)。 scrollPosition[2]=(new Rect(50,140,20),scrollPosition[2],0,1)。 scrollPosition[0]=(new Rect(50,140,20),scrollPosition[0],0,1)。 } else //縮回去的狀態(tài) { movingNumber=。控制面板的實(shí)現(xiàn)代碼如下:void OnGUI() { =skin。最后,用戶還可以隨心所欲地實(shí)現(xiàn)從艷陽天到下雪或者下雨的自由轉(zhuǎn)換。該控制版塊能讓用戶隨心所欲地控制場景氣候,以體驗(yàn)不同天氣時(shí)的感受,可謂“要風(fēng)得風(fēng),要雨得雨”。 第④點(diǎn),聊天泡泡的同步,乃是當(dāng)用戶新發(fā)出一條聊天信息的時(shí)候,人物角色的頭上會(huì)出現(xiàn)一個(gè)泡泡,泡泡里面就是剛才發(fā)送的文字內(nèi)容。(_cmd, a)。而對(duì)于第③點(diǎn),我主要是運(yùn)用了(GetComponentInChildrenAnimation() as Animation).CrossFade(message)。第六節(jié) 網(wǎng)絡(luò)同步的實(shí)現(xiàn)對(duì)于一個(gè)虛擬社區(qū)而言,網(wǎng)絡(luò)同步是必須的
點(diǎn)擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1