swift - 如何让SCNNode在用户旋转时水平旋转

标签 swift scenekit scnnode

我试图弄清楚当用户以这种方式旋转对象时如何使 SCNNode 仅水平旋转。以在手指上旋转篮球为例。有没有办法做到这一点?我一直想不通!抱歉,如果这听起来很愚蠢!我是 SceneKit 新手!

谢谢!

最佳答案

您只想在 Y 轴上施加扭矩。请参阅此图了解 x、y、z 轴旋转。 https://stackoverflow.com/a/32707673

通过你的节点(假设你使用的是 swift),你可以使用

让扭矩 = SCNVector4(x: Float(0), y: Float(1), z: Float(0), w: Float(0.5)) node.physicalBody?.applyTorque(扭矩, asImpulse: true)

SCNVector 4 中的最后一个值是幅度,因此请尝试使用它来找到适合您的值

关于swift - 如何让SCNNode在用户旋转时水平旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45646126/

相关文章:

ios - 在模拟器中运行 Apple Watch glance 应用程序时出现问题

scenekit - 如何在 SceneKit 中将 allowedCameraControl 与相机节点一起使用

ios - 具有 SceneKit 线条基元类型的笔划宽度

ios - 试图检测在 scenekit 上点击了哪个节点

ios - 如何最大限度地减少(内存泄漏)ARKit场景中的应用程序内存点击后退按钮?

objective-c - 有没有办法让相机缩放但不旋转?

swift - MacOS Playground : How can change the background color?

ios - 如何为 iOS 10 启用通知?

ios - JSONSerialization 中的选项[]

IOS 我可以将 scenekit 或 spritekit 与单 View 应用程序集成吗