swift - 如何更改 SCNParticleSystem 中粒子的亮度?
问题描述
我一直在尝试调整 SCNParticleSystem 中粒子的亮度,但一直没能找到办法。我找到了一种使用particleColorVariation 改变亮度变化的方法,但这并没有达到我想要的效果。有没有人有办法解决吗?
解决方案
您可以通过
particleColor
更改新生成粒子颜色的实例属性来实现。混合模式必须是alpha
.
用我的代码测试它:
let particleSystem = SCNParticleSystem()
particleSystem.birthRate = 300
particleSystem.particleSize = 0.025
particleSystem.particleColor = UIColor(hue: 0.57,
saturation: 0.87,
brightness: 0.92, // USE THIS PROPERTY
alpha: 1)
particleSystem.blendMode = .alpha
particleSystem.emittingDirection = .init(1,1,1)
particleSystem.emitterShape = .init(SCNSphere(radius: 3))
particleSystem.particleLifeSpan = 0.5
let particlesNode = SCNNode()
particlesNode.position = SCNVector3(0,3,0)
particlesNode.addParticleSystem(particleSystem)
scene.rootNode.addChildNode(particlesNode)
推荐阅读
- r - 数据框中每组的一组选定列的 JSON 汇总列
- android - 捕获错误但继续迭代列表
- python - 有谁知道如何设置具有升级和降级特殊要求的条带特定订阅?
- javascript - 是否可以通过应用程序脚本知道谁是最后修改事件的用户
- java - java - 如何根据用户在java中的输入(扫描仪)计算脚本中的字符串、数字和双精度数?
- node.js - 将文件从 Angular 发送到 Nodejs - 无法读取未定义的属性“标题”
- java - iot-service-client azure-iot-sdk java 的企业代理
- javascript - React 组件中状态的更新时间问题(需要单击 2 次而不是 1 次)
- reactjs - gatsby remark 图片不显示图片
- r - 根据 2 列中的值重新排序 ggplot 中的标签