scenekit相关内容

在 Scenekit 中变换和旋转

我有一个 SCN 节点,我已将其转换为所需的旋转和角度. 我现在想在它的新 x 轴上无限旋转它,但我似乎无法让它旋转 360 度,它只是稍微移动. 让 spin = CABasicAnimation(keyPath: "rotation")spin.fromValue = NSValue(SCNVector4: SCNVector4(x: item.rotation.x, y: item. ..
发布时间:2022-01-16 14:22:22 移动开发

swift:将 y 轴朝向 3-d 空间中的另一个点

假设您在 3-D 空间中有两个点.调用第一个 o 为原点,另一个 t 为目标.每个的旋转轴都与世界/父坐标系(以及彼此)对齐.放置与原点重合的第三个点r,相同的位置和旋转. 如何在 Swift 中旋转 r 使其 y 轴指向 t?如果指向 z 轴更容易,我会改用它.其他两个轴的最终方向对我的需求来说并不重要. 我已经进行了许多与此相关的讨论,但没有一个令人满意.我从阅读和经验中了解到,欧 ..
发布时间:2022-01-16 14:12:50 移动开发

使用overlayskscene Xcode Swift 触摸屏幕Scenekit 时应用程序崩溃

嘿,好的,在 Overlayskscene 上的场景套件 3D 游戏中识别 HUD 触摸的最佳方法是什么.因为我有一个名为“AButton"的按钮,但是当我触摸按钮或屏幕时,经过数小时的搜索游戏会崩溃,我猜问题是场景套件上的 touchbegin 不完全相处.但是,我该如何做到这一点,以便当用户触摸 HUD 上的按钮时,它不会使系统崩溃并且它实际上可以工作.你能看看我的代码并重写它吗?我是使用 t ..
发布时间:2022-01-11 12:27:06 移动开发

使用带有 SKScene 子类的 sks 文件

我很高兴看到您在 Xcode 6 中使用 SKS 编辑器可以做的所有事情.我可以在 sks 编辑器中布置一些精灵、灯光、法线等.然后我可以像这样在我的视图控制器中加载 sks 文件: -(void)viewWillLayoutSubviews {[超级视图WillLayoutSubviews];//配置视图.SKView * skView = (SKView *)self.view;如果(!sk ..
发布时间:2022-01-11 12:18:01 移动开发

如何在 Swift 中将 SKScene 覆盖在 SCNScene 上?

网上有一些overlay教程,都是用的overlaySKScene 在某个时候. 这在我的项目中是不可能的,因为(我猜)我的视图在任何时候都不使用 SCNView 的构造函数(其中 overlaySKScene 是其中的一部分). 在ViewController的viewDidLoad中,基本上只创建了MainScene: viewDidLoad() {self.sceneView ..
发布时间:2022-01-11 11:40:44 移动开发

球体上两点之间的圆柱体方向,Scenekit,四元数 IOS

我一直在尝试使用 SceneKit 在球体外边缘的两点之间绘制圆柱体.我已经使用原始几何和带有 SCNRendering Delegate 的 openGL 在这两个点之间生成了一条线,但是现在我需要在这两个点之间生成一个圆柱体(嗯,不仅仅是两个,而是位于球体表面的任何两个 3D 向量).我已经连续工作了大约 3 天,并且我已经完成了所有我能找到的实现四元数以实现这一目标的方法,但就目前而言,我无 ..
发布时间:2022-01-09 09:10:44 移动开发

对 SceneKit 中相机的正交投影感到困惑

我想使用正交投影在我的应用中显示 3D 场景.在我的代码中,我在场景中放置了一个框,并设置了视点的正交投影,如打击.(0,0,500) 处的相机看 -z 方向,并在世界的原点框.所以相机应该能够捕捉到盒子. 让 cameraNode = SCNNode()让 pov = SCNCamera()pov.usesOrthographicProjection = true让宽度 = UISreen.m ..
发布时间:2022-01-09 08:50:03 移动开发

SceneKit 相机,如何补偿欧拉规则(方向)变化

也许这更像是一道数学题,但我希望有人能帮助我了解如何补偿相机方向的变化. 我想做的是能够使用类似游戏的控件在场景中移动我的相机.我设置了 W S A D 键来分别向前、向后、向左和向右移动相机.我通过更改相机节点的位置向量的值来做到这一点.我还有右左上和下箭头键映射到转动和倾斜相机.我通过调整相机节点的欧拉规则(俯仰和偏航)来做到这一点. 在我用左右箭头转动相机之前,一切正常.在此之后 ..
发布时间:2022-01-08 20:58:04 移动开发

带有场景套件相机的鱼眼广角:可能吗?

如何使用 Scene Kit 中的 SCNCamera 获得像鱼眼镜头对视图所做的那样的失真? 类似于这种图像的“鞠躬": //正如 Rickster 所指出的,这种失真被称为“桶形失真". 从文档中,这就是让我对使用相机进行这种失真的可能性感兴趣的部分: 如果你计算你自己的投影变换矩阵,你可以使用这个直接设置它的方法,覆盖合成的转换来自相机的几何属性. 不幸的是,我 ..
发布时间:2022-01-08 20:45:41 其他开发

Swift 3 中的 SCNGeometryElement 设置

我硬着头皮开始将我的应用程序转换为 Swift 3.与往常一样,转换器仍有很多不足之处.在这种情况下,我不确定如何正确编码新版本.这是原文: 让索引:[CInt] = [0,1,2,3]让 dat = NSData(字节:索引,长度:sizeofValue(索引))让 ele = SCNGeometryElement(data:dat,primitiveType: .Triangles,prim ..
发布时间:2022-01-01 11:50:52 移动开发

将 SceneKit 对象放置在 SCNCamera 当前方向的前面

我想在用户点击屏幕时创建一个新的 SceneKit 节点,并让它以设定的距离直接出现在相机前面.为了测试,这将是一个 SCNText 读取“你点击这里".它也应该与视线成直角 - 即“面对"相机. 那么,鉴于 self.camera.orientation SCNVector4(或类似的),我该怎么做: 生成 SCNVector3,将节点置于摄像机“前面"给定距离处? 生成定位节点的 ..
发布时间:2022-01-01 11:13:57 其他开发

使用 SceneKit 在两点之间画一条线

我有两个 SCNVector3 类型的点(我们称它们为 pointA 和 pointB).我想在它们之间划一条线.看起来应该很容易,但找不到方法. 我看到两个选项,都有问题: 使用半径非常小的 SCNCylinder,长度为 |pointA-pointB|然后定位/旋转它. 使用自定义 SCNGeometry 但不确定如何;也许必须定义两个三角形才能形成一个非常细的矩形? ..
发布时间:2021-12-17 23:16:51 移动开发

旋转 SCNCamera 节点,观察虚拟球体周围的物体

我在位置 (30,30,30) 有一个 SCNCamera,在位于位置 (0,0,0) 的对象上有一个 SCNLookAtConstraint.我正在尝试使用 UIPanGestureRecognizer 使相机围绕假想球体上的对象旋转,同时保持相机和对象之间的半径.我假设我应该使用四元数投影,但我在这方面的数学知识非常糟糕.我的已知变量是 x &y 翻译 + 我试图保持的半径.我已经用 Swif ..
发布时间:2021-12-01 18:10:32 移动开发

从单应性或使用 solvePnP() 函数估计相机姿态

我正在尝试在一张照片上构建静态增强现实场景,其中平面和图像上的共面点之间有 4 个定义的对应关系. 以下是分步流程: 用户使用设备的相机添加图像.让我们假设它包含一个从某个角度捕获的矩形. 用户定义矩形的物理尺寸,它位于水平面(就 SceneKit 而言是 YOZ).让我们假设它的中心是世界的原点 (0, 0, 0),所以我们可以很容易地找到每个角的 (x,y,z). 用户在图像坐 ..
发布时间:2021-11-30 17:04:22 移动开发