【问题标题】:RealityKit – Can't rotate object properlyRealityKit – 无法正确旋转对象
【发布时间】:2021-06-17 15:51:14
【问题描述】:

我没有想法......这是我的代码:

let radians = val * Float.pi / 180

/// object.mEntity = usd Entity.loadModel()
object.mEntity.orientation += simd_quatf(angle: radians, axis: SIMD3<Float>(1,0,0)

object.mEntity.transform.rotation += simd_quatf(angle: radians, axis: SIMD3<Float>(1,0,0)

object.anchorParent.transform.rotation+= simd_quatf(angle: radians, axis: SIMD3<Float>(1,0,0)

该对象是一个结构,它包含我的实体+它所附加的锚点。一般来说,我很少有锚点,比如“初始点击”位置锚点,然后是阴影锚点,然后是模型实体。这样我就可以使用阴影/等移动模型。

无论如何,我不能旋转它,我总是得到“奇怪”的旋转作为输出。看视频>https://www.youtube.com/watch?v=9_WOfLivKvI&ab_channel=DariuszM%C4%85kowski

【问题讨论】:

    标签: swift augmented-reality arkit realitykit


    【解决方案1】:

    使用*= 复合乘法运算符而不是+= 复合加法。

    这里是explanation

    【讨论】:

    • 非常感谢!我以某种方式与其他操作混在一起,忘记了这是四元数 ehh!邪恶的轮回。附带说明......你知道是否有办法为实体对象设置工作枢轴位置/旋转?我需要根据需要围绕前保险杠/后保险杠/车轮/窗户/等/等旋转我的汽车。 RealityKit 是否提供任何类型的旋转?
    • 不,RealityKit 2.0 仍然没有提供支点。但是您可以使用 Reality Composer 的方法来围绕其轴心或其他实体的轴心旋转对象。
    • 嘿,没错。但我正在尝试将 3D 对象与物理对象匹配。目前,我正在考虑在“模拟枢轴”中使用几个锚点,然后分别旋转每个锚点以以某种方式“模拟”枢轴。不确定,想法是在物理对象上放置 x/y/z 点,然后在 3d 对象上放置相同的 x/y/z 点并将它们对齐。这将是一次冒险!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    相关资源
    最近更新 更多