亚洲免费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”

        久久午夜av一区二区| 国产人成无码视频在线| 无码AV无码免费一区二区| 精品国产日韩亚洲一区在线| 国产精品美女一区二区视频| 熟妇人妻无乱码中文字幕| 人伦片无码中文字幕| 日韩女同一区二区三区久久| 日韩中文字幕有码午夜美女| 国产绳艺sm调教室论坛| 欧美黑人性色黄在线视频| 久久久国产视频久久久| 国产区女主播一区在线| 亚洲色国产欧美日韩| 日韩国产一区| 久久无人码人妻一区二区三区 | 妃光莉中文字幕一区二区| 欧美精品人人做人人爱视频| 亚洲国产精品久久久久秋霞1| 国产麻豆一区二区三区在线播放 | 中文字幕一区二区三区精品在线| 亚洲国产高清精品在线| 日日澡夜夜澡人人高潮| 亚洲成在人网av天堂| 亚洲国产av高清一区二区三区| 久久99国产精品久久| 装睡被陌生人摸出水好爽| 国产高清天干天天视频| 国产精品毛片极品久久| 熟妇人妻久久中文字幕| 欧美一级三级在线观看| 亚洲国产精品二区三区| 无套内谢孕妇毛片免费看| 黄色视频免费在线观看| 99热这里只有精品久久6| 精彩视频在线观看一区二区三区| 日本大片免费观看视频| 亚洲伊人久久大香线蕉影院| 国产黄色一级到三级视频| 国产免费久久精品99久久| 亚洲精品无码高潮喷水在线 |