本發(fā)明屬于Unity3D技術(shù)領(lǐng)域,尤其是涉及一種基于Unity3D的移動端觸摸交互腳本的優(yōu)化方法。
背景技術(shù):
目前U3D中實(shí)現(xiàn)平移、縮放、旋轉(zhuǎn)觸摸操作的Touch腳本或開發(fā)包,流行是TouchScript,LeanTouch,InputTouch等,體量大太,多達(dá)10個、20幾個腳本文件,部署過程繁雜,易用性太差,發(fā)布時也給軟件下載部署造成壓力。
。摒棄現(xiàn)有實(shí)現(xiàn)類似3D Max樣式的觸摸操作的繁雜、大體量的腳本實(shí)現(xiàn),
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明旨在提出一種基于Unity3D的移動端觸摸交互腳本的優(yōu)化方法,以輕量的單個腳本實(shí)現(xiàn)平移、縮放、旋轉(zhuǎn)觸摸操作的功能。。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
基于Unity3D的移動端觸摸交互腳本的優(yōu)化方法,包括如下內(nèi)容:
通過對攝像機(jī)的三個參數(shù)的控制來形成實(shí)現(xiàn)模型的平移、旋轉(zhuǎn)、縮放功能的單個腳本文件,所述三個參數(shù)包括攝像機(jī)虛擬中心的位移參數(shù)、攝像機(jī)Orbit旋轉(zhuǎn)角度參數(shù)和攝像機(jī)與模型的距離參數(shù)。
進(jìn)一步的,所述攝像機(jī)Orbit旋轉(zhuǎn)角度參數(shù)以在球狀坐標(biāo)系中,通過水平方位角φ和垂直角θ來定位在單位球體中的位置而得到的。
相對于現(xiàn)有技術(shù),本發(fā)明具有以下優(yōu)勢:
本發(fā)明方法摒棄現(xiàn)有實(shí)現(xiàn)類似3D Max樣式的觸摸操作的繁雜、大體量的腳本實(shí)現(xiàn),以輕量的單個腳本實(shí)現(xiàn)平移、縮放、旋轉(zhuǎn)觸摸操作。
具體實(shí)施方式
需要說明的是,在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互組合。
下面結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。
一種基于Unity3D的移動端觸摸交互腳本的優(yōu)化方法,包括如下內(nèi)容:
通過對攝像機(jī)的三個參數(shù)的控制來形成實(shí)現(xiàn)模型的平移、旋轉(zhuǎn)、縮放功能的單個腳本文件,所述三個參數(shù)包括攝像機(jī)虛擬中心的位移參數(shù)、攝像機(jī)Orbit旋轉(zhuǎn)角度參數(shù)和攝像機(jī)與模型的距離參數(shù)。
所述攝像機(jī)虛擬中心的位移參數(shù)Offset:
攝像機(jī)虛擬中心以攝像機(jī)虛擬Parent,空GameObject實(shí)現(xiàn),如此攝像機(jī)平移,只需移動該parent即可,實(shí)際上,攝像機(jī)總是在圍繞該虛擬中心在做Orbit旋轉(zhuǎn)。
所述攝像機(jī)Orbit旋轉(zhuǎn)角度參數(shù):
其一,攝像機(jī)朝向:
Orbit模式,即攝像機(jī)總是面向特定對象,這個以LookAt函數(shù)實(shí)現(xiàn);
其二,不以傳統(tǒng)的笛卡爾坐標(biāo)系中xyz位置坐標(biāo)定攝像機(jī)的位置,而是以球狀坐標(biāo)系中,通過水平方位角φ和垂直角θ來定位在單位球體中的單位位置,如此參數(shù)成指數(shù)下降,也可有效利用球體坐標(biāo)系中的三角函數(shù)計算。
所述攝像機(jī)與模型的距離參數(shù):
上面2個參數(shù)已經(jīng)定了攝像機(jī)在球坐標(biāo)系中的方位,那么只差距離一個參數(shù),即可確定了攝像機(jī)的具體位置??s放,在3D引擎中,3D攝像機(jī)距離物體,距離近,則在視覺上則大,距離遠(yuǎn),則視覺上就小,大多所謂縮放就是通過調(diào)節(jié)攝像機(jī)相對物體的空間距離實(shí)現(xiàn)的。所以我們控制縮放,即增加一個距離參數(shù)即可。
本發(fā)明是腳本的輕量化實(shí)現(xiàn),將通過很多個腳本來實(shí)現(xiàn)的功能用一個單一的腳本來實(shí)現(xiàn)。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。