注册 登录
主题 : 如何获取当前摄像头的朝向
级别: 新手上路
UID: 124619
精华: 0
发帖: 49
可可豆: 170 CB
威望: 170 点
在线时间: 384(时)
注册时间: 2012-02-20
最后登录: 2018-04-18
0 楼:  发表于: 2017-10-20 16:08    发自: Web Page

如何获取当前摄像头的朝向   

ARKit 有一个回调
- (void)session:(ARSession *)session didUpdateFrame:(ARFrame *)frame
这个回调里frame.camera.transform中有方向信息,但是怎么取出来啊,按网还是那个的一些方法取出来的都是空的。

ARKit,学一学
级别: 光明使者

状态: 连续签到 - [1531天]
UID: 7391
精华: 0
发帖: 2473
可可豆: 178009 CB
威望: 175493 点
在线时间: 6685(时)
注册时间: 2009-07-29
最后登录: 2018-04-22
1 楼:  发表于: 2017-10-23 16:48    发自: Web Page
frame.camera.transform 这个是相机的位置信息
用frame.camera.eulerAngles 是相机旋转的欧拉角
级别: 新手上路
UID: 124619
精华: 0
发帖: 49
可可豆: 170 CB
威望: 170 点
在线时间: 384(时)
注册时间: 2012-02-20
最后登录: 2018-04-18
2 楼:  发表于: 2017-11-10 14:06    发自: Web Page
搞定了,用CMMotionManager可以获取方向
ARKit,学一学
级别: 新手上路
UID: 124619
精华: 0
发帖: 49
可可豆: 170 CB
威望: 170 点
在线时间: 384(时)
注册时间: 2012-02-20
最后登录: 2018-04-18
3 楼:  发表于: 2017-12-11 15:46    发自: Web Page
- (void)session:(ARSession *)session didUpdateFrame:(ARFrame *)frame
{
    NSMutableArray *anchors = _arSession.currentFrame.anchors;
    matrix_float4x4 matrix4=frame.camera.transform;
    SCNVector3 postion =SCNVector3Make(frame.camera.transform.columns[3].x,frame.camera.transform.columns[3].y,frame.camera.transform.columns[3].z);
    //手机的位置和朝向都体现了。 经测试,取值在负无穷到正无穷
     NSLog(@"wrz02 curPosX:%f,curPosY:%f,curPosZ:%f",frame.camera.transform.columns[3].x,frame.camera.transform.columns[3].y,frame.camera.transform.columns[3].z);
}
ARKit,学一学
描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部