scenekit

    0热度

    1回答

    我试图确定在旋转节点的路径中是否存在可能的接触。我的想法是做一个递增的旋转(对于90度环10次9度)并且每次都进行接触测试。我的问题是,即使我每次都调用updateCollisionPairs(),即使路径中存在对象,联系人也是空的。下面是说明它在某种程度上图片(面朝前): 我想通过旋转90度节点A,但在此之前我需要检查“路径是明确的” - 在这个情况下节点B是这样的,所以我期待着一个或多个增量旋

    1热度

    1回答

    我有一个SCNNode表示玩家在第一人称游戏中使用的物品(使用ARKit)。 我将节点制作为摄像机的子节点,以便它总是在观看者的前方漂浮很短的距离。但是这个简单的设置使得物品非常静止,只是粘在屏幕上。 更为现实的是,如果我在我面前拿着一个物体,然后转向另一个方向,我的手部运动会滞后我的头部。如果我把头向上或向下倾斜,我对物体的视角也会略有变化。 我怎么能在SceneKit中模拟这个? This q

    0热度

    2回答

    有没有办法将Collada dae文件批量转换为Scenekit scn文件? 我的项目使用sketchup中创建的约50个模型定期更新,这些模型导出到DAE,但也需要转换为SCN文件以用于xCode。我知道它可以通过xCode和“转换为SceneKit场景文件格式(scn)”手动完成,但这需要大量的人力。

    0热度

    2回答

    我知道如何在2D中得到2点之间的atan2角度,但是这是如何在3D中工作的: 可以说我有3点A,B,C(都是SCNVector3,带有x ,y,z坐标 第一条线端点A和B 第二条线端点B和C 现在我想要得到两条线之间的角度......(在ios Swift中) 我读了一些关于dot产品和acos的内容,但不知它不工作... 其中i = 0: var vector1 = SCNVector3((p

    1热度

    1回答

    我正试图将节点完全拖到我的手指在y轴上的屏幕上。但我没有找到任何方法来做到这一点,这是我目前的代码。你有什么主意吗? var movedObject:SCNNode? @objc func handlePan(_ recognizer: UIPanGestureRecognizer) { if recognizer.state == .began { le

    0热度

    1回答

    我的场景中有几个节点,我可以旋转和拖动。我建立了一个physicsWorld委托,为我的节点添加了类型为kinematic的physicsBody并检查了PhysicsWorld didBeginContact - 到目前为止,一切正常,当我移动节点时,联系开始/结束触发。 我试图解决这个问题的方法是设置一个布尔变量,一旦联系开始,以防止进一步移动,但我遇到案件(特别是如果我拖动节点太快),更改为

    1热度

    1回答

    我正在经历一些SceneKit概念,并且我试图巩固在我的脑海中的是unprojectPoint。 我知道这个函数在2D中需要一个点,并在3D中返回一个点(所以有一个具有合适Z值的点)。 当我读我读这篇文章的文档: /*! @method unprojectPoint @abstract Unprojects a screenspace 2D point with depth i

    0热度

    1回答

    我有4个墙壁,1个天花板,1个地板和一个家具。我拖着我的家具在房间里,但它正在穿墙。我尝试了我所知道的一切。仍然无法解决问题。接触检测正在工作。如果我不给它furniture.physicsBody!.damping = 1.0属性,我的家具节点不会留在地板上。请检查视频:https://youtu.be/1iwq7gvTzA4 enum ABC:Int { case furni = 1

    0热度

    1回答

    比方说,我在屏幕中间画了一个圆圈,将它用作目标。如果我将这个圆圈指向节点,那么ARKit如何检测它? 现在我使用的是自来水方法 @IBAction func tapHandler(_ sender: UITapGestureRecognizer) { let viewTouchLocation:CGPoint = sender.location(in: sceneView) g

    0热度

    1回答

    我是0123,的新手,我试图制作一个相对简单的应用程序,在其中创建“墙”并且用户“向其抛掷”球,并且它会反弹回来。 我创建壁作为SCNPlane其中用户正指向照相机像这样: private func createWall(withPosition position: SCNVector3) -> SCNNode { let wallGeometry = SCNPlane(width: 0