请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
搜索

本文来自

EasyAR 教程

EasyAR 教程

1 人已关注

EasyAR引擎使用教程,使用案例。

精选帖子

EasyAR脱卡方法

[复制链接]

8

主题

41

帖子

252

积分

中级会员

Rank: 3Rank: 3

积分
252
166125 QQ260185343 发表于 2016-4-1 16:19:36
最近搞了一下easyAR的脱卡保留模型方法。分享一下
回复

使用道具 举报

 楼主| QQ260185343 发表于 2016-4-1 17:10:42
本帖最后由 QQ260185343 于 2016-5-18 14:56 编辑

链接:http://pan.baidu.com/s/1jIfGQbk 密码:td7h
回复 支持 1 反对 0

使用道具 举报

 楼主| QQ260185343 发表于 2016-4-1 17:05:35
本帖最后由 QQ260185343 于 2016-4-13 16:25 编辑

首先说下大致思路
当卡片离开摄像头时间,ImageTarget-Image的SetActive (false),所以其子物体(model)也就不显示了,因此解决的办法就是在Target (false)时间将模型放到一个合适的位置,这样就能实现脱卡,当Target (true)时,再回到原来位置。具体放到什么位置合适
QQ截图20160401162934.png
在EasyAR下面的Augmenter下建设一个空物体,用来存放脱卡后的模型命名ZhenF(真模型的Father),这个位置的模型不会移动,永远都在屏幕固定位置。然后在ZhenF下面建一个空物体用来保存模型的最佳位置和角度。
QQ截图20160401163719.png
然后在ImageTarget-Image的下面建一个空物体用来保存target出现时间的最佳位置和角度。
QQ截图20160401164500.png
  1. using UnityEngine;
  2. using System.Collections;

  3. public class ZSetactive : MonoBehaviour
  4. {
  5.         public Transform GreatTransfrom;                   //脱卡后最佳位置
  6.         public GameObject zhenf;                               //模型脱卡时存放位置
  7.         public Transform[] TargetTransfrom;               //模型在卡片上的最佳位置
  8.         public GameObject[] Target;                           //卡片
  9.         public GameObject[] zhen;                             //模型
  10.         void Start ()
  11.         {
  12.                 for (int i = 0; i < zhen.Length; i++) {          //所有模型初始化全部不显示
  13.                         zhen [i].SetActive (false);
  14.                 }
  15.         }
  16.         public void tiaozheng ()                              //模型倾斜时调整最佳位置
  17.         {
  18.                 GreatTransfrom.localPosition = new Vector3 (0f, 0f, 0f);
  19.                 GreatTransfrom.localRotation = Quaternion.identity;
  20.                 for (int i = 0; i < zhen.Length; i++) {
  21.                         zhen [i].transform.localPosition = GreatTransfrom.localPosition;
  22.                         zhen [i].transform.localRotation = GreatTransfrom.localRotation;
  23.                 }
  24.         }
  25.         void Update ()
  26.         {
  27.                 WhoShouldShow ();                            //哪个模型应该显示
  28.                 TargetT ();                                          //有卡片时
  29.                 TargetF ();                                         //无卡片时
  30.         }
  31.         int index = -1;
  32.         void WhoShouldShow ()                      //哪个模型应该显示
  33.         {
  34.                 for (int i = 0; i < Target.Length; i++) {
  35.                         if (Target [i].activeSelf == true) {
  36.                                 zhen [i].SetActive (true);
  37.                                 index = i;
  38.                         }
  39.                         if (i != index) {
  40.                                 zhen [i].SetActive (false);
  41.                         }
  42.                 }
  43.         }

  44.         void TargetT ()                                    //不脱卡
  45.         {
  46.                 for (int i = 0; i < Target.Length; i++) {
  47.                         if (Target [i].activeSelf == true) {
  48.                                 zhen [i].transform.parent = Target [i].transform;
  49.                                 zhen [i].transform.position = TargetTransfrom [i].position;
  50.                         }       
  51.                 }
  52.         }

  53.         void TargetF ()                                     //脱卡
  54.         {
  55.                 for (int i = 0; i < Target.Length; i++) {
  56.                         if (Target [i].activeSelf == false) {
  57.                                 zhen [i].transform.parent = zhenf.transform;
  58.                                 zhen [i].transform.localPosition = GreatTransfrom.localPosition;

  59.                         }
  60.                 }
  61.         }
  62. }
复制代码






回复 支持 反对

使用道具 举报

zxj 发表于 2016-4-11 21:02:20
强行点赞
回复

使用道具 举报

1598866720 发表于 2016-4-12 09:18:15
不错不错...
回复

使用道具 举报

ljc2247477410 发表于 2016-4-13 15:26:33
真的吊啊
回复

使用道具 举报

su9257 发表于 2016-4-18 19:01:09
66666,zhenshi666
回复 支持 反对

使用道具 举报

hmitech 发表于 2016-4-19 09:31:54
正在努力学习中
回复 支持 反对

使用道具 举报

xinkun 发表于 2016-5-13 11:52:40
有些迷糊
回复

使用道具 举报

 楼主| QQ260185343 发表于 2016-5-18 14:58:26
链接:http://pan.baidu.com/s/1jIfGQbk 密码:td7h
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表