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

兒童數字繪本移動端增強現實應用開發簡述

2017-05-30 01:48:08王毅
科技風 2017年14期

王毅

DOI:10.19392/j.cnki.16717341.201714051

摘要:本文主要簡述如何使用Unity及增強現實技術在移動端上實現虛擬3D吉祥物的展示。

關鍵詞:Unity;增強現實;蘇州園博會吉祥物

1 制作分析

該應用最終發布在Android及Ios平臺,主要利用手機的攝像機對園博會吉祥物圖片進行識別,然后利用EasyAR增強現實插件結合Unity游戲引擎對識別的結果進行比對,建立空間矩陣,然后回調相應的吉祥物3D虛擬人物進行表演。

2 實現方法

1)首先使用Maya等三維軟件進行吉祥物的3D模型和動畫的制作,并導入Unity場景(將模型中心放置在世界坐標原點上)、設置燈光背景等。圖1示例了該Unity場景模型效果。

2)使用Unity的UI制作插件NGUI制作本應用的登錄界面與3D虛擬人物展示界面,如圖2所示(左側為登錄和引導界面、右側為增強現實識別展示界面)。展示界面預留了用戶幫助模塊、3D虛擬人物動畫播放模塊、聲音切換模塊功能。

圖1吉祥物Unity場景模型圖2 應用界面

3)Unity導入EasyAR增強現實模塊。EasyAR是國內最專業的AR引擎,是國內首款投入應用的AR SDK。EasyAR官網上下載相應插件并導入Unity場景,在EasyAR官網注冊相應的應用iD并生成相應的Key值,將Key值填入Unity EasyAR節點相應的Key屬性中。

4)在EasyAR 配套Unity基礎場景中的ImageTargetJsonFileidback節點中將步驟D的吉祥物模型、相應的吉祥物識別卡片都放置在該節點下。當EasyAR調用成功時,攝像頭開啟后就可以對卡片進行識別,如果目標卡片與ImageTargetJsonFileidback節點下的卡片匹配,則會顯示3D吉祥物,如果攝像頭跟蹤丟失那么3D吉祥物消失。

5)進行模型展示功能的開發。其中,多點觸控來控制3D模型的旋轉、縮放的核心代碼如下:

public class ScaleAndRotate : MonoBehaviour

{

private Touch oldTouch1;∥上次觸摸點1(手指1)

private Touch oldTouch2;∥上次觸摸點2(手指2)

void Start() {}

GameObject Capsule_bady = null;

private float rotateN = 1.5f;

void Update()

{

Capsule_bady = GameObject.Find(“Capsule_bady”);∥查找相應的3D吉祥物

if (Input.touchCount <= 0 || Capsule_badynull) { return ; } //沒有觸摸返回

if (1 Input.touchCount)∥單點觸摸,水平上下旋轉

{

Touch touch = Input.GetTouch(0);

Vector2 deltaPos = touch.deltaPosition; ∥獲得單點滑動的矢量

Capsule_bady.transform.Rotate(1*Vector3.up * deltaPos.x * rotateN);∥進行旋轉

}

//多點觸摸, 放大縮小

Touch newTouch1 = Input.GetTouch(0);∥獲得第1個觸摸點

Touch newTouch2 = Input.GetTouch(1); ∥獲得第2個觸摸點

if (newTouch2.phase == TouchPhase.Began) ∥第2點剛開始接觸屏幕,不做處理

{

oldTouch2 = newTouch2;

oldTouch1 = newTouch1;

return;

}

∥計算以前的兩點距離和新的兩點間距離,變大要放大模型,變小要縮放模型

float oldDistance = Vector2.Distance(oldTouch1.position, oldTouch2.position);

float newDistance = Vector2.Distance(newTouch1.position, newTouch2.position);

∥兩個距離之差,為正表示放大手勢,為負表示縮小手勢

float offset = newDistance oldDistance;

∥放大因子, 一個像素按 0.01倍來算(100可調整)

float scaleFactor = offset / 100f;

Vector3 localScale = Capsule_bady.transform.localScale;

Vector3 scale = new Vector3(localScale.x + scaleFactor,

localScale.y + scaleFactor,

localScale.z + scaleFactor);

if ((scale.x > 0.7f && scale.y > 0.7f && scale.z > 07f&&scale.x < 1.4f && scale.y < 1.4f && scale.z < 14f))∥最大縮放為1.4倍,最小縮放為0.7倍

{Capsule_bady.transform.localScale = scale; }

oldTouch1 = newTouch1;∥記住最新的觸摸點,下次使用

oldTouch2 = newTouch2;

}}

基金項目:本文為校社科基金項目《基于傳統文化傳承的兒童繪本影像化研究》(項目編號:YN1431)

主站蜘蛛池模板: 亚洲欧美另类视频| 国产女人18毛片水真多1| 丁香婷婷激情综合激情| 亚洲最黄视频| 久久窝窝国产精品午夜看片| 成人免费黄色小视频| 久久美女精品| 午夜激情福利视频| 日韩精品免费一线在线观看| 国产精品美女免费视频大全| 亚洲无码37.| 亚洲一区二区三区香蕉| 欧美亚洲激情| 国产迷奸在线看| 亚洲视频三级| 天天综合网色中文字幕| 亚洲视频欧美不卡| 伊人久久综在合线亚洲91| 国产高清在线丝袜精品一区| 欧美国产日韩一区二区三区精品影视| 亚洲av无码牛牛影视在线二区| 亚洲男人的天堂久久香蕉网| 无码精品国产VA在线观看DVD| 在线一级毛片| 亚洲国模精品一区| 国产激爽大片高清在线观看| 成人在线综合| 国产福利免费在线观看| 国产精品天干天干在线观看 | 国产精品9| 亚洲永久色| 青青青国产在线播放| 国产 日韩 欧美 第二页| 91青草视频| 久久青草视频| 无码专区在线观看| 99在线小视频| 久久99精品久久久久久不卡| 第一区免费在线观看| 国产噜噜噜视频在线观看| 青草91视频免费观看| 在线观看无码a∨| 日韩欧美中文字幕在线精品| 国产素人在线| 久热中文字幕在线观看| 久久免费观看视频| 欧美午夜在线观看| 亚洲AV色香蕉一区二区| 日韩精品无码免费一区二区三区| 美女被操黄色视频网站| 97在线国产视频| 人与鲁专区| 午夜小视频在线| 91探花国产综合在线精品| 狠狠色狠狠综合久久| 福利视频久久| 亚洲高清资源| 午夜老司机永久免费看片| 亚洲日韩每日更新| 日本亚洲欧美在线| 国产毛片不卡| 色噜噜狠狠狠综合曰曰曰| 中文字幕免费视频| 国产99免费视频| 国产区网址| 国产男女XX00免费观看| 欧美人在线一区二区三区| 国产乱子精品一区二区在线观看| 91福利片| 亚洲成人精品| 操操操综合网| 国产人人射| 福利国产微拍广场一区视频在线| 国产精品欧美激情| 日本国产在线| 狠狠色香婷婷久久亚洲精品| 国产微拍精品| 粗大猛烈进出高潮视频无码| 国产成人精彩在线视频50| 热久久这里是精品6免费观看| 亚洲视频四区| 国产乱子伦视频三区|