999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Unity可視化編程在三維交互動(dòng)畫中的應(yīng)用

2025-02-26 00:00:00胡凱夫高國(guó)強(qiáng)
現(xiàn)代信息科技 2025年1期

摘" 要:隨著時(shí)代的發(fā)展,科技與藝術(shù)的融合逐漸成為藝術(shù)設(shè)計(jì)領(lǐng)域的新浪潮。藝術(shù)創(chuàng)作不再局限于傳統(tǒng)媒介。在創(chuàng)作中,藝術(shù)創(chuàng)作者為了實(shí)現(xiàn)一個(gè)創(chuàng)意原型,不僅僅需要設(shè)計(jì)靈感和藝術(shù)鑒賞的能力,而且還要具備專業(yè)媒體軟件的操作能力,往往會(huì)涉及計(jì)算機(jī)編程知識(shí)??梢暬幊痰某霈F(xiàn)突破了藝術(shù)創(chuàng)作者難以著手計(jì)算機(jī)編程的壁壘,以Unity中的可視化編程為切入點(diǎn),文章簡(jiǎn)要分析交互動(dòng)畫的制作邏輯及流程圖,為高校藝術(shù)學(xué)生在制作交互動(dòng)畫提供一定的參考。

關(guān)鍵詞:Unity;可視化編程;交互動(dòng)畫

中圖分類號(hào):TP311" 文獻(xiàn)標(biāo)識(shí)碼:A" 文章編號(hào):2096-4706(2025)01-0110-06

Application of Unity Visual Programming in 3D Interactive Animation

Abstract: With the development of the times, the integration of science and technology and art has gradually become a new wave in the art design field. Artistic creation is not limited to traditional media. In the creation, in order to achieve a creative prototype, art creators need not only the design inspiration and artistic appreciation ability, but also the ability to operate professional media software, often involving computer programming knowledge. The emergence of visual programming breaks through the barrier that it is difficult for art creators to start computer programming. Taking visual programming in Unity as the starting point, this paper briefly analyzes the production logics and flow charts of interactive animation, providing a certain reference for college art students in making interactive animation.

Keywords: Unity; visual programming; interactive animation

0" 引" 言

可視化編程是一種全新的程序設(shè)計(jì)方法,它以圖形界面的方式進(jìn)行程序設(shè)計(jì),而不是通過輸入程序代碼的方式進(jìn)行程序開發(fā),這大大降低了程序開發(fā)的難度[1]??梢暬幊陶Z言或軟件很多,本文介紹Unity中的Visual Scripting可視化編程,它與Unreal engine、GameMaker Studio 2及PRG Maker等游戲引擎相似,無須編寫代碼或腳本就可以制作游戲邏輯。Visual Scripting以圖形節(jié)點(diǎn)的方式形象地展示出它的功能,簡(jiǎn)化了編寫計(jì)算機(jī)代碼的過程。程序設(shè)計(jì)人員利用軟件本身所提供的各種控件,像搭積木式地構(gòu)造應(yīng)用程序的各種界面[2]。Unity3D是由Unity科技公司開發(fā)的跨平臺(tái)專業(yè)游戲引擎。其應(yīng)用極為廣泛,在動(dòng)畫、影視、游戲、科技、醫(yī)療、軍事、工業(yè)等各個(gè)領(lǐng)域都能發(fā)現(xiàn)其蹤跡。其開發(fā)的產(chǎn)品經(jīng)過簡(jiǎn)單配置可以發(fā)布到多平臺(tái)運(yùn)行,比如:windows、Android、IOS、MAC、Web等平臺(tái)[3]。用戶通過它可以輕松實(shí)現(xiàn)各種游戲創(chuàng)意和三維互動(dòng)等項(xiàng)目的開發(fā)。相比于專業(yè)化的可視化編程軟件,Unity支持的可視化編程完全不需要編寫代碼,更適合沒有編程知識(shí)的用戶,比如藝術(shù)工作者或藝術(shù)專業(yè)學(xué)生[4]。

為了在三維動(dòng)畫中實(shí)現(xiàn)交互功能,Unity使用微軟的C#作為其編程語言。C#是一種面向?qū)ο蟮木幊陶Z言,雖然它和VB類似,也具有一定可視化編程功能,但只適用于開發(fā)基于Windows界面應(yīng)用程序的情況[5]。作為一種內(nèi)嵌于Unity的程序語言,使用C#開發(fā)動(dòng)畫的交互功能時(shí),只能以程序代碼的方式使用。Visual Scripting基于C#和用戶之間,它能把用戶的設(shè)計(jì)轉(zhuǎn)換成C#代碼,然后交給Unity運(yùn)行。Unity可視化編程設(shè)計(jì)的功能十分強(qiáng)大,只要會(huì)畫流程圖,就能編寫游戲或開發(fā)三維交互動(dòng)畫。

為了使用Visual Scripting進(jìn)行可視化編程,首先要添加腳本機(jī)器組件,然后在該組件下添加腳本圖(簡(jiǎn)稱圖),也就是可視化編程的程序文件,最后在圖中設(shè)計(jì)交互邏輯。比如,為了控制一個(gè)三維物體移動(dòng),要給該物體添加腳本機(jī)器組件,并給該組件添加圖,然后在圖中設(shè)計(jì)一定的操作來實(shí)現(xiàn)該物體的移動(dòng)。組件是對(duì)數(shù)據(jù)和方法的封裝,簡(jiǎn)單來說就是用來完成一定的功能。在Unity,一個(gè)三維物體,比如一個(gè)球體,它的組件就是它所具有的功能或?qū)傩裕热缢腜osition(位置)組件,就是用來定義這個(gè)球體的大小、旋轉(zhuǎn)角度和坐標(biāo)屬性的。在圖1中通過添加節(jié)點(diǎn)以及連接它們來實(shí)現(xiàn)一定的操作,新建一個(gè)圖后,會(huì)自動(dòng)產(chǎn)生兩個(gè)節(jié)點(diǎn),如圖1(a)所示,其中,Start節(jié)點(diǎn)只在動(dòng)畫開始的第1幀執(zhí)行,Update節(jié)點(diǎn)在動(dòng)畫的每幀都會(huì)被執(zhí)行。在圖中可以添加其他節(jié)點(diǎn),圖1(b)顯示了一個(gè)示例,節(jié)點(diǎn)GetKey是添加的節(jié)點(diǎn)。節(jié)點(diǎn)完成相應(yīng)的功能,一般包括輸入、處理和輸出三個(gè)部分。如圖1(b)中的節(jié)點(diǎn)GetKey,它的輸入是左邊的箭頭和圓點(diǎn),箭頭表示連接或流程,用來連接它的上一個(gè)節(jié)點(diǎn)或下一個(gè)節(jié)點(diǎn);圓點(diǎn)表示接口或數(shù)據(jù),用來輸入數(shù)據(jù)或輸出數(shù)據(jù)。節(jié)點(diǎn)右側(cè)的箭頭和圓點(diǎn)表示它的輸出。節(jié)點(diǎn)的處理就是節(jié)點(diǎn)要完成的功能,比如GetKey節(jié)點(diǎn),它的功能是判斷用戶是否按了鍵盤空格鍵;如果按了則輸出邏輯值True(真)數(shù)據(jù),否則輸出邏輯值False(假)數(shù)據(jù)。節(jié)點(diǎn)之間通過連接線實(shí)現(xiàn)連接,如圖1(b)節(jié)點(diǎn)Update和GetKey之間的連接線。連接表明節(jié)點(diǎn)之間的執(zhí)行循序,圖1(b)中,Update節(jié)點(diǎn)之后會(huì)執(zhí)行GetKey節(jié)點(diǎn),由于Update每一幀都會(huì)執(zhí)行,那就意味著動(dòng)畫的每幀都會(huì)判斷用戶是否按了A鍵。

1" 相關(guān)知識(shí)

可視化編程可以理解為一個(gè)中間層,基于C#和用戶之間,它可以把用戶設(shè)計(jì)的圖(包含節(jié)點(diǎn)的圖)轉(zhuǎn)換為C#代碼,再由Unity解釋運(yùn)行[4]。為實(shí)現(xiàn)不同的交互效果,Unity的可視化編程包含大量的節(jié)點(diǎn)。節(jié)點(diǎn)大致可以分為兩類,一類是基本程序節(jié)點(diǎn),另一類是Unity庫(kù)節(jié)點(diǎn)?;境绦蚬?jié)點(diǎn)實(shí)現(xiàn)程序的基本工作,是通用的,和具體軟件沒有關(guān)系,比如變量的定義和賦值、算術(shù)運(yùn)算、比較運(yùn)行、邏輯運(yùn)算、順序語句、分支語句和循環(huán)語句等[6]。圖2給出了一些基本程序節(jié)點(diǎn),其中圖2(a)是比較運(yùn)算的“等于”運(yùn)算節(jié)點(diǎn),當(dāng)它的兩個(gè)輸入數(shù)據(jù)相等時(shí)輸出邏輯值True,否則輸出False;圖2(b)是邏輯運(yùn)算的Or(或)運(yùn)算,當(dāng)它的兩個(gè)輸入數(shù)都為邏輯值False時(shí)輸出邏輯值False,否則輸出True;圖2(c)是分支語句節(jié)點(diǎn),它的輸入數(shù)據(jù)是True時(shí),輸出上面一條路線;輸入數(shù)據(jù)為False時(shí),輸出下面一條路線。

圖3為基本程序節(jié)點(diǎn)示例圖,圖3(a)是相加節(jié)點(diǎn),兩個(gè)數(shù)據(jù)相加輸出;圖3(b)是比較節(jié)點(diǎn),比較A與B的大小,如果A>B,則輸出邏輯值為True(真),若A<B,則輸出邏輯值為False(假);圖3(c)是比較節(jié)點(diǎn)中的小于節(jié)點(diǎn),A<B,則輸出邏輯值為True(真),若A>B,則輸出邏輯值為False(假)。

在Unity中有幾種不同數(shù)據(jù)類型,在可視化編程中叫數(shù)據(jù)類節(jié)點(diǎn),如圖4所示,常見的有Float 節(jié)點(diǎn),此節(jié)點(diǎn)可以保存小數(shù);Integer節(jié)點(diǎn),以1為單位保存整數(shù);String節(jié)點(diǎn)可以保存字符串。

在Unity開發(fā)中想要完成有趣的交互,定義變量是必不可少的。變量是存放數(shù)據(jù)的容器,每個(gè)變量都有名稱、類型和值。變量?jī)?nèi)部的值在運(yùn)行時(shí)可以更改,這就是它們被稱為變量的原因[7]。前面講的integer或float節(jié)點(diǎn)保存的都不是變量,是常量,就是不能變化的量。如何定義變量,選中使用腳本機(jī)器組件的物體,在右側(cè)的檢視視圖找到Variablies(變量組件),在其下面輸入要定義變量的名字即可創(chuàng)建變量,圖5為定義變量示例圖。

圖6為設(shè)置變量示例圖,在此設(shè)置變量的類型type,自定義變量的初始值Value,可以同時(shí)定義多個(gè)變量。

圖7為獲取設(shè)置變量節(jié)點(diǎn)示例圖,關(guān)于變量的使用是獲取變量和設(shè)置變量?jī)蓚€(gè)節(jié)點(diǎn),在Script Graph中右鍵輸出get object,圖7(a)中便是獲取變量的節(jié)點(diǎn),在有多個(gè)變量的情況下要,選擇目標(biāo)變量,比如圖7(a)中“m”自定義變量的名稱,“This”表示當(dāng)前物體,輸出就是變量保存的值;圖7(b)set object是設(shè)置變量的節(jié)點(diǎn),“m”是變量的名稱,“This”是當(dāng)前物體。最下面的圓點(diǎn)是數(shù)值節(jié)點(diǎn)的接口,意為變量賦予新的數(shù)值。圖7(c)中用100重新為變量賦值。

Unity庫(kù)節(jié)點(diǎn)用來訪問Unity系統(tǒng)提供的功能,比如獲取3D動(dòng)畫模型在坐標(biāo)系中的位置、移動(dòng)3D物體等。圖8為一些Unity庫(kù)節(jié)點(diǎn),其中圖8(a)是獲取位置節(jié)點(diǎn),通過輸入?yún)?shù)獲取對(duì)應(yīng)物體位置,如果沒有參數(shù)則是當(dāng)前物體(Self,使用圖的物體)的位置,輸出是一個(gè)三維向量的坐標(biāo)。圖8(b)是播放音頻節(jié)點(diǎn),它可以播放輸入音頻或當(dāng)前物體綁定的音頻。圖8(c)是播放視頻節(jié)點(diǎn),它可以播放輸入視頻或當(dāng)前物體綁定的視頻。Unity有很多庫(kù)節(jié)點(diǎn),通過使用這些庫(kù)節(jié)點(diǎn),可以大大提高開發(fā)效率。

可視化編程的優(yōu)點(diǎn)是更容易被理解,每個(gè)節(jié)點(diǎn)完成一定的功能,節(jié)點(diǎn)之間通過連接來實(shí)現(xiàn)各種各樣的操作。相對(duì)程序語言代碼,這樣的設(shè)計(jì)思路表達(dá)邏輯更容易被沒有程序開發(fā)經(jīng)驗(yàn)的用戶所接受[4]。圖9為播放音頻的圖和實(shí)現(xiàn)同樣功能的C#代碼對(duì)比圖。圖9的左邊是可視化編程圖,根據(jù)節(jié)點(diǎn)以及節(jié)點(diǎn)之間的連接,很容易理解,即便是沒有程序開發(fā)基礎(chǔ)的用戶。圖9的右邊是實(shí)現(xiàn)相同功能的C#代碼截圖,它是一個(gè)完整的面向?qū)ο蟪绦蛟O(shè)計(jì)的類,有引用類庫(kù)、定義類、定義屬性、定義方法以及實(shí)現(xiàn)功能的語句。如果不具備程序開發(fā)基礎(chǔ),理解這些代碼會(huì)比較困難。

2" 實(shí)例分析

本章主要從常用的三維交互動(dòng)畫效果來展開分析,闡述如何使用可視化編程來實(shí)現(xiàn)這些交互效果。

2.1" 巡游交互

巡游是三維交互動(dòng)畫的基本交互效果,通過控制主攝像機(jī)的移動(dòng),呈現(xiàn)三維動(dòng)畫模型的細(xì)節(jié)。在Unity中實(shí)現(xiàn)巡游,通常的做法是把主攝像機(jī)作為巡游物體的子物體,移動(dòng)巡游物體,主攝像機(jī)會(huì)隨之同步移動(dòng)[8]。巡游物體可以理解為三維動(dòng)畫模型的觀察及交互者,通常被制作成三維人物模型。因此,要實(shí)現(xiàn)巡游交互,就是控制巡游物體的移動(dòng),以及視角切換。所謂視角切換,是調(diào)整主攝像機(jī)相對(duì)于巡游物體的相對(duì)位置,從而得到不同的視角,比如前視,后視及側(cè)視等。圖10為巡游物體前后移動(dòng)的可視化編程圖,其中GetAxis節(jié)點(diǎn)的參數(shù)是Vertical,表示獲取鍵盤上下箭頭及W和S鍵,如果用戶按上箭頭或W鍵,則輸出大于0的值;如果用戶按下箭頭或S鍵,則輸出小于0的值;如果用戶沒有按這些鍵,則輸出等于0的值。當(dāng)用戶按上箭頭或W鍵時(shí),由圖10上面的Branch節(jié)點(diǎn)處理,會(huì)執(zhí)行右上的SimpleMove節(jié)點(diǎn)。SimpleMove節(jié)點(diǎn)的功能是移動(dòng)當(dāng)前物體,其speed輸入?yún)?shù)為帶方向的速度值[5]。forward(get)節(jié)點(diǎn)是獲取當(dāng)前物體的前方,它的下一個(gè)節(jié)點(diǎn)有兩個(gè),一個(gè)是每個(gè)方向都乘上2,表示沿當(dāng)前物體的前方兩倍速度;另一個(gè)是每個(gè)方向都乘上-2,乘上負(fù)值表示取forward的反方向,表示沿當(dāng)前物體的后方兩倍速度。為了實(shí)現(xiàn)巡游物體的左右旋轉(zhuǎn)以及攝像機(jī)的視角切換,還應(yīng)添加更多的節(jié)點(diǎn),限于篇幅,本文沒有給出對(duì)應(yīng)的圖及說明。

2.2" 幀動(dòng)畫的使用

計(jì)算機(jī)幀動(dòng)畫是指只用制作動(dòng)畫的關(guān)鍵幀,中間幀由計(jì)算機(jī)自動(dòng)生成。Unity專注于交互效果,其制作幀動(dòng)畫的效率比專業(yè)的三維動(dòng)畫建模軟件差,比如3DMax。為了快速生成幀動(dòng)畫,比如一個(gè)三維人物模型的行走動(dòng)畫,往往采用像3DMax這樣的專業(yè)建模軟件,然后再導(dǎo)入到Unity中實(shí)現(xiàn)交互效果。導(dǎo)入到Unity中的幀動(dòng)畫可以自動(dòng)播放,也可以通過代碼控制其在適當(dāng)?shù)臅r(shí)候播放它。本節(jié)討論巡游物體動(dòng)畫的播放,假設(shè)巡游物體是一個(gè)3D人物模型,且為其創(chuàng)建了行走時(shí)的幀動(dòng)畫。那么,本節(jié)要討論的就是巡游物體移動(dòng)時(shí)播放動(dòng)畫,巡游物體靜止時(shí)不播放動(dòng)畫,以模擬一種真實(shí)的3D人物模型行走效果。圖11顯示的是播放和停止幀動(dòng)畫的圖。為了控制幀動(dòng)畫的播放,定義一個(gè)變量,如圖6所示,名為m,初值為0,表示巡游物體靜止;如果其值為1,表示巡游物體在移動(dòng)。Get Variable節(jié)點(diǎn)是獲取變量的值,圖11中,如果m的值為1則播放動(dòng)畫,否則停止動(dòng)畫。節(jié)點(diǎn)Play和Stop分別表示播放和停止當(dāng)前物體所綁定的幀動(dòng)畫。圖11的第二個(gè)分支用以處理變量m的值。當(dāng)GetAxis節(jié)點(diǎn)的輸出為0時(shí),也就是用戶沒有按上下箭頭及W和S鍵(即巡游物體靜止),設(shè)置變量moveflage的值為0,否則設(shè)置它的值為1。Set Variable節(jié)點(diǎn)是設(shè)置一個(gè)變量的值。

2.3" 多媒體的使用

多媒體元素主要包括圖片、聲音和視頻。對(duì)于圖片,在三維動(dòng)畫中,可以通過貼圖的方式使用,而聲音和視頻這兩種多媒體元素可以使用最為簡(jiǎn)單的自動(dòng)播放。為了在適當(dāng)?shù)臅r(shí)候播放或停止聲音和視頻,則需要使用代碼進(jìn)行控制。如果要使用聲音,需要?jiǎng)?chuàng)建一個(gè)AudioSource(音源)物體,然后把導(dǎo)入的聲音文件作為該物體音源組件AudioClip(音頻片段)屬性的取值[9]。圖12為播放聲音的圖,其中的右上節(jié)點(diǎn)OnMouseDown是一個(gè)鼠標(biāo)點(diǎn)擊事件節(jié)點(diǎn),當(dāng)點(diǎn)擊當(dāng)前物體(比如按鈕)后,會(huì)產(chǎn)生一個(gè)執(zhí)行的流程。GetComponent節(jié)點(diǎn)是獲取組件節(jié)點(diǎn),它負(fù)責(zé)獲取音源組件,圖12中,它獲取的是名字為music的音源物體的音源組件。圖12中的節(jié)點(diǎn)Find是用來發(fā)現(xiàn)一個(gè)參數(shù)為music的物體,它被作為GetComponent節(jié)點(diǎn)的輸入?yún)?shù)。最右端的節(jié)點(diǎn)用來播放其輸入的音源組件所指向的聲音文件。如果希望停止播放聲音,可以使用節(jié)點(diǎn)AudioSource Stop。Unity中播放視頻有兩種方式,一種是視頻附著在三維物體上的播放,另一種是以二維元素的方式播放。三維方式是給物體添加一個(gè)VideoPlayer(視頻播放器)組件,相當(dāng)把視頻作為三維物體的貼圖,然后播放組件所對(duì)應(yīng)的視頻文件。在Unity中,直接拖拽導(dǎo)入的視頻文件到某個(gè)物體,就可以完成對(duì)該物體添加視頻播放器組件的操作。視頻默認(rèn)是自動(dòng)播放的,如果希望在適當(dāng)?shù)臅r(shí)候播放或停止它,則需要使用代碼進(jìn)行控制。對(duì)視頻進(jìn)行可視化編程的方法和音頻類似,只是播放視頻的節(jié)點(diǎn)不同而已。

2.4" 二維元素的使用

在三維動(dòng)畫中,為了達(dá)到某些交互效果,比如動(dòng)畫人物之間的對(duì)話,可以通過呈現(xiàn)像文字或圖片這樣的二維元素來實(shí)現(xiàn)。動(dòng)畫系統(tǒng)對(duì)于二維和三維元素的渲染方法是不一樣的,所以在設(shè)計(jì)和實(shí)現(xiàn)上也是不一樣的。Unity中二維元素和三維元素相互獨(dú)立,互相不受影響,默認(rèn)情況下二維元素被顯示在三維元素前面。Unity通過一個(gè)叫Canvas(畫布)的元素放置二維元素。某個(gè)畫布顯示,則該畫布下的所有二維元素都會(huì)顯示,畫布隱藏則所有二維元素隱藏[10]。圖13為顯示畫布的圖,它實(shí)現(xiàn)這樣的效果,當(dāng)用戶點(diǎn)擊一個(gè)三維物體(比如一個(gè)按鈕)時(shí),會(huì)在屏幕上顯示名字為“海報(bào)介紹”的畫布。如果該畫布包含二維的文字或圖片提示信息,則它們會(huì)被顯示出來。節(jié)點(diǎn)Canvas enabled(set)是用來顯示或隱藏給定的畫布,當(dāng)輸入數(shù)據(jù)復(fù)選框是選定時(shí)表示顯示畫布,否則隱藏畫布。由于畫布默認(rèn)是顯示的,因此需要通過Start節(jié)點(diǎn)來隱藏它。

3" 結(jié)" 論

Unity3D易上手成本低,畫質(zhì)好且效率高,不需要計(jì)算機(jī)程序開發(fā)的知識(shí)和經(jīng)驗(yàn),非常適合大多數(shù)高校的學(xué)生、藝術(shù)工作者,彌補(bǔ)了經(jīng)費(fèi)少、計(jì)算機(jī)人才短缺和學(xué)習(xí)成本高的代價(jià)。簡(jiǎn)單來說,只要會(huì)畫流程圖,就能進(jìn)行可視化編程。Unity中的可視化編程不是簡(jiǎn)單地實(shí)現(xiàn)創(chuàng)意,而是會(huì)把設(shè)計(jì)思路轉(zhuǎn)換成為程序代碼再執(zhí)行。因此,Unity的可視化編程不僅易于使用,而且可以開發(fā)真實(shí)的軟件,這對(duì)于復(fù)雜創(chuàng)意的實(shí)現(xiàn)非常重要。隨著數(shù)字化的發(fā)展,藝術(shù)工作者對(duì)于創(chuàng)意的快速實(shí)現(xiàn)越來越迫切。如果依賴計(jì)算機(jī)軟件工程師的協(xié)助,不僅在創(chuàng)意的理解和溝通上,而且在時(shí)效性上,都會(huì)大打折扣。比如,藝術(shù)工作者有了一個(gè)好的三維動(dòng)畫創(chuàng)意,就需要通過原型產(chǎn)品把這個(gè)創(chuàng)意展現(xiàn)出來。對(duì)于三維動(dòng)畫模型的創(chuàng)建不需要太多計(jì)算機(jī)程序開發(fā)的知識(shí),借助于助手或自己,就能快速實(shí)現(xiàn)。但交互效果方面就需要通過計(jì)算機(jī)程序來實(shí)現(xiàn),如果把這個(gè)任務(wù)交給其他計(jì)算機(jī)程序員完成,很可能造成創(chuàng)意實(shí)現(xiàn)的偏差,絕對(duì)不如自己實(shí)現(xiàn)來的準(zhǔn)確。可視化編程就解決了這樣的問題,只需要少量學(xué)習(xí)就可以掌握程序開發(fā)的方法。圖14為一個(gè)本科生畢業(yè)設(shè)計(jì)作品,以三維交互動(dòng)畫的方式實(shí)現(xiàn)了吳城文化虛擬博物館。這個(gè)作品的三維動(dòng)畫模型使用3DMax進(jìn)行開發(fā),動(dòng)畫的交互使用的是基于Unity的可視化編程。交互的效果包括:展廳大門的自動(dòng)打開和關(guān)閉,以第一視角對(duì)虛擬博物館的游覽,按預(yù)定路線的自動(dòng)游覽,點(diǎn)擊展品播放文字、聲音或視頻介紹。隨著科技的發(fā)展,未來更多的是關(guān)注創(chuàng)意本身,而不是被實(shí)現(xiàn)的技術(shù)細(xì)節(jié)所困擾。信息化的時(shí)代,離不開技術(shù)的支撐,可視化編程技術(shù)的發(fā)展也將越來越多應(yīng)用于各種各樣的創(chuàng)意活動(dòng)之中。

參考文獻(xiàn):

[1] 白茹鑫.基于SpringBoot+SSM框架的企業(yè)安全培訓(xùn)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].現(xiàn)代信息科技,2024,8(1):44-49.

[2] 劉小燕,陳艷麗.可視化編程中識(shí)別計(jì)算思維 [J].計(jì)算機(jī)科學(xué),2014,41(S2):403-407.

[3] 劉向群,吳彬.Unity2017從入門到精通 [M].北京:人民郵電出版社,2020.

[4] 徐志平.Unity可視化手機(jī)游戲設(shè)計(jì) [M].北京:清華大學(xué)出版社,2020.

[5] 史紅偉.基于慣性傳感器的機(jī)械臂示教系統(tǒng)的設(shè)計(jì) [D].哈爾濱:哈爾濱工業(yè)大學(xué),2021.

[6] 吳亞峰,徐歆愷,蘇亞光.Unity游戲開發(fā)技術(shù)詳解與典型案例 [M].北京:人民郵電出版社,2019.

[7] 弗蘭茨·蘭辛格.Unity 3D游戲開發(fā) [M].北京:清華大學(xué)出版社,2023.

[8] 史寶明,賀元香,李嵐.Unity3D隨機(jī)尋路算法設(shè)計(jì) [J].吉林師范大學(xué)學(xué)報(bào):自然科學(xué)版,2022,43(1):128-133.

[9] 李虹,陸培培.基于Unity3D的虛擬動(dòng)畫系統(tǒng)設(shè)計(jì) [J].現(xiàn)代電子技術(shù),2021,44(8):164-168.

[10] 徐志平.Unity 3D可視化VR應(yīng)用開發(fā)實(shí)戰(zhàn):零代碼版微課視頻版 [M].北京:清華大學(xué)出版社,2022.

主站蜘蛛池模板: 国产91高清视频| 婷婷午夜天| 毛片免费试看| 国产高清在线观看91精品| 五月婷婷综合网| 国产无码精品在线| 婷婷伊人五月| 国产毛片片精品天天看视频| 日韩国产欧美精品在线| 国产黄色免费看| 国产福利小视频高清在线观看| 91色国产在线| 欧美在线中文字幕| 国产高清在线精品一区二区三区| 尤物在线观看乱码| 久久黄色视频影| 99视频精品全国免费品| 国产精品极品美女自在线看免费一区二区| 国产区免费| 国产在线小视频| 免费人成视频在线观看网站| 国产精品久线在线观看| 国产欧美日韩18| 欧美笫一页| 伊人无码视屏| 欧美久久网| 欧美色香蕉| 伊人AV天堂| 五月天综合婷婷| 国产成熟女人性满足视频| 1769国产精品免费视频| 国产午夜小视频| 国产白浆一区二区三区视频在线| 欧美高清视频一区二区三区| 日韩精品毛片人妻AV不卡| 久久国产香蕉| 国产精品久久精品| 免费人成网站在线高清| 亚洲一级毛片免费观看| 99久久精品国产综合婷婷| 日本道综合一本久久久88| 亚洲精品视频免费看| 日韩国产黄色网站| 九九热视频精品在线| 色婷婷国产精品视频| 亚洲精品无码专区在线观看| 国产又爽又黄无遮挡免费观看| 欧美福利在线观看| 欧美激情第一欧美在线| 午夜免费小视频| 日本久久免费| 国产精品亚洲专区一区| 国产男女XX00免费观看| 亚洲人成在线精品| 中文字幕有乳无码| 一级毛片网| 亚洲色图另类| 国产自无码视频在线观看| 国产精品9| 2020国产在线视精品在| 中文字幕首页系列人妻| 国产高清免费午夜在线视频| 欧美亚洲综合免费精品高清在线观看| 亚洲免费成人网| 色哟哟国产精品| 看你懂的巨臀中文字幕一区二区| 欧美日韩国产高清一区二区三区| 国产精品大尺度尺度视频| 亚洲一区二区约美女探花| 久久国产精品娇妻素人| 国内精品91| 99re视频在线| 噜噜噜综合亚洲| 91精品久久久久久无码人妻| AV无码无在线观看免费| 国产一区二区三区在线精品专区| 青青青视频蜜桃一区二区| 99热国产这里只有精品无卡顿"| 激情综合五月网| 人妻精品久久久无码区色视| 国产激情影院| 国产在线精品香蕉麻豆|