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

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

Разработчик

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

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

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

SCNParticlePropertyController

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

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

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

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

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


  • NSObject
  • SCNParticlePropertyController
  • NSObject
  • SCNParticlePropertyController

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


Swift

import SceneKit

Objective C

@import SceneKit;

Доступность


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

    Объявление

    Swift

    convenience init(animation animation: CAAnimation)

    Objective C

    + (instancetype)controllerWithAnimation:(CAAnimation *)animation

    Параметры

    animation

    Базовый Объект Animation, указывающий поведение анимации свойства. Не должен быть ноль.

    Можно использовать отличающийся CAAnimation подклассы для анимации эффектов по-разному. Например, a CABasicAnimation экземпляр переходит свойство от одного значения до другого и a CAKeyframeAnimation экземпляр переходит свойство через серию значений. Вы используете свойства объекта Animation, чтобы определить его кривую синхронизации, повторить режим и другие опции.

    SceneKit игнорирует keyPath, duration, и repeatCount свойства этого объекта Animation.

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

    Новый контроллер свойства частицы.

    Обсуждение

    Устанавливать анимацию свойства частицы:

    1. Создайте a CAAnimation определение объекта, как свойство каждой частицы в системе изменяется в течение долгого времени.

    2. Создайте контроллер свойства частицы с помощью controllerWithAnimation: метод.

    3. Присоедините контроллер свойства к системе частиц с помощью propertyControllers словарь, выбирая ключ перечислил в Ключах Свойства Частицы для идентификации свойства частицы, которое он анимирует.

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

    Swift

    • // 1. Create and configure an animation object.
    • let animation = CAKeyframeAnimation()
    • animation.values = [ 0.1, 1.0, 3.0, 0.5 ]
    • // 2. Create a property controller from the animation object.
    • let sizeController = SCNParticlePropertyController(animation: animation)
    • // 3. Assign the controller to a particle system, associating it with a particle property.
    • particleSystem.propertyControllers = [ SCNParticlePropertySize: sizeController ]

    Objective C

    • // 1. Create and configure an animation object.
    • CAKeyframeAnimation *animation = [CAKeyframeAnimation animation];
    • animation.values = @[ @0.1, @1.0, @3.0, @0.5 ];
    • // 2. Create a property controller from the animation object.
    • SCNParticlePropertyController *controller =
    • [SCNParticlePropertyController controllerWithAnimation:animation];
    • // 3. Assign the controller to a particle system, associating it with a particle property.
    • particleSystem.propertyControllers = @{ SCNParticlePropertySize: controller };

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

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

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

    Объявление

    Swift

    var animation: CAAnimation!

    Objective C

    @property(nonatomic, retain) CAAnimation *animation

    Обсуждение

    Можно использовать отличающийся CAAnimation подклассы для анимации эффектов по-разному. Например, a CABasicAnimation переходит свойство от одного значения до другого и a CAKeyframeAnimation переходит свойство через серию значений. Вы используете свойства объекта Animation, чтобы определить его кривую синхронизации, повторить режим и другие опции.

    SceneKit игнорирует keyPath свойство этого объекта Animation. Вместо этого когда Вы присоединяете контроллер свойства к системе частиц propertyControllers словарь, используйте один из ключей, перечисленных в Ключах Свойства Частицы для указания, какое свойство частицы это анимирует. SceneKit также игнорирует анимацию duration и repeatCount свойства. Вместо этого контроллер определяет поведение входного значения анимации.

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

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

  • inputMode inputMode Свойство

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

    Объявление

    Swift

    var inputMode: SCNParticleInputMode

    Objective C

    @property(nonatomic) SCNParticleInputMode inputMode

    Обсуждение

    С режимом ввода по умолчанию SCNParticleInputModeOverLife, синхронизация анимации для каждой частицы основывается на продолжительности жизни частицы. Например, рассмотрите анимацию, сокращающую непрозрачность каждой частицы от 1.0 к 0.0. По умолчанию частица начинается с полной непрозрачности и сокращает ее непрозрачность полностью к концу ее продолжительности жизни (независимо от позиции частицы и других свойств). Измените режим ввода для создания непрозрачности каждой частицы функцией различного измерения, такого как расстояние от указанной точки или одного из других свойств частицы. Для получения дополнительной информации посмотрите SCNParticleInputMode.

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

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

  • inputBias inputBias Свойство

    Смещение для добавления к входному значению анимации контроллера.

    Объявление

    Swift

    var inputBias: CGFloat

    Objective C

    @property(nonatomic) CGFloat inputBias

    Обсуждение

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

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

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

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

  • inputScale inputScale Свойство

    Фактор для умножения входного значения анимации контроллера.

    Объявление

    Swift

    var inputScale: CGFloat

    Objective C

    @property(nonatomic) CGFloat inputScale

    Обсуждение

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

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

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

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

  • inputOrigin inputOrigin Свойство

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

    Объявление

    Swift

    weak var inputOrigin: SCNNode!

    Objective C

    @property(nonatomic, weak) SCNNode *inputOrigin

    Обсуждение

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

    SceneKit вычисляет расстояние между этим узлом position вектор (преобразованный в пространство мировой координаты сцены) и каждая частица и затем использует получающееся значение в качестве ввода к анимации контроллера. Например, если Вы используете эту опцию анимировать непрозрачность частицы от 1.0 к 0.0, все частицы вне определенного расстояния от inputOrigin узел полностью прозрачен — независимо от любой случайной скорости или изменений направления в достижении того расстояния.

    Для совершенствования отношения между диапазоном расстояний и диапазоном входных значений для анимации контроллера используйте inputBias и inputScale свойства.

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

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

  • inputProperty inputProperty Свойство

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

    Объявление

    Swift

    var inputProperty: String!

    Objective C

    @property(nonatomic, copy) NSString *inputProperty

    Обсуждение

    Это свойство применяется только когда контроллер inputMode значение SCNParticleInputModeOverOtherProperty.

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

    Swift

    • let animation = CABasicAnimation()
    • animation.fromValue = 0.1
    • animation.toValue = 10.0
    • let sizeController = SCNParticlePropertyController(animation: animation)
    • sizeController.inputMode = .OverOtherProperty
    • sizeController.inputProperty = SCNParticlePropertyVelocity
    • sizeController.inputScale = 0.1
    • particleSystem.propertyControllers = [ SCNParticlePropertySize: sizeController ]

    Objective C

    • CABasicAnimation *animation = [CABasicAnimation animation];
    • animation.fromValue = @0.1;
    • animation.toValue = @10.0;
    • SCNParticlePropertyController *sizeController =
    • [SCNParticlePropertyController controllerWithAnimation:animation];
    • sizeController.inputMode = SCNParticleInputModeOverOtherProperty;
    • sizeController.inputProperty = SCNParticlePropertyVelocity;
    • sizeController.inputScale = 0.1;
    • particleSystem.propertyControllers = @{ SCNParticlePropertySize : sizeController };

    Для совершенствования отношения между диапазоном значений свойств и диапазоном входных значений для анимации контроллера используйте inputBias и inputScale свойства.

    При указании векторного свойства (такого как ускорение) как входное свойство SceneKit использует длину того вектора для входного значения.

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

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

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

    Объявление

    Swift

    enum SCNParticleInputMode : Int { case OverLife case OverDistance case OverOtherProperty }

    Objective C

    typedef enum : NSInteger { SCNParticleInputModeOverLife, SCNParticleInputModeOverDistance, SCNParticleInputModeOverOtherProperty, } SCNParticleInputMode;

    Константы

    • OverLife

      SCNParticleInputModeOverLife

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

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

    • OverDistance

      SCNParticleInputModeOverDistance

      Эффект контроллера на свойство частицы является функцией расстояния частицы от позиции указанного узла.

      Используйте inputOrigin свойство для указания узла для измерения расстояния от, и inputBias и inputScale свойства для совершенствования отношения между диапазоном расстояний в диапазон входных значений для анимации контроллера.

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

    • OverOtherProperty

      SCNParticleInputModeOverOtherProperty

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

      Используйте inputProperty свойство для указания входного свойства, и inputBias и inputScale свойства для совершенствования отношения между диапазоном значений свойств в диапазон входных значений для анимации контроллера.

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

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

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