Вот видео того, что у меня есть до сих пор. Простите, что мой MBP + QuickTime + Xcode не самый лучший.Улучшение/оптимизация производительности анимации CAEmitterLayer (испускать путь?)
http://www.youtube.com/watch?v=DGRwz7n3kNA
Это действительно черновик на то, что я хочу, но вы можете получить идею. Производительность - самая большая проблема, но даже производительность в сторону я теряю процессор/время GPU рендеринга/вычисления частиц, которые позади мой UIImageView (демоническая руна смотрит вещь).
Кто-нибудь есть идеи, как излучать частицы вдоль пути или лучший способ получить светящуюся анимацию за точкой зрения? Вот отрывок из моего зрения эмиттера, что Сет до анимации:
emitter = (CAEmitterLayer*)self.layer;
CGSize size = self.frame.size;
[emitter setEmitterPosition:CGPointMake(size.width/2.0f, size.height/2.0f)];
[emitter setEmitterSize:CGSizeMake(size.width, size.height)];
[emitter setEmitterShape:kCAEmitterLayerCircle];
[emitter setRenderMode:kCAEmitterLayerAdditive];
CAEmitterCell *runeGlow = [CAEmitterCell emitterCell];
[runeGlow setColor:[[UIColor whiteColor] CGColor]];
[runeGlow setName:@"runeGlow"];
[runeGlow setBirthRate:4000.0f];
[runeGlow setVelocity:30.0f];
[runeGlow setLifetime:0.6f];
[runeGlow setEmissionRange:M_PI * 2.0f];
[runeGlow setContents:(id)[[UIImage imageNamed:@"burn.png"] CGImage]];
[emitter setEmitterCells:[NSArray arrayWithObject:runeGlow]];
Кроме того, kCAEmitterLayerAdditive может быть дорогостоящим, отбрасывая его, мне очень помогли. – Andy