gpt4 book ai didi

arkit - Realitykit - 自定义 Material

转载 作者:行者123 更新时间:2023-12-03 09:38:53 27 4
gpt4 key购买 nike

使用 Realitykit,尝试将月球实体的 Material 更改为自定义 .jpg,然后点击屏幕以基于 hitTest 生成该对象。当我点击并在调试中收到以下错误时,没有任何显示: [碰撞] 错误的参数 (SphereRadius),值 = 0.000000,传递给形状创建。

import UIKit
import RealityKit

class ViewController: UIViewController {

@IBOutlet var arView: ARView!

override func viewDidLoad() {
super.viewDidLoad()

}

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
if let touchLocation = touches.first?.location(in: arView){
let hitTest = arView.hitTest(touchLocation)
if let hitResult = hitTest.first {
addObject(at: hitResult)
}
}
}

func addObject(at hitResult: CollisionCastHit) {
let moonAnchor = try! Galaxy.loadWorld()
let moon = moonAnchor.moon! as! ModelEntity
var material = SimpleMaterial()
material.baseColor = try! MaterialColorParameter.texture(TextureResource.load(named: "8k_moon.jpg"))
moon.model?.materials = [material]
moon.position = SIMD3(x: hitResult.position.x, y: hitResult.position.y, z: hitResult.position.z)
arView.scene.addAnchor(moonAnchor)
}

}

最佳答案

我在尝试对没有 CollisionComponent 的实体进行 hitTest 时遇到了该错误。 HitTest 需要目标实体上的 CollisionComponent:
“该方法会忽略缺少 CollisionComponent 的实体。”
https://developer.apple.com/documentation/realitykit/arview/3243230-hittest
如果这是问题所在,并且由于您的模型是从 Reality Composer 加载的,则解决方案是选中 RC 物理部分中的“参与”框。

关于arkit - Realitykit - 自定义 Material ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62139844/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com