小编mnu*_*ges的帖子

在 ARKit 3 中从 3D 骨架检索骨骼旋转

我试图获得与他们父母相关的骨骼旋转,但我最终得到了非常奇怪的角度。

我已经尝试了所有方法,矩阵乘法、偏移、轴交换,但没有运气。

guard let bodyAnchor = anchor as? ARBodyAnchor else { continue }

let skeleton = bodyAnchor.skeleton
let jointTransforms = skeleton.jointLocalTransforms

for (i, jointTransform) in jointTransforms.enumerated() {

    //RETRIEVE ANGLES HERE
}
Run Code Online (Sandbox Code Playgroud)

//RETRIEVE ANGLES HERE我尝试过不同的方法:

let n = SCNNode()
n.transform = SCNMatrix4(jointTransform)
print(n.eulerAngles)
Run Code Online (Sandbox Code Playgroud)

在这次尝试中,我将JointTransformation设置为 a,SCNNode.transform以便我可以检索eulerAngles以使它们具有人类可读性并尝试了解发生了什么。

我开始工作一些关节,但我认为这纯粹是巧合或运气,因为其余的骨骼旋转非常奇怪。

在其他尝试中,我使用jointModelTransforms(模型,而不是本地)来获取它们,因此所有变换都相对于骨架的根骨骼。

用这种方法我做矩阵乘法是这样的:

LocalMatrix = Inverse(JointModelMatrix) * (ParentJointModelMatrix)
Run Code Online (Sandbox Code Playgroud)

为了获得相对于其父级的旋转,但同样的情况,一些骨骼旋转正常,其他旋转很奇怪。我敢打赌纯属巧合。

为什么我想要获得骨骼旋转?

我正在尝试使用我的手机构建一个 MoCap 应用程序,该应用程序将旋转传递给 Blender,尝试从中构建 .BVH 文件,以便我可以在 Blender 上使用它们。

这是我自己的装备:

我以前用 Kinect 做过这件事,但我已经尝试了好几天在 ARKit 3 上做到这一点,但没有运气:(

swift arkit ios13 realitykit

7
推荐指数
1
解决办法
1211
查看次数

在不调用init的情况下从文件加载SKScene的方法(fileNamed:"")

正如标题所说,是否有任何方法可以调用SKScene从文件(.SKS)加载a 而无需调用init(fileNamed: "...")方法?

scene sprite-kit swift

6
推荐指数
1
解决办法
347
查看次数

是否有将 RealityKit 场景导出到 USDZ 的功能?

我有一个 RealityKit 场景,我想导出到文件格式(最好是 USDZ),我还没有\xe2\x80\x99t 找到任何解决方案。我知道可以使用 SceneKit,但不能使用 RealityKit。

\n

augmented-reality swift usdz realitykit

6
推荐指数
1
解决办法
511
查看次数

dyld:未找到符号:__Tdd1212oreGraphics7CGFloat

我使用Apple的新编程语言Swift在Xcode 6中编写了一个SpriteKit游戏.我对swift相对较新,我能够在Xcode 6 Beta 3中无错误地构建应用程序.但是,自从Beta 4发布以来,我一直无法在我的iPhone上运行该应用程序,但iOS模拟器仍然有效.

我的iPhone正在运行iOS 8 Beta 4和应用程序,如果在我的Mac上运行Xcode 6 Beta 4,它正在使用OS X Yosemite Beta 4.启动应用程序时,我在打开游戏的第一个场景之前得到错误,全部错误在这里:

dyld:未找到符号:__TMdV12CoreGraphics7CGFloat参考自:/private/var/mobile/Containers/Bundle/Application/5FA54F59-06DB-4044-AB46-B53431A70E79/Rollat​​hon.app/Rollat​​hon预期在:/ private/var/mobile/Containers//private/var/mobile/Containers/Bundle/Application/5FA54F59-06DB-4044-AB46-B53431A70E79/Rollat​​hon.app/Rollat​​hon(lldb)

我的第一个场景是这样的:

import SpriteKit
import CoreGraphics

class GameScene: SKScene {
let playBtn = SKSpriteNode(imageNamed: "playBtn")
let title = SKSpriteNode(imageNamed: "title")
let settings = SKSpriteNode(imageNamed: "settings")

override func didMoveToView(view: SKView) {
    // Setup background
    self.backgroundColor = UIColor(hex: 0x80D9FF);

    // TODO: ADD SETTINGS

    // Setup play button
    self.playBtn.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
    self.playBtn.setScale(0.2)

    // TODO: Setup title image
    //self.title.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMaxY(self.frame) - (self.title.size.height / …
Run Code Online (Sandbox Code Playgroud)

iphone xcode ios sprite-kit swift

3
推荐指数
1
解决办法
784
查看次数

如何使用 Reality 套件在屏幕前设置实体?

新的现实套件相机变换似乎具有误导性。当我将实体的变换设置为相机的变换时,它不会跟随屏幕的正面,而是始终靠近世界原点。scnview中曾经有pointOfView。我应该怎么做才能产生相同的效果

augmented-reality arkit realitykit

3
推荐指数
1
解决办法
1446
查看次数

目标 C 中的“DispatchQueue.main.async { [weak self] in”?

Swift 代码的等价物是什么:

DispatchQueue.main.async { [weak self] in
        self?.detectObjects()
    }
Run Code Online (Sandbox Code Playgroud)

在目标 C 中?

谢谢。

objective-c swift

0
推荐指数
1
解决办法
5307
查看次数