我试图获得与他们父母相关的骨骼旋转,但我最终得到了非常奇怪的角度。
我已经尝试了所有方法,矩阵乘法、偏移、轴交换,但没有运气。

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 上做到这一点,但没有运气:(
正如标题所说,是否有任何方法可以调用SKScene从文件(.SKS)加载a 而无需调用init(fileNamed: "...")方法?
我有一个 RealityKit 场景,我想导出到文件格式(最好是 USDZ),我还没有\xe2\x80\x99t 找到任何解决方案。我知道可以使用 SceneKit,但不能使用 RealityKit。
\n我使用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/Rollathon.app/Rollathon预期在:/ private/var/mobile/Containers//private/var/mobile/Containers/Bundle/Application/5FA54F59-06DB-4044-AB46-B53431A70E79/Rollathon.app/Rollathon(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) 新的现实套件相机变换似乎具有误导性。当我将实体的变换设置为相机的变换时,它不会跟随屏幕的正面,而是始终靠近世界原点。scnview中曾经有pointOfView。我应该怎么做才能产生相同的效果
Swift 代码的等价物是什么:
DispatchQueue.main.async { [weak self] in
self?.detectObjects()
}
Run Code Online (Sandbox Code Playgroud)
在目标 C 中?
谢谢。
swift ×5
realitykit ×3
arkit ×2
sprite-kit ×2
ios ×1
ios13 ×1
iphone ×1
objective-c ×1
scene ×1
usdz ×1
xcode ×1