草庐IT

ARKit-SceneKit

全部标签

swift - 使用粒子系统爆炸 3D 文本(Swift - SceneKit)

我正在使用SwiftSceneKit制作一些爆炸式3D文本。以下是正文:lettext=SCNText(string:"ExplodingText",extrusionDepth:5)letnode=SCNNode(geometry:SCNText)scene.rootNode.addChildNode(node)这是我的粒子系统:letexp=SCNParticleSystem()exp.loops=falseexp.birthRate=5000exp.emissionDuration=0.01exp.spreadingAngle=180exp.particleDiesOnColli

swift - 重置 ARKit 坐标

我有一个简单的问题。如果我想开始游戏并将棋盘放在我面前:gameBoard!.position=SCNVector3(0,0,-0.6)这一直有效,直到我离开游戏并再次回来。我可以在镜头前完全相同的位置或在我面前的0.6m显示游戏板吗?我可能已经换到另一个位置了。 最佳答案 如果您想重置ARSession,您必须暂停、删除所有节点并通过重置跟踪和删除anchor来重新运行您的session。我制作了一个重置​​按钮,每当我想重置时它都会执行:@IBActionfuncreset(_sender:Any){sceneView.sess

swift - 3d模型SceneKit/ARKit最好使用哪种格式文件

我阅读了一些教程,了解如何在SceneKit/ARKit应用程序中放置3d对象,它们都使用.scn格式的对象文件。但我发现如果我使用原始的.dae格式并且不将其转换为.scn格式则没有任何问题。我真的看不出.dae和.scn格式之间有什么区别。实际上结果在我看来是一样的,但你能解释一下它们之间的区别以及我应该在什么情况下使用什么吗?谢谢! 最佳答案 差异.dae和.scn格式之间的区别很明显。Collada.dae(代表数字Assets交换)是一种跨平台的基于XML的架构文件格式用于3D创作应用程序(如Maya或Blender)中的

ios - ARKit - 如何创建旋转对象手势功能?

我是ARKit的新手。我想创建一个旋转对象的函数。这是我关于拖动和旋转对象的代码://Rotateobject@objcfuncrotateRecognized(sender:UIPanGestureRecognizer){letsceneView=sender.viewas!ARSCNViewletswipeLocation=sender.location(in:sceneView)lethitTest=sceneView.hitTest(swipeLocation)if!hitTest.isEmpty{sender.minimumNumberOfTouches=2letresult

ios - iPhone 5 上的 SceneKit 和 CoreMotion "lagging"但在 iPhone 6 上正常

我正在使用SceneKit进行测试,所以我决定制作一个虚拟现实测试应用程序。我将从设备运动中获取数据,然后根据数据更改摄像机角度。我在iPhone6上进行测试,所以没问题。当我在iPhone5和friend的iPhone5S上运行它时,事情变得很奇怪,相机将需要一些延迟才能旋转,这与iPhone6非常不同,后者是即时的。Xcode上的FPS在两台设备上都保持在60FPS左右,我添加了一些时间测试,两台设备上的运动数据也在60Hz左右。我迷路了。代码的基础是这个项目:https://github.com/stevenjs/VR-iOS-Experiment如果可能的话,我想要一些关于如何

swift - arkit anchor 或节点在相机中可见,位于截锥体的左侧或右侧

我如何检测ARAnchor当前是否在相机中可见,我需要在相机View发生变化时进行测试。当不在屏幕上时,我想在屏幕边缘放置指向anchor方向的箭头。我需要知道节点是位于视锥体的左侧还是右侧。我现在正在这样做,但它说pin是可见的,而实际上它不可见,而且X值似乎不正确?也许渲染器截锥体与屏幕相机不匹配?vardeltaTime=TimeInterval()publicfuncrenderer(_renderer:SCNSceneRenderer,updateAtTimetime:TimeInterval){deltaTime=time-lastUpdateTimeifdeltaTime

swift - 如何使用平移手势在场景中旋转对象 - SceneKit

我打算用Scenekit创建一个应用程序来解决RubixCube。我有自己的多维数据集dae文件。这是我在viewDidLoad中的设置代码letmyscene=SCNScene(named:"Rubik1.scnassets/Rubiks_Cube.dae")scene.rootNode.addChildNode((myscene?.rootNode)!)//retrievetheSCNViewletscnView=self.viewas!SCNView//setthescenetotheviewscnView.scene=scenegeometryNode=(scnView.sce

ios - SceneKit 剔除平面

我在SCNView中有一个SCNScene渲染。我有一些*.dae模型在场景中渲染/移动。我有一个透明的立方体,当我的一个模型在它后面时,我希望模型不被渲染,因为此刻,由于立方体是透明的,你可以透过立方体看到它。是否有任何属性/设置/着色器可以应用到透明立方体,以便不渲染它后面的任何东西?例子:我的眼睛是绿点,立方体是蓝色方block,我的模型是红色圆圈,然而被立方体隐藏的圆圈部分是紫色的......这实际上是不可见的。蓝色方block也将不可见。这个开发人员有一个遮挡着色器可以满足我的需要,但它是Unity:https://youtu.be/MK3D91kCKzM亲切的问候克里斯

ios - ARKit 是否支持前置摄像头?

我们如何使用ARCamera或ARSCNView访问前置摄像头图像,是否可以像摄像头录制一样录制ARSCNView? 最佳答案 关于前置摄像头:简而言之,没有。ARKit提供两种基本的增强现实体验:世界跟踪(ARWorldTrackingConfiguration),使用后置摄像头,用户可以“透过”设备查看周围世界的增强View。(还有AROrientationTrackingConfiguration,它是世界跟踪的降低质量版本,因此它仍然只使用后置摄像头。)面部跟踪(ARFaceTrackingConfiguration),仅支

ios - 如何为溶解效果编写 sceneKit 着色器修改器

我想为Scenekit游戏构建溶解效果。我一直在研究着色器修改器,因为它们似乎是最轻量级的,并且没有运气复制这种效果:是否可以使用着色器修改器来创建这种效果?你将如何实现一个? 最佳答案 您可以使用片段着色器修改器获得非常接近预期的效果。基本方法如下:噪声纹理样本如果噪声样本低于某个阈值(我称之为“揭示”),则将其丢弃,使其完全透明否则,如果片段靠近边缘,请将其颜色替换为您喜欢的边缘颜色(或渐变)应用光晕使边缘发光这是执行此操作的着色器修改器代码:#pragmaargumentsfloatrevealage;texture2dnoi