SceneKit是一个高级框架,用于为iOS,OS X,tvOS和watchOS构建3D用户界面,数据可视化和休闲游戏。
如何在 Swift(ARKit、Metal)中使 ARView 背景变成黑白,但保持节点对象的颜色?
我正在开发一个 ARKit 项目,我使用 ARView (或 ARSCNView)在现实世界中放置节点。我想对相机源背景应用黑白滤镜,同时保留我的 3D 节点
我需要将2个欧拉角加在一起。 我所做的是将欧拉角转换为旋转矩阵,然后将它们相乘。 然而,最终,要从 rot 中得到最终的欧拉角...
复制的 SCNGeometry 在当前运行循环中不会立即工作
我观察到一个非常奇怪的行为,复制的 SCNGeometry 无法立即工作。我必须等待一个运行循环(DispatchQueue.main.async)才能使其工作。这是一个错误还是我做了一些...
我有以下运行良好的辅助函数: funcrotationToEuler(旋转:SCNVector4) - > SCNVector3 { 让节点 = SCNNode() 节点.rotation = 旋转 返回节点.eulerAngles } 夫...
我一直在场景套件中制作游戏,但物体的边缘很难看到,导致一些游戏细节无法看到。 有没有办法在整个游戏周围制作黑色轮廓
混合SceneKit和SpriteKit时我应该使用`overlaySKScene`还是`SK3DNode`?
我正在制作 3D 游戏,但想重用现有 2D 游戏中的一些组件(例如弹出暂停窗口)。我显示菜单项的顶部和底部区域也是二维的。
SceneKit flattenedClone 意外更改节点
我有一个包含 3 个几何图形的 3D 模型,如下突出显示 这是我从 USDZ 文件创建此类 SCNNode 的代码: 私有 func readGeo(fn: String) -> SCNNode { 让捆绑 = Bu...
从 Orientation 获取 SCNNode 的“上”侧
我在 SCNScene 中有一个 SCNBox。一旦场景动画化,SCNBox 的方向就会发生变化,可以通过检查其presentationNode.orientation 来看到。该值在 SCNVector4 中返回。哈...
我购买了3D模型文件及其FBX格式。我在搅拌机中打开它,模型如下所示: 然后我在 Apple 的 Reality Converter 中打开它,它看起来像这样: 然后我将其转换为...
如何在 Swift 中将碰撞位掩码设置为 SceneKit 中的 `all`
我需要将一个SCNNode的collisionBitMask设置为默认值,即所有位设置。 事实证明这是相当棘手的,以下是我迄今为止的研究: CollisionBitMask 是 Int 类型(不是...
我需要设置节点的物理体。当我有一个自定义枢轴但没有缩放或旋转时,我可以简单地通过枢轴的反转来变换形状,如下所示: 让 boxGeo = SCNBox...
我有一个名为navigation.scn的文件,其中有3个模型spaceship.usdz Earth.usdz和moon.usdz。我目前用我的代码看不到任何一个 3。我还在我想看的地方放置了一个相机....
SceneKit 在 RealityKit 中的“allowsCameraControl”等效项
在 SceneKit SDK 中,要允许控制相机移动,您需要将名为 .allowsCameraControl 的参数设置为 true。 var scnView = SCNView(frame: .zero) scnView.allowsCameraControl = true 什么
我试图找到碰撞时两个物体之间的接触区域(重叠区域矩形)。在 Scenekit 中,我收到有关碰撞物理世界的回调(_ world: SCNPhysicsWorld, didBegin
如何将相机放置在 SceneKit 中 SK3DNode 内的 3D 模型中心
我希望能够在 SK3DNode 内居中放置 3D 模型。我有以下代码: 公共扩展 SK3DNode { static func forModel(_ 模型: SCNNode, 大小: CGSize) -> SK3DNode { 让...
我正在使用 SceneKit 制作 3D 棋盘游戏。棋盘本身是平坦的,但上面的棋子是 3D 的。我想放置相机,使其以这样的角度向下看板: ...
如何继承 SCNNode 并使用采用 MDLObject 的 init?
我需要子类化 SCNNode 并使用采用 MDLObject 的 init(这不是指定的 init)。 公共类 MyModelNode: SCNNode { 公共变量 geo: SCNGeometry! 私有函数 dfs(节点: