
SceneKit:错误,C3DRendererContextSetupResIDentMeshSourceAtLocation – 不支持double
我创建了一个针对iOS的游乐场,以测试更简单的自定义几何示例,并使用swift vs objective c查看this question关于自定义几何的内容.
我尝试使用目标c的另一个项目,仍然收到相同的错误消息.
在 *** 场或完整项目上定位桌面时,不会出现错误,并且几何图形正确绘制.仅在定位iOS时才会出现错误消息.
import SceneKitimport QuartzCore // for the basic animationimport XCPlayground // for the live prevIEw// create a scene vIEw with an empty scenevar sceneVIEw = SCNVIEw(frame: CGRect(x: 0,y: 0,wIDth: 300,height: 300))var scene = SCNScene()sceneVIEw.scene = scene// start a live prevIEw of that vIEwXcpshowVIEw("The Scene VIEw",sceneVIEw)// default lightingsceneVIEw.autoenablesDefaultlighting = true// a cameravar camera = SCNCamera()var cameraNode = SCNNode()cameraNode.camera = cameracameraNode.position = SCNVector3(x: 0,z: 10)scene.rootNode.addChildNode(cameraNode)// create geometryvar verts = [SCNVector3(x: 0,z: 0),SCNVector3(x: 1,SCNVector3(x: 0,y: 1,z: 0)]let src = SCNGeometrySource(vertices: &verts,count: 3)let indexes: [CInt] = [0,1,2]let dat = NSData( bytes: indexes,length: sizeof(CInt) * countElements(indexes))let ele = SCNGeometryElement( data: dat,primitiveType: .Triangles,primitiveCount: 1,bytesPerIndex: sizeof(CInt))let geo = SCNGeometry(sources: [src],elements: [ele])let nd = SCNNode(geometry: geo)scene.rootNode.addChildNode(nd) 这是我在 *** 场上用来绘制三角形的代码.定位桌面时使用相同的代码.
如何修复此问题并显示iOS的几何图形?
解决方法 我的猜测是SCNVector3是根据桌面的CGfloat(可以是32位或64位,取决于主机)和float for iOS设备 – iOS模拟器平台(这是针对iOS时获得的)来定义的.在 *** 场上)既不像设备也不像OS X. Filing a bug with Apple会是一个好主意.与此同时,一个好的解决方法可能是使用更详细的初始化程序(以init(data:semantic:…)开头来创建几何源.
总结以上是内存溢出为你收集整理的ios – 如何解决SceneKit double不支持的错误?全部内容,希望文章能够帮你解决ios – 如何解决SceneKit double不支持的错误?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)