質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
ARKit

ARKitは、iPhone/iPad向けのARアプリ用フレームワーク。iOS11以降に標準搭載されています。これを用いたARアプリは、特殊なデバイスがなくてもiPhone/iPadの単眼カメラを使用して動作することが可能です。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

0回答

880閲覧

物理情報を持った3Dモデルを、ARKitで検出した平面に落下させたい

loveCat

総合スコア10

ARKit

ARKitは、iPhone/iPad向けのARアプリ用フレームワーク。iOS11以降に標準搭載されています。これを用いたARアプリは、特殊なデバイスがなくてもiPhone/iPadの単眼カメラを使用して動作することが可能です。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/03/07 09:05

編集2019/03/08 09:18

前提・実現したいこと

物理情報を持った3Dモデルを、ARKitで検出した平面に落下させたい。
(雨が降る様に多数の3Dモデルを落下させ、床に散らばっている状態にしたい)

発生している問題・エラーメッセージ

平面ノード上の低い位置から落下させた場合は、想定どおりの挙動となりますが、
高い位置から落下させると、3Dモデルが平面上に落下せず、平面外に落ちてしまいます。

  • 低い位置から落とした場合

demo

  • 高い位置から落とした場合

demo

以下が該当箇所のコードとなります。
3DモデルのY座標の設定がおかしいのでしょうか...。
アドバイスをいただけましたら、幸いです。

該当のソースコード

swift

1 @objc func update(tm: Timer) { 2 3 if let ballNode = self.ballNode, let planeNode = self.planeNode { 4 5 let cloneBall = ballNode.clone() 6 let (min, max) = planeNode.boundingBox 7 8 let x = Float.random(in: min.x...max.x) 9 let y = Float.random(in: min.y...max.y) 10 let z = Float.random(in: min.z...max.z) 11 12 let cloneBallPosition = planeNode.convertPosition(SCNVector3(x, y, z), to: nil) 13 14 cloneBall.position = cloneBallPosition 15 16 //If I set the y coordinate 0.05, it will work. 17 //cloneBall.position.y += 0.05 18 19 //If I set the y coordinate 1, it will not work. 20 cloneBall.position.y += 1 21 22 sceneView.scene.rootNode.addChildNode(cloneBall) 23 } 24 } 25

※こちら他サイトでも質問させていただいております。
stackoverflow

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問