diff --git a/src/editor/engine/GameplayKits.js b/src/editor/engine/GameplayKits.js index 14ea552..14209aa 100644 --- a/src/editor/engine/GameplayKits.js +++ b/src/editor/engine/GameplayKits.js @@ -96,17 +96,21 @@ game.self.onInteract(() => { { id: 'confetti', name: 'Конфетти', - desc: 'Праздничный взрыв конфетти из точки. Запускается сразу и периодически.', + desc: 'Праздничный фонтан конфетти из этого объекта. Кубики разлетаются и падают. Запускается периодически.', icon: 'sparkles', category: 'fx', - prims: [{ type: 'sphere', x: 0, y: 3, z: 0, sx: 0.5, sy: 0.5, sz: 0.5, color: '#ff5ab0', material: 'neon', name: 'Конфетти-источник', canCollide: false }], + prims: [{ type: 'sphere', x: 0, y: 1, z: 0, sx: 0.5, sy: 0.5, sz: 0.5, color: '#ff5ab0', material: 'neon', name: 'Конфетти-источник', canCollide: false }], scripts: [{ attachTo: 'on-target', code: -`// Конфетти: периодический фейерверк примитивов +`// Конфетти вылетает из ПОЗИЦИИ этого объекта (не из центра сцены). function burst() { + const p = game.self.position; // где стоит конфетти-источник for (let k = 0; k < 16; k++) { const col = ['#ff5ab0','#ffd23a','#4d6bff','#36d57a','#ff7a3a'][k % 5]; - const id = game.scene.spawn('primitive:cube', { - x: (Math.random()-0.5)*1, y: 4, z: (Math.random()-0.5)*1, - sx: 0.25, sy: 0.25, sz: 0.25, color: col, anchored: false, canCollide: false, lifetime: 2.5, + game.scene.spawn('primitive:cube', { + x: p.x + (Math.random()-0.5)*0.6, + y: p.y + 0.5, + z: p.z + (Math.random()-0.5)*0.6, + sx: 0.22, sy: 0.22, sz: 0.22, color: col, + anchored: false, canCollide: false, lifetime: 2.5, }); } }