国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

VR游戲中一種動(dòng)畫(huà)功能切換方法的設(shè)計(jì)

2021-09-27 08:57:18陜西工業(yè)職業(yè)技術(shù)學(xué)院趙革委
電子世界 2021年15期
關(guān)鍵詞:骨骼代碼動(dòng)畫(huà)

陜西工業(yè)職業(yè)技術(shù)學(xué)院 趙革委

針對(duì)如何實(shí)現(xiàn)VR游戲場(chǎng)景中角色轉(zhuǎn)態(tài)轉(zhuǎn)換過(guò)程的動(dòng)畫(huà)流暢性,本文以軟件的動(dòng)畫(huà)合成功能為基礎(chǔ),利用代碼控制取代以前動(dòng)畫(huà)狀態(tài)硬切的方式,實(shí)現(xiàn)角色由一種動(dòng)畫(huà)狀態(tài)向另一種動(dòng)畫(huà)狀態(tài)逐步轉(zhuǎn)化,大大提升動(dòng)畫(huà)狀態(tài)轉(zhuǎn)化的流暢性,極大的增強(qiáng)了VR游戲的可視性和真實(shí)性。

隨著5G的普及和推廣,極大的提升了VR游戲場(chǎng)景調(diào)度的實(shí)時(shí)性和復(fù)雜場(chǎng)景調(diào)度的可能性,VR游戲的發(fā)展進(jìn)入一個(gè)新時(shí)代。但是游戲玩家對(duì)游戲的可視性、真實(shí)性、流暢性要求也越來(lái)越高。因此,游戲開(kāi)發(fā)過(guò)程細(xì)節(jié)處理也成為游戲是否受歡迎的一個(gè)衡量標(biāo)準(zhǔn)。本文介紹一種動(dòng)畫(huà)狀態(tài)流暢轉(zhuǎn)化到另一中動(dòng)畫(huà)狀態(tài)的制作方法,增加游戲的可視性和真實(shí)性,提升玩家的視覺(jué)觀感,提高游戲的歡迎度。

1 游戲中動(dòng)畫(huà)狀態(tài)常用轉(zhuǎn)換方法

目前游戲中常采用的動(dòng)畫(huà)狀態(tài)轉(zhuǎn)換方式,基本都采用兩個(gè)動(dòng)畫(huà)狀態(tài)直接切換,即直接從上一個(gè)動(dòng)畫(huà)狀態(tài)轉(zhuǎn)換為下一個(gè)動(dòng)畫(huà)狀態(tài),中間最多增加一個(gè)過(guò)渡過(guò)程。例如從原地到奔跑,先制作一個(gè)原地站立動(dòng)畫(huà)和一個(gè)奔跑動(dòng)畫(huà),當(dāng)需要切換動(dòng)畫(huà)轉(zhuǎn)態(tài)時(shí),先調(diào)用第一個(gè)站立動(dòng)畫(huà)轉(zhuǎn)態(tài),然后再調(diào)用第二個(gè)奔跑動(dòng)畫(huà)狀態(tài),在動(dòng)畫(huà)狀態(tài)之間增加一個(gè)基本切換效果。由于人眼具有視角暫留現(xiàn)象,因此能保障兩個(gè)動(dòng)畫(huà)狀態(tài)之間的切換不會(huì)出現(xiàn)畫(huà)面閃爍現(xiàn)象,但是沒(méi)有辦法實(shí)現(xiàn)從站立到行走,再?gòu)男凶叩奖寂艿闹饾u變換的過(guò)程,因此玩家的視覺(jué)觀感稍差,動(dòng)畫(huà)轉(zhuǎn)態(tài)轉(zhuǎn)換過(guò)程示意圖如圖1所示。

圖1 常用動(dòng)畫(huà)轉(zhuǎn)態(tài)轉(zhuǎn)換示意圖

2 基于U3D的動(dòng)畫(huà)轉(zhuǎn)態(tài)轉(zhuǎn)換方法

Animator是Unity 3D提供的動(dòng)畫(huà)系統(tǒng),具有極強(qiáng)的動(dòng)畫(huà)創(chuàng)建功能?;赨3D的動(dòng)畫(huà)轉(zhuǎn)態(tài)轉(zhuǎn)換方法就是以Animator動(dòng)畫(huà)系統(tǒng)中的骨骼動(dòng)畫(huà)設(shè)置為基礎(chǔ),先在Unity中設(shè)置骨骼動(dòng)畫(huà)狀態(tài),然后根據(jù)需要調(diào)用相應(yīng)的動(dòng)畫(huà),由于人物的運(yùn)動(dòng)基本是手部帶動(dòng)胳膊運(yùn)動(dòng),因此還需設(shè)置逆向動(dòng)畫(huà),然后把各種動(dòng)畫(huà)通過(guò)代碼控制,實(shí)現(xiàn)動(dòng)畫(huà)逐次疊加,進(jìn)而提高動(dòng)畫(huà)狀態(tài)轉(zhuǎn)化的流暢性,既可以節(jié)省資源,同時(shí)也能使得狀態(tài)轉(zhuǎn)化過(guò)程具有極強(qiáng)的真實(shí)感和流暢度。下面根據(jù)制作過(guò)程,從四個(gè)部分詳細(xì)講解這種狀態(tài)轉(zhuǎn)換方法的實(shí)現(xiàn)過(guò)程。

2.1 Animator動(dòng)畫(huà)系統(tǒng)的骨骼設(shè)置

在進(jìn)行動(dòng)畫(huà)系統(tǒng)骨骼設(shè)置之前,先要了解動(dòng)畫(huà)中骨骼動(dòng)畫(huà)的分類(lèi)情況,然后才能在動(dòng)畫(huà)制作軟件Animator中進(jìn)行大類(lèi)骨骼設(shè)計(jì)制作。骨骼動(dòng)畫(huà)一般可以分為二足動(dòng)畫(huà)骨骼、四足動(dòng)畫(huà)骨骼,具有雙翼的動(dòng)畫(huà)骨骼一般也采用四足動(dòng)畫(huà)骨骼完成。游戲場(chǎng)景中的角色大部分使用二足動(dòng)畫(huà)就能夠滿足。所以下面以二足動(dòng)畫(huà)制作為例完成游戲角色動(dòng)畫(huà)制作。

打開(kāi)Animator動(dòng)畫(huà)系統(tǒng),導(dǎo)入準(zhǔn)備好的骨骼,進(jìn)行骨骼匹配設(shè)置,如圖2所示。

圖2 骨骼匹配設(shè)置

目前的二足骨骼是游戲中所有二足角色的父骨骼,將所有的二足骨骼組件按照規(guī)則命名,然后進(jìn)入編輯窗口,按照游戲需求進(jìn)行骨骼動(dòng)畫(huà)設(shè)計(jì)與制作。制作的骨骼動(dòng)畫(huà)具有通用性和公用性,能被所有的二足對(duì)象調(diào)用,也就是說(shuō)所有相同動(dòng)作動(dòng)畫(huà)一次制作完成。這樣大大節(jié)省動(dòng)畫(huà)制作的時(shí)間,降低動(dòng)畫(huà)制作的復(fù)雜度。動(dòng)畫(huà)制作窗口如圖3所示。

圖3 骨骼動(dòng)畫(huà)制作

2.2 動(dòng)畫(huà)連接

創(chuàng)建行走、跳躍、站立、死亡等各種動(dòng)畫(huà),按照邏輯關(guān)系分別連接。向里添加向前走、向后走、向前跑、向右跑等動(dòng)畫(huà),完成所有的動(dòng)畫(huà)形式設(shè)置。左邊的動(dòng)畫(huà)可以通過(guò)放入右邊動(dòng)畫(huà)后點(diǎn)擊后面的格子來(lái)映射相反的動(dòng)畫(huà),減少動(dòng)畫(huà)的制作量。紅色點(diǎn)是代表人物正在播放的動(dòng)畫(huà),藍(lán)色點(diǎn)代表我們添加進(jìn)去的動(dòng)畫(huà),如圖4所示。

圖4 動(dòng)畫(huà)連接調(diào)整

2.3 逆向動(dòng)畫(huà)設(shè)置

角色的射擊動(dòng)畫(huà)部分需要使用逆向動(dòng)畫(huà)實(shí)現(xiàn)。在人物動(dòng)畫(huà)控制器中建立頭部層、左右臂層,如圖5所示。并勾選IK選項(xiàng),實(shí)現(xiàn)由角色骨骼根部帶動(dòng)整個(gè)身體,這部分具體的實(shí)現(xiàn)將由代碼控制。至此,一個(gè)完整的角色動(dòng)畫(huà)就完成了。

圖5 層設(shè)置

2.4 流暢轉(zhuǎn)態(tài)轉(zhuǎn)換實(shí)現(xiàn)

但角色的基本動(dòng)畫(huà)設(shè)置完成后,下面就只需要撰寫(xiě)代碼,完成動(dòng)畫(huà)狀態(tài)轉(zhuǎn)換逐漸變化,使得兩個(gè)轉(zhuǎn)態(tài)逐漸融合,形成更加真實(shí)的狀態(tài)轉(zhuǎn)換動(dòng)畫(huà)效果。例如從原地到奔跑,其呈現(xiàn)出的過(guò)程應(yīng)該是從慢到快逐漸變化,不能從走直接變?yōu)榕?。代碼實(shí)現(xiàn)過(guò)程是這樣:首先調(diào)用站立的動(dòng)畫(huà)狀態(tài),然后逐漸切換為走,接著通過(guò)代碼控制走動(dòng)畫(huà)的速度,逐漸變快,之后走逐漸消失,跑動(dòng)畫(huà)狀態(tài)逐漸出現(xiàn)。過(guò)程這樣的代碼控制,就實(shí)現(xiàn)了從原地到奔跑動(dòng)畫(huà)狀態(tài)的流暢轉(zhuǎn)換過(guò)程。示意圖如圖6所示。

圖6 基于U3D的動(dòng)畫(huà)轉(zhuǎn)態(tài)轉(zhuǎn)換示意圖

3 兩種方式比較

3.1 基于U3D的動(dòng)畫(huà)轉(zhuǎn)態(tài)轉(zhuǎn)換更真實(shí)

眾所周知,人們?cè)谶@個(gè)真實(shí)生活中,當(dāng)目前處于站立轉(zhuǎn)態(tài),突然要開(kāi)始奔跑時(shí),一定會(huì)有一個(gè)由慢到快的過(guò)程。而游戲,需要實(shí)現(xiàn)有站立到奔跑,是需要使用兩個(gè)動(dòng)畫(huà)站立和奔跑切換,特別是游戲中奔跑動(dòng)畫(huà)通常是勻速的。采用以前的方法實(shí)現(xiàn)從站立開(kāi)始奔跑,玩家先看見(jiàn)角色是站立的,然后就是勻速奔跑。隨著VR游戲的發(fā)展,這一點(diǎn)已經(jīng)是許多玩家感到不真實(shí)。

基于U3D的動(dòng)畫(huà)轉(zhuǎn)態(tài)轉(zhuǎn)換,核心是用代碼控制動(dòng)畫(huà)的播放速度。當(dāng)有站立轉(zhuǎn)變?yōu)楸寂軙r(shí),奔跑動(dòng)畫(huà)的播速度可以根據(jù)起跑的時(shí)間逐步實(shí)現(xiàn)由較慢到慢,再到正常播放,所以比較接近真實(shí)效果。而且玩家可以根據(jù)需要,中間添加其它動(dòng)畫(huà)。比如說(shuō),角色需要這樣一個(gè)動(dòng)畫(huà)過(guò)程,先是站立,然后走,最后在奔跑,基于U3D的動(dòng)畫(huà)轉(zhuǎn)態(tài)轉(zhuǎn)換,依然可以通過(guò)代碼實(shí)現(xiàn),只是中間過(guò)程增加一個(gè)走動(dòng)畫(huà),其它部分代碼控制與由站立轉(zhuǎn)態(tài)到奔跑轉(zhuǎn)態(tài)沒(méi)有區(qū)別。

3.2 基于U3D的動(dòng)畫(huà)轉(zhuǎn)態(tài)轉(zhuǎn)換更節(jié)省資源

使用以前的方法實(shí)現(xiàn)從站立開(kāi)始奔跑,也可以增加真實(shí)感,但是得采用增加中間過(guò)渡動(dòng)畫(huà)的方式,這種方式特別耗費(fèi)資源的,不但制作過(guò)程麻煩,也會(huì)大大怎加游戲硬件要求,可能丟失跟更多的玩家。

基于U3D的動(dòng)畫(huà)轉(zhuǎn)態(tài)轉(zhuǎn)換方法則主要依靠代碼實(shí)現(xiàn),既不需要增加動(dòng)畫(huà)師的工作量,也不需要提升硬件要求。只是在原來(lái)的基礎(chǔ)上,在Unity多增加一些設(shè)置,而且代碼增加量也很少,但是動(dòng)畫(huà)狀態(tài)的流暢性卻大大提高了。

結(jié)束語(yǔ):2016年被稱(chēng)為虛擬技術(shù)元年,但是之后,虛擬技術(shù)由于實(shí)時(shí)性、場(chǎng)景調(diào)度以及體感差等原因幾乎處于停滯狀態(tài)。5G技術(shù)的發(fā)展為虛擬現(xiàn)實(shí)技術(shù)提供了新的發(fā)展契機(jī)和活力,但在此后的發(fā)展過(guò)程中,VR的可視性、真實(shí)性,玩家的既視感,都是VR游戲發(fā)展的核心,本文希望能夠拋磚引玉,部分解決游戲的真實(shí)性、流暢性的問(wèn)題。

猜你喜歡
骨骼代碼動(dòng)畫(huà)
做家務(wù)的女性骨骼更強(qiáng)壯
中老年保健(2021年5期)2021-12-02 15:48:21
三減三健全民行動(dòng)——健康骨骼
中老年保健(2021年5期)2021-08-24 07:06:28
做個(gè)動(dòng)畫(huà)給你看
動(dòng)畫(huà)發(fā)展史
我的動(dòng)畫(huà)夢(mèng)
文苑(2019年22期)2019-12-07 05:28:56
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
骨骼和肌肉
小布老虎(2017年1期)2017-07-18 10:57:27
阳高县| 南充市| 从化市| 福安市| 阿拉善左旗| 普洱| 石首市| 莎车县| 枣庄市| 清原| 芦溪县| 兴安县| 吐鲁番市| 都江堰市| 抚宁县| 峨山| 竹北市| 南丰县| 芒康县| 南充市| 三门峡市| 泗水县| 鄂托克前旗| 平潭县| 全南县| 和平区| 榆林市| 社旗县| 霸州市| 石泉县| 松阳县| 巴塘县| 海阳市| 马尔康县| 武川县| 隆回县| 泸水县| 巴彦淖尔市| 文水县| 正蓝旗| 甘泉县|