ARKit从入门到精通(7)-ARCamera介绍

翻译 2017年06月13日 01:26:30
  • 转载请注明出处:ARKit从入门到精通(7)-ARCamera介绍

  • ARCamera是一个相机,它是连接虚拟场景与现实场景之间的枢纽。在ARKit中,它是捕捉现实图像的相机,在SceneKit中它又是3D虚拟世界中的相机。(一般第一人称3D游戏,主角其实就是一个3D相机,我们电脑屏幕看到的画面就是这个相机捕捉的画面)

    • 一般我们无需去创建一个相机,因为当我们初始化一个AR试图时,他会为我们默认创建一个相机,而且这个相机就是摄像头的位置,同时也是3D世界中的原点所在(x=0,y=0,z=0)
      • ARCamera的API一般我们无需关心,因为ARKit会默认帮助我们配置好
  • API介绍

@interface ARCamera : NSObject <NSCopying>

/**
 4x4矩阵表示相机位置,同ARAnchor
 */
@property (nonatomic, readonly) matrix_float4x4 transform;

/**
相机方向(旋转)的矢量欧拉角
分别是x/y/z
 */
@property (nonatomic, readonly) vector_float3 eulerAngles;

/**
 相机追踪状态(在下方会有枚举值介绍)
 */
@property (nonatomic, readonly) ARTrackingState trackingState NS_REFINED_FOR_SWIFT;

/**
追踪运动类型
 */
@property (nonatomic, readonly) ARTrackingStateReason trackingStateReason NS_REFINED_FOR_SWIFT;

/**
相机曲率(笔者有点费解,反复揣摩应该是与焦距相关参数)
3x3矩阵
 fx 0   px
 0  fy  py
 0  0   1
 */
@property (nonatomic, readonly) matrix_float3x3 intrinsics;

/**
摄像头分辨率
 */
@property (nonatomic, readonly) CGSize imageResolution;

/**
投影矩阵
*/
@property (nonatomic, readonly) matrix_float4x4 projectionMatrix;

/**
创建相机投影矩阵
 */
- (matrix_float4x4)projectionMatrixWithViewportSize:(CGSize)viewportSize orientation:(UIInterfaceOrientation)orientation zNear:(CGFloat)zNear zFar:(CGFloat)zFar;

@end

//相机追踪状态枚举
typedef NS_ENUM(NSInteger, ARTrackingState) {

    /** 不被允许 */
    ARTrackingStateNotAvailable,

    /** 最小 */
    ARTrackingStateLimited,

    /** 正常. */
    ARTrackingStateNormal,
} NS_REFINED_FOR_SWIFT;

/**
 追踪运动类型
 */
API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(macos, watchos, tvos)
typedef NS_ENUM(NSInteger, ARTrackingStateReason) {
    /** 无. */
    ARTrackingStateReasonNone,

    /** 运动. */
    ARTrackingStateReasonExcessiveMotion,

    /** 脸部捕捉. */
    ARTrackingStateReasonInsufficientFeatures,
} NS_REFINED_FOR_SWIFT;

跨平台AR增强现实开发(三)(ARCamera功能与简介)

跨平台AR增强现实开发(二)(ARCamera功能与简介) ARCamera渲染AR场景的相机,只要使用AR功能必须要用到; 我使用的是vuforia 5.5.9的版本,改版本全面支持微软的holo...
  • inspironx
  • inspironx
  • 2016年04月28日 14:44
  • 6049

ARCamera

ARCamera QCARBehaviour跟踪处理和触发本地视频背景渲染。更新所有含有Trackables的场景 Camera Device Mode Setting(相机模...
  • huanxingxyzaaa
  • huanxingxyzaaa
  • 2014年04月02日 10:19
  • 939

Vuforia SDK---- AR开发vuforiaARCamera动态修改最大识别量

有一个网友问ARCamera上的最大观察数量可以动态修改吗?答案是肯定的。 因为时间问题没有具体帮他解决,他自己找到了解决方法,就进行一下分享。 具体实现 方式  ieditor得到这个脚...
  • liang_704959721
  • liang_704959721
  • 2015年09月15日 11:22
  • 4128

AR Camera开发记录(三) -- 替换人脸贴图

上一篇文章介绍了动态修改3D人脸模型的顶点要注意的问题。 结合人脸检测技术,根据人脸关键点实时修改顶点坐标,就能让3D人脸模型跟随自己的面部变化了。 这时候如果想让3D人脸模型换一张脸呢? 其中...
  • torchlight2012
  • torchlight2012
  • 2017年07月26日 10:12
  • 1354

ARKit从入门到精通-ARKit工作原理及流程介绍

2017-06-15 坤小 Cocoa开发者社区 转载请注明出处:http://www.jianshu.com/p/0492c7122d2f 1.1-写在前面的话 1...
  • qq_34047841
  • qq_34047841
  • 2017年06月18日 18:03
  • 2879

ARKit 和 ARCore剖析、结构、原理介绍

ARKit 和 ARCore 都是三部分:相机姿态估计, 环境感知(平面估计)及光源感知。 ARCore 的部分源码:https://github.com/google-ar/arcore-unit...
  • qq_21158525
  • qq_21158525
  • 2017年09月21日 15:35
  • 2110

Unity 与 ARkit 开发-基础篇

前段时间自己在网上看了许多ARkit的视频,于是自己想做,可是后来在网上找的API帮助信息,可是没有比较实用的信息,这边转发一篇就是想帮更多想学习做ARkit却无从下手的朋友. ...
  • Lyon_Nee
  • Lyon_Nee
  • 2017年09月10日 12:25
  • 3782

ARKit从入门到精通(1)-ARKit初体验

ARKit从入门到精通(1)-ARKit初体验转载请标注出处:http://blog.csdn.net/u013263917/article/details/72903174,以及版权归属黑马程序员:...
  • u013263917
  • u013263917
  • 2017年06月07日 19:37
  • 66597

ARKit基本使用流程

1.准备工作,创建对象@property (nonatomic, strong) ARSession *session;//ARSessionConfigutation AR会话跟踪配置 @prop...
  • biangabiang
  • biangabiang
  • 2017年08月11日 18:24
  • 1724

ARKit 获取识别到的水平面

ARKit从入门到精通视频课程  蛮牛地址:   http://edu.manew.com/course/396  泰课在线 :  http://www.taikr.c...
  • chuan403082010
  • chuan403082010
  • 2017年08月14日 16:35
  • 1141
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ARKit从入门到精通(7)-ARCamera介绍
举报原因:
原因补充:

(最多只允许输入30个字)