Add initialRotation modifier to sprite effects
- SpriteEffectConfig·SpriteEffectAreaData에 initialRotation?: [최소, 최대] 추가 (도 단위) - emitOne에서 범위 내 랜덤 각도를 뽑아 회전한 상태로 파티클을 spawn - 버전 1.6.0으로 올림
This commit is contained in:
parent
09cb2f09af
commit
8188d8d79e
4
dist/index.d.mts
vendored
4
dist/index.d.mts
vendored
@ -215,6 +215,8 @@ interface SpriteEffectAreaData {
|
||||
initialScale: [number, number];
|
||||
initialSpeed: [number, number];
|
||||
emitAngle?: [number, number];
|
||||
/** [최소, 최대] spawn 시 회전 각도 (도) */
|
||||
initialRotation?: [number, number];
|
||||
emitOffset?: {
|
||||
x: number;
|
||||
y: number;
|
||||
@ -252,6 +254,8 @@ interface SpriteEffectConfig {
|
||||
initialSpeed: [number, number];
|
||||
/** 방출 각도 범위 (도) */
|
||||
emitAngle?: [number, number];
|
||||
/** [최소, 최대] spawn 시 회전 각도 (도) - 파티클마다 이 범위에서 뽑아 그만큼 돌린 채로 나온다 */
|
||||
initialRotation?: [number, number];
|
||||
/** 영역 중심 대비 방출 오프셋 */
|
||||
emitOffset?: Point;
|
||||
/** 방출 범위 반경 */
|
||||
|
||||
4
dist/index.d.ts
vendored
4
dist/index.d.ts
vendored
@ -215,6 +215,8 @@ interface SpriteEffectAreaData {
|
||||
initialScale: [number, number];
|
||||
initialSpeed: [number, number];
|
||||
emitAngle?: [number, number];
|
||||
/** [최소, 최대] spawn 시 회전 각도 (도) */
|
||||
initialRotation?: [number, number];
|
||||
emitOffset?: {
|
||||
x: number;
|
||||
y: number;
|
||||
@ -252,6 +254,8 @@ interface SpriteEffectConfig {
|
||||
initialSpeed: [number, number];
|
||||
/** 방출 각도 범위 (도) */
|
||||
emitAngle?: [number, number];
|
||||
/** [최소, 최대] spawn 시 회전 각도 (도) - 파티클마다 이 범위에서 뽑아 그만큼 돌린 채로 나온다 */
|
||||
initialRotation?: [number, number];
|
||||
/** 영역 중심 대비 방출 오프셋 */
|
||||
emitOffset?: Point;
|
||||
/** 방출 범위 반경 */
|
||||
|
||||
3
dist/index.js
vendored
3
dist/index.js
vendored
@ -620,7 +620,8 @@ var SpriteEffectInstance = class {
|
||||
particle.velocity.y = Math.sin(angleRad) * speed;
|
||||
particle.initialScale = randomRange(config.initialScale[0], config.initialScale[1]);
|
||||
particle.scale = particle.initialScale;
|
||||
particle.rotation = 0;
|
||||
const rotationRange = config.initialRotation;
|
||||
particle.rotation = rotationRange ? randomRange(rotationRange[0], rotationRange[1]) * Math.PI / 180 : 0;
|
||||
particle.opacity = 1;
|
||||
particle.lifetime = randomRange(config.lifetime[0], config.lifetime[1]);
|
||||
particle.age = 0;
|
||||
|
||||
2
dist/index.js.map
vendored
2
dist/index.js.map
vendored
File diff suppressed because one or more lines are too long
3
dist/index.mjs
vendored
3
dist/index.mjs
vendored
@ -559,7 +559,8 @@ var SpriteEffectInstance = class {
|
||||
particle.velocity.y = Math.sin(angleRad) * speed;
|
||||
particle.initialScale = randomRange(config.initialScale[0], config.initialScale[1]);
|
||||
particle.scale = particle.initialScale;
|
||||
particle.rotation = 0;
|
||||
const rotationRange = config.initialRotation;
|
||||
particle.rotation = rotationRange ? randomRange(rotationRange[0], rotationRange[1]) * Math.PI / 180 : 0;
|
||||
particle.opacity = 1;
|
||||
particle.lifetime = randomRange(config.lifetime[0], config.lifetime[1]);
|
||||
particle.age = 0;
|
||||
|
||||
2
dist/index.mjs.map
vendored
2
dist/index.mjs.map
vendored
File diff suppressed because one or more lines are too long
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@baekryang/responsive-image-canvas",
|
||||
"version": "1.5.5",
|
||||
"version": "1.6.0",
|
||||
"publishConfig": {
|
||||
"registry": "https://git.bnovalab.com/api/packages/baekryang/npm/"
|
||||
},
|
||||
|
||||
@ -199,7 +199,10 @@ export class SpriteEffectInstance {
|
||||
// 초기 속성
|
||||
particle.initialScale = randomRange(config.initialScale[0], config.initialScale[1]);
|
||||
particle.scale = particle.initialScale;
|
||||
particle.rotation = 0;
|
||||
const rotationRange = config.initialRotation;
|
||||
particle.rotation = rotationRange
|
||||
? (randomRange(rotationRange[0], rotationRange[1]) * Math.PI) / 180
|
||||
: 0;
|
||||
particle.opacity = 1;
|
||||
particle.lifetime = randomRange(config.lifetime[0], config.lifetime[1]);
|
||||
particle.age = 0;
|
||||
|
||||
@ -74,6 +74,8 @@ export interface SpriteEffectAreaData {
|
||||
initialScale: [number, number];
|
||||
initialSpeed: [number, number];
|
||||
emitAngle?: [number, number];
|
||||
/** [최소, 최대] spawn 시 회전 각도 (도) */
|
||||
initialRotation?: [number, number];
|
||||
emitOffset?: { x: number; y: number };
|
||||
emitRadius?: number;
|
||||
overLifetime?: SpriteParticleOverLifetime;
|
||||
@ -109,6 +111,8 @@ export interface SpriteEffectConfig {
|
||||
initialSpeed: [number, number];
|
||||
/** 방출 각도 범위 (도) */
|
||||
emitAngle?: [number, number];
|
||||
/** [최소, 최대] spawn 시 회전 각도 (도) - 파티클마다 이 범위에서 뽑아 그만큼 돌린 채로 나온다 */
|
||||
initialRotation?: [number, number];
|
||||
/** 영역 중심 대비 방출 오프셋 */
|
||||
emitOffset?: Point;
|
||||
/** 방출 범위 반경 */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user