我的应用程序中有一个简单的地球View。以前我们使用WhirlyGlobe,但选择使用SceneKit。一切都很好,我们很满意,除了我们在WhirlyGlobe中使用了map图block并且在SceneKit中不起作用(据我所知)。我们想在SCNSphere几何图形上使用该map(平铺、拆分或作为一个文件)。我复制了Apple在其文档中使用的卫星map,它看起来不错,但不是我们需要的map。我们的map采用web/sphere墨卡托投影,在我的球体上的SceneKit中看起来很糟糕。我不知道*Apple使用的2x1投影叫什么,所以仅此信息可能足以让我找到解决方案。我现在:Equirec
我想编写一些着色器(表面/片段/...)以某种新颜色重新着色我的漫反射纹理。目前我有这个版本的着色器(我正在尝试实时重新着色纹理)://sm_surfuniformvec4colorTarget;(usedinfullversion)uniformvec4colorTint;(usedinfullversion)vec4colorTexture=texture2D(u_diffuseTexture,_surface.diffuseTexcoord);//vec4colorTexture=_sample.diffuse;//thesameresultvec4tinted=colorTex
对SceneKit非常陌生,所以在这里寻求帮助:我有一个SCNSphere,中间有一个摄像头我创建一个SCNMaterial,doubleSided,并将其分配给球体由于相机位于中心,图像看起来垂直翻转,当里面有文本时,这会完全弄乱。那么我如何翻转Material或图像(尽管稍后它将是视频中的帧),欢迎任何其他建议。这个解决方案,顺便说一句,对我来说是失败的,normalImage被应用为Material(但是从球体内部看时图像被翻转),但是分配flippedImage导致没有任何Material(白屏)letnormalImage=UIImage(named:"text2.png")
在iOS11.2和11.3上运行完全相同的应用程序的全新构建,在11.2上一切正常,但在11.3上似乎没有任何Material被渲染到使用SCNMorpher和blendshape的ARKit面部节点上要更新的值。如果我能找到一个解决方案,我将深入研究这个问题并报告修复,但我想我会在这里放置一个信标,看看是否有其他人有类似的问题,如果有,如果他们'我已经找到任何解决方案,或者是否有人有任何一般性想法。据我了解,次要版本更新应该完全向后兼容。那是对的吗?谢谢更新1:这似乎同时影响ARKit和SceneKit场景。更新2:这似乎与11.3中的Material和光照处理方式不同有关。将照明更
我正在按照Apple文档中的示例编写图像识别应用程序:https://developer.apple.com/documentation/arkit/detecting_images_in_an_ar_experience到目前为止一切正常,现在我想将透明平面覆盖更改为图像。飞机的Material我是这样设置的。letimage="overlay"letmaterial=SCNMaterial()material.locksAmbientWithDiffuse=true;material.isDoubleSided=falsematerial.diffuse.contents=imag
我正在尝试使用平面几何结构的SCNNode,它在其中呈现二维文本。我通过将SKLabelNode设置为几何体的Material来做到这一点(从here中获取)这是我的代码:letlabel=SKLabelNode(text:"TestText1")label.fontColor=.whitelabel.fontName=UIFont.systemFont(ofSize:32).fontNamelabel.fontSize=32letbackgroundRectShape=SKShapeNode(rect:CGRect(origin:.zero,size:label.frame.size
这段代码摘录(场景、相机、灯光等。从代码中截取)在iOS模拟器上以Swift运行:letboxNode=SCNNode()//CreateaboxboxNode.geometry=SCNBox(width:1,height:1,length:1,chamferRadius:0.1)letnumFaces=6scene.rootNode.addChildNode(boxNode)//createandconfigureamaterialforeachfacevarmaterials:[SCNMaterial]=Array()foriin1...numFaces{letmaterial=S