jjzjj

SceneKit

全部标签

ios - 在 ARKit 框架中设置光照

好的,我是SceneKit和ARKit的新手,我只想将我添加到场景中的任何模型设置为具有特定的明亮照明。我已经使用ARSceneView尝试了自动更新照明设置的所有不同配置,但是唯一真正产生明显差异的是autoenablesDefaultLighting:funcsetup(){antialiasingMode=.multisampling4X//autoenablesDefaultLighting=truepreferredFramesPerSecond=60contentScaleFactor=1.3ifletcamera=pointOfView?.camera{camera.wa

ios - 修复或避免默认第三方库中的内存泄漏

我开发了一个应用程序,其中包含即时预览3D模型的分割结果的功能。我有自己的catmullclark分割函数来永久修改几何体,但我使用SCNGeometry的.subdivisionLevel属性临时分割模型作为预览。在大多数情况下,预览并不自动意味着用户会选择永久选项。.subdivisionLevel使用(就像MDLMesh的分割一样,我尝试将其作为解决方法)Pixar的OpenSubdiv来进行实际的分割和平滑。它比我自己的运行速度更快,但更重要的是,它不会永久修改我通过SCNGeometry源提供的顶点数据。问题是,我无法让它停止泄漏内存。我很久以前第一次注意到这一点,认为这是我

ios - 在 ARKit 中获取相机的向上矢量

我试图在ARKit中获取构成平截头体边界的四个向量,我想出的解决方案如下:找到相机的视野角然后找到相机的方向和向上向量使用这些信息,使用叉积和旋转找到四个向量这可能是一种草率的做法,但它是迄今为止我得到的最好的方法。我能够从ARCamera.intrinsics和ARCamera.transform属性中获取FOV角度和方向向量。但是,此时我不知道如何获取相机的向上矢量。下面是我用来查找FOV角度和方向向量的代码:funcsession(_session:ARSession,didUpdateframe:ARFrame){ifxFovDegrees==nil||yFovDegrees=

iOS ARKit + SceneKit 物理接触检测缩放问题

我有一个简单的3d区域,其中包含4个墙,每个墙都是一个SCNNode,具有简单的SCNBox几何形状,矩形形状,并附有匹配的SCNPhysicsBody。SCNPhysicsBody使用SCNPhysicsShape.ShapeType.boundingBox,并设置为静态类型。这是一个代码片段:letsize=(self.levelNode.boundingBox.max-self.levelNode.boundingBox.min)*self.levelNode.scale//x//zletgeometryA=SCNBox(width:CGFloat(size.x),height:

ios - iOS 应用程序中的按需资源 AppStore 上传失败 - 不允许的路径

我有一个使用ARKit的应用程序。直到当前版本,所有Assets都包含在应用程序包本身中,用户使用该应用程序似乎没有问题。但是,我想在应用程序上启用按需资源,以便可以从AppStore下载较新的模块(游戏)的资源,从而避免应用程序过大。按照iOS文档,我能够使用ODR并且该应用程序在我的设备上运行良好。它正在按应有的方式使用ODR加载资源。但是,在上传到AppStore进行AppReview时,我遇到了错误:我的特定SCNAssets文件夹(已标记)的文件夹结构如下:请注意,该应用程序在我的设备上使用ODR时运行良好。我已完成以下操作并尝试了多次,但无济于事。创建一个干净的构建。更改版

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

我想在我的应用中使用正交投影来显示3D场景。在我的代码中,我在场景中放了一个盒子,并像打击一样设置了PointofView的正交投影。(0,0,500)处的相机看向-z方向,盒子位于世界原点。所以相机应该能够捕捉到盒子。letcameraNode=SCNNode()letpov=SCNCamera()pov.usesOrthographicProjection=trueletwidth=UISreen.main.bounds.size.widthletglMat=GLKMatrix4MakeOrtho(-width/2,width/2,-width/2,width/2,1,1000)p

ios - Xcode 10 与 spritekit 场景文件 .sks 崩溃

我的大部分SpriteKit场景都无法读取;Xcode刚刚崩溃。我试着删除名字。似乎没有任何效果。当我将纹理放在SKSpriteNode上时,一个新项目随机崩溃。有时我可以在崩溃前放置三个纹理,有时相同的第一个纹理会崩溃。Fulllog. 最佳答案 如果您在虚拟机中运行MacOS,那么这是一个已知问题。*.sks文件在虚拟机中运行Xcode时崩溃。 关于ios-Xcode10与spritekit场景文件.sks崩溃,我们在StackOverflow上找到一个类似的问题:

ios - ARKit 添加 X 翻转的 2D 视频

所以我有以下代码来创建自定义墙letwall=SCNPlane(width:CGFloat(distance),height:CGFloat(height))wall.firstMaterial=wallMaterial()letnode=SCNNode(geometry:wall)//alwaysrenderbeforethebeachballsnode.renderingOrder=-10//getcenterpointnode.position=SCNVector3(from.x+(to.x-from.x)*0.5,from.y+height*0.5,from.z+(to.z-f

ios - 为自定义 Scenekit 渲染匹配 ARSCNView 转换?

TL:DR我正在尝试在MTKView中渲染一个SCNRenderer,因此我可以处理颜色/深度缓冲区-我正在尝试匹配的转换ARSCNView通过ARKit执行,因此我的SCNRenderer的行为类似于ARSCNView。有没有人有通过ARFrame/ARCamera和ARKit提供的信息匹配ARSCNViews世界和人脸跟踪配置的示例-并且正确适本地修改SCNSCamera的转换?更长由于各种原因(无法访问ARSCNView的MTLPassDescriptor/SCNView和SCNTechnique有自己的奇怪的限制)我正在尝试通过MTKView+ARKit+SCNRenderer

ios - 将相机移动到点击的 SCNNode

我正在使用SceneKit和Swift尝试移动相机,使其“聚焦”在所选节点上。我知道我启用了defaultCameraController,但我试图通过dolly、rotate和translateInCameraSpaceBy调整相机的位置,但没有动画过渡-它刚刚跳到新位置。相机是否可以像Googlemap滑动/然后缩放到搜索到的位置那样滑动到位?任何帮助将不胜感激:)这是我的代码:importUIKitimportSceneKitclassViewController:UIViewController{vargameView:SCNView!varscene:SCNScene!var