Я хочу программно изменить цвет объекта после его создания в Reality Composer.
Поскольку Reality Composer не создает ModelEntity (он создает общий Entity), похоже, что у меня нет доступа для изменения его цвета. Когда я привожу тип в ModelEntity, у меня теперь есть доступ к материалам ModelComponent. Однако, когда я пытаюсь добавить это в сцену, я получаю ошибку Thread 1: signal SIGABART. Не удалось преобразовать значение типа RealityKit.Entity (0x1fcebe6e8) в RealityKit.ModelEntity (0x1fceba970). Пример кода ниже.
import UIKit
import RealityKit
class ViewController: UIViewController {
@IBOutlet var arView: ARView!
override func viewDidLoad() {
super.viewDidLoad()
// Load the "Box" scene from the "Experience" Reality File
let boxAnchor = try! Experience.loadBox()
// Typecast Steelbox as ModelEntity to change its color
let boxModelEntity = boxAnchor.steelBox as! ModelEntity
// Remove materials and create new material
boxModelEntity.model?.materials.removeAll()
let blueMaterial = SimpleMaterial(color: .blue, isMetallic: false)
boxModelEntity.model?.materials.append(blueMaterial)
// Add the box anchor to the scene
arView.scene.anchors.append(boxAnchor)
}
}