Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы SceneKit ссылка класса SCNParticleSystem

Опции
Развертывание Target:

На этой странице
Язык:

SCNParticleSystem

SCNParticleSystem объект автоматически создает, анимирует и представляет систему частиц — маленьких спрайтов изображения — согласно высокоуровневому моделированию, общее поведение которого Вы указываете. Используйте системы частиц для создания эффектов, таких как дым, дождь, конфетти и фейерверк.

Как работают системы частиц

В отличие от узлов SceneKit и конфигураций, отдельные частицы не являются объектами в графике сцены. Поскольку система частиц может включить десятки или сотни частиц, SceneKit использует более эффективное внутреннее представление, хранящее и обрабатывающее данные для всех частиц системы оптом.

Вместо того, чтобы получить доступ к каждой частице, чтобы управлять ее поведением или заставить ее взаимодействовать с другим содержанием сцены, Вы обычно используете свойства системы частиц для управления совокупным поведением частиц. Эти свойства покрывают несколько ключевых аспектов поведения системы, как получено в итоге ниже.

  • Появление. SceneKit представляет изображение текстуры для каждой частицы. Определите появление системы частиц путем указания изображения, его цвета оттенка, и рендеринга параметров, таких как режим наложения. Можно даже указать последовательность изображения с анимацией, создав эффекты как рои насекомых или многоступенчатых взрывов.

  • Продолжительность жизни. SceneKit создает каждую частицу в расположении в сцене (также названный эмиттером), варьируется его позиция и появление по указанной продолжительности жизни, затем удаляет его из сцены. (Создание частицы также вызывают рождением или порождением, и удаление частицы также вызывают смертью.) Общее количество частиц на экране в любое время является продуктом системы birthRate и particleLifeSpan свойства. Большее число частиц имеет большую стоимость для рендеринга использование питания и производительность.

  • Эмиттерное поведение. Используйте emitterShape свойство, чтобы указать, мечут ли частицы икру от единственной точки в пространстве или в области, определенной SCNGeometry объект. Используйте emissionDuration свойство и связанные свойства для варьирования рождения частицы в течение долгого времени, так, чтобы система чередовалась между периодами мечущих икру частиц и периоды времени простоя.

  • Изменение. Системы частиц моделируют реалистические эффекты случайным образом переменными свойствами частицы и при рождении и во время жизни частицы. Можно также добавить случайное изменение к продолжительности жизни частиц. Несколько свойств системы частиц имеют связанное свойство изменения, управляющее этой рандомизацией. Например, particleSizeVariation свойство определяет ширину интервала для рандомизации particleSize свойство.

  • Перемещение. Перемещение частиц согласно простому моделированию физики — у каждого есть начальное направление, скорость, угловая скорость и ускорение, который использование SceneKit анимировать частицу, пока это не умирает. Можно создать много реалистических эффектов с помощью одних только этих атрибутов. Можно также добавить более сложные способы поведения, позволив частицам взаимодействовать с геометрией сцены (colliderNodes), сцена physicsWorld моделирование, или SCNPhysicsField объекты.

Кроме того, можно также использовать следующие функции для добавления динамических способов поведения к системе частиц, изменяя ее появление в течение долгого времени или заставив его взаимодействовать с ее средой.

  • Анимации и контроллеры свойства. Как много объектов SceneKit, SCNParticleSystem класс соответствует SCNAnimatable протокол, таким образом, можно неявно или явно анимировать изменения в его свойствах. (Для общего фона на анимации посмотрите Анимацию Содержание SceneKit.) При анимации изменений в свойствах системы частиц эти изменения влияют на все частицы в системе одновременно.

    Для применения анимаций независимо для отдельных частиц используйте SCNParticlePropertyController объект, связывающий a CAAnimation объект со свойством системы частиц. С контроллером свойства можно использовать функции Базовой платформы Анимации для создания изменяющихся во времени эффектов, применяющихся к каждой частице в системе. Обычно Базовый Объект Animation варьируется свойство относительно времени, но с контроллером свойства можно также создать анимации, варьирующиеся свойство на основе других входных значений, таких как расстояние частицы от его начального расположения.

    Например, рассмотрите a CAKeyframeAnimation объект, анимирующий серию цветов от белого до желтого к красному, и система частиц, моделирующая пламя. Если Вы присоединяете эту анимацию к системе частиц particleColor свойство, получающийся эффект пламени имеет единственный цвет в любой данный момент, но тот цвет изменяется в течение долгого времени. Если Вы вместо этого присоединяете контроллер свойства для SCNParticlePropertyColor свойство, пламя варьируется в цвете от его основы до его подсказки — каждая частица начинается белый, затем исчезает к желтому и красному цвету, когда это повышается.

  • Порожденные системы частиц. Когда Вы присваиваете другого SCNParticleSystem экземпляр к одному из свойств, перечисленных в Порождении Дополнительных Систем частиц, SceneKit добавляет больше систем частиц к сцене на основе поведения исходной системы частиц. Например, если у Вас есть система частиц, моделирующая падающий дождь, можно использовать systemSpawnedOnCollision свойство для добавления всплесков, где каждая капля дождя ударяет поверхность.

  • Обработчики событий и модификаторы частицы. Поскольку они указывают поведение декларативно, анимации, контроллеры свойства, и порожденные системы обеспечивают простую конфигурацию и высокую производительность для большинства динамических способов поведения. Для создания способов поведения, не возможных с этими функциями, можно зарегистрировать обработчик событий или блоки модификатора частицы, работающие непосредственно с объемными данными частицы использование SceneKit для анимации системы частиц.

    Используйте handleEvent:forProperties:withBlock: метод для изменения данных частицы в ответ на событие — рождение частицы, смерть или коллизия. Например, можно использовать эту опцию сделать частицы, изменяющие цвет после столкновения с другим объектом в сцене.

    Используйте методы, перечисленные в Изменении Частиц В течение долгого времени для управления блоками, что SceneKit требует каждый представленный кадр. Ваш блок может изменить свойства частицы оптом, позволив Вам изменить поведение частицы точно, но в высоком риске к рендерингу производительности.

Используйте редактора системы частиц XCode для экспериментирования с системами частиц

В большинстве случаев Вы не должны конфигурировать систему частиц непосредственно в Вашем приложении или игре. Вместо этого Вы используете XCode для конфигурирования свойств системы частиц. Поскольку Вы изменяете поведение системы частиц, XCode сразу обеспечивает обновленный визуальный эффект. Когда завершенный, XCode архивирует сконфигурированную систему в файл, который можно тогда включать с ресурсами пакета проекта. Затем во время выполнения Ваша игра использует этот архив для инстанцирования новой системы частиц.

Используя XCode для создания систем частиц имеет несколько важных преимуществ:

  • Можно легко изучить возможности класса системы частиц.

  • Можно экспериментировать быстро с новыми эффектами частицы и сразу видеть результаты.

  • Вы разделяете задачу разработки эффекта частицы от задачи программирования использования его. Ваши художники могут работать над новыми эффектами частицы, независимыми от Вашего игрового кода.

  • Можно присоединить систему частиц к узлу в редакторе сцены XCode для предварительного просмотра системы частиц в сцене.

Для загрузки системы частиц из файла, Вы создали с XCode, используйте particleSystemNamed:inDirectory: метод.

Наследование


Оператор импорта


Swift

import SceneKit

Objective C

@import SceneKit;

Доступность


Доступный в OS X v10.10 и позже.
  • Создает новую систему частиц.

    Объявление

    Objective C

    + (instancetype)particleSystem

    Возвращаемое значение

    Новая система частиц возражает со значениями по умолчанию для всех ее свойств.

    Обсуждение

    Система частиц со значениями по умолчанию для всех ее свойств ничего не представляет, когда добавлено к сцене.

    Чтобы более легко создать новый визуальный эффект используйте XCode. Выберите SceneKit Particle System в окне New File, затем выберите один из предварительно сконфигурированных шаблонов системы частиц для огня, облаков и других общих визуальных эффектов. Можно тогда изменить шаблонную систему частиц для создания эффекта, надлежащего проекту. Для загрузки файла системы частиц, создаваемого в XCode, посмотрите particleSystemNamed:inDirectory: метод.

    Оператор импорта

    Objective C

    @import SceneKit;

    Доступность

    Доступный в OS X v10.10 и позже.

  • Загружает систему частиц из файла в ресурсах пакета приложения.

    Объявление

    Swift

    convenience init!(named name: String, inDirectory directory: String!)

    Objective C

    + (instancetype)particleSystemNamed:(NSString *)name inDirectory:(NSString *)directory

    Параметры

    name

    Имя файла системы частиц в каталоге ресурсов пакета приложения, с или без .scnp расширение.

    directory

    Путь подкаталога в каталоге ресурсов пакета приложения.

    Возвращаемое значение

    Новая система частиц инстанцируют от содержания файла.

    Обсуждение

    Файл частицы SceneKit, создаваемый XCode, содержит заархивированный SCNParticleSystem экземпляр, таким образом, можно также использовать NSKeyedArchiver и NSKeyedUnarchiver классы записи и читают файлы частицы.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Продолжительность, в секундах, за которые система порождает новые частицы. Animatable.

    Объявление

    Swift

    var emissionDuration: CGFloat

    Objective C

    @property(nonatomic) CGFloat emissionDuration

    Обсуждение

    birthRate свойство определяет число частиц, порожденных во время этой продолжительности. Можно рандомизировать продолжительность с emissionDurationVariation свойство.

    Продолжительность 0.0 указывает что все частицы (значение birthRate свойство), мечут икру мгновенно. Используйте эту продолжительность для создания рандомизированных статических эффектов в сцене. Например, путем объединения этой опции с birthLocation и imageSequenceInitialFrameVariation свойства, можно покрыть плоскость множеством спрайтов, создав видимость травянистого поля.

    Значение по умолчанию 1.0 секунды.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

    См. также

    idleDuration
    циклы

  • Диапазон, в секундах, рандомизированных значений продолжительности эмиссии. Animatable.

    Объявление

    Swift

    var emissionDurationVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat emissionDurationVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект emissionDuration свойство. В течение каждого периода эмиссии SceneKit случайным образом корректирует продолжительность до половины emissionDurationVariation значение. Например, если emissionDuration значение 1.0 секунды и emissionDurationVariation значение 0.5 секунды, система испускает частицы в течение 0.75 к 1.25 за секунды до остановки.

    Значение по умолчанию 0.0 секунды, не указывая рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • idleDuration idleDuration Свойство

    Продолжительность, в секундах, периодов, когда система не испускает частиц. Animatable.

    Объявление

    Swift

    var idleDuration: CGFloat

    Objective C

    @property(nonatomic) CGFloat idleDuration

    Обсуждение

    Если система loops значение свойства YEStrue, можно заставить систему испускать частицы периодически или спорадически. Например, в системе цикличного выполнения, где emissionDuration значение 1.0 секунды и idleDuration значение 1.0 секунды, система чередует между равной вторые периоды порождения и не порождением частиц. Можно рандомизировать продолжительность с idleDurationVariation свойство. Неактивная продолжительность не имеет никакого эффекта если loops значение свойства NOfalse.

    Значение по умолчанию 0.0 секунды, не указывая времени простоя между эмиссией. (Т.е. если loops значение свойства YEStrue, система испускает частицы постоянно.)

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

    См. также

    emissionDuration
    циклы

  • Диапазон, в секундах, рандомизированных неактивных значений продолжительности. Animatable.

    Объявление

    Swift

    var idleDurationVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat idleDurationVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект idleDuration свойство. В течение каждого периода неактивности SceneKit случайным образом корректирует продолжительность до половины idleDurationVariation значение. Например, если idleDuration значение 1.0 секунды и idleDurationVariation значение 0.5 секунды, система бездействует сроком на 0.75 к 1.25 секунды между эмиссией.

    Значение по умолчанию 0.0 секунды, не указывая рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • циклы циклы Свойство

    Булево значение, определяющее, повторяет ли система свою эмиссию и периоды неактивности.

    Объявление

    Swift

    var loops: Bool

    Objective C

    @property(nonatomic) BOOL loops

    Обсуждение

    Если это значение YEStrue (значение по умолчанию), можно заставить систему испускать частицы периодически или спорадически. Например, в системе цикличного выполнения, где emissionDuration значение 1.0 секунды и idleDuration значение 1.0 секунды, система чередует альтернативы между равной вторые периоды порождения и не порождением частиц. Используйте emissionDurationVariation и idleDurationVariation свойства для рандомизации продолжительности каждой эмиссии и период неактивности, делая поведение эмиссии более спорадическим.

    Указать NOfalse для систем частиц, создающих эффекты с одним выстрелом, такие как взрыв, появляющийся, когда побежден игровой символ.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • warmupDuration warmupDuration Свойство

    Продолжительность, в секундах, в течение которых частицы порождены перед системой, сначала представляется. Animatable.

    Объявление

    Swift

    var warmupDuration: CGFloat

    Objective C

    @property(nonatomic) CGFloat warmupDuration

    Обсуждение

    Значение по умолчанию 0.0 секунды, указывая, что система начинает испускать частицы на первом кадре SceneKit, представляют его в. Измените это значение на «ускоренную перемотку» € система частиц так, чтобы это, казалось, работало за некоторым количеством времени, когда это сначала представляется.

    Например, рассмотрите систему частиц, моделирующую падающий снег. С поведением по умолчанию сцена первоначально свободна от снежинок, только начинающих падать, поскольку появляется сцена. Если Вы устанавливаете a warmupDuration продолжительность нескольких секунд, сцена будет уже заполнена падающим снегом, когда это сначала появится.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Число частиц метало икру в течение каждого периода эмиссии. Animatable.

    Объявление

    Swift

    var birthRate: CGFloat

    Objective C

    @property(nonatomic) CGFloat birthRate

    Обсуждение

    Система испускает это число частиц на постоянном уровне через продолжительность периода, указанного emissionDuration свойство. Значение нуля препятствует тому, чтобы система испустила частицы, если Вы не рандомизируете уровень рождаемости с birthRateVariation свойство.

    Значение по умолчанию 1.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Диапазон рандомизированных значений уровня рождаемости частицы. Animatable.

    Объявление

    Swift

    var birthRateVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat birthRateVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект birthRate свойство. В течение каждого периода эмиссии SceneKit случайным образом корректирует уровень рождаемости до половины birthRateVariation значение. Например, если birthRate значение 100 частицы и birthRateVariation значение 50 частицы, система случайным образом испускает между 75 и 125 частицами во время emissionDuration период.

    Значение по умолчанию 0.0 секунды, не указывая рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • emitterShape emitterShape Свойство

    Форма области пространства, где система порождает новые частицы.

    Объявление

    Swift

    var emitterShape: SCNGeometry!

    Objective C

    @property(nonatomic, retain) SCNGeometry *emitterShape

    Обсуждение

    Для рандомизации расположений, где новые частицы мечут икру присвойте геометрию этому свойству. Эта геометрия определяет форму пространства, где новые частицы могут метать икру, и birthLocation и birthDirection свойства определяют расположения в и направления относительно формы. Например, присвоение геометрии сферы заставляет частицы порождать наугад расположения вдоль поверхности сферы (или в объеме сферы, согласно birthLocation свойство).

    Значение по умолчанию nil, указание, что все новые частицы испускают от единственной точки. Для систем частиц, присоединенных к узлу, эта точка является источником системы координат узла. Для систем частиц, присоединенных непосредственно к сцене с помощью addParticleSystem:withTransform: метод, используйте тот метод transform параметр для указания источника выброса газообразных отходов.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • birthLocation birthLocation Свойство

    Возможные расположения для недавно порожденных частиц, относительно эмиттерной формы.

    Объявление

    Swift

    var birthLocation: SCNParticleBirthLocation

    Objective C

    @property(nonatomic) SCNParticleBirthLocation birthLocation

    Обсуждение

    Это свойство определяет расположения для порождения новых частиц относительно геометрии, указанной в emitterShape свойство. Это свойство не имеет никакого эффекта если emitterShape значение свойства nil.

    Например, если эмиттерная форма SCNBox геометрия и расположение рождения SCNParticleBirthLocationVertex, новые частицы могут случайным образом метать икру в любом из восьми углов поля.

    Значение по умолчанию SCNParticleBirthLocationSurface, указание, что новые частицы порождают наугад расположения вдоль поверхности emitterShape геометрия. Для возможных значений посмотрите SCNParticleBirthLocation.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • birthDirection birthDirection Свойство

    Возможные начальные направления для недавно порожденных частиц, относительно эмиттерной формы.

    Объявление

    Swift

    var birthDirection: SCNParticleBirthDirection

    Objective C

    @property(nonatomic) SCNParticleBirthDirection birthDirection

    Обсуждение

    Это свойство определяет начальные направления для новых частиц относительно геометрии, указанной в emitterShape свойство. Это свойство не имеет никакого эффекта если emitterShape значение свойства nil.

    Например, если эмиттерная форма SCNSphere геометрия и расположение рождения SCNParticleBirthDirectionSurfaceNormal, новые частицы исходят далеко от центра сферы. Можно рандомизировать направление недавно порожденных частиц с spreadingAngle свойство.

    Значение по умолчанию SCNParticleBirthDirectionConstant, указание, что все частицы используют ту же основу emittingDirection значение. Для возможных значений посмотрите SCNParticleBirthDirection.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Начальное направление для недавно порожденных частиц. Animatable.

    Объявление

    Swift

    var emittingDirection: SCNVector3

    Objective C

    @property(nonatomic) SCNVector3 emittingDirection

    Обсуждение

    Если emitterShape значение свойства nil или birthDirection значение свойства SCNParticleBirthDirectionConstant, недавно порожденные частицы испускают в направлении, указанном этим свойством. Можно рандомизировать направление недавно порожденных частиц с spreadingAngle свойство.

    Значение по умолчанию является вектором {0.0, 0.0, 1.0}, указание, что частицы испускают в направлении положительной оси z.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • spreadingAngle spreadingAngle Свойство

    Диапазон, в градусах, рандомизированных начальных направлений частицы. Animatable.

    Объявление

    Swift

    var spreadingAngle: CGFloat

    Objective C

    @property(nonatomic) CGFloat spreadingAngle

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует направление, указанное emittingDirection или birthDirection свойство. Например, в значении по умолчанию 0.0 градусы, все частицы испускают в том же направлении. Увеличение распространяющегося угла к 30.0 градусы позволяют частицам испускать в любом направлении в пространстве, сформированном как конус, центральный угол которого составляет 30 °.

    Это свойство не имеет никакого эффекта если birthDirection значение свойства SCNParticleBirthDirectionRandom.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • particleAngle particleAngle Свойство

    Угол вращения, в градусах, недавно порожденных частиц. Animatable.

    Объявление

    Swift

    var particleAngle: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleAngle

    Обсуждение

    Угол частицы (или ориентация) независим от ее направления движения. Например, эффект дыма может использовать маленькое изображение облака для каждой частицы, остающейся в том же углу, как дым повышается, но эффект снега может использовать изображение, зеркально отражающее и вращающееся, когда падает каждая снежинка. orientationMode свойство определяет, ли и как частицам позволяют вращаться, и particleAngle и particleAngularVelocity свойства определяют углы вращения и уровни. Можно рандомизировать вращения недавно порожденных частиц с particleAngleVariation свойство.

    Значение по умолчанию 0.0 градусы, не указывая вращения.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Диапазон, в степенях рандомизированных начальных углов частицы. Animatable.

    Объявление

    Swift

    var particleAngleVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleAngleVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект particleAngle свойство. SceneKit случайным образом корректирует начальный угол каждой частицы до половины particleAngleVariation значение. Например, если particleAngle значение 90.0 градусы и particleAngleVariation значение 30.0 градусы, недавно порожденные частицы случайным образом повернуты к углу между 75 ° и 105 °.

    Значение по умолчанию 0.0 градусы, не указывая рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Начальная скорость, в модулях в секунду, для недавно порожденных частиц. Animatable.

    Объявление

    Swift

    var particleVelocity: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleVelocity

    Обсуждение

    Частицы начинают перемещаться на этой скорости в направление, определенное birthDirection или emittingDirection свойство. Их направления и скорости могут измениться после того согласно acceleration свойство или эффекты физики (см. affectedByGravity, affectedByPhysicsFields, и colliderNodes свойства). Можно рандомизировать скорость недавно порожденных частиц с particleAngularVelocityVariation свойство.

    Скорость частицы измеряется в модулях (пространства локальной координаты, содержащего систему частиц) в секунду.

    Значение по умолчанию 0.0 модули в секунду, указывая, который недавно испустил частицы, являются стационарными, пока иначе не влияется.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Диапазон, в модулях в секунду, рандомизированных начальных скоростей частицы. Animatable.

    Объявление

    Swift

    var particleVelocityVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleVelocityVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект particleVelocity свойство. SceneKit случайным образом корректирует начальную скорость каждой частицы до половины particleVelocityVariation значение. Например, если particleVelocity значение 10.0 модули в секунду и particleVelocityVariation значение 5.0 модули в секунду, недавно порожденные частицы имеют случайные скорости между 7.5 и 12.5 модули в секунду.

    Значение по умолчанию 0.0 модули в секунду, не указывая рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Начальный уровень вращения, в градусах в секунду, недавно порожденных частиц. Animatable.

    Объявление

    Swift

    var particleAngularVelocity: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleAngularVelocity

    Обсуждение

    Угол частицы (или ориентация) независим от ее направления движения. Например, эффект дыма может использовать маленькое изображение облака для каждой частицы, остающейся в том же углу, как дым повышается, но эффект снега может использовать изображение, зеркально отражающее и вращающееся, когда падает каждая снежинка. orientationMode свойство определяет, ли и как частицам позволяют вращаться, и particleAngle и particleAngularVelocity свойства определяют углы вращения и уровни. Можно рандомизировать вращения недавно порожденных частиц с particleAngleVariation свойство.

    Значение по умолчанию 0.0 градусы в секунду, не указывая вращения.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Диапазон, в градусах в секунду, рандомизированных начальных угловых скоростей для частиц. Animatable.

    Объявление

    Swift

    var particleAngularVelocityVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleAngularVelocityVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект particleAngularVelocity свойство. SceneKit случайным образом корректирует начальную угловую скорость каждой частицы до половины particleAngularVelocityVariation значение. Например, если particleAngularVelocity значение 10.0 градусы в секунду и particleAngularVelocityVariation значение 5.0 градусы в секунду, недавно порожденные частицы вращают наугад скорости между 7.5 и 12.5 градусы в секунду.

    Значение по умолчанию 0.0 градусы в секунду, не указывая рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Продолжительность, в секундах, в течение которых каждая частица представляется прежде чем быть удаленным из сцены. Animatable.

    Объявление

    Swift

    var particleLifeSpan: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleLifeSpan

    Обсуждение

    После того, как каждая частица порождена, это появляется в сцене сроком на эту продолжительность прежде чем быть удаленным из сцены. Можно рандомизировать продолжительности жизни недавно порожденных частиц с particleLifeSpanVariation свойство.

    Значение по умолчанию 1.0 секунды.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Диапазон, в секундах, рандомизированных продолжительностей жизни частицы. Animatable.

    Объявление

    Swift

    var particleLifeSpanVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleLifeSpanVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект particleLifeSpan свойство. SceneKit случайным образом корректирует продолжительность жизни каждой частицы до половины particleLifeSpanVariation значение. Например, если particleLifeSpan значение 1.0 секунды и particleLifeSpanVariation значение 0.5 секунды, каждая частица появляется на случайное время между 0.75 и 1.25 за секунды до быть удаленным из сцены.

    Значение по умолчанию 0.0 секунды, не указывая рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • particleSize particleSize Свойство

    Представленный размер, в модулях пространства мировой координаты сцены, изображения частицы. Animatable.

    Объявление

    Swift

    var particleSize: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleSize

    Обсуждение

    SceneKit использует это значение и для ширины и для высоты particleImage текстура во время отображения. (Если Вы используете stretchFactor свойство для протяжения частиц в их направлении движения, particleSize значение определяет ширину и высоту перед протяжением.) Можно рандомизировать размеры недавно порожденных частиц с particleSizeVariation свойство.

    Значение по умолчанию 1.0, указание, что изображения частицы появляются одна единица в высоту и одна единица в ширину в пространстве мировой координаты сцены.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Диапазон рандомизированных размеров частиц. Animatable.

    Объявление

    Swift

    var particleSizeVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleSizeVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект particleSize свойство. SceneKit случайным образом корректирует размер каждой частицы до половины particleSizeVariation значение. Например, если particleSize значение 1.0 и particleSizeVariation значение 0.5, недавно порожденные частицы случайным образом измерены между 0.75 и 1.25 единицы в ширину и высоко.

    Значение по умолчанию 0.0, указание никакой рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • particleColor particleColor Свойство

    Цвет недавно порожденных частиц. Animatable.

    Объявление

    Swift

    var particleColor: NSColor!

    Objective C

    @property(nonatomic, retain) NSColor *particleColor

    Обсуждение

    Этот цвет окрашивает или заштриховывает текстуру, предоставленную particleImage свойство. Можно использовать это свойство для реализации диапазона многих возможных визуальных эффектов с помощью тех же иллюстраций. Например, маленькая, расплывчатая, белая круговая текстура может быть окрашена желтая или оранжевая для моделирования огня, заштрихованного серый или черный для моделирования дыма, или оставленный в покое для моделирования падающего снега.

    Цвет по умолчанию является белым, заставляя изображение частицы появиться без оттенка или штриховки.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Диапазоны рандомизированных компонентов цвета частицы. Animatable.

    Объявление

    Swift

    var particleColorVariation: SCNVector4

    Objective C

    @property(nonatomic) SCNVector4 particleColorVariation

    Обсуждение

    Этот вектор рандомизирует цвет, указанный particleColor свойство. Компоненты вектора указывают диапазоны изменения в оттенке, насыщенности, яркости и альфе, в том порядке.

    Например, рассмотрите эффекты различных particleColorVariation векторы в системе, чей particleColor свойство указывает полностью непрозрачный красный как основной цвет:

    • Вектор {0.25, 0.0, 0.0, 0.0} позволяет недавно порожденным частицам брать любой оттенок в четверти цветового диска, центрируемого на красном (т.е. в пределах от фиолетового через пурпурный, красный, оранжевый цвет, и желтый к зеленому). Частицы сохраняют полную насыщенность, яркость и альфу.

    • Вектор {0.0, 0.0, 0.0, 1.0} позволяет недавно порожденным частицам варьироваться по альфе между полным и половиной непрозрачности. (Диапазон изменения центрируется на основном значении, но фиксируется к максимуму 1.0.) Частицы сохраняют тот же оттенок, насыщенность и яркость как основной цвет.

    • Вектор {0.0, 1.0, 1.0, 0.0} позволяет недавно порожденным частицам варьироваться по насыщенности и яркости, приводящей к случайным оттенкам красного цвета. Частицы сохраняют тот же оттенок и альфу как основной цвет.

    Значение по умолчанию SCNVector4Zero, указание никакой рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • particleImage particleImage Свойство

    Изображение текстуры использование SceneKit для рендеринга каждой частицы.

    Объявление

    Swift

    var particleImage: AnyObject!

    Objective C

    @property(nonatomic, retain) id particleImage

    Обсуждение

    Изображения текстуры помогают определить визуальный эффект, представленный системой частиц. particleColor свойство colorizes изображение перед рендерингом. Можно указать изображение с помощью NSImage (в OS X) или UIImage (в iOS) экземпляр, или NSString или NSURL экземпляр, содержащий путь или URL к файлу образа.

    Если значение nil (значение по умолчанию), SceneKit представляет каждую частицу как небольшой белый квадрат (цветной particleColor свойство).

    Для указания последовательности кадров для анимации каждой частицы расположите кадры как сетку в единственном изображении, как показано на рисунке 1, затем используйте свойства, перечисленные в Анимации Изображений Частицы, чтобы идентифицировать кадры в сетке и установить скорость и стиль анимации.

    Текстура рисунка 1Example отображает для анимации изображения частицы image: ../Art/image_sequence_2x.png

    Можно также создать частицы, кажущиеся отражающими путем присвоения массива изображений к этому свойству. SceneKit обрабатывает шесть изображений в массиве как карта куба и представляет каждую частицу как отражающую сферу существенного цвета. Система частиц fresnelExponent свойство управляет отражающей способностью каждой сферы. Для получения дополнительной информации на текстурах карты куба, посмотрите Ссылку класса SCNMaterialProperty.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • fresnelExponent fresnelExponent Свойство

    Экспонента отражающей способности SceneKit использует при рендеринге изображения частицы как карты куба. Animatable.

    Объявление

    Swift

    var fresnelExponent: CGFloat

    Objective C

    @property(nonatomic) CGFloat fresnelExponent

    Обсуждение

    Это свойство только вступает в силу когда particleImage свойство является массивом шести изображений, определяющих карту куба. В этом случае SceneKit представляет каждую частицу как отражающую сферу.

    Экспонента френели модулирует отражающую способность поверхности от углов другого представления. В значении по умолчанию 1.0, отражения имеют ту же интенсивность через всю поверхность частицы. В более высоких значениях края частицы являются более отражающими, чем центр.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • stretchFactor stretchFactor Свойство

    Множитель для протяжения частицы отображает вдоль их направления движения. Animatable.

    Объявление

    Swift

    var stretchFactor: CGFloat

    Objective C

    @property(nonatomic) CGFloat stretchFactor

    Обсуждение

    Используйте это свойство для создания визуальных эффектов, показывающих полосы движения, такие как фейерверк. Если orientationMode значение свойства SCNParticleOrientationModeFree, фактор фрагмента не по умолчанию расширяет изображения частицы в направлении оси y пространства локальной координаты каждой частицы.

    Значение по умолчанию 0.0, указание, что изображения частицы поддерживают свое исходное форматное соотношение.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Число строк для обработки частицы отображает как сетка кадров анимации.

    Объявление

    Swift

    var imageSequenceRowCount: Int

    Objective C

    @property(nonatomic) NSUInteger imageSequenceRowCount

    Обсуждение

    Для указания последовательности кадров для анимации каждой частицы расположите кадры как сетку в единственном изображении, как показано на рисунке 1. Тогда используйте это свойство и imageSequenceColumnCount свойство для указания расположения кадров в изображении, и imageSequenceInitialFrame и imageSequenceFrameRate свойства для определения синхронизации анимации.

    Значение по умолчанию 1. Если imageSequenceColumnCount значение также 1 (значение по умолчанию), это не указывает анимации для изображений частицы.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Число столбцов для обработки частицы отображает как сетка кадров анимации.

    Объявление

    Swift

    var imageSequenceColumnCount: Int

    Objective C

    @property(nonatomic) NSUInteger imageSequenceColumnCount

    Обсуждение

    Для указания последовательности кадров для анимации каждой частицы расположите кадры как сетку в единственном изображении, как показано на рисунке 1. Тогда используйте это свойство и imageSequenceRowCount свойство для указания расположения кадров в изображении, и imageSequenceInitialFrame и imageSequenceFrameRate свойства для определения синхронизации анимации.

    Значение по умолчанию 1. Если imageSequenceRowCount значение также 1 (значение по умолчанию), это не указывает анимации для изображений частицы.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Индекс первого кадра в частице отображает анимацию. Animatable.

    Объявление

    Swift

    var imageSequenceInitialFrame: CGFloat

    Objective C

    @property(nonatomic) CGFloat imageSequenceInitialFrame

    Обсуждение

    Для указания последовательности кадров для анимации каждой частицы расположите кадры как сетку в единственном изображении, как показано на рисунке 1. Общее количество кадров в последовательности изображений является продуктом умножения imageSequenceRowCount и imageSequenceColumnCount свойства. Кадры пронумерованы, запустившись в нуле, указав верхнее левое изображение в сетке.

    При использовании последовательностей изображений для частиц SceneKit интерполирует между кадрами анимации, таким образом, дробное значение указывает, что частичное исчезает между двумя кадрами анимации.

    Значение по умолчанию 0.0, указание, что анимация начинается с верхнего левого изображения в сетке.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Диапазон рандомизированной начальной буквы структурирует для анимации изображения частицы. Animatable.

    Объявление

    Swift

    var imageSequenceInitialFrameVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat imageSequenceInitialFrameVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект imageSequenceInitialFrame свойство. SceneKit случайным образом корректирует начальный кадр анимации для каждой частицы до половины imageSequenceInitialFrameVariation значение. Например, если imageSequenceInitialFrame значение 10.0 и imageSequenceInitialFrameVariation значение 5.0, каждая частица случайным образом начинается на кадре между кадром 7.5 и кадром 12.5 из анимации последовательности изображений.

    При использовании последовательностей изображений для частиц SceneKit интерполирует между кадрами анимации, таким образом, дробное значение (или для этого свойства или для любой конечной точки диапазона, который это определяет) результаты в частичном исчезает между двумя кадрами анимации.

    Значение по умолчанию 0.0 секунды, не указывая рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Уровень, в кадрах в секунду, частицы отображает анимацию. Animatable.

    Объявление

    Swift

    var imageSequenceFrameRate: CGFloat

    Objective C

    @property(nonatomic) CGFloat imageSequenceFrameRate

    Обсуждение

    Для указания последовательности кадров для анимации каждой частицы расположите кадры как сетку в единственном изображении, как показано на рисунке 1. Тогда используйте imageSequenceRowCount и imageSequenceColumnCount свойства для указания расположения кадров в изображениях и этого свойства для определения скорости анимации.

    Значение по умолчанию 0.0 кадры в секунду, не указывая анимации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Диапазон, в кадрах в секунду, рандомизированных частот кадров для частицы отображает анимацию. Animatable.

    Объявление

    Swift

    var imageSequenceFrameRateVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat imageSequenceFrameRateVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект imageSequenceFrameRate свойство. SceneKit случайным образом приводит скорость анимации в соответствие с каждой частицей до половины imageSequenceFrameRateVariation значение. Например, если imageSequenceFrameRate значение 10.0 кадры в секунду и imageSequenceFrameRateVariation значение 10.0 секунды, каждая частица анимирует на случайном уровне между 5.0 и 15.0 кадры в секунду.

    Значение по умолчанию 0.0 кадры в секунду, не указывая рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Режим анимации для частицы отображает анимацию.

    Объявление

    Swift

    var imageSequenceAnimationMode: SCNParticleImageSequenceAnimationMode

    Objective C

    @property(nonatomic) SCNParticleImageSequenceAnimationMode imageSequenceAnimationMode

    Обсуждение

    Значение по умолчанию SCNParticleImageSequenceAnimationModeRepeat, указание, что циклы последовательности изображений постоянно. Для получения дополнительной информации на других значениях, посмотрите SCNParticleImageSequenceAnimationMode.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Булево значение, определяющее, влияет ли сила тяжести, как определено моделированием физики сцены, на движение частиц.

    Объявление

    Swift

    var affectedByGravity: Bool

    Objective C

    @property(nonatomic) BOOL affectedByGravity

    Обсуждение

    Сила тяжести применяет постоянное ускорение ко всем частицам в системе. SceneKit предлагает две опции для моделирования эффекта силы тяжести на частицах:

    • affectedByGravity свойство, использующее gravity вектор, указанный physicsWorld объект сцены, содержащей систему частиц. Используйте эту опцию, когда Вы захотите, чтобы частицы системы были затронуты той же силой тяжести как SCNPhysicsBody объекты в Вашей сцене.

    • acceleration свойство, которое независимо от моделирования использование SceneKit для организаций физики в сцене. Используйте ускорение для моделирования силы тяжести, если Вы имеете нет SCNPhysicsBody объекты в Вашей сцене, или если Вы хотите, чтобы частицы были затронуты и физикой сила тяжести в мире и другим постоянным ускорением (таким как ветер).

    Значение по умолчанию NOfalse, указание, что физика сила тяжести в мире не влияет на частицы.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Булево значение, определяющее, влияют ли поля физики в сцене на движение частиц.

    Объявление

    Swift

    var affectedByPhysicsFields: Bool

    Objective C

    @property(nonatomic) BOOL affectedByPhysicsFields

    Обсуждение

    SCNPhysicsField объекты, присоединенные к узлам в сцене, применяют силы к организациям в их области эффекта. Например, радиальное поле силы тяжести притягивает организации к своему центру, и вихревое поле применяет силы, циркулирующие вокруг указанной оси. Силы, примененные полем физики на каждую частицу, пропорциональны ее массе, как указано particleMass свойство.

    Значение по умолчанию NOfalse, указание, что поля физики в сцене не влияют на частицы.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • colliderNodes colliderNodes Свойство

    Узлы, геометрия которых частицы системы может столкнуться с.

    Объявление

    Swift

    var colliderNodes: [AnyObject]!

    Objective C

    @property(nonatomic, copy) NSArray *colliderNodes

    Обсуждение

    Система частиц может выполнить ограниченное обнаружение коллизий и разрешение с конфигурациями в сцене. Если движущаяся частица пересекает геометрию, присоединенную к одному из SCNNode объекты в этом массиве, SceneKit разрешает коллизию, или удаляя частицу из сцены или позволяя ему возвратиться прочь или понижение вдоль поверхности геометрии.

    Этот массив пуст по умолчанию.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Булево значение, определяющее, удалены ли частицы из сцены после столкновения с другим объектом.

    Объявление

    Swift

    var particleDiesOnCollision: Bool

    Objective C

    @property(nonatomic) BOOL particleDiesOnCollision

    Обсуждение

    Это свойство не имеет никакого эффекта если colliderNodes массив пуст или не содержит узлов с присоединенной геометрией.

    Значение по умолчанию NOfalse, указание, что частицы остаются в сцене после коллизии. particleBounce и particleFriction свойства определяют ли и как возврат частиц или понижение после столкновения с геометрией.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Постоянный ускоряющий вектор, в модулях в секунду в секунду, применился ко всем частицам в системе. Animatable.

    Объявление

    Swift

    var acceleration: SCNVector3

    Objective C

    @property(nonatomic) SCNVector3 acceleration

    Обсуждение

    Используйте это свойство для моделирования эффектов, таких как ветер или сила тяжести на частицах.

    Для использования того же вектора силы тяжести, применяющегося к организациям физики в сцене, или применять больше чем одно постоянное ускорение к частицам посмотрите affectedByGravity свойство.

    Значение по умолчанию SCNVector3Zero, указание никакого ускорения.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • dampingFactor dampingFactor Свойство

    Фактор, замедляющий частицы относительно их скорости. Animatable.

    Объявление

    Swift

    var dampingFactor: CGFloat

    Objective C

    @property(nonatomic) CGFloat dampingFactor

    Обсуждение

    Используйте это свойство для моделирования эффектов, таких как жидкостное трение или сопротивление воздуха на частицах. Значение 0.0 (значение по умолчанию), не указывает замедления — т.е. каждая частица поддерживает постоянную скорость (если не затронуто силой тяжести, ускорением, полями физики или другими влияниями). Значение 1.0 препятствует тому, чтобы переместились частицы.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • particleMass particleMass Свойство

    Масса, в килограммах, каждой частицы в системе. Animatable.

    Объявление

    Swift

    var particleMass: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleMass

    Обсуждение

    Масса частицы определяет свое сопротивление силам. Эффекты dampingFactor свойство и любой SCNPhysicsField объекты, влияющие на каждую частицу, пропорциональны ее массе. Можно рандомизировать массы частиц в системе с particleMassVariation свойство.

    Значение по умолчанию 1.0 килограммы.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Диапазон, в килограммах, рандомизированных масс частицы. Animatable.

    Объявление

    Swift

    var particleMassVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleMassVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект particleMass свойство. SceneKit случайным образом корректирует массу каждой частицы до половины particleMassVariation значение. Например, если particleMass значение 1.0 килограммы и particleMassVariation значение 0.5 килограммы, каждая частица использует случайное массовое значение между 0.75 и 1.25 килограммы для моделирования физики.

    Значение по умолчанию 0.0 килограммы, не указывая рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • particleCharge particleCharge Свойство

    Электрический заряд, в кулонах, каждой частицы в системе. Animatable.

    Объявление

    Swift

    var particleCharge: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleCharge

    Обсуждение

    Заряд частицы определяет свое поведение, когда затронуто электрическим или магнитным полем. Используйте SCNPhysicsField класс для добавления этих полей к сцене. Частицы с положительными или отрицательными зарядами ведут себя по-другому, когда затронуто электрическими или магнитными полями. (Обратите внимание на то, что, в то время как SceneKit использует единицы СИ в качестве основания для его моделирования физики, Вы не должны волноваться о реализме — экспериментируют с различными комбинациями значений для нахождения поведения, работающего лучше всего на приложение или игру.) Можно рандомизировать заряды частиц в системе с particleChargeVariation свойство.

    Значение по умолчанию 0.0 кулоны, делая систему частиц незатронутой электрическими или магнитными полями.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Диапазон, в кулонах, рандомизированных зарядов частицы. Animatable.

    Объявление

    Swift

    var particleChargeVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleChargeVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект particleCharge свойство. SceneKit случайным образом корректирует заряд каждой частицы до половины particleChargeVariation значение. Например, если particleCharge значение 1.0 кулоны и particleChargeVariation значение 0.5 кулоны, каждая частица использует случайное значение заряда между 0.75 и 1.25 кулоны для моделирования физики.

    Значение по умолчанию 0.0 кулоны, не указывая рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • particleBounce particleBounce Свойство

    Коэффициент восстановления каждой частицы в системе. Animatable.

    Объявление

    Swift

    var particleBounce: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleBounce

    Обсуждение

    Реституция определяет сумму энергии, полученной или потерянной в коллизии. (Для определения поведения коллизии посмотрите colliderNodes свойство.)

    Значение 1.0 указывает, что частица не теряет энергии в коллизии (например, частица, падающая от определенной высоты на плоскую поверхность, приходит в норму к той же высоте). Большие значения указывают энергию, полученные, и меньшие значения указывают потерю энергии. Значение 0.0 препятствует тому, чтобы возвратились частицы. Можно рандомизировать факторы возврата частиц в системе с particleBounceVariation свойство.

    Значение по умолчанию 0.7.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Диапазон рандомизированных коэффициентов восстановления для частиц. Animatable.

    Объявление

    Swift

    var particleBounceVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleBounceVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект particleBounce свойство. SceneKit случайным образом корректирует коэффициент восстановления каждой частицы до половины particleBounceVariation значение. Например, если particleBounce значение 1.0 и particleBounceVariation значение 0.5, каждая частица использует случайный коэффициент восстановления между 0.75 и 1.25 для моделирования физики.

    Значение по умолчанию 0.0, указание никакой рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Коэффициент трения каждой частицы в системе. Animatable.

    Объявление

    Swift

    var particleFriction: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleFriction

    Обсуждение

    Трение определяет сопротивление частицы скользящему движению после коллизии. (Для определения поведения коллизии посмотрите colliderNodes свойство.) Можно рандомизировать коэффициенты трения частиц в системе с particleFrictionVariation свойство.

    Значение 1.0 (значение по умолчанию), позволяет частице скользить свободно, и значение 0.0 препятствует тому, чтобы скользила частица.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Диапазон рандомизированных коэффициентов трения для частиц. Animatable.

    Объявление

    Swift

    var particleFrictionVariation: CGFloat

    Objective C

    @property(nonatomic) CGFloat particleFrictionVariation

    Обсуждение

    Установка ненулевого значения для этого свойства рандомизирует эффект particleFriction свойство. SceneKit случайным образом корректирует коэффициент трения каждой частицы до половины particleFrictionVariation значение. Например, если particleFriction значение 1.0 и particleFrictionVariation значение 0.5, каждая частица использует случайный коэффициент трения между 0.75 и 1.25 для моделирования физики.

    Значение по умолчанию 0.0, указание никакой рандомизации.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Другая система частиц, которая будет добавлена к сцене, когда частица сталкивается с геометрией сцены.

    Объявление

    Swift

    var systemSpawnedOnCollision: SCNParticleSystem!

    Objective C

    @property(nonatomic, retain) SCNParticleSystem *systemSpawnedOnCollision

    Обсуждение

    Когда частица сталкивается с геометрией сцены, SceneKit добавляет копию указанной системы частиц к сцене в расположении коллизии. (Для определения поведения коллизии посмотрите colliderNodes свойство.)

    Используйте это свойство для моделирования эффектов, таких как дождь — одна система частиц моделирует падающие капли дождя, и другая система частиц моделирует всплески, происходящие, где каждая капля дождя ударяет поверхность.

    Значение по умолчанию этого свойства nil, указание, что никакие дополнительные системы не добавляются к сцене на коллизии частицы.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Другая система частиц, которая будет добавлена к сцене, когда умирает частица.

    Объявление

    Swift

    var systemSpawnedOnDying: SCNParticleSystem!

    Objective C

    @property(nonatomic, retain) SCNParticleSystem *systemSpawnedOnDying

    Обсуждение

    Когда частица достигает конца particleLifeSpan продолжительность и удалена из сцены, SceneKit добавляет копию указанной системы частиц к сцене в заключительном расположении частицы.

    Используйте это свойство для моделирования эффектов, таких как фейерверк — одна система частиц моделирует запускающийся фейерверк, и другая система частиц моделирует взрыв каждого фейерверка.

    Значение по умолчанию этого свойства nil, указание, что никакие дополнительные системы не добавляются к сцене на смерти частицы.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Другая система частиц, которая будет добавлена к сцене для каждой живущей частицы в системе.

    Объявление

    Swift

    var systemSpawnedOnLiving: SCNParticleSystem!

    Objective C

    @property(nonatomic, retain) SCNParticleSystem *systemSpawnedOnLiving

    Обсуждение

    Каждый раз, когда SceneKit представляет кадр, он добавляет экземпляр указанной системы частиц к сцене в расположении каждой представленной частицы.

    Используйте это свойство для моделирования непрерывных побочных эффектов на частицах. Например, для создания фонтана бриллиантов используйте одну систему частиц в качестве фонтана и присоедините другую систему, моделирующую каждый бриллиант.

    Значение по умолчанию этого свойства nil, указание, что никакие дополнительные системы не добавляются к сцене при рендеринге частиц.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • blendMode blendMode Свойство

    Режим наложения для составления композита частицы отображает в представленную сцену.

    Объявление

    Swift

    var blendMode: SCNParticleBlendMode

    Objective C

    @property(nonatomic) SCNParticleBlendMode blendMode

    Обсуждение

    Вместе с sortingMode свойство, режимы смешивания влияют на появление перекрывающихся изображений частицы, когда представлено.

    Для возможных режимов смешивания посмотрите SCNParticleBlendMode. Значение по умолчанию SCNParticleBlendModeAdditive.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • orientationMode orientationMode Свойство

    Определение режима, ли и как могут вращаться частицы.

    Объявление

    Swift

    var orientationMode: SCNParticleOrientationMode

    Objective C

    @property(nonatomic) SCNParticleOrientationMode orientationMode

    Обсуждение

    Угол частицы (или ориентация) независим от ее направления движения. Например, эффект дыма может использовать маленькое изображение облака для каждой частицы, остающейся в том же углу, как дым повышается, но эффект снега может использовать изображение, зеркально отражающее и вращающееся, когда падает каждая снежинка.

    Для возможных режимов ориентации посмотрите SCNParticleOrientationMode. Значение по умолчанию SCNParticleOrientationModeBillboardScreenAligned.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • sortingMode sortingMode Свойство

    Режим, определяющий порядок, в котором SceneKit представляет частицы системы.

    Объявление

    Swift

    var sortingMode: SCNParticleSortingMode

    Objective C

    @property(nonatomic) SCNParticleSortingMode sortingMode

    Обсуждение

    Вместе с blendMode свойство, сортируя режимы влияет на появление перекрывающихся изображений частицы, когда представлено.

    Для возможных режимов сортировки посмотрите SCNParticleSortingMode. Значение по умолчанию SCNParticleSortingModeNone, указание, что SceneKit может представить частицы в произвольном порядке.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • lightingEnabled lightingEnabled Свойство

    Булево значение, определяющее, применяет ли SceneKit освещение к изображениям частицы при рендеринге.

    Объявление

    Swift

    var lightingEnabled: Bool

    Objective C

    @property(nonatomic, getter=isLightingEnabled) BOOL lightingEnabled

    Обсуждение

    Если YEStrue, SceneKit использует позицию, цвет и другие атрибуты SCNLight объекты в сцене для штриховки каждого представленного изображения частицы. Используйте эту опцию улучшить объемные эффекты, такие как дым и вуаль.

    Значение по умолчанию NOfalse.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Булево значение, определяющее, представляет ли SceneKit частицы черного цвета цвета прежде, чем представить изображение частицы.

    Объявление

    Swift

    var blackPassEnabled: Bool

    Objective C

    @property(nonatomic, getter=isBlackPassEnabled) BOOL blackPassEnabled

    Обсуждение

    Установите это свойство в YEStrue улучшать визуальный контраст при использовании аддитивного смешивания. Значение по умолчанию NOfalse.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Булево значение, указывающее, работает ли моделирование частицы в пространстве локальной координаты узла, содержащего его.

    Объявление

    Swift

    var local: Bool

    Objective C

    @property(nonatomic, getter=isLocal) BOOL local

    Обсуждение

    Если NOfalse (значение по умолчанию), все позиции, расстояния и скорости в системе частиц находятся в системе мировой координаты сцены. Если YEStrue, система частиц работает в пространстве локальной координаты узла, содержащего его.

    Используйте это свойство, чтобы выбрать, следуют ли частицы, порожденные движущимся эмиттером, за системой, когда это перемещается.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Возвращает систему частиц ее начальному состоянию.

    Объявление

    Swift

    func reset()

    Objective C

    - (void)reset

    Обсуждение

    Вызов этого метода удаляет все в настоящее время живые частицы из сцены.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • speedFactor speedFactor Свойство

    Множитель для скорости, на которой SceneKit выполняет моделирование частицы. Animatable.

    Объявление

    Swift

    var speedFactor: CGFloat

    Objective C

    @property(nonatomic) CGFloat speedFactor

    Обсуждение

    Используйте это свойство, чтобы убыстриться или замедлить полное поведение системы частиц, не изменяя много отдельных свойств (такой как acceleration, particleAngularVelocity, и particleBounce) то влияние движение частиц.

    Значение по умолчанию 1.0. Нижние значения замедляют эффект; более высокие значения делают эффект выполненным быстрее.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Добавляет блок, изменяющий свойства частицы, чтобы быть выполненным в указанном событии во временах жизни частиц в системе.

    Объявление

    Swift

    func handleEvent(_ event: SCNParticleEvent, forProperties properties: [AnyObject], withBlock block: SCNParticleEventBlock)

    Objective C

    - (void)handleEvent:(SCNParticleEvent)event forProperties:(NSArray *)properties withBlock:(SCNParticleEventBlock)block

    Параметры

    event

    Событие, в котором можно вызвать блок. Посмотрите SCNParticleEvent для позволенных значений.

    properties

    Массив, содержащий один или больше констант, перечислил в Ключах Свойства Частицы, каждый из которых указывает свойство появления или способы поведения частиц в системе частиц.

    block

    A SCNParticleEventBlock блок, который вызовут каждый раз SceneKit, представляет кадр. В этом блоке можно изменить свойства частиц в системе.

    Обсуждение

    Путем соединения блока с одним или более свойствами частицы можно выполнить произвольный код, изменяющий те свойства, когда значительное событие на моделировании частицы имеет место для одной или более частиц. Например, можно использовать следующий код с эффектом конфетти случайным образом переключиться между двумя разными цветами для каждой порожденной частицы:

    • [system handleEvent:SCNParticleEventBirth
    • forProperties:@[SCNParticlePropertyColor]
    • withBlock:^(void **data, size_t *dataStride, uint32_t *indices , NSInteger count) {
    • for (NSInteger i = 0; i < count; ++i) {
    • float *color = (float *)((char *)data[0] + dataStride[0] * i);
    • if (rand() & 0x1) { // Switch the green and red color components.
    • color[0] = color[1];
    • color[1] = 0;
    • }
    • }
    • }];

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Словарь, дополнительно связывающий свойства частицы с объектами, анимирующими значение свойства для каждой частицы.

    Объявление

    Swift

    var propertyControllers: [NSObject : AnyObject]!

    Objective C

    @property(nonatomic, copy) NSDictionary *propertyControllers

    Обсуждение

    Каждый ключ в этом словаре является одной из констант, перечисленных в Ключах Свойства Частицы, и значение для каждого ключа является a SCNParticlePropertyController объект, ответственный за варьирование того свойства в течение долгого времени. Используйте контроллеры свойства частицы для добавления эффективных анимаций, изменяющих появление или поведение каждой частицы, испускаемой системой.

    Добавить более сложное поведение, которое не может быть описано a SCNParticlePropertyController объект, используйте addModifierForProperties:atStage:withBlock: добавить блок модификатора частицы. Однако знайте, что блоки модификатора частицы могут сильно повлиять на производительность рендеринга.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Добавляет блок, изменяющий свойства частицы, чтобы быть выполненным каждый раз, когда SceneKit представляет кадр.

    Объявление

    Swift

    func addModifierForProperties(_ properties: [AnyObject], atStage stage: SCNParticleModifierStage, withBlock block: SCNParticleModifierBlock)

    Objective C

    - (void)addModifierForProperties:(NSArray *)properties atStage:(SCNParticleModifierStage)stage withBlock:(SCNParticleModifierBlock)block

    Параметры

    properties

    Массив, содержащий один или больше констант, перечислил в Ключах Свойства Частицы, каждый из которых указывает свойство появления или способы поведения частиц в системе частиц.

    stage

    Этап моделирования частицы SceneKit, во время которого можно вызвать блок. Посмотрите SCNParticleModifierStage для позволенных значений.

    block

    A SCNParticleModifierBlock блок, который вызовут каждый раз SceneKit, представляет кадр. В этом блоке можно изменить свойства всех частиц в системе.

    Обсуждение

    Путем соединения блока с одним или более свойствами частицы можно выполнить произвольный код, изменяющий те свойства во время каждого кадра анимации. Эта опция обеспечивает максимальную гибкость для изменения появления или поведения частиц в течение долгого времени.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Удаляет блоки модификатора частицы для указанного этапа моделирования частицы.

    Объявление

    Swift

    func removeModifiersOfStage(_ stage: SCNParticleModifierStage)

    Objective C

    - (void)removeModifiersOfStage:(SCNParticleModifierStage)stage

    Параметры

    stage

    Этап моделирования частицы SceneKit, во время которого можно вызвать блок. Посмотрите SCNParticleModifierStage для позволенных значений.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Удаляет все блоки модификатора частицы, связанные с системой частиц.

    Объявление

    Swift

    func removeAllModifiers()

    Objective C

    - (void)removeAllModifiers

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

Типы данных

  • Подпись для блоков, вызванных SceneKit в ответ на значительные события во время моделирования частицы, используемого handleEvent:forProperties:withBlock: метод.

    Объявление

    Swift

    typealias SCNParticleEventBlock = (UnsafeMutablePointer<UnsafeMutablePointer<Void>>, UnsafeMutablePointer<UInt>, UnsafeMutablePointer<UInt32>, Int) -> Void

    Objective C

    typedef void (^SCNParticleEventBlock)(void **data, size_t *dataStride, uint32_t *indices, NSInteger count)

    Обсуждение

    Блок берет следующие параметры:

    data

    Массив значений с плавающей точкой, содержащих дорожки данных свойства для частиц системы. Ширина и формат каждой дорожки данных зависят от свойств, которые Вы указываете при вызове handleEvent:forProperties:withBlock: метод.

    dataStride

    Массив, идентифицирующий смещение, в байтах, значения каждого свойства в данных, чередует для каждой частицы. Порядок смещений в этом массиве соответствует порядку properties массив Вы указываете при вызове handleEvent:forProperties:withBlock: метод.

    indices

    Массив, в котором каждый элемент является индексом, идентифицирующим (в data массив) данные чередуют для каждой частицы, затронутой событием, заставившим SceneKit вызывать блок обработчика.

    Когда SceneKit вызывает Ваш блок обработчика для SCNParticleEventBirth событие, Вы не должны использовать этот параметр — в то время, затронутые частицы индексируются от 0 к count значение параметра.

    count

    Число частиц затронуто текущим событием.

    Используйте этот блок для изменения свойств отдельных частиц, когда они порождены, когда они сталкиваются с геометрией сцены, или когда они умирают (т.е. достигните конца их продолжительностей жизни, и удалены из сцены).

    Следующий пример иллюстрирует установку блока обработчика для событий коллизии частицы:

    • [system handleEvent:SCNParticleEventCollision
    • forProperties:@[SCNParticlePropertyAngle,
    • SCNParticlePropertyRotationAxis,
    • SCNParticlePropertyContactNormal]
    • withBlock:^(void **data, size_t *dataStride, uint32_t *indices, NSInteger count) {
    • // For each particle affected by the collision event,
    • // calculate pointers in the data to each property's value.
    • for (NSInteger i = 0; i < count; ++i) {
    • // SCNParticlePropertyAngle (float)
    • float *angle = (float *)((char *)data[0] + dataStride[0] * indices[i]);
    • // angle[0] is the particle's rotation angle in radians.
    • // SCNParticlePropertyRotationAxis (float3)
    • float *axis = (float *)((char *)data[1] + dataStride[1] * indices[i]);
    • // axis[0..2] are the xyz components of the particle's rotation axis.
    • // SCNParticlePropertyContactNormal (float3)
    • float *norm = (float *)((char *)data[2] + dataStride[2] * indices[i]);
    • // norm[0..2] are the xyz components of the contact normal vector.
    • // Now, use the norm vector to rotate the particle's axis/angle (not shown).
    • }
    • }];

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Подпись для блоков, вызванных SceneKit для изменения свойств частицы на каждом кадре моделирования, используемого addModifierForProperties:atStage:withBlock: метод.

    Объявление

    Swift

    typealias SCNParticleModifierBlock = (UnsafeMutablePointer<UnsafeMutablePointer<Void>>, UnsafeMutablePointer<UInt>, Int, Int, Float) -> Void

    Objective C

    typedef void (^SCNParticleModifierBlock)(void **data, size_t *dataStride, NSInteger start, NSInteger end, float deltaTime)

    Обсуждение

    Блок берет следующие параметры:

    data

    Массив значений с плавающей точкой, содержащих дорожки данных свойства для частиц системы. Ширина и формат каждой дорожки данных зависят от свойств, которые Вы указываете при вызове addModifierForProperties:atStage:withBlock: метод.

    dataStride

    Массив, идентифицирующий смещение, в байтах, значения каждого свойства в данных, чередует для каждой частицы. Порядок смещений в этом массиве соответствует порядку properties массив Вы указываете при вызове addModifierForProperties:atStage:withBlock: метод.

    start

    Индекс данных первой частицы чередует в data массив.

    end

    Индекс данных последней частицы чередует в data массив.

    deltaTime

    Прошедшее время, в секундах, начиная с последнего кадра моделирования.

    Используйте этот блок для изменения свойств отдельных частиц на каждом кадре моделирования.

    Следующий пример иллюстрирует установку блока модификатора, изменяющего позицию и скорость частицы:

    • [system addModifierForProperties:@[SCNParticlePropertyPosition,
    • SCNParticlePropertyVelocity]
    • atStage:SCNParticleModifierStagePostDynamics
    • withBlock:^(void **data, size_t *dataStride, NSInteger start, NSInteger end, float deltaTime) {
    • // For each particle to be processed,
    • // calculate pointers in the data to each property's value:
    • for (NSInteger i = start; i < end; ++i) {
    • // SCNParticlePropertyPosition (float3)
    • float *pos = (float *)((char *)data[0] + dataStride[0] * i);
    • // pos[0..2] are the xyz components of the particle's position.
    • // SCNParticlePropertyVelocity (float3)
    • float *vel = (float *)((char *)data[1] + dataStride[1] * i);
    • // vel[0..2] are the xyz components of the particle's position.
    • // Now, compute a new position and velocity (not shown).
    • }
    • }];

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Опции для порядка рендеринга частиц, используемых sortingMode свойство.

    Объявление

    Swift

    enum SCNParticleSortingMode : Int { case None case ProjectedDepth case Distance case OldestFirst case YoungestFirst }

    Objective C

    typedef enum : NSInteger { SCNParticleSortingModeNone, SCNParticleSortingModeProjectedDepth, SCNParticleSortingModeDistance, SCNParticleSortingModeOldestFirst, SCNParticleSortingModeYoungestFirst } SCNParticleSortingMode

    Константы

    • None

      SCNParticleSortingModeNone

      Частицы не сортируются; они могут быть представлены в любом порядке.

      Доступный в OS X v10.10 и позже.

    • ProjectedDepth

      SCNParticleSortingModeProjectedDepth

      Частицы дальше от точки зрения (как измерено использование спроектированной глубины) представляются перед более близкими частицами.

      Обычно Вы используете этот режим сортировки в сочетании с SCNParticleOrientationModeBillboardScreenAligned режим ориентации.

      Доступный в OS X v10.10 и позже.

    • Distance

      SCNParticleSortingModeDistance

      Частицы дальше от точки зрения (как измерено использование расстояния от камеры в пространстве сцены) представляются перед более близкими частицами.

      Обычно Вы используете этот режим сортировки в сочетании с SCNParticleOrientationModeBillboardViewAligned режим ориентации.

      Доступный в OS X v10.10 и позже.

    • OldestFirst

      SCNParticleSortingModeOldestFirst

      Частицы испустили, ранее представляются, прежде чем частицы испустили позже.

      Доступный в OS X v10.10 и позже.

    • YoungestFirst

      SCNParticleSortingModeYoungestFirst

      Частицы, испускаемые позже, представляются, прежде чем частицы испустили ранее.

      Доступный в OS X v10.10 и позже.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Опции для объединения источника и целевого пикселя окрашивают при составлении композита частиц во время рендеринга, используемого blendMode свойство.

    Объявление

    Swift

    enum SCNParticleBlendMode : Int { case Additive case Subtract case Multiply case Screen case Alpha case Replace }

    Objective C

    typedef enum : NSInteger { SCNParticleBlendModeAdditive, SCNParticleBlendModeSubtract, SCNParticleBlendModeMultiply, SCNParticleBlendModeScreen, SCNParticleBlendModeAlpha, SCNParticleBlendModeReplace } SCNParticleBlendMode

    Константы

    • Additive

      SCNParticleBlendModeAdditive

      Источник и целевые цвета добавляются вместе.

      Доступный в OS X v10.10 и позже.

    • Subtract

      SCNParticleBlendModeSubtract

      Исходный цвет вычтен из целевого цвета.

      Доступный в OS X v10.10 и позже.

    • Multiply

      SCNParticleBlendModeMultiply

      Исходный цвет умножается на целевой цвет.

      Доступный в OS X v10.10 и позже.

    • Screen

      SCNParticleBlendModeScreen

      Исходный цвет добавляется к целевым цветным временам инвертированный исходный цвет.

      Доступный в OS X v10.10 и позже.

    • Alpha

      SCNParticleBlendModeAlpha

      Источник и целевые цвета смешиваются путем умножения исходного альфа-значения.

      Доступный в OS X v10.10 и позже.

    • Replace

      SCNParticleBlendModeReplace

      Исходный цвет заменяет целевой цвет.

      Доступный в OS X v10.10 и позже.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Опции для ограничения ориентации частиц, используемых orientationMode свойство.

    Объявление

    Swift

    enum SCNParticleOrientationMode : Int { case BillboardScreenAligned case BillboardViewAligned case Free case BillboardYAligned }

    Objective C

    typedef enum : NSInteger { SCNParticleOrientationModeBillboardScreenAligned, SCNParticleOrientationModeBillboardViewAligned, SCNParticleOrientationModeFree, SCNParticleOrientationModeBillboardYAligned } SCNParticleOrientationMode

    Константы

    • BillboardScreenAligned

      SCNParticleOrientationModeBillboardScreenAligned

      Ориентация каждой частицы всегда фиксируется относительно камеры точки зрения.

      Используйте этот режим для простых изображений частицы, отдельное появление которых не имеет никакого отношения к пространству сцены, такому как сферы, круги и «œsparkle» € иллюстрации.

      Доступный в OS X v10.10 и позже.

    • BillboardViewAligned

      SCNParticleOrientationModeBillboardViewAligned

      Каждая частица всегда обращенным к камере точки зрения (но может вращаться об оси, параллельной направлению представления).

      Используйте этот режим для изображений частицы, отдельное появление которых зависит от расположения, и ориентация в пространстве сцены, таком как «самозванец» отображает деревья представления или облака в сцене.

      Доступный в OS X v10.10 и позже.

    • Free

      SCNParticleOrientationModeFree

      Ориентации частицы не ограничиваются; они могут вращаться свободно во всех осях.

      При использовании этого режима можно изменить ось вращения каждой частицы с SCNParticlePropertyRotationAxis ключ.

      Доступный в OS X v10.10 и позже.

    • BillboardYAligned

      SCNParticleOrientationModeBillboardYAligned

      Направление оси y каждой частицы всегда фиксируется относительно камеры точки зрения.

      Используйте этот режим, чтобы позволить каждой частице вращаться свободно о ее оси y (как определено particleAngle и particleAngularVelocity свойства или SCNParticlePropertyAngle ключ), но препятствуют тому, чтобы он вращался вокруг любой другой оси.

      Доступный в OS X v10.10 и позже.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Опции для начального расположения каждой испускаемой частицы, используемой birthLocation свойство.

    Объявление

    Swift

    enum SCNParticleBirthLocation : Int { case Surface case Volume case Vertex }

    Objective C

    typedef enum : NSInteger { SCNParticleBirthLocationSurface, SCNParticleBirthLocationVolume, SCNParticleBirthLocationVertex } SCNParticleBirthLocation

    Константы

    • Surface

      SCNParticleBirthLocationSurface

      Новые частицы могут быть созданы в любом расположении на поверхности эмиттерной формы.

      Доступный в OS X v10.10 и позже.

    • Volume

      SCNParticleBirthLocationVolume

      Новые частицы могут быть созданы в любом расположении в объеме эмиттерной формы.

      Это значение применяется только когда emitterShape свойство указывает одни из встроенных базовых конфигураций SceneKit (SCNPlane, SCNBox, SCNSphere, SCNPyramid, SCNCone, SCNCylinder, SCNCapsule, SCNTube, и SCNTorus).

      Доступный в OS X v10.10 и позже.

    • Vertex

      SCNParticleBirthLocationVertex

      Новые частицы могут быть созданы в только в расположениях вершин в эмиттерной форме.

      Доступный в OS X v10.10 и позже.

    Обсуждение

    emitterShape свойство определяет форму пространства, в котором новые частицы могут быть испущены, и birthLocation свойство определяет расположения новых частиц относительно этой формы.

    Чтобы заставить частицы системы испустить от единственной точки, установите emitterShape свойство к nil (значение по умолчанию). В этом случае SceneKit игнорирует birthLocation свойство.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Опции для начального направления каждой испускаемой частицы, используемой birthDirection свойство.

    Объявление

    Swift

    enum SCNParticleBirthDirection : Int { case Constant case SurfaceNormal case Random }

    Objective C

    typedef enum : NSInteger { SCNParticleBirthDirectionConstant, SCNParticleBirthDirectionSurfaceNormal, SCNParticleBirthDirectionRandom } SCNParticleBirthDirection

    Константы

    • Constant

      SCNParticleBirthDirectionConstant

      Направление испускания является тем же для всех частиц.

      При использовании этого режима, emittingDirection свойство определяет основное направление для всех частиц, и spreadingAngle свойство добавляет случайное изменение к этому направлению.

      Доступный в OS X v10.10 и позже.

    • SurfaceNormal

      SCNParticleBirthDirectionSurfaceNormal

      Направление испускания для каждой частицы приезжает поверхностный вектор нормали в точке, где испускается частица.

      Система частиц создает новые частицы в точках в пространстве, определенном emitterShape геометрия. Когда новая частица испускается, поверхностный вектор нормали геометрии в точке, самой близкой, частица определяет начальное направление частицы. (Обратите внимание на то, что birthLocation свойство определяет, где частицы могут быть созданы относительно emitterShape геометрия.)

      Это значение не имеет никакого эффекта если emitterShape значение свойства nil.

      Доступный в OS X v10.10 и позже.

    • Random

      SCNParticleBirthDirectionRandom

      SceneKit рандомизирует направление испускания для каждой частицы.

      Доступный в OS X v10.10 и позже.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Опции для анимации каждой частицы с последовательностью изображений, используемых imageSequenceAnimationMode свойство.

    Объявление

    Swift

    enum SCNParticleImageSequenceAnimationMode : Int { case Repeat case Clamp case AutoReverse }

    Objective C

    typedef enum : NSInteger { SCNParticleImageSequenceAnimationModeRepeat, SCNParticleImageSequenceAnimationModeClamp, SCNParticleImageSequenceAnimationModeAutoReverse } SCNParticleImageSequenceAnimationMode

    Константы

    • Repeat

      SCNParticleImageSequenceAnimationModeRepeat

      Циклы анимации после отображения всех его изображений.

      Доступный в OS X v10.10 и позже.

    • Clamp

      SCNParticleImageSequenceAnimationModeClamp

      Остановки анимации после отображения всех его изображений.

      После концов анимации частица продолжает отображать последнее изображение последовательности. (Или первое, если анимация играет наоборот.)

      Доступный в OS X v10.10 и позже.

    • AutoReverse

      SCNParticleImageSequenceAnimationModeAutoReverse

      После того, как анимация выводит на экран все свои изображения, она играет снова в обратном порядке.

      Доступный в OS X v10.10 и позже.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Этапы моделирования частицы SceneKit обрабатывают, в который можно вставить блоки модификатора, используемые addModifierForProperties:atStage:withBlock: метод.

    Объявление

    Swift

    enum SCNParticleModifierStage : Int { case PreDynamics case PostDynamics case PreCollision case PostCollision }

    Objective C

    typedef enum : NSInteger { SCNParticleModifierStagePreDynamics, SCNParticleModifierStagePostDynamics, SCNParticleModifierStagePreCollision, SCNParticleModifierStagePostCollision } SCNParticleModifierStage

    Константы

    • PreDynamics

      SCNParticleModifierStagePreDynamics

      Этап перед SceneKit моделирует движение частиц.

      Вставьте блок модификатора на данном этапе для изменения вводов к моделированию динамики. Например, при изменении скоростей частиц во время этого этапа SceneKit вычисляет новые позиции для каждой частицы на основе ее измененной скорости.

      Доступный в OS X v10.10 и позже.

    • PostDynamics

      SCNParticleModifierStagePostDynamics

      Этап после SceneKit моделирует движение частиц.

      Вставьте блок модификатора на данном этапе для изменения вывода моделирования динамики. Например, при изменении позиций частиц во время этого этапа измененные позиции переопределяют определенных моделированием SceneKit.

      Доступный в OS X v10.10 и позже.

    • PreCollision

      SCNParticleModifierStagePreCollision

      Этап перед SceneKit моделирует результаты коллизий между геометрией сцены и частицами.

      Вставьте блок модификатора на данном этапе для изменения вводов к разрешению коллизии. Например, при изменении факторов возврата частиц во время этого этапа SceneKit использует измененные факторы для вычислений скорости возврата каждой частицы.

      Доступный в OS X v10.10 и позже.

    • PostCollision

      SCNParticleModifierStagePostCollision

      Этап после SceneKit моделирует результаты коллизий между геометрией сцены и частицами.

      Вставьте блок модификатора на данном этапе для изменения вывода разрешения коллизии. Например, при изменении скоростей частиц во время этого этапа измененные скорости переопределяют скорость возврата, определенную моделированием SceneKit.

      Доступный в OS X v10.10 и позже.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Значительные события в продолжительностях жизни моделируют частицы, используемые handleEvent:forProperties:withBlock: метод.

    Объявление

    Swift

    enum SCNParticleEvent : Int { case Birth case Death case Collision }

    Objective C

    typedef enum : NSInteger { SCNParticleEventBirth, SCNParticleEventDeath, SCNParticleEventCollision } SCNParticleEvent

    Константы

    • Birth

      SCNParticleEventBirth

      Когда новые частицы мечут икру, происходит.

      Используйте обработчик для этого события для переопределения начальных свойств каждой частицы.

      Доступный в OS X v10.10 и позже.

    • Death

      SCNParticleEventDeath

      Когда частицы достигают конца своей продолжительности жизни, происходит.

      SceneKit вызывает Ваш блок обработчика событий сразу прежде, чем удалить мертвые частицы из сцены.

      Доступный в OS X v10.10 и позже.

    • Collision

      SCNParticleEventCollision

      Когда частицы сталкиваются с геометрией сцены, происходит.

      SceneKit сразу вызывает Ваш блок обработчика событий после разрешения коллизии.

      Доступный в OS X v10.10 и позже.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Ключевые свойства идентификации отдельных частиц, используемых propertyControllers словарь и handleEvent:forProperties:withBlock: и addModifierForProperties:atStage:withBlock: методы.

    Объявление

    Swift

    let SCNParticlePropertyPosition: NSString! let SCNParticlePropertyAngle: NSString! let SCNParticlePropertyRotationAxis: NSString! let SCNParticlePropertyVelocity: NSString! let SCNParticlePropertyAngularVelocity: NSString! let SCNParticlePropertyLife: NSString! let SCNParticlePropertyColor: NSString! let SCNParticlePropertyOpacity: NSString! let SCNParticlePropertySize: NSString! let SCNParticlePropertyFrame: NSString! let SCNParticlePropertyFrameRate: NSString! let SCNParticlePropertyBounce: NSString! let SCNParticlePropertyCharge: NSString! let SCNParticlePropertyFriction: NSString! let SCNParticlePropertyContactPoint: NSString! let SCNParticlePropertyContactNormal: NSString!

    Objective C

    NSString * const SCNParticlePropertyPosition; NSString * const SCNParticlePropertyAngle; NSString * const SCNParticlePropertyRotationAxis; NSString * const SCNParticlePropertyVelocity; NSString * const SCNParticlePropertyAngularVelocity; NSString * const SCNParticlePropertyLife; NSString * const SCNParticlePropertyColor; NSString * const SCNParticlePropertyOpacity; NSString * const SCNParticlePropertySize; NSString * const SCNParticlePropertyFrame; NSString * const SCNParticlePropertyFrameRate; NSString * const SCNParticlePropertyBounce; NSString * const SCNParticlePropertyCharge; NSString * const SCNParticlePropertyFriction; NSString * const SCNParticlePropertyContactPoint; NSString * const SCNParticlePropertyContactNormal;

    Константы

    • SCNParticlePropertyPosition

      SCNParticlePropertyPosition

      Радиус-вектор частицы в координатном пространстве сцены.

      Значение этого свойства является трехкомпонентным вектором ( NSValue объект, содержащий SCNVector3 значение для контроллеров свойства частицы или массив три float значения для события частицы или блоков модификатора).

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyAngle

      SCNParticlePropertyAngle

      Угол вращения, в радианах, частицы о ее оси.

      Значение этого свойства является скаляром с плавающей точкой ( NSNumber объект для контроллеров свойства частицы или сингл float значение для события частицы или блоков модификатора).

      Система частиц particleAngle и particleAngleVariation свойства определяют начальное вращение для каждой частицы. SCNParticlePropertyRotationAxis свойство определяет ось вращения частицы.

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyRotationAxis

      SCNParticlePropertyRotationAxis

      Ось частицы вращения, выраженного как вектор в пространстве локальной координаты частицы.

      Значение этого свойства является трехкомпонентным вектором ( NSValue объект, содержащий SCNVector3 значение для контроллеров свойства частицы или массив три float значения для события частицы или блоков модификатора).

      Система частиц orientationMode определяет начальную ось вращения для каждой частицы. SCNParticlePropertyAngle свойство определяет вращение частицы вокруг этой оси.

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyVelocity

      SCNParticlePropertyVelocity

      Вектор скорости частицы в модулях (координатного пространства сцены) в секунду.

      Значение этого свойства является трехкомпонентным вектором ( NSValue объект, содержащий SCNVector3 значение для контроллеров свойства частицы или массив три float значения для события частицы или блоков модификатора).

      Система частиц particleVelocity и particleVelocityVariation свойства определяют начальную скорость каждой частицы.

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyAngularVelocity

      SCNParticlePropertyAngularVelocity

      Угловая скорость частицы (или уровень вращения), в радианах в секунду.

      Значение этого свойства является скаляром с плавающей точкой ( NSNumber объект для контроллеров свойства частицы или сингл float значение для события частицы или блоков модификатора).

      Система частиц particleAngularVelocity и particleAngularVelocityVariation свойства устанавливают начальный курс вращения для каждой частицы. SCNParticlePropertyRotationAxis свойство определяет ось вращения частицы.

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyLife

      SCNParticlePropertyLife

      Остающееся время в продолжительности жизни частицы, в секундах.

      Значение этого свойства является скаляром с плавающей точкой ( NSNumber объект для контроллеров свойства частицы или сингл float значение для события частицы или блоков модификатора).

      SceneKit инициализирует это значение с помощью системы частиц particleLifeSpan и particleLifeSpanVariation свойства, затем уменьшает значение при рендеринге каждого кадра. Когда достигает жизненное значение 0.0, частица умирает (т.е. SceneKit больше не моделирует или представляет ее). Контроллеры свойства Particle могут использовать значение этого свойства в качестве ввода, но не изменить его.

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyColor

      SCNParticlePropertyColor

      Цвет оттенка частицы, как вектор красного, зеленого, синего цвета, и альфа-значения компонентов.

      Значение этого свойства является четырехкомпонентным вектором ( NSValue объект, содержащий SCNVector4 значение для контроллеров свойства частицы или массив четыре float значения для события частицы или блоков модификатора).

      Система частиц particleColor и particleColorVariation свойства определяют начальный цвет для каждой частицы.

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyOpacity

      SCNParticlePropertyOpacity

      Непрозрачность частицы (или альфа-значение).

      Значение этого свойства является скаляром с плавающей точкой ( NSNumber объект для контроллеров свойства частицы или сингл float значение для события частицы или блоков модификатора).

      Это свойство управляет тем же альфа-значением как SCNParticlePropertyColor свойство. Используйте это свойство, когда Вы хотите изменить непрозрачность частицы, не изменяя цвет, или когда Вы хотите использовать непрозрачность в качестве ввода для a SCNParticlePropertyController объект.

      Система частиц particleColor и particleColorVariation свойства определяют начальное альфа-значение для каждой частицы.

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertySize

      SCNParticlePropertySize

      Ширина и высота представленного изображения частицы, в модулях координатного пространства сцены.

      Значение этого свойства является скаляром с плавающей точкой ( NSNumber объект для контроллеров свойства частицы или сингл float значение для события частицы или блоков модификатора). SceneKit представляет изображения частицы как квадрат, таким образом, это значение применяется к и ширине и высоте.

      Система частиц particleSize и particleSizeVariation свойства определяют начальный размер для каждой частицы.

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyFrame

      SCNParticlePropertyFrame

      Текущий индекс кадра анимации изображения частицы.

      Значение этого свойства является скаляром с плавающей точкой ( NSNumber объект для контроллеров свойства частицы или сингл float значение для события частицы или блоков модификатора). Для получения дополнительной информации на анимации изображения частицы, посмотрите particleImage свойство.

      Система частиц imageSequenceInitialFrame и imageSequenceInitialFrameVariation свойства определяют начальный кадр для каждой частицы.

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyFrameRate

      SCNParticlePropertyFrameRate

      Уровень, в кадрах в секунду, анимации изображения частицы.

      Значение этого свойства является скаляром с плавающей точкой ( NSNumber объект для контроллеров свойства частицы или сингл float значение для события частицы или блоков модификатора). Для получения дополнительной информации на анимации изображения частицы, посмотрите particleImage свойство.

      Система частиц imageSequenceFrameRate и imageSequenceFrameRateVariation свойства определяют начальную скорость анимации для каждой частицы.

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyBounce

      SCNParticlePropertyBounce

      Коэффициент восстановления частицы.

      Значение этого свойства является скаляром с плавающей точкой ( NSNumber объект для контроллеров свойства частицы или сингл float значение для события частицы или блоков модификатора).

      Система частиц particleBounce и particleBounceVariation свойства определяют начальный коэффициент восстановления для каждой частицы.

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyCharge

      SCNParticlePropertyCharge

      Электрический заряд частицы, в кулонах.

      Значение этого свойства является скаляром с плавающей точкой ( NSNumber объект для контроллеров свойства частицы или сингл float значение для события частицы или блоков модификатора). Заряд частицы определяет свое поведение, когда затронуто электрическим или магнитным полем, создаваемым с SCNPhysicsField класс.

      Система частиц particleCharge и particleChargeVariation свойства определяют первоначальную плату за разговор для каждой частицы.

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyFriction

      SCNParticlePropertyFriction

      Коэффициент трения частицы.

      Значение этого свойства является скаляром с плавающей точкой ( NSNumber объект для контроллеров свойства частицы или сингл float значение для события частицы или блоков модификатора).

      Система частиц particleFriction и particleFrictionVariation свойства определяют начальный коэффициент трения для каждой частицы.

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyContactPoint

      SCNParticlePropertyContactPoint

      Расположение, в координатном пространстве сцены, коллизии между частицей и геометрией в сцене.

      Свойство контактной точки только применяется к блокам обработчика коллизии (см. handleEvent:forProperties:withBlock: метод и SCNParticleEventCollision постоянный). Его значение является трехкомпонентным вектором (массив три float значения).

      Доступный в OS X v10.10 и позже.

    • SCNParticlePropertyContactNormal

      SCNParticlePropertyContactNormal

      Вектор нормали, в координатном пространстве сцены, коллизии между частицей и геометрией в сцене.

      Нормальное свойство контакта только применяется к блокам обработчика коллизии (см. handleEvent:forProperties:withBlock: метод и SCNParticleEventCollision постоянный). Его значение является трехкомпонентным вектором (массив три float значения).

      Доступный в OS X v10.10 и позже.