use*_*842 1 augmented-reality swift arkit realitykit reality-composer
我正在使用以下代码旋转从 Reality Composer 加载的实体。我希望球体会简单地旋转。但是,我留下了新的旋转实体和旧实体。以为这会很简单。
我该怎么做才能只旋转实体而不复制它?
ball?.transform.rotation = simd_quatf(angle: GLKMathDegreesToRadians(90),
axis: SIMD3(x: 0, y: 1, z: 0.5))
Run Code Online (Sandbox Code Playgroud)
旋转球时可能会出现两个问题:
在 Reality Composer 场景中偶尔会创建两个球,并且您可以旋转两个球的父实体(节点)
您的应用程序中有一个错误(所以我们在这里不考虑它......)
通常,RealityKit 中旋转和缩放模型的代码如下所示:
let ballAnchor: Experience.Ball = try! Experience.loadBall()
ballAnchor.ball?.orientation = simd_quatf(angle: Float.pi/4,
axis: [0, 1, 0])
ballAnchor.ball?.scale = [9, 9, 9]
arView.scene.anchors.append(ballAnchor)
Run Code Online (Sandbox Code Playgroud)
其中 aBall是符合协议的公共类,并且包含实际的RealityKit.HasAnchoring对象。ballRealityKit.Entity
因此,如果您想更改球对象的 X 轴位置,只需使用:
ballAnchor.ball?.position.x = 0.5
Run Code Online (Sandbox Code Playgroud)
但不是这样的:
ball?.position.x = 0.5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1753 次 |
| 最近记录: |