scnnode

    2熱度

    2回答

    下面的代碼將SCNPlane放置到所觸摸的點上,但是該平面的方向(旋轉)爲手機在應用程序啓動時的位置。理想情況下,我希望將節點定位到實體牆或攝像機的當前方向。這是如何與ARKit完成的? override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { guard let touch = touches

    1熱度

    1回答

    我建立一個ARKit + SceneKit應用程序,它需要在現實世界顯示模式。每次用戶選擇一個按鈕時,模型都會改變。 我試圖加載APON按下按鈕一個新的模型轉換爲節點,然後將其添加到場景的根節點,但這會導致直到它被添加到場景相機凍結幾秒鐘。 然後我讀,這可能是更好的負載在啓動(viewDidLoad或東西)的所有節點,調用場景的prepare方法,然後將節點添加到場景,但這會導致應用程序凍結了幾次

    2熱度

    4回答

    我在SCNode碰撞檢測中遇到了一些麻煩。我需要檢測具有SCNNode的場景中的哪個對象被觸摸,我已經實現了這段代碼,但是當我觸摸對象時看起來崩潰,但是當我觸摸sceneView的其餘部分時工作正常。 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { let touch = touch

    2熱度

    2回答

    我正在創建土星模型,並且在創建環時遇到問題。我發現這個資產 但是當我嘗試將其設置爲瀰漫性,其突出這樣 如何控制的方式在幾何紋理的項目?

    0熱度

    1回答

    我把SCNNode放到了一個場景中。我想提供適當的空間旋轉,因爲這個節點是一個金字塔。我想Z axis指向V2點,X axis指向V1點(這些V2和V1點是動態計算的,當然在這種情況下,軸之間的角度將是90度,因爲我正確計算它們)。 問題:我不能點X軸,因爲SCNLookAtConstraint(target: nodeWithV2)點只有Z軸,以及我看到的是,Z軸是確定的,但X軸始終是隨機的,這

    2熱度

    1回答

    ©我試圖移動我放在表面上的SCNNode對象。 İt移動但規模變化,它變得更小,當我第一次開始移動。 這就是我所做的; @IBAction func dragBanana(_ sender: UIPanGestureRecognizer) { guard let _ = self.sceneView.session.currentFrame else {return} if(

    0熱度

    1回答

    所以, 我有我想要放置節點的確切位置。如果我測試的東西具有球形幾何結構我可以通過告訴節點放置在世界球體: node.simdPosition =位置 (I提供了「位置」作爲輸入到該函數)。 成功地將對象置於世界上我想要的位置。 我真正想要做的是把一個平面: let plane = SCNPlane(width: 0.2, height: 0.3) plane.cornerRadius

    1熱度

    1回答

    我有一個簡單的ARKit應用程序。當用戶觸摸屏幕 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { guard let touch = touches.first else { return } let result = sceneView.hitTest(touch.loca

    0熱度

    2回答

    我試圖把球體放在盒子的頂部,但位置很奇怪:球是半框內隱藏的。我試圖改變盒子和球體的支點,但它沒有幫助。下面的代碼: let cubeGeometry = SCNBox(width: 10, height: 10, length: 10, chamferRadius: 0) let cubeNode = SCNNode(geometry: cubeGeometry) /

    7熱度

    2回答

    我使用ARKit來顯示3D對象。我設法將節點放置在用戶面前的真實世界中(也就是相機)。但是,當我放下它們時,我無法讓它們面對相機。 let tap_point=CGPoint(x: x, y: y) let results=arscn_view.hitTest(tap_point, types: .estimatedHorizontalPlane) guard results.count>0