Система частиц iOS сцены - принудительно обращаться к конкретному направлению / ориентации?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Система частиц iOS сцены - принудительно обращаться к конкретному направлению / ориентации?

Сообщение Anonymous »

Я сделал эффект частицы с концентрическими кругами, которые излучают наружу с помощью Scnparticliclesystem . Я пытаюсь заставить частицы всегда сталкиваться с определенной ориентацией, в моем случае я хочу, чтобы они всегда указывали. Согласно документации: < /p>

Угол частицы (или ориентация) не зависит от его направления движения. < /P>
< /blockquote>
и документация для .free < /code> говорит: < /p>

particle orentations не зависит; Они могут свободно вращаться на всех осях.

Код: Выделить всё

let particleSystem = SCNParticleSystem()
particleSystem.particleImage = UIImage(named: "circle.png")

particleSystem.emitterShape = SCNSphere(radius: 0.01)
particleSystem.birthLocation = .surface
particleSystem.birthDirection = .surfaceNormal
particleSystem.birthRate = 0.4
particleSystem.acceleration = SCNVector3(0, 0, 0)

// Make particles grow over time
let sizeController = SCNParticlePropertyController()
let sizeAnimation = CAKeyframeAnimation(keyPath: "particleSize")
sizeAnimation.values = [0.1, 0.4]
sizeAnimation.keyTimes = [0.0, 1.0]
sizeController.animation = sizeAnimation
particleSystem.propertyControllers = [.size: sizeController]

particleSystem.orientationMode = .free

let pNode = SCNNode()
pNode.addParticleSystem(particleSystem)

rootNode.addChildNode(pNode)

На этом скриншоте вы можете увидеть белые концентрические круги вокруг часов (это частицы), указывая на в направлении x сильные. Важно отметить, что я сделал этот скриншот под крутым углом камеры в симуляторе iOS. Вы можете видеть, что частицы не заблокированы для обращения к камере. Похоже, что свойства не делают эту работу. < /P>
То, что я попробовал < /h2>
Я попытался вращать родительский узел, в которой находится система частиц. Она не имеет эффекта, независимо от того, какая кардинальность я выбираю.

Код: Выделить всё

pNode.eulerAngles = SCNVector3(x: Float.pi / 2, y: 0, z: 0.0)
Я также попытался установить .pivot без эффекта

Код: Выделить всё

pNode.pivot = SCNMatrix4MakeRotation(Float.pi / 2, Float.pi / 2, 0, 0)
< /code>
Я попробовал анимировать свойство частицы угла и вращения. Это ничего не делает, и частицы даже не вращаются, и остаются запертыми в направлении X. При запуске этого кода тоже нет зарегистрированных ошибок.let rotationController = SCNParticlePropertyController()
rotationController.inputMode = .overLife
let rotationAnimation = CAKeyframeAnimation(keyPath: "rotationAxis")
rotationAnimation.values = [
SCNVector3(Float.pi / 2, 0, 0)
]
rotationAnimation.keyTimes = [0.0]
rotationController.animation = rotationAnimation

let angleController = SCNParticlePropertyController()
let angleAnim = CAKeyframeAnimation(keyPath: "angle")
angleAnim.values = [0, 360]
angleAnim.keyTimes = [0, 1]
angleController.animation = angleAnim

particleSystem.propertyControllers = [
.rotationAxis: rotationController,
.angle: angleController
]
Я также явно попробовал приведенный выше код, используя nsvalue /nsnumber , но все же ничего

Код: Выделить всё

rotationAnimation.values = [
NSValue(scnVector3: SCNVector3(0, Float.pi, 0))
]
//...
angleAnim.values = [NSNumber(value: Float.pi / 2), NSNumber(value: 0.0)]
Я пытался изменить .emittershape на плоскость, но на ориентация частиц не кажется, что это не зависит от этого. из которых изменяют ориентацию. < /p>
Все эти попытки имеют эффект частицы, всегда обращающийся к тому же направлению, что и эффект часовой частицы, как показано ниже. В конце я хочу, чтобы круговые частицы сталкивались с тем же направлением, в котором указывают цилиндра. Как использовать .RotationAxis и .Angle , если это вообще возможно.


Подробнее здесь: https://stackoverflow.com/questions/796 ... ction-orie
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»