diff --git a/src/editor/engine/rbxl-lua-integration.js b/src/editor/engine/rbxl-lua-integration.js index cbef7f7..224cfc9 100644 --- a/src/editor/engine/rbxl-lua-integration.js +++ b/src/editor/engine/rbxl-lua-integration.js @@ -150,6 +150,16 @@ export function handleLuaCommand(_scriptId, cmd, payload, runtime) { canCollide: payload?.canCollide !== false, }; pm.addInstance(payload?.type || 'cube', opts); + // Если unanchored — регистрируем в физике на лету, иначе он не падает. + if (opts.anchored === false) { + try { + const dm = runtime.scene3d?.dynamicsManager; + const data = pm.instances?.get?.(opts.id); + if (dm && data) dm.registerPrimitive(data); + } catch (e) { + console.warn('[sceneCreate] registerPrimitive failed', e); + } + } } catch (e) { console.error('[sceneCreate]', e); }