gpt4 book ai didi

swift - 如何使用 SceneKit 涡流场创建 Tornado 效果

转载 作者:搜寻专家 更新时间:2023-10-31 22:55:10 26 4
gpt4 key购买 nike

在 SceneKit WWDC 2014 中,他们有一个具有这种效果的涡流场示例:

enter image description here

粒子系统看起来很像 Tornado ,因为它以空心向内旋转。

但是,涡流场的文档没有关于如何实现这种效果的信息。现在,我有这个:

// create the particle system
let exp = SCNParticleSystem()
exp.loops = true
exp.particleMass = 5
exp.birthRate = 10000
exp.emissionDuration = 10
exp.emitterShape = SCNTorus(ringRadius: 5, pipeRadius: 1)
exp.particleLifeSpan = 15
exp.particleVelocity = 2
exp.particleColor = UIColor.white
exp.isAffectedByPhysicsFields = true
scene.addParticleSystem(exp, transform: SCNMatrix4MakeRotation(0, 0, 0, 0))
// create the field
let field = SCNPhysicsField.vortex()
field.strength = -5
field.direction = SCNVector3(x: 0, y: 1, z: 0)
let fieldNode = SCNNode()
fieldNode.physicsField = field
scene.rootNode.addChildNode(fieldNode)

这会产生这样的效果: enter image description here在我向下看的地方,粒子以非常大的半径向外顺时针旋转。它看起来一点也不像 Tornado 效果。我怎样才能创造这种效果?

最佳答案

你说 Tornado ,我说 Tornado ,让我们把这一切都取消吧......

SceneKit WWDC 2014 演示/幻灯片是 sample code project ,这样您就可以亲眼看到它们是如何产生您在其中看到的任何效果的。在这种情况下,看起来“vortex”演示实际上并未使用 vortexField API,而是使用自定义字段 API,让您可以在计算器 block 中提供自己的数学运算。 (请参阅该 block 中代码的链接。)

通过将涡旋(仅引起旋转)与径向重力(向内吸引)与线性重力(向下吸引)或其他一些组合(可能涉及电荷)相结合,您可以在没有自定义场的情况下获得类似的行为.但是您可能必须尝试对参数进行相当多的调整。

关于swift - 如何使用 SceneKit 涡流场创建 Tornado 效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49440803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com