问题标签 [arscnview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 如何将节点添加到我的 SceneKit/ARKit 场景,保留其位置但重置其方向/旋转
我想在我的场景中添加一个节点,保持相对于相机的位置,但保持场景的方向/旋转。到目前为止我在哪里...
当我点击屏幕时,我在场景中添加了一个锚点,其变换等于相机的变换。然后在 中didUpdateNode
,也就是锚节点设置其位置信息时,我添加了一个包含模型的子节点,该模型具有position.z = -0.5
. 模型节点直接添加到摄像机前面的场景中,并反映摄像机的旋转属性。随着手机向下倾斜并成一定角度,这可能看起来像这样:
模型节点,受锚节点旋转数据的影响,以与相机相同的方式旋转。这个特殊的模型出现在它的一边——我不担心,它只是一个占位符。也忽略顶部的红色按钮,用于调试。
到目前为止,一切都很好。
我想要做的是让旋转信息基本上被“重置”,因此它出现在与我的相机相同的高度,并面向默认的正面位置。如果我以不同的方式旋转相机并在房间内四处移动,则会在不同的位置添加额外的模型,但仍处于相同的高度和相同的方向。
这可能看起来像这样。想象一下,我刚刚点击了屏幕以添加对象,它以标准高度显示,并且与场景相关,而不是与相机相关的旋转。
我已经尝试过使用节点的eulerAngles
,rotation
和orientation
属性,但不能让它令人满意地工作。这是我到目前为止的代码。我创建了一个空白场景,我使用ship.scn
标准 SceneKit 项目作为模型:
swift - 立体 ARSCNview 使 VR 和 AR 混合
我想混合virtual reality
和augmented reality
。目标是我有一个立体相机(每只眼睛)。
我试图将两个ARSCNView
放在一个中viewCotnroller
,但似乎 ARKit 只能同时启用一个ARWorldTrackingSessionConfiguration
。我怎样才能做到这一点?
我研究了将视图的图形表示复制到另一个视图,但无法找到。请帮助我找到解决方案。
我找到了这个链接,也许它可以启发我们: ARKit with multiple users
这是我的问题的示例:
https://www.youtube.com/watch?v=d6LOqNnYm5s
PS:之前不像我的帖子,评论为什么!
ios - ARSCNView 的根节点的“标题”与设备标题不匹配
我想要一个添加到场景中的节点指向北方。我从核心位置获取标题数据,以便表示设备当前在我的场景创建点处所面对的方向(以及我的根节点所面对的方向),然后我将标题添加到我的新sceneNode'
seulerAngles.y
中,以进行旋转所以它面向北方。
标题信息是正确的,因此将其旋转这么多确实会将其旋转所需的量,假设标题与我的根节点所面对的方向相同。但是我发现我的根节点的方向不等于设备的方向,有时可能会非常偏离。所以这意味着标题与场景节点的“标题”相同的假设是不正确的,我需要能够知道它离标题有多远,这样我就可以在我的sceneNode
.
objective-c - 在 SceneKit 下可靠访问和修改捕获的相机帧
我尝试将黑白滤镜添加到 ARSCNView 的相机图像中,然后在其上渲染彩色 AR 对象。
我几乎在那里,在开头添加了以下代码- (void)renderer:(id<SCNSceneRenderer>)aRenderer updateAtTime:(NSTimeInterval)time
这在移动设备上运行得非常快,但事情是这样的:有时会显示一个彩色框架。我已经检查并执行了我的过滤代码,但我认为为时已晚,SceneKit 的管道已经处理了相机输入。
早点调用代码会有所帮助,但updateAtTime
最早可以逐帧添加自定义代码。
获取有关帧捕获的通知可能会有所帮助,但看起来整个AVCapturesession 都无法访问。
Metal ARKit 示例展示了如何将相机图像转换为 RGB,这就是我要进行过滤的地方,但是在使用 SceneKit 时该着色器被隐藏了。
我已经尝试过这个可能的答案,但它太慢了。
那么如何克服帧丢失并将相机馈送可靠地转换为 BW 呢?
ios - 在不支持 ARKit 的设备上使用 ARSCNView
是否可以使用ARSCNView
,将其配置ARWorldTrackingConfiguration
为支持它的设备,并以另一种方式为不支持它的设备(使用 A8 芯片及更低版本)配置它并且仍然在后台渲染视频?
ios - ARKit 放置一个面向相机的 SCNNode
我ARKit
用来显示 3D 对象。我设法将现实世界中的节点放置在用户面前(也就是相机)。但是当我放下它们时,我无法让它们面对镜头。
节点很好地定位在平面上,在相机前面。但他们都在朝着同一个方向看。我想我应该轮换,SCNNode
但我没能做到这一点。
ios - 如何防止 ARSCNView 在方向更改期间旋转
我正在使用 ARKit,我希望允许用户在纵向和横向模式下使用该应用程序。我希望所有 UI 控件在方向更改时旋转,除了ARSCNView
. 我试图以相反的方向转换场景视图,但没有奏效。
如何防止 ARKit 会话的场景视图旋转,同时允许所有其他 UI 控件在方向更改时旋转?
ios - ARKit 是否支持前置摄像头?
ARCamera
我们如何使用或访问前置摄像头图像,ARSCNView
是否可以ARSCNView
像摄像头录制一样进行录制?
ios - 将“SCNNode”添加到 ScreenView 到相机的当前视图
我有一张我试图添加到 Screenview ARSCNView 会话的当前相机位置的图像。无论我做什么,它似乎都会将图像放在手机摄像头的当前位置后面,我必须将其移回才能看到它。我有以下代码:
只是尝试执行您现在在应用商店中看到的 ARKit 绘画应用程序的简单想法。因此,imgToAdd 是用户已经放在屏幕上的涂鸦的快照,并且在从涂鸦的视图创建图像后,该事件在 touchended 处触发。
关于我需要更改什么以使其与手机上相机的当前视图一致的任何想法?
iphone - 使用 ARKit 的 ARSCNView 时,可以使用 iPhone 的前置摄像头吗?
目前我正在学习 ARKit。
在网上,通常有使用 ARSCNView 和 iPhone 后置摄像头的示例代码。
我想将 ARKit 与前置摄像头一起使用,而不是 iPhone 的后置摄像头。
使用 ARKit 时,可以使用 ARSCNView 和 iPhone 的前置摄像头吗?
ARKit 是否同时支持 iPhone 的前置摄像头和后置摄像头?
另外,您能否告诉我您是否有使用 ARKit、ARSCNView 和 iPhone 前置摄像头的示例代码?