파티클 시스템
파티클 시스템은 컴퓨터그래픽에서 특정한 이펙트를 시뮬레이션하는 기술입니다.
이것은 자연현상,물리현상,공간왜곡 을 모방하는데 탁월합니다.
우리를 위하여 자연스럽고 임의성이 있는 이펙트(폭발,불꽃놀이,물흐름)효과를 구현하는데 사용합니다.
당연히 Cocos2d-x엔진에서 당신을 위해 강력한 파티클시스템을 제공합니다.
아래는 파티클시스템을 사용하여 구현한 두종류의 파티클효과이다:
파티클을 만드는데 사용되는툴
당신이 하나하나 파티클 이펙트를 만들수 있고 입맛에 따라서 속성을 변경할수 있습니다.아래는 서드파티툴을 소개합니다.
Particle Designer:Mac에서 사용되는 강력한 파티클이펙트 편집기
V-play particle editor:크로스플랫폼 파티클이펙트 편집기
Particle2dx:웹 파티클이펙트 편집기.웹페이지에서 바로 사용할수 있다.
이런 툴을 사용하여 파티클의 이펙트를 설계할수 있고 최종적으로 .plist파일이 출력됩니다.
Cocos2d-x는 이런 파일로 파티클이펙트를 씬안에 추가시킬수 있습니다.
추가하는 방법은 일반적인 노드클래스와 같습니다.
생성방법:
C++
// create by plist file
auto particleSystem = ParticleSystem::create("SpinningPeas.plist");
내장되있는 파티클 효과
파티클 효과를 추가하기 위한 준비가 되었습니까?
직접 파티클효과를 만들어보는건 손에 익었나요?
괜찮습니다.
우린 아래와 같은 파티클효과를 내장시켰고 당신은 바로 사용할수 있습니다.
ParticleFire: Point particle system. Uses Gravity mode.
ParticleFireworks: Point particle system. Uses Gravity mode.
ParticleSun: Point particle system. Uses Gravity mode.
ParticleGalaxy: Point particle system. Uses Gravity mode.
ParticleFlower: Point particle system. Uses Gravity mode.
ParticleMeteor: Point particle system. Uses Gravity mode.
ParticleSpiral: Point particle system. Uses Gravity mode.
ParticleExplosion: Point particle system. Uses Gravity mode.
ParticleSmoke: Point particle system. Uses Gravity mode.
ParticleSnow: Point particle system. Uses Gravity mode.
ParticleRain: Point particle system. Uses Gravity mode.
내장된 불꽃효과를 사용하려면 ParticleFireworks를 사용합니다:
C++
auto emitter = ParticleFireworks::create();
addChild(emitter, 10);
아래와 같은 효과입니다.
내장된 파티클 효과중에 당신이 원하는것이 없어도 괜찮습니다.
당신이 직접 속성을 설정하여 컨트롤 할수있습니다.
C++
auto emitter = ParticleFireworks::create();
// set the duration
emitter->setDuration(ParticleSystem::DURATION_INFINITY);
// radius mode
emitter->setEmitterMode(ParticleSystem::Mode::RADIUS);
// radius mode: 100 pixels from center
emitter->setStartRadius(100);
emitter->setStartRadiusVar(0);
emitter->setEndRadius(ParticleSystem::START_RADIUS_EQUAL_TO_END_RADIUS);
emitter->setEndRadiusVar(0); // not used when start == end
addChild(emitter, 10);
출처: <http://cocos2d-x.org/docs/cocos2d-x/zh/other_node_types/particles.html>
'Cocos2d-x v3.17 > 고급 기능' 카테고리의 다른 글
[Cocos2d-x 고급기능]키보드 이벤트,가속도계 이벤트 (0) | 2018.08.11 |
---|---|
[Cocos2d-x 고급기능]이벤트 발생 매커니즘 우선순위 및 터치이벤트 (0) | 2018.08.11 |
[Cocos2d-x 고급기능]이벤트 발생 매커니즘 소개 및 Listener (0) | 2018.08.11 |
[Cocos2d-x 고급기능]ParallaxNode 스크롤링 (0) | 2018.08.11 |
[Cocos2d-x 고급기능]특수한 노드객체 소개 및 TileMap (0) | 2018.08.11 |