scenekit相关内容

SceneKit:将场景导出为 STL 文件以进行 3D 打印?

如何将 SceneKit 场景导出为 STL 文件(用于 3D 打印)? 来自 SCNScene 的 write 函数似乎不支持 STL 格式. 解决方案 你可以使用SCNScene的write(to:options:delegate:progressHandler:). 虽然在线文档只提到了 Collada 和 SceneKit 文件格式,但标题文档指出: macOS ..
发布时间:2021-11-25 04:21:58 C#

如何在 SceneKit 中显示金属和透明纹理?

我无法在 SceneKit 中显示一些纹理,这是我想使用的模型: Sketchfab 中的模型:https://skfb.ly/6QVTQ 模型应该使用 Scene Kit 以这些颜色和纹理出现在 AR 环境中.但是金色的尖端看起来是黑色的,透明镜片根本没有出现.有什么建议可以解决这个问题吗? 模型为.scn格式.这是模型材料属性:https://drive.google.com ..
发布时间:2021-11-25 04:19:43 移动开发

SceneKit - 删除边缘边框中的拼接线

我在立方体上显示纹理(参见 SceneKit - 将立方体纹理映射到框)现在一切正常,但结果显示我在此处勾勒出的一些立方体面之间有一条轻微的缝合线(您在立方体内部): 知道如何摆脱它吗?输入纹理看起来像 因此输入中存在一些不连续性.我正在使用自定义的 SceneKit 几何图形,它除了将此纹理映射到立方体之外并没有做更多的事情.你可以找到上面提到的相关代码:https://stacko ..
发布时间:2021-11-25 04:16:56 移动开发

如何在 SceneKit 中显示金属和透明纹理?

我无法在 SceneKit 中显示一些纹理,这是我想使用的模型: Sketchfab 中的模型:https://skfb.ly/6QVTQ 模型应该使用 Scene Kit 以这些颜色和纹理出现在 AR 环境中.但是金色的尖端看起来是黑色的,透明镜片根本没有出现.有什么建议可以解决这个问题吗? 模型为.scn格式.这是模型材料属性:https://drive.google.com ..
发布时间:2021-11-25 03:56:24 移动开发

如何在没有深度值的情况下使用 SceneKit 的 unprojectPoint 将 2D 点转换为 3D?

是否可以使用SceneKit的unprojectPoint 在没有深度值的情况下将 2D 点转换为 3D?我只需要在 XZ 平面中找到 3D 位置.Y 可以始终为 0 或任何值,因为我没有使用它. 我正在尝试为 iOS 8 Beta 执行此操作. 我在 JavaScript 和 Three.js (WebGL) 中有类似的东西: function getMouse3D(x, y) { ..
发布时间:2021-11-25 03:32:17 移动开发

Scenekit,如何弯曲物体

我是 3D 新手. 我有一个直棒对象,它是一个 SCNBox,在某个阶段我想弯曲它(带动画).有没有办法实现这一目标?或者我必须首先使用多个对象来模拟 SCNBox,然后移动和旋转这些对象来模拟弯曲? 解决方案 SCNBox 有一个 heightSegmentCount 属性,您可以使用它来生成更多顶点. 使用着色器修改器,您将能够弯曲立方体.这就是 Fox:使用 Xcode ..
发布时间:2021-11-25 03:22:59 C#

确定 SCNBox 的哪一侧被触摸,Scene Kit ios

我正在使用 Scene Kit 并创建了一个 SCNBox.在盒子的正面我想要它,所以如果点击正面的左侧会发生“A",如果点击正面的右侧会发生“B".我怎样才能做到这一点.我检查了堆栈,但大多数答案涵盖了是否触及节点,而不是节点的一部分. 解决方案 SCNHitTestResult 有一个 geometryIndex 这会给你被击中的几何元素的索引(即立方体面).它还有一个 faceInd ..
发布时间:2021-11-25 03:12:19 移动开发

SceneKit:关于像 Tron 光循环一样再现发光光迹的建议

目标是在 SceneKit 中重现类似于下图的光迹.路径不需要那么详细,但想法是要达到类似的视觉效果. 我们尝试使用不透明度约为 0.5 的薄立方体.我们将大约 200 个串在一起,并将它们连接到一个节点上,以充当光迹.那根本没有性能. 另一篇文章建议使用粒子发射器,但我们还需要在另一个物体撞击轨迹时检测碰撞.类文档说粒子发射器的碰撞检测也没有性能. 关于模拟类似光迹的最佳方法有 ..
发布时间:2021-11-25 03:09:08 移动开发

带有 ModelIO 的混合拓扑(四/三)

我正在使用 ModelIO 导入一些简单的 OBJ 资产,如下所示: let mdlAsset = MDLAsset(url: url, vertexDescriptor: nil, bufferAllocator: nil, preserveTopology: true, error: nil) ... 然后将它们添加到 SceneKit SCN 文件中.但是,每当我有同时具有四边形/三边形 ..
发布时间:2021-11-25 03:01:04 移动开发

如何在scenekit中的节点上放置文本?

非常简单的问题,由于某种原因,我在任何地方都找不到.如何在 SCNNode 的 3D 面上书写 2D 文本?例如,在这样的事情上: let geo = SCNBox(width: 20, height: 20, length: 20, chamferRadius: 0.0);//geo.writeFace(位置,文本)让 box = SCNNode(geometry: geo); 当然评论是编 ..
发布时间:2021-11-25 02:57:43 移动开发

“始终使用 Y-Up 轴"在哪里?在 Xcode 8 中去?

我们曾经在 Xcode 中有一个选项“始终使用 Y-Up 轴"切换(我认为至少在 Xcode 7 之前).它在当前的 Xcode 8.2.1 中消失了,并且可能从 8.1 甚至 8.0 开始消失了.为什么?还是藏在别处?有什么解决方法吗? 更新:我在 2014 年的 WWDC 演讲中找到了相关引述: 向游戏中添加 3D 资产的方式只是 SceneKit 资产目录. SceneKi ..
发布时间:2021-11-25 02:42:19 C#

SceneKit:无论您在何处触摸屏幕,unprojectPoint 都会返回相同/相似的点

下面的代码应该将触摸坐标转换为 SceneKit 场景的世界坐标. 但是,如下面的输出所示,unprojectPoint 返回的点无论您在屏幕上的哪个位置(iPhone 5s)触摸都有效地返回相同的点. unprojectPoint 的类文档建议使用介于 0 和 1 之间的 Z 值,但使用不同的值(如 0.5)不会改变 unprojectPoint 的输出. 这篇SO帖子讨论了如 ..
发布时间:2021-11-25 02:40:51 移动开发

ios - 如何将 mtl 纹理文件应用于 OBJ

我正在使用 ModelI/O 来展示 3D 模型.这是我的代码: //加载 .OBJ 文件守卫让 url = Bundle.main.url(forResource: "agera r", withExtension: "obj") else {致命错误(“无法找到模型文件.")}让资产 = MDLAsset(url:url)守卫让对象 = asset.object(at: 0) as?MDLM ..
发布时间:2021-11-25 02:38:28 移动开发

带有来自单独 scn 文件的动画的 SceneKit 加载节点

我有一个动态创建 SCNView 的视图.它的场景是空的,但是当我按下一个按钮时,我想从单独的 scn 文件中添加一个节点.该文件包含动画,我希望它在主场景中设置动画.问题是在将对象添加到场景后,它没有动画.当我将此文件用作 SCNView 场景时,它可以工作.isPlaying 和循环已启用.我还需要做什么来导入带有动画的节点?示例代码如下: override func viewDidLoad ..
发布时间:2021-11-25 02:32:03 移动开发

SceneKit - 用于 1:1 的 orthographicProjection 指向 SceneKit 位置比

必须使用什么 orthographicProjection 才能在 SceneKit 中制作具有 1:1 SceneKit 指向屏幕点/像素比的 2D 应用程序? 示例:我想在屏幕上的 (200, 200) 处定位一些东西,我想使用一个带有 (200, 200, 0) 的 SCNVector .为此我需要什么正交投影? 解决方案 如果你想要一个场景空间单位对应屏幕空间一个点的正交投影 ..
发布时间:2021-11-25 02:27:00 移动开发

将图像转换为 SceneKit 节点

我有一个位图图像: (但是这应该适用于任何任意图像) 我想拍摄我的图像并使其成为 3D SCNNode.我已经用这段代码完成了这么多.这需要图像中的每个像素并创建一个具有 SCNBox 几何形状的 SCNNode. 静态内联 SCNNode* NodeFromSprite(const UIImage* image) {SCNNode *node = [SCNNode 节点];CFDa ..
发布时间:2021-11-25 02:17:29 移动开发

如何从 AVDepthData 制作 3D 模型?

我对原深感摄像头的数据处理问题很感兴趣.需要获取人脸的数据,建立人脸的3D模型并将该模型保存在.obj文件中. 因为在 3D 模型中需要人的眼睛和牙齿,所以 ARKit/SceneKit 不适合,因为 ARKit/SceneKit 没有用数据填充这些区域. 但是在 SceneKit.ModelIO 库的帮助下,我设法以 .obj 格式导出 ARSCNView.scene(类型 SCNS ..
发布时间:2021-11-25 02:09:22 移动开发

如何在 SceneKit 中的两点之间画一条线?

如果我在 SceneKit 中有两个点(例如 (1,2,3) 和 (-1,-1,-1)).我如何在两者之间划一条线? 我看到有一个 SCNBox 对象我可以使用,但它只允许我指定中心(例如通过 simdPosition).修改它的其他方法是变换(我不知道如何使用)或欧拉角(我不确定如何计算需要使用的角度). 解决方案 您可以使用以下方法在两点之间画一条线: import Sce ..
发布时间:2021-11-25 01:52:45 移动开发

在 SceneKit 中支持 Collada/DAE 模型有哪些要求?

我收到了来自几种不同 3D 创作工具(Rhino、Blender、Cinema4D 等)的 Collada (DAE) 文件,并且发现有时无法加载模型.当模型加载失败时,Xcode 不提供任何信息.它只是显示一条警告,提示“无法打开文件." 在为我导出 DAE 文件时,我的 3D 设计师是否应该注意任何要求——特定的 DAE 版本、有限的功能子集等? 当然,我搜索了 Apple 的文档 ..
发布时间:2021-11-25 01:38:38 移动开发