🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Xcode

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

Swift

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

3DCG

コンピュータの演算により、3次元空間の仮想物体を、2次元平面上で表現する手法である。

Q&A

解決済

1回答

723閲覧

ARマーカ上に3Dアニメーションを配置したい

Homtan

総合スコア5

Xcode

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

Swift

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

3DCG

コンピュータの演算により、3次元空間の仮想物体を、2次元平面上で表現する手法である。

0グッド

0クリップ

投稿2019/12/17 03:05

XcodeのARKitを使用し、画像認識した上に3Dアニメーションを配置したいです。

私はARを使った絵本のアプリを製作中です。絵本の絵を画像認識して、その上にそのページの内容のアニメーションが流れる、というものです。
画像認識して、その画像を覆い尽くす四角を出すまではできるのですが、その上に3Dアニメーションどころか、3DCGすら出ない状況です。

該当のソースコード

import UIKit import SceneKit import ARKit class ViewController: UIViewController, ARSCNViewDelegate { @IBOutlet var sceneView: ARSCNView! //AR Resourcesに目的の画像が埋め込まれている let referenceImages = ARReferenceImage.referenceImages(inGroupNamed: "AR Resources", bundle: Bundle.main) override func viewDidLoad() { super.viewDidLoad() //ARSCNViewDelegateを受け取れるようにする sceneView.delegate = self let scene = SCNScene() sceneView.scene = scene } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) //ARImageTrackingConfigurationに目的の画像を設定 let configuration = ARImageTrackingConfiguration() configuration.trackingImages = referenceImages! sceneView.session.run(configuration) } // ARSCNViewDelegate func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? { let node = SCNNode() if let imageAnchor = anchor as? ARImageAnchor { // 目的の画像を青い面をかぶせる //planeの宣言、サイズ指定 let plane = SCNPlane(width: 10, height: 10) //色指定(無いと白になる) plane.firstMaterial?.diffuse.contents = UIColor.blue //planeNodeの宣言 let planeNode = SCNNode(geometry: plane) //青パネルの高さ planeNode.eulerAngles.x = -.pi / 2 //⇩消したら青パネル出なくなった node.addChildNode(planeNode) } return node } }

試したこと

色々なサイトを参考に、試してみたのですがXcodeのバージョンの違いからか出来ませんでした。
実機転送にipadOSを使用しています。

補足情報(FW/ツールのバージョンなど)

Xcode ver.11.3
iPad OS 13.3

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

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

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

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

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

guest

回答1

0

ベストアンサー

先ず、動いているプロジェクトをチェックアウトしてみて、自分の環境で起動してみてください。ARKitAnimation
チュートリアル:tutorial at Pusher's blog.
ちなみに「Xcode 11.3」で確認しました。iPhone xRの端末でテスト済です。

投稿2019/12/20 01:40

vanderlvov

総合スコア687

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問