标签: particles

使用分布式粒子拟合图像中自由区域中的最大圆

我正在处理图像,以检测并适合包含分布式粒子的图像的任何自由区域中的最大圆圈:1

(能够检测粒子的位置).

一个方向是定义一个圆圈触摸任何三点组合,检查圆圈是否为空,然后在所有空圆圈中找到最大的圆圈.然而,它导致大量组合,即C(n,3),n图像中的粒子总数在哪里.

如果有人能提供我可以探索的任何提示或替代方法,我将不胜感激.

math matlab geometry image-processing particles

50
推荐指数
4
解决办法
3159
查看次数

你如何阻止粒子效应?(SKEmitterNode)

我目前在碰撞语句中有这个代码,如果与对象发生碰撞,那么这个粒子会发生,但我该怎么做呢?因为它永远持续下去,而我只希望每次接触发生几次

SKEmitterNode *emitter =  [NSKeyedUnarchiver unarchiveObjectWithFile:[[NSBundle mainBundle]     pathForResource:@"ff" ofType:@"sks"]];
emitter.zPosition = 0;
emitter.particlePositionRange = CGVectorMake(0, self.size.height);
emitter.position = CGPointMake(self.size.width, self.size.height/2);
[self addChild:emitter];
Run Code Online (Sandbox Code Playgroud)

particles sprite-kit skemitternode

16
推荐指数
2
解决办法
8882
查看次数

更改spritekit粒子颜色

在spritekit编辑器中创建后,是否可以更改粒子的颜色?我尝试了setParticleColor但它似乎没有做任何事情.基本上我想要一个粒子文件和一种以编程方式动态改变颜色的方法......

particles sprite-kit

15
推荐指数
1
解决办法
3922
查看次数

无法在iOS9中暂停SKEmitterNode

我尝试了一些解决方法,但仍然无法暂停现有的粒子iOS9.我正在使用以下技术来暂停场景:

  • 暂停场景 self.paused = YES;
  • 设置自定义globalPause = YES;变量来控制update:方法执行(因为update:在场景暂停时仍然运行).

关键是我不会暂停视图,而是暂停视野.因为这个原因,我不会暂停视图.

以下是可以重现此问题的代码iOS9:

#import "GameScene.h"

@interface GameScene ()

@property (nonatomic, strong)SKEmitterNode *emitter;

@end

@implementation GameScene


-(void)didMoveToView:(SKView *)view {


    [self addChild:[self getSpaceDustEmitter]];

}

//No need for this method though :)

-(SKEmitterNode*)getSpaceDustEmitter{

    self.emitter =  [NSKeyedUnarchiver unarchiveObjectWithFile:[[NSBundle mainBundle] pathForResource:@"spacedust" ofType:@"sks"]];
     self.emitter .name = @"emitter_spacedust";
    self.emitter .position = CGPointMake(CGRectGetMidX(self.frame),self.frame.size.height);



    return  self.emitter ;
}


@end
Run Code Online (Sandbox Code Playgroud)

因此,非常简单的例子可以工作,iOS8而不是按预期工作iOS9.会发生什么事情,即使一切看起来都是暂停的,也不是.如果场景未暂停,则取消暂停后的现有粒子移动到它们应该的位置.此外,看起来粒子也会继续产卵,如果暂停时间过长,这会导致明显滞后...

这是粒子编辑器的截图:

粒子编辑器

有人有一些合理的解释吗?到目前为止,我已经尝试明确暂停发射器:

emitterNode.paused = YES;
Run Code Online (Sandbox Code Playgroud)

它没有用,实际上这应该在场景暂停时自动完成(发射器被添加到场景中).这是尝试的另一件事是设置 …

objective-c particles sprite-kit skemitternode ios9

15
推荐指数
1
解决办法
603
查看次数

粒子系统libGDX

谁能给我一个很好的例子,说明从哪里开始在libGDX中制作粒子系统?我查看了libGDX源代码中的测试示例,但我仍然无法理解它.也许只是对它的一个很好的解释将有所帮助.我想我想用大量的彩色颗粒进行某种爆炸.任何帮助是极大的赞赏!

java android particles particle-system libgdx

14
推荐指数
1
解决办法
1万
查看次数

如何在iOS7中使用SpriteKit添加粒子

我想在我的SpriteKit应用程序中添加一个粒子,但我找不到怎么做.我可以使用粒子编辑器创建,但如何将它们添加到我的视图中?

非常感谢提前!

particles ios7 sprite-kit skemitternode

13
推荐指数
1
解决办法
7989
查看次数

使用SpriteKit节点的路径粒子效果

我正在使用Swift,Sprite Kit和Xcode 6,

我想在SpriteKit中创建一个粒子效果,有点像iOS游戏中名为"Duet"的球的粒子效果,但我不知道如何继续,我设法创建一个粒子效果,但不是像这个游戏中的粒子跟随节点并绘制节点的路径......

这是我的代码:

let firstCircle = SKSpriteNode(imageNamed: "Circle")
let particle = SKEmitterNode(fileNamed: "FirstParticle.sks")

override func didMoveToView(view: SKView)
{
    firstCircle.physicsBody = SKPhysicsBody(circleOfRadius: 7)
    firstCircle.physicsBody?.affectedByGravity = false

    particle.targetNode = firstCircle

    addChild(firstCircle)
    addChild(particle)
}

override func touchesBegan(touches: NSSet, withEvent event: UIEvent)
{        
    for touch: AnyObject in touches
    {
        firstCircle.position = touch.locationInNode(self)
    }
}

override func touchesMoved(touches: NSSet, withEvent event: UIEvent)
{
    for touch: AnyObject in touches
    {
        firstCircle.position = touch.locationInNode(self)
    }
}
Run Code Online (Sandbox Code Playgroud)

path particles sprite-kit skemitternode swift

13
推荐指数
1
解决办法
1675
查看次数

Particles.js作为背景?

我试图使用这个例子作为背景,但我似乎无法让它工作.

http://vincentgarreau.com/particles.js/#nasa

为了解决这个问题,我不得不使用-1500px的上限,只是将我的文本放在它的顶部,这会导致响应性方面的重大问题.

有没有人知道如何严格地将它作为背景使用?

该插件的创建者已经在他的网站上完成了它.

http://vincentgarreau.com/en

您可以判断,因为当您检查它时,没有像在CodePen示例上那样悬停在顶部的"画布".

html javascript css particles

12
推荐指数
3
解决办法
3万
查看次数

粒子系统设计?

我正在设计我自己的粒子系统引擎,这是出于学习目的,我真的不想使用现有的引擎.

现在我生成了漂亮的粒子,但我想布置引擎以便更容易使用它们.

我一直在想一个类"粒子系统",

该类将包含以下引用:

particlesList:组成系统的粒子列表.

systemEmitter:粒子的系统发射器,Emitter类应该能够执行几种粒子发射技术,例如从线,点发射,从多边形中随机发射.此类也应该进行发射控制,例如向一个点发射,远离一个点,在一个方向和时间发射.

particleController:管理例如围绕点旋转,可变粒子大小,可变粒子颜色,粒子以不同方式反应的系统周围区域,碰撞检测(与其他对象或在粒子内是否必要).

粒子渲染器:负责绘制此系统,可变混合类型,粒子纹理,粒子类型,如三角形,圆形,自定义...

这四个项目将构成粒子系统类.一些FX可能需要多个粒子系统,例如Fire FX,可以使用一个系统用于火灾,一个系统用于烟雾,一个系统用于火花.

这就是我的想法,但我真的很想知道这种设计方法是否合适,或者你是否看到我缺少某些东西或者能够/应该做些不同的事情.我没有想过一些简单的方法来"保存"FX,例如什么是告诉我的引擎的最佳方式,"画火","画爆炸","画喷泉"等,也许存储外汇信息在xml文件中是个好主意等.

意见真的很受欢迎,正如我之前所说,我真的想建立这个,而不是使用其他引擎,出于学习的原因.

opengl oop particles

10
推荐指数
1
解决办法
4373
查看次数

使用OpenGL(JOGL)获得良好的3D爆炸和粒子效果?

我一直想写它一段时间......作为大学的一个项目,我(和朋友一起)写了一个需要良好爆炸和粒子效果的游戏.我们遇到了一些问题,我们很优雅地解决了这个问题(我想),我想分享这些知识.

好的,所以我们找到了这个教程:制作一个粒子爆炸效果,这似乎很容易用Java和JOGL实现.在我回答我们究竟是如何实现本教程之前,我将解释如何完成渲染:

相机:只是一个标准正交基础,它基本上意味着它包含3个归一化的正交矢量,以及表示摄像机位置的第4个矢量.渲染完成使用gluLookAt:

glu.gluLookAt(cam.getPosition().getX(), cam.getPosition().getY(), cam.getPosition().getZ(), 
              cam.getZ_Vector().getX(), cam.getZ_Vector().getY(), cam.getZ_Vector().getZ(), 
              cam.getY_Vector().getX(), cam.getY_Vector().getY(), cam.getY_Vector().getZ());
Run Code Online (Sandbox Code Playgroud)

这样摄像机的z矢量实际上是目标,y矢量是"向上"矢量,而位置是......好位置.

所以(如果把它放在一个问题风格),如何实现良好的粒子效果?

PS:所有代码示例和游戏中的截图(包括答案​​和问题)均来自游戏,该游戏位于此处:Astroid Shooter

java opengl 3d alpha-transparency particles

10
推荐指数
1
解决办法
6386
查看次数