草庐IT

ARKit-SceneKit

全部标签

ios - 如何在 SceneKit Editor 中使用 Action

这可能真的很愚蠢。我一直在玩弄SceneKitEditor。对象库中有一堆Action。我该如何使用它们?我一直在将它们拖到所有可能的节点,场景中的东西,我什至试图将它们放在代码中。没有什么。它们总是快速回到对象库。我添加了一个屏幕截图,以便我们都知道我在说什么。 最佳答案 在场景编辑器的下方,您可以打开Action编辑器。选择一个节点后,您将能够在其时间轴中拖放操作。您可以在“EnhancementstoSceneKit”session中找到Action编辑器的演示。 关于ios-如何

ios - 从不同角度观察时,是什么导致部分 SceneKit 几何体进出 "pop"?

我在使用3D时是相当新手,但我会尽力解释我的情况。我正在将一些模型(来自Maya的DAE)导入到使用半透明Material的SceneKit(XCode9)中。在这个具体案例中,我将引用灯泡模型。直接观察模型时,可以通过外部“玻璃”层看到内部的灯丝。当我沿x轴稍微旋转模型时,灯丝消失了。我在其他情况下注意到这种行为,其中几何体包含在具有半透明Material的其他几何体中。我也在使用基于物理的照明。有人遇到过这种情况么?提前谢谢你。 最佳答案 在第二张图片中,您的灯泡烧坏了。你应该去五金店买一个新灯泡。?好吧,说真的......3D

ios - 在 SceneKit 中,SCNLightTypeAmbient 类型的 SCNLight 是否会忽略 categoryBitMask 参数?

好像是!这里忽略了categoryBitMask:ambientLight=[SCNLightlight];ambientLight.color=[UIColorcolorWithRed:0.994green:0.715blue:0.179alpha:1.000];ambientLight.type=SCNLightTypeAmbient;ambientLight.categoryBitMask=1;这里有效!ambientLight=[SCNLightlight];ambientLight.color=[UIColorcolorWithRed:0.994green:0.715blue

ios - 在 SceneKit 中模拟折射

我正在尝试为一个项目创建一个ios9应用程序,该应用程序将使用这些称为glenses的特殊理论镜头可视化3d场景。.一个名为TIM的光线追踪程序已经从头开始编写,用于模拟这些眼镜等,但简单地将其移植到ios是不可行的。我通过搜索网站(即this答案和许多其他关于着色器的答案)的理解是,这应该是可能的,但我很难获得预期的效果。我决定先实现一种更简单的折射形式,然后再转向更复杂的峡谷类型折射:我能够使用SCNTechnique在相机上获得桶形失真(鱼眼镜头)效果,但似乎您只能在相机或整个场景上使用技术,而不是个别片段几何学。之后,我尝试通过使用SCNMaterial的shaderModif

ios - SceneKit 统计显示中的 "Metal Flush"是什么?

我正在尝试解决FPS下降问题。我看到MetalFlushes占用了大部分渲染时间。这是好事吗? 最佳答案 对此我不确定,因为Apple似乎没有记录任何地方的“MetalFlush”到底是什么,但我会根据以前使用OpenGL的经验来回答:在GPU驱动的应用程序的执行周期中,CPU会将数据推送到GPU,等待GPU完成对这些数据的操作(可能同时做其他工作),一旦GPU被完成后,推送更多数据并请求更多操作。通常,“刷新”意味着CPU正在等待GPU完成操作(“刷新旧数据”),以便它可以将更多数据推送到GPU。因此,如果我的解释是正确的,那将意

ios - 球体上两点之间的圆柱方向,Scenekit,四元数 IOS

我一直在尝试使用SceneKit在球体外缘的两点之间绘制一个圆柱体。我已经使用原始几何图形和带有SCNRenderingDelegate的openGL在这两点之间生成了一条线,但是现在我需要在这两个点之间生成一个圆柱体(好吧,不仅仅是两个,而是位于球体表面的任意两个3D矢量).我已经为此连续工作了大约3天,并且我已经完成了我能找到的关于实现四元数的所有内容以实现这一点,但就目前而言,我无法让它工作。学术文章、科学研究,什么都没有,没有任何东西可以重新调整两个固定点之间的圆柱体。我需要一种算法来执行此操作。无论如何,这是我最近的代码,但它不起作用,但这只是我到目前为止已经完成的近2k行代

ios - ARKit 演示在 iPhone 6/iPhone 6 Plus 上崩溃

我正在使用ARKitFeature,最近的主要iOS版本,但我遇到了错误failedassertionMTLRenderPassDescriptor:MTLStoreActionMultisampleResolvestoreactionforthedepthattachmentisnotsupportedbydevice我的iPhone设备上已经安装了iOS11beta。 最佳答案 由于以上所有答案,这是对A9芯片的硬件限制。无论如何,将ARKit添加到Info.plist上的UIRequiredDeviceCapabilities

ios - SceneKit 统计窗口告诉我们什么?

这是在showStatistics设置为true时打开的窗口。我很好奇所有这些符号的含义?到目前为止,我发现每秒帧数需要尽可能高并且保持恒定。其他是什么意思,它们有什么用? 最佳答案 这是您所看到的(注意:我从经验中了解他们中的大多数,所以如果我错了,请随时在评论中纠正我):红色和灰色条是一种绩效评估。它基于FPS,您应该尽一切努力让它保持绿色和完整。现在,情况很糟糕!GL告诉您正在使用的渲染引擎6FPS是您的帧率。这意味着您的屏幕在一秒钟内更新了多少次。您的目标应该是60,(这是最大值,也是现代游戏所期望的),但是30是可以接受的

ios - 在没有 iPhone6s 或更新版本的情况下测试 ARKit

我在决定下载Xcode9之前。我想玩新框架-ARKit。我知道要使用ARKit运行应用程序,我需要一台配备A9芯片或更新芯片的设备。不幸的是我有一个旧的。我的问题是针对已经下载了新Xcode的人。在我的案例中有可能运行ARKit应用程序吗?任何模拟器或其他东西?有任何想法还是我必须购买新设备? 最佳答案 ARKit可在任何iOS11设备上使用,但实现高质量AR体验的世界跟踪功能需要配备A9或更高处理器的设备。必须将您的设备更新为iOS11beta。 关于ios-在没有iPhone6s或更

ios - Scenekit Pan 2D Translation to Orthographic 3D only horizo​​ntal

我在3D编程方面遇到了更多的数学问题,希望您能帮助我!我正在尝试使用具有等角角度的Scenekit创建3D游戏。这段代码创建了我的正交相机:varcameraNode=SCNNode()cameraNode.camera=SCNCamera()cameraNode.name="Camera"cameraNode.position=SCNVector3Make(-5.0,-5.0,10.0)cameraNode.eulerAngles=SCNVector3Make(PI/3.0,0.0,-PI/4.0)cameraNode.camera?.usesOrthographicProjecti