蘭州工商學(xué)院 陳克
隨著信息科技技術(shù)時代的到來,數(shù)學(xué)媒體技術(shù)也隨之出現(xiàn)在人們的視野中,隨著社會各大行業(yè)對于數(shù)學(xué)媒體技術(shù)的需求,數(shù)字媒體技術(shù)得到了廣泛的運用,并且有了一定的運用效果。近些年來,隨著我國對動漫產(chǎn)業(yè)發(fā)展的大力支持,動漫產(chǎn)業(yè)發(fā)生了很大的改變,傳統(tǒng)的技術(shù)已經(jīng)不能夠進一步推動動漫產(chǎn)業(yè)的發(fā)展,而且也跟不上時代發(fā)展的需求了,基于此,動漫設(shè)計技術(shù)必須及時進行創(chuàng)新,將數(shù)字媒體技術(shù)有效的運用到其中就是很好的創(chuàng)新方式,通過運用數(shù)字媒體技術(shù)來進一步推動動漫產(chǎn)業(yè)的發(fā)展。
近年來,我國的綜合國力一直處于持續(xù)增長的狀態(tài),科技信息技術(shù)也不斷加強,數(shù)字媒體技術(shù)也得到了更廣泛的運用,當(dāng)前數(shù)字媒體技術(shù)已經(jīng)有效的運用到動漫制作的各個環(huán)節(jié)中,包括人物設(shè)計、場景虛構(gòu)等方面。可以說,數(shù)字媒體技術(shù)對于推動動漫設(shè)計具有創(chuàng)新性的意義。本文將對動漫設(shè)計中數(shù)字媒體技術(shù)的運用進行分析和案列的技術(shù)探討。
我們常說的動漫設(shè)計,就是將如今社會的時代藝術(shù)理念和具體的藝術(shù)實踐相結(jié)合,形成一門專業(yè)性知識的學(xué)科,并通過讓學(xué)生們學(xué)習(xí)這些藝術(shù)知識加強自己的審美能力,以及不斷的創(chuàng)新自己的思維,通過自己對于事物的理解與鑒賞進行創(chuàng)作,通過使用專業(yè)的制作軟件工具對自己所理解的藝術(shù)品進行進一步的設(shè)計與制作,最終將其設(shè)計為動漫作品。
我們所說的數(shù)字媒體技術(shù),就是將信息科學(xué)與數(shù)字技術(shù)擺在首要位置,結(jié)合當(dāng)今的大眾傳播理念,在現(xiàn)代藝術(shù)的有效引導(dǎo)下,將信息傳播技術(shù)廣泛的運用到我國的各種行業(yè)中的一門綜合性的技術(shù)。數(shù)字媒體技術(shù)在各個方面都得到了廣泛的運用,數(shù)字媒體慢慢的變成了一種像語言、文字一樣的信息載體。
腳本語言是為了縮短傳統(tǒng)的編寫-編譯-鏈接-運行過程而創(chuàng)建的計算機編程語言。雖然許多腳本語言都超越了計算機簡單任務(wù)自動化的領(lǐng)域,成熟到可以編寫精巧的程序,但仍然還是被稱為腳本。虛擬現(xiàn)實技術(shù)(簡稱VR),又稱虛擬環(huán)境、靈境或人工環(huán)境,是指利用計算機生成一種可對參與者直接施加視覺、聽覺和觸覺感受,并允許其交互地觀察和操作的虛擬世界的技術(shù)。
運用虛擬現(xiàn)實技術(shù)(VR)、增強現(xiàn)實技術(shù)(AR)、綜合現(xiàn)實技術(shù)(MR),將虛擬三維動畫展現(xiàn)出來,給予作品新的生命,將會給人不一樣體驗。通過數(shù)字媒體技術(shù),制作者將全方位的還原一個虛擬動畫的環(huán)境或?qū)⑻摂M與現(xiàn)實完美的結(jié)合,體驗者可身臨其境的感受并走進這個世界,從而能多角度、多層次的體驗和欣賞作品,這種感覺給人一種直觀和具有創(chuàng)新的體驗和新鮮感。
案例:動漫作品中捕魚場景的交互設(shè)計:
本例講解三個重要技術(shù):(1)將各種魚做成Prefab(游戲預(yù)制體),用Instantiate()將其加載入場最,用Destroy()從場景中銷毀;(2)魚出現(xiàn)在屏幕中的隨機位置,這里用到Random.Range()去生成隨機數(shù),搭號中填寫隨機數(shù)的大小范圍,我們用這種方法生成魚的X.Y 位置值(不超過屏幕邊緣);(3)應(yīng)用InvokeRepeating 函數(shù)來實現(xiàn)計時功能。
(1)新建項目,導(dǎo)入素材。
步驟1 新建一個Unity 項目(3D 模式),命名為“Catch Fish”。進入之后,按“Crl+S”快捷鍵將默認場景另存為Game。
步驟2 將3 個金槍魚素材,拷貝到項目Assets 文件夾下。
(2)創(chuàng)建一個Plane 并賦予材質(zhì)。
步驟1 選擇萊單中的“GameObject—3D Object 一Plane”命令,創(chuàng)建出一個Plane(背景板)。
步驟2 使用旋轉(zhuǎn)工具將Plane 豎立起來,或者是在Inspector 窗口中設(shè)置Plane 的Rotation X 為-90,立在攝像機前方。
步驟3 使用縮放工具將Plane 拉長并擴大,直到在Game 窗口中預(yù)覽時充滿整個屏幕。
步驟4 雙擊進入已有的文件夾Materials,在空白處單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“Create-Material'”命令,創(chuàng)建出一個材質(zhì),命名為Hai,然后將Hai 拖給場景中的Plane。
步驟5 在Assets 窗口中回到頂層級Assets 在Scene 窗口中單擊選中Plane,在右側(cè)Inspector 窗口中展開它的材質(zhì)組件,然后從Assets 窗口中將資源Ocean(大海)拖到材質(zhì)組件下的Albedo 欄上釋放完成A1bedo 貼圖的指定。
(3)創(chuàng)建并填充游戲預(yù)制體。
我們在場景中加入金槍魚的做法不同于以往從Assets 窗口中直接將資源拖到Scene 窗口、手工放置的方式。而是采用游戲制作中的主流方法一把資源轉(zhuǎn)成Prefab(預(yù)制體)后放在Assets 窗口中的Resources 文件夾下,然后用代碼動態(tài)地加載到場景。
步驟1 在Assets 窗口空白處單擊鼠標(biāo)右健,在彈出的萊單中選擇“Create 一Prefab”命令,創(chuàng)建游戲預(yù)制體,命名為myFi。將原始素材“金槍魚.FBX”拖到myFi 上釋放,這樣就用金形魚的內(nèi)容填充了游戲預(yù)制體myFi。
步驟2 在Assets 窗口空白處單擊鼠標(biāo)右鍵,在彈出的萊單中選擇“Create-一Folder”命令,創(chuàng)建文件夾并命名為Resources(代碼動態(tài)加載Assets 資源,一般是放在Resources 文件夾中),從旁邊將游戲預(yù)制體myFi拖到Resources 文件夾中。
(4)調(diào)整攝像機。
步驟1 本例制作的是2D 游戲。選中Main Camera主攝像機,在Inspector 窗口中將它Projection(發(fā)射方式)設(shè)置為Orthographic(無透視)。
步驟2 因為無透視,所以可以用移動工具中把主攝像機稍微拉遠,使其遠離Plane,保證主攝像機和Plane之間有足夠大的空間。
(5)嘗試擺放魚的位置,記錄位置。
本例將以代碼方式加載金槍魚。在這之前,我們先手動向場景中添加了金槍魚,目的是觀測魚在畫面中合適的位置、大小。然后記錄下這些數(shù)據(jù),以便在代碼中使用,觀測完之后刪掉場景中的魚。
步驟1 從Assets 窗口中的Resources 文件夾中,將myFi 拖入Scene 窗口中,使用移動工具擺放它到主攝像機和Plane 之間??梢钥吹剑~的體型明顯有些偏大。
步驟2 選中魚,在Inspector 窗口中調(diào)整它的Sca1e為“X=0.2,Y=0.2,Z=0.2”。魚的尺寸變得比較合適了,記錄此時的縮放值為0.2。
步驟3 在Scene 窗口中,使用移動工具調(diào)整魚的位置,先把它放到主攝像機拍攝畫面的左上角。
步驟4 保持魚為選中狀態(tài),在Inspector 窗口中讀取一下條魚的位置。以我們本次制作的場景為例,魚在左上角時它的Position 是X=-9.6,Y=5.07m,Z=11.1。記錄下這個魚在左上角極限位置時的坐標(biāo)值,然后再依次調(diào)整魚到右上角、左上角和右下角的極限位置,讀取坐標(biāo)值。我們得到了魚在屏幕中4 個角的位置,也就得到了它在場景中的X 和Y 的極限值,在生成隨機數(shù)時需要用到它們。
步驟5 選中場景中的那條魚(myFi),按下Delete 鍵刪除它。
(1)創(chuàng)建捕魚游戲的主腳本,我們把它掛在主攝像機上。
步驟1 在Assets 窗口中單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“Create-C#Script”命令,創(chuàng)建新腳本,命名為GameControl。
步驟2 選中場景中的Main Camera 主攝像機,然后從Assets 窗口中將GameControl 拖到Inspector 窗口的底部釋放。
(2)編寫代碼。
在Assets 窗口中雙擊GameControl 打開MonoDevelop編輯器,編寫代碼,核心代碼如下:
public class GameControl:MonoBehaviour{
float xx: //創(chuàng)建浮點型數(shù)據(jù)變量xx,魚的位置坐標(biāo)的X 軸數(shù)值
float yy: //創(chuàng)建浮點型數(shù)據(jù)變童yy,魚的位置坐標(biāo)的Y 軸數(shù)值
f1oat zz=53: //創(chuàng)建浮點型數(shù)據(jù)變量zz,魚的位置坐標(biāo)的Z 軸數(shù)值,這里為固定值
Gameobject myFish;
Quaternion xuanzhuan=new Quaternion(-150,120,-40,80):
//創(chuàng)建四元數(shù)對象,指定魚的旋轉(zhuǎn)角度,四個旋轉(zhuǎn)角度值可在后期反復(fù)嘗試修改
void Start (){
InvokeRepeating ("EmergeFish",2f,2f);
//倒計時2 秒后執(zhí)行EmergeFish 函數(shù)創(chuàng)建魚,每2 秒鐘創(chuàng)建一次
InvokeRepeating ("DestroyFish",3f,2f);
//倒計時3 秒后執(zhí)行DestroyFish 函數(shù),即銷毀魚,每2 秒銷毀一次}
void Update (){
void EmergeFish(){ //創(chuàng)建魚的函數(shù)
xx=Random.Range(-9.6f,9.5f); //xx 賦值為-9.6 ~9.5 之間的隨機數(shù)
yy=Random,Range(-2,9f,5); /yy 賦值為-2.9 ~5 之間的隨機數(shù)
myFish=(GameObject)Resources.Load("myFi",typ eof(GameObject));
/游戲物體myFish 加栽Resources 中的游戲預(yù)制體
Gameobject yu=GameObject.Instantiate(myFish,new Vector3(xx,yy,zz),xuanzhuan)as GameObject; //Instantiate()方法為實例化,就是把物體從Assets 中添加進場景,該方法括號中應(yīng)填入3 個值:加載資源名、位置的三維向量、旋轉(zhuǎn)角度的四元數(shù)
yu.transform.localScale=new Vector3(0.2f,0.2f,0.2f);
//創(chuàng)建出來之后,再調(diào)整尺寸,將X、Y、Z 軸的值都修改為0.2
yu.name="fish"; //給添加進場景之后的實際游戲物體命名}
void DestroyFish(){ //銷毀魚的函數(shù)
GameObject destroyTarget-GameObject.Find("fish");//找到場景中已添加的游戲物體 fish
GameObject.Destroy(destroyTarget,0); //立即銷毀魚,延遲時間為0 }}}
(3)代碼分析。
在Start 函數(shù)中,我們使用計時法InvokeRepeating去調(diào)用創(chuàng)建魚的函數(shù)EmergeFish。在創(chuàng)建魚的函數(shù)中,主要是以Instantiate 方法從Assets 加載資源并創(chuàng)建到場景中,創(chuàng)建出來的魚的位置是Random.Range 隨機生成的,旋轉(zhuǎn)角度是一個四元數(shù),當(dāng)中四個數(shù)據(jù)可以自己測試,大小是之前測試時記錄下來的0.2。
另一個計時方法InvokeRepeating 調(diào)用銷毀魚的函數(shù),銷毀魚比創(chuàng)建魚的初始執(zhí)行慢了1s,即允許魚出現(xiàn)在場景中1s,然后銷毀。間隔2s,又開始創(chuàng)建魚。這樣,魚每隔2s 出現(xiàn)在隨機位置1s,我們就可以捕魚了。
(4)測試捕魚效果。
按下播放按鈕,進行測試,觀看魚的隨機出現(xiàn)效果。
由上面的案例可以看出,在動漫設(shè)計中為了提高受眾的參與度和交互性,使用到了大量的腳本語言,現(xiàn)在應(yīng)用比較廣泛的腳本語言有很多,各種腳本都有自己的特點和優(yōu)勢,只是應(yīng)用的領(lǐng)域和場景不同,正確的技術(shù)就是用在了合適的任務(wù)點上。C#語言在動畫、數(shù)字媒體領(lǐng)域,包括圖形圖像處理、游戲開發(fā)等領(lǐng)域,都有廣泛的應(yīng)用,成為了動漫設(shè)計專業(yè)學(xué)生學(xué)習(xí)、教師教學(xué)的很好選擇。
綜上所述,隨著我國信息科技的不斷發(fā)展,媒體的傳播方式也發(fā)生了很多的變化,數(shù)字媒體技術(shù)被廣泛的應(yīng)用與各個行業(yè)中,在這些背景的襯托下,動漫產(chǎn)業(yè)要想得到進一步的發(fā)展,就應(yīng)該積極的運用數(shù)字媒體技術(shù),結(jié)合人們的當(dāng)今社會的需求,創(chuàng)作出更多高質(zhì)量的動漫作品。對于動漫設(shè)計來說,數(shù)字媒體技術(shù),腳本語言的助力,虛擬現(xiàn)實技術(shù)的介入是一個很好的機遇,動漫企業(yè)應(yīng)該牢牢的把握好這次機遇,將動漫設(shè)計產(chǎn)業(yè)與現(xiàn)代科技技術(shù)緊密的結(jié)合,通過不斷的創(chuàng)新來提升動漫產(chǎn)業(yè)在社會中的地位,以此來實現(xiàn)動漫產(chǎn)業(yè)的經(jīng)濟價值。