亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        AR開(kāi)發(fā)中的Unity 3D與原生代碼交互技術(shù)

        2017-12-06 02:37:31魏三強(qiáng)
        關(guān)鍵詞:交互技術(shù)調(diào)用引擎

        魏三強(qiáng)

        (1.宿州職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)信息系, 安徽 宿州 234101;2.中國(guó)礦業(yè)大學(xué) 信息與控制工程學(xué)院, 江蘇 徐州 221116)

        AR開(kāi)發(fā)中的Unity3D與原生代碼交互技術(shù)

        魏三強(qiáng)1,2

        (1.宿州職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)信息系, 安徽 宿州 234101;2.中國(guó)礦業(yè)大學(xué) 信息與控制工程學(xué)院, 江蘇 徐州 221116)

        為了解決AR產(chǎn)品開(kāi)發(fā)過(guò)程中Unity 3D與原生代碼之間的交互問(wèn)題,分別介紹了Unity 3D與Android原生代碼、Unity 3D與iOS原生代碼之間的交互技術(shù)。通過(guò)一個(gè)AR系統(tǒng)實(shí)例開(kāi)發(fā),應(yīng)用圖像識(shí)別、匹配和交互等技術(shù)實(shí)現(xiàn)了虛實(shí)結(jié)合的視覺(jué)體驗(yàn)效果。實(shí)驗(yàn)測(cè)試結(jié)果表明:系統(tǒng)運(yùn)行穩(wěn)定,效果逼真。說(shuō)明運(yùn)用Unity 3D與原生代碼之間的交互技術(shù),能夠合理解決AR產(chǎn)品開(kāi)發(fā)過(guò)程中Unity 3D與原生代碼之間的交互問(wèn)題。

        AR; Unity 3D; Android原生代碼; iOS原生代碼; 交互

        在AR(augmented reality,增強(qiáng)現(xiàn)實(shí))產(chǎn)品的開(kāi)發(fā)過(guò)程中,經(jīng)常需要與系統(tǒng)原生代碼進(jìn)行相互調(diào)用。由于目前很多AR應(yīng)用都是使用C#、JavaScript配合Unity 3D進(jìn)行開(kāi)發(fā),而大部分傳統(tǒng)應(yīng)用都是使用原生語(yǔ)言開(kāi)發(fā),比如Android系統(tǒng)使用Java語(yǔ)言開(kāi)發(fā),而iOS系統(tǒng)使用Objective-C或Swift進(jìn)行開(kāi)發(fā)[1]。在國(guó)內(nèi)一些AR產(chǎn)品開(kāi)發(fā)實(shí)例中,林一[2]等提出了一套基于心智模型VR與AR混合式移動(dòng)導(dǎo)覽系統(tǒng);上官大堰[3]等進(jìn)行了基于Android平臺(tái)的Unity 3D網(wǎng)絡(luò)功能的開(kāi)發(fā);于意[4]設(shè)計(jì)與實(shí)現(xiàn)了一個(gè)基于iOS移動(dòng)平臺(tái)的Unity 3D幼兒認(rèn)知游戲;李智鵬[5]設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于Unity 3D引擎的空中戰(zhàn)機(jī)游戲;鄧增強(qiáng)[6]等使用Unity 3D引擎開(kāi)發(fā)了一款 3D街機(jī)游戲,實(shí)現(xiàn)了Unity 3D與Android之間的數(shù)據(jù)交互。在以上AR系統(tǒng)開(kāi)發(fā)實(shí)踐中,不可避免地需要在Unity 3D中調(diào)用Android原生接口,或從Objective-C給Unity 3D接口發(fā)送消息。鑒于此,本文擬對(duì)AR產(chǎn)品開(kāi)發(fā)中的Unity 3D與Android、iOS原生代碼之間的交互技術(shù)進(jìn)行研究,以期合理解決AR產(chǎn)品開(kāi)發(fā)過(guò)程中Unity 3D與原生代碼之間的交互問(wèn)題。

        1 預(yù)備知識(shí)

        1.1 AR增強(qiáng)現(xiàn)實(shí)

        增強(qiáng)現(xiàn)實(shí)簡(jiǎn)稱AR,是一種實(shí)時(shí)計(jì)算攝像機(jī)捕捉到的現(xiàn)實(shí)影像的位置及角度并加上相應(yīng)虛擬信息的技術(shù)。它不僅能夠展現(xiàn)真實(shí)世界的信息,還能夠通過(guò)增加虛擬信息而對(duì)現(xiàn)實(shí)世界進(jìn)行增強(qiáng),AR系統(tǒng)結(jié)構(gòu)圖如圖1所示。AR系統(tǒng)中的交互方式主要有基本命令式交互、雙手交互、多通道交互、特殊工具的交互等方式[7]。AR可應(yīng)用于游戲、軍事、醫(yī)療、教育、文物古跡保護(hù)、旅游、工業(yè)等眾多領(lǐng)域[8],隨著硬件性能的不斷提升和軟件解決方案的日趨成熟,AR產(chǎn)品將越來(lái)越多地走入人們的視線。

        1.2 Unity 3D游戲引擎

        Unity 3D是由Unity Technologies公司開(kāi)發(fā)的一個(gè)專業(yè)游戲引擎,它讓玩家能夠輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫(huà)等類型互動(dòng)內(nèi)容的多平臺(tái)的綜合型游戲開(kāi)發(fā)工具如圖2所示[9]。

        圖1 AR系統(tǒng)結(jié)構(gòu)圖

        圖2 Unity 3D開(kāi)發(fā)環(huán)境

        使用Unity 3D開(kāi)發(fā)的游戲不計(jì)其數(shù),其中比較經(jīng)典的網(wǎng)頁(yè)游戲如坦克英雄、魔晶星球、木乃伊和極限摩托車等,手機(jī)游戲如失落帝國(guó)、戰(zhàn)艦少女、全民炫舞和出租車司機(jī)等,單機(jī)游戲如軒轅劍六、御天降魔傳和金庸群俠傳等。目前,Unity 3D已經(jīng)成為開(kāi)發(fā)AR項(xiàng)目的主流引擎[9-10]。

        2 Unity 3D與原生代碼之間的交互

        2.1 Unity 3D與Android原生代碼之間的交互

        Android開(kāi)發(fā)環(huán)境主要是Eclipse和Android Studio,本小節(jié)內(nèi)容主要是在Eclipse下配置好Android開(kāi)發(fā)環(huán)境(包括下載和安裝JDK并配置環(huán)境變量,下載和安裝Android SDK并在Eclipse中配置并指定Android SDK)。在開(kāi)發(fā)環(huán)境配置完成后,新建一個(gè)Android工程,將Unity 3D工程導(dǎo)出為Android工程,用Eclipse打開(kāi)從Unity 3D導(dǎo)出的工程,該工程中有UnityPlayerActivity.java這個(gè)文件,它是進(jìn)行Unity 3D與Android互通的關(guān)鍵所在。接著,在Unity的3D界面前添加一個(gè)Android原生界面,主要包括以下幾個(gè)步驟[11]。

        1) 創(chuàng)建新的文件Activity,核心代碼如下:

        public class MainMenuActivity extends Activity

        {

        @Override

        protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        this.setContentView(R.layout.mainmenu);

        Button btn=(Button)this.findViewById(R.id.startButton);

        //用該語(yǔ)句為按鈕添加一個(gè)點(diǎn)擊事件,并且將它切換至Unity 3D的Activity

        btn.setOnClickListener(new OnClickListener( ) {

        @Override

        Public void onClick(View v) {

        Intent it=new Intent( );

        it.setClass(MainMenuActivity.this,UnityPlayerActivity.class);

        MainMenuActivity.this.StartActivity(it);

        }

        });

        }

        }

        2) 創(chuàng)建原生界面布局文件mainmenu.xml,核心代碼如下:

        android:layout_wideth=“match_parent”

        android:layout_height=“match_parent”

        android:orientation=“vertical”

        99久久免费中文字幕精品| 亚洲av迷人一区二区三区| 日本少妇高潮喷水视频| 婷婷中文字幕综合在线| 亚洲视频一区| 国产精品久久久久孕妇| 牛仔裤人妻痴汉电车中文字幕| 国产禁区一区二区三区| 和外国人做人爱视频| 久久亚洲精品无码va大香大香| 久久亚洲午夜牛牛影视| 国产黄色一区二区三区,| 99久久精品免费看国产一区二区三区| 国产97色在线 | 亚洲| 欧美日本日韩aⅴ在线视频| 精品久久久久88久久久| 草青青在线视频免费观看| 亚洲av无码一区东京热| 人人妻人人澡人人爽欧美一区九九| 亚洲国产成人久久综合一区77| 一区二区特别黄色大片| 白白色发布会在线观看免费 | 一区二区三区日本视频| 国产不卡在线视频观看| 国语自产偷拍在线观看| 无码专区久久综合久中文字幕 | 91精品啪在线观看国产色| 顶级高清嫩模一区二区| 国产又爽又大又黄a片| 久久国产成人精品国产成人亚洲 | 最近中文字幕大全在线电影视频| 精品国产高清一区二区广区| 日本一区二区午夜视频| 日本韩国男男作爱gaywww| 大陆极品少妇内射aaaaa| 欧美激情国产一区在线不卡| av免费网站不卡观看| 久久久久久自慰出白浆| 亚洲欧洲日产国码高潮αv| 日韩久久无码免费看A| 久久久天堂国产精品女人|