ios – SceneKit如何绘制一个球体显示网状表面而不是光滑?

ios – SceneKit如何绘制一个球体显示网状表面而不是光滑?,第1张

概述我在Scene Kit中画了一个球体,一切正常.我是这样画的: ... let g = SCNSphere(radius: radius) geometria.firstMaterial?.diffuse.contents = myColor let node = SCNNode(geometry: g) node.position = SCNVector3(x: x, y 我在Scene Kit中画了一个球体,一切正常.我是这样画的:

...   let g = SCNSphere(radius: radius)   geometria.firstMaterial?.diffuse.contents = mycolor   let node = SCNNode(geometry: g)   node.position = SCNVector3(x: x,y: y,z: z)   scene.rootNode.addChildNode(node)

这将球体绘制成光滑的表面(见图).
我会

我想要完成的是让球体不像照片中那样呈现“平滑”,但我希望能够拥有它以便显示骨架…所以可能会控制它用于绘制表面的三角形球体,但三角形需要是空的,所以我只看到三角形的边…

有什么建议吗?

所以这是一个zI试图使球体看起来像的图像:

解决方法 >你的愿望#1:“不光滑”的球体
>你的愿望#2:线框

过去进入Xcode游乐场:

import Cocoaimport SceneKitimport QuartzCoreimport XCPlayground// create a scenevar sceneVIEw = SCNVIEw(frame: CGRect(x: 0,y: 0,wIDth: 300,height: 300))var scene = SCNScene()sceneVIEw.scene = sceneXcpshowVIEw("The Scene VIEw",sceneVIEw)sceneVIEw.autoenablesDefaultlighting = false// create spherelet g = SCNSphere(radius: 100)g.firstMaterial?.diffuse.contents = NScolor.greencolor()// WISH #1    g.segmentCount = 12let node = SCNNode(geometry: g)node.position = SCNVector3(x: 10,y: 10,z: 10)scene.rootNode.addChildNode(node)// WISH #2glpolygonMode(GLenum(GL_FRONT),GLenum(GL_liNE));glpolygonMode(GLenum(GL_BACK),GLenum(GL_liNE));// animatevar spin = CABasicAnimation(keyPath: "rotation")spin.tovalue = NSValue(SCNVector4: SCNVector4(x: 1,y: 1,z: 0,w: CGfloat(2.0*M_PI)))spin.duration = 3spin.repeatCount = HUGE // for infinitynode.addAnimation(spin,forKey: "spin around")
总结

以上是内存溢出为你收集整理的ios – SceneKit如何绘制一个球体显示网状表面而不是光滑?全部内容,希望文章能够帮你解决ios – SceneKit如何绘制一个球体显示网状表面而不是光滑?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1043468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存