首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SceneKit着色器修饰符

SceneKit着色器修饰符
EN

Stack Overflow用户
提问于 2019-07-26 01:46:17
回答 1查看 332关注 0票数 1

我正在使用SceneKit编写一个3D空间游戏,到目前为止,我对它非常满意,但我开始遇到一些限制,并希望得到一些建议。

  1. 我有一个球体,它代表的是一颗位于点光上的恒星,我想给它加上一些效果,使它看起来更逼真。我想我应该用球体的shaderModifiers来做这件事,但是我不确定我应该看哪些修饰符,也就是为了达到透镜耀斑的效果。事实上,如果有人能给我一个清晰的解释: ShaderModifiers,SCNProgram和SCNTechnique之间的区别,那就太好了!
  2. 我想画一个1 1px的圆来表示一个轨道。我试过使用一个非常薄的圆柱体,但这会导致一些视觉制品(环似乎在更远的距离上有缺口,并破裂)。有什么办法可以做到这一点,并保持一个良好的顺利的圆圈吗?
EN

回答 1

Stack Overflow用户

发布于 2019-07-26 12:28:56

  1. 拥有flare effect for SceneKit模型的最短方法是使用CoreImage框架的功能
  2. 为了使一个可见轨道使用常规的PNG图像技术与预乘α通道(RGBxA)。查看此链接,了解具有轨道的png图像是什么样的(保存文件)。如果你想自动将飞机对准摄像机,使用约束。

这是一个密码:

代码语言:javascript
复制
let orbitsOnPlane = SCNPlane(width: 10, height: 10)

let material = SCNMaterial()
material.diffuse.contents = UIImage(named:"overlayOrbits.png")

orbitsOnPlane.materials = [material]

let orbitNode = SCNNode()
orbitNode.geometry = orbitsOnPlane

let cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
let constraint = SCNLookAtConstraint(target: orbitNode)

cameraNode.constraints = [constraint]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57212136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档