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)

主站蜘蛛池模板: 99视频全部免费| 91精品国产情侣高潮露脸| 天天综合网色| 国产经典在线观看一区| 午夜啪啪福利| 99无码中文字幕视频| 欧美啪啪一区| 三级毛片在线播放| 欧美成人A视频| 国产成人AV大片大片在线播放 | 国产资源免费观看| 久久精品国产精品青草app| 亚洲床戏一区| 91国内视频在线观看| 亚洲天堂网视频| 中文字幕 日韩 欧美| 色综合网址| 狠狠综合久久| 国产玖玖玖精品视频| av在线无码浏览| 国产日本视频91| 国产一级裸网站| 91精品国产无线乱码在线| 日韩A∨精品日韩精品无码| 亚洲熟妇AV日韩熟妇在线| 免费视频在线2021入口| 国产成人区在线观看视频| 91久久国产热精品免费| 特级毛片免费视频| 91系列在线观看| 亚洲国产中文欧美在线人成大黄瓜 | 亚洲中文字幕23页在线| 中文字幕乱码二三区免费| 欧美日韩精品一区二区在线线| 中文无码伦av中文字幕| 国产精品网曝门免费视频| 成人小视频在线观看免费| 五月天久久婷婷| 亚洲水蜜桃久久综合网站| 亚洲AV无码久久天堂| 欧美一级夜夜爽www| 毛片免费观看视频| 国产精品成| 在线观看精品自拍视频| 人妻91无码色偷偷色噜噜噜| 欧美区国产区| 亚洲水蜜桃久久综合网站 | 国产一级视频久久| 成人福利在线看| 欧美午夜一区| 欧美成人精品一级在线观看| 亚洲午夜福利在线| 国产人成午夜免费看| 午夜欧美在线| 99久久精品国产综合婷婷| 99九九成人免费视频精品 | 波多野结衣一区二区三区88| 国产福利小视频在线播放观看| 亚洲国产日韩一区| 91精品国产自产在线观看| 国产在线一二三区| 国产精品久久久久鬼色| 欧美亚洲日韩中文| 亚洲精品无码不卡在线播放| 国产嫩草在线观看| 欧美黄网站免费观看| 98精品全国免费观看视频| 国产在线视频福利资源站| 四虎免费视频网站| 精品国产美女福到在线直播| 久久伊人操| 91色在线观看| 亚洲手机在线| 亚洲清纯自偷自拍另类专区| 欧美日韩中文国产| 99人妻碰碰碰久久久久禁片| 一级毛片网| 免费观看亚洲人成网站| 国产自在线播放| 久久国产精品夜色| 国产成人艳妇AA视频在线| 中文无码毛片又爽又刺激|