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
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。