初学者,看这篇文章感觉就能稍微入门:
RealityKit - 基础概念 - Quincy-QC | Blog
RealityKit包含四类实体:ARView、Scene、Anchor、Entity,AR应用中的所有虚拟元素都是以实体的形式存在,其中ARView是进入AR世界的入口,在创建ARView时会自动创建一个Scene,而Scene是放置所有实体对象的容器,实体的添加需要指定在空间中的锚点,即AnchorEntity,用于在现实空间与虚拟之间建立关联关系,在添加AnchorEntity后再将实体对象添加到AnchorEntity形成层级关系。
以下是示例demo:
//
// ViewController.swift
// 初探RealityKit
//
// Created by Mengduan on 2023/7/9.
//
import UIKit
import RealityKit
import ARKit
class ViewController: UIViewController {
@IBOutlet var arView: ARView!
override func viewDidLoad() {
super.viewDidLoad()
//1. 3D Model
//
let sphere = MeshResource.generateSphere(radius: 5)
//isMetallic 金属外观
let material = SimpleMaterial(color: .systemPink, roughness: 0, isMetallic: true)
//实体模型
let sphereEntity = ModelEntity(mesh: sphere,materials: [material])
//2. Create Anchor(虚拟对象锁定到特定点)
//AnchorEntity 锚点实体
let sphereAnchor = AnchorEntity(world: SIMD3(SCNVector3(x: 0, y: 0, z: -5)))
//添加实体模型到锚点中
sphereAnchor.addChild(sphereEntity)
//3. Add anchor to scene
arView.scene.addAnchor(sphereAnchor)
}
}
参考:Before visionOS: iOS AR场景下实现手指识别交互-ARKit + RealityKit + VisionKit - 掘金