scenekit

    0热度

    2回答

    有没有最佳做法,当涉及到在场景和节点子类中重写touchesBegan等游戏而不是使用gestureRecognizers? 我知道苹果的模板中有override func touchesXXXX方法,这允许更多的控制(除非使用自定义识别器)。但是很多教程似乎都使用了GestureRecognizer方法。 这是主要的教程使事情变得更容易,还是更常见的使用GestureRecognizer路线来消

    3热度

    2回答

    这可能更像是一个线性代数问题,但是说我有一个SCNVector,并且我想要一个新的SCNVector,它与y轴(或任何轴)之间的角度与原始角度成一定角度。如此理想地: extension SCNVector3 { // assume dot, cross, length, +, - functions are available. enum Axis { case

    0热度

    1回答

    我已经创建了一条线,但我无法增加它的厚度。 有没有什么firstMaterial,我可以用它来增加我的线的厚度? 在这里,你是我的功能: func getDrawnLineFrom(pos1: SCNVector3, toPos2: SCNVector3) -> SCNNode { let line = lineFrom(vector: pos1, toVector: toPos2)

    2热度

    1回答

    我正在尝试使用平移手势识别器移动scenekit中的节点。我只是沿x轴移动它,但是我的手势使对象进一步/更快地移动,然后它甚至应该只使用小手势。我不是100%肯定,我在做什么错在这里,但这里是我的手势识别代码: @objc func handlePan(pan:UIPanGestureRecognizer) { if pan.state == .changed { let t

    0热度

    2回答

    我正在使用ARKit-SceneKit处理应用程序。在我的应用程序中,我已经启用了表面检测(我跟着apple提供的放置对象样本)。如何查找检测到的表面是否不再可用?也就是说,最初只有当用户在ARSession中检测到表面时,我才允许他放置3D对象。 但是,如果用户快速移动或聚焦某处,检测到的表面区域就会丢失。在这种情况下,如果用户试图放置另一个物体,我不应该允许他放置它,直到他再次扫描地板并修正表

    1热度

    2回答

    所以要清楚我的目标,因为我没有任何代码可以分享...可以说我有一个位于摄像头和另一个SCNNode之间的SCNNode。第一个SCNNode是SCNBox,但没有纹理,因此第二个SCNNode可以在它后面看到。我想给第一个节点一个透明的材质,但是也让它隐藏在它后面的所有节点,就好像它是不透明的。在一个普通的场景中,这意味着你可能会看到场景背景颜色,也许是黑色的,但是我打算在ARKit中这样做,因为

    6热度

    1回答

    我与iOS 11(为ARKit)和工作,而许多人指出,为SceneKit苹果与狐狸一个示例应用程序,我有它在样本项目(file)添加动画使用扩展问题: extension CAAnimation { class func animationWithSceneNamed(_ name: String) -> CAAnimation? { var animation: CAAni

    0热度

    1回答

    给定SCNNode,如何确定点(在节点的坐标系中指定)是否包含在该节点的几何内? 或者,如果更简单,我该如何测试一个点是否包含在节点的边界框内?

    2热度

    1回答

    我对场景包和3D开发一般都很陌生,我正在玩弄ARKit并尝试将纹理贴合到飞机上(很好,它只是一个scnbox,但只有顶部表面),但我严重失败也没有找到有用的东西在网络上。 我有一个很长的矩形PNG图像的道路纹理。 width:height ratio大约是20:1 一旦arkit为我找到了平面,我想将这个纹理应用到表格的表面。我不知道应用程序启动之前表格的尺寸。 我现在可以在这个平面上应用纹理,也

    0热度

    1回答

    为了学习Swift SceneKit,我正在研究Apple "Badger"演示。它具有跟踪铁轨的卡丁车动画。我不明白什么是产生这个动画。有一个scene.scn文件,其中有一个“Bob根”节点,它是卡丁车动画的占位符,并且有许多动画.scn文件,其中没有动画的“Bob根”。我明白“let cartAnimation = scene.rootNode.animation(forKey:cartAn