[{"data":1,"prerenderedAt":425},["ShallowReactive",2],{"navigation":3,"/experiments/rapier-wrecking-ball":154,"authors":292},[4],{"title":5,"path":6,"stem":7,"children":8,"page":153},"Experiments","/experiments","experiments",[9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149],{"title":10,"path":11,"stem":12},"Array of cameras","/experiments/array-cameras","experiments/array-cameras",{"title":14,"path":15,"stem":16},"Brickelangelo David","/experiments/brickelangelo-david","experiments/brickelangelo-david",{"title":18,"path":19,"stem":20},"Basic Brownian distribution","/experiments/brownian-distribution","experiments/brownian-distribution",{"title":22,"path":23,"stem":24},"Porsche 911 Car Showcase","/experiments/car-showcase","experiments/car-showcase",{"title":26,"path":27,"stem":28},"Coffee Smoke","/experiments/coffee-smoke","experiments/coffee-smoke",{"title":30,"path":31,"stem":32},"Cube Boy Dancefloor","/experiments/cube-boy-dancefloor","experiments/cube-boy-dancefloor",{"title":34,"path":35,"stem":36},"Cult of the lamb 🐑","/experiments/cult-of-the-lamb","experiments/cult-of-the-lamb",{"title":38,"path":39,"stem":40},"Dancing blob","/experiments/dancing-blob","experiments/dancing-blob",{"title":42,"path":43,"stem":44},"Fireworks Shader","/experiments/fireworks-shader","experiments/fireworks-shader",{"title":46,"path":47,"stem":48},"Galaxy Generator 🪐","/experiments/galaxy-generator","experiments/galaxy-generator",{"title":50,"path":51,"stem":52},"Gelatinous Cube","/experiments/gelatinous-cube","experiments/gelatinous-cube",{"title":54,"path":55,"stem":56},"Glass/Plastic Material","/experiments/glass-material","experiments/glass-material",{"title":58,"path":59,"stem":60},"Grainy Liquid Blobs","/experiments/grainy-liquid","experiments/grainy-liquid",{"title":62,"path":63,"stem":64},"Haunted House","/experiments/haunted-house","experiments/haunted-house",{"title":66,"path":67,"stem":68},"Phone with HTML inside","/experiments/html-phone","experiments/html-phone",{"title":70,"path":71,"stem":72},"Low Poly Planet","/experiments/lowpoly-planet","experiments/lowpoly-planet",{"title":74,"path":75,"stem":76},"Magical Marbles","/experiments/magical-marbles","experiments/magical-marbles",{"title":78,"path":79,"stem":80},"Nuxt Stones","/experiments/nuxt-stones","experiments/nuxt-stones",{"title":82,"path":83,"stem":84},"Particle Pumpkin Shader","/experiments/particle-pumpkin","experiments/particle-pumpkin",{"title":86,"path":87,"stem":88},"Particles Morphing","/experiments/particles-morphing","experiments/particles-morphing",{"title":90,"path":91,"stem":92},"Plexus Particles","/experiments/plexus-particles","experiments/plexus-particles",{"title":94,"path":95,"stem":96},"Portal Journey","/experiments/portal-journey","experiments/portal-journey",{"title":98,"path":99,"stem":100},"Wizard's Potion Classroom","/experiments/potions-classroom","experiments/potions-classroom",{"title":102,"path":103,"stem":104},"Rapier Basketball","/experiments/rapier-basketball","experiments/rapier-basketball",{"title":106,"path":107,"stem":108},"Rapier Vehicle","/experiments/rapier-car","experiments/rapier-car",{"title":110,"path":111,"stem":112},"Rapier Object Clump","/experiments/rapier-object-clump","experiments/rapier-object-clump",{"title":114,"path":115,"stem":116},"Rapier Wrecking Ball","/experiments/rapier-wrecking-ball","experiments/rapier-wrecking-ball",{"title":118,"path":119,"stem":120},"Repulsion Effect","/experiments/repulsion-effect","experiments/repulsion-effect",{"title":122,"path":123,"stem":124},"Shadertoy Museum","/experiments/shadertoy-museum","experiments/shadertoy-museum",{"title":126,"path":127,"stem":128},"Space Game","/experiments/space-game","experiments/space-game",{"title":130,"path":131,"stem":132},"Halloween Spooky-saur 🎃","/experiments/spooky-saur","experiments/spooky-saur",{"title":134,"path":135,"stem":136},"Synthwave Landscape","/experiments/synthwave-landscape","experiments/synthwave-landscape",{"title":138,"path":139,"stem":140},"Texture Particle Cursor","/experiments/texture-particle-cursor","experiments/texture-particle-cursor",{"title":142,"path":143,"stem":144},"Vue Fes Japan 2025","/experiments/vuefes-japan-2025","experiments/vuefes-japan-2025",{"title":146,"path":147,"stem":148},"WebGPU","/experiments/webgpu","experiments/webgpu",{"title":150,"path":151,"stem":152},"World Walker","/experiments/world-walker","experiments/world-walker",false,{"id":155,"title":114,"author":156,"body":159,"date":277,"description":278,"extension":279,"featured":153,"lastUpdated":280,"meta":281,"navigation":284,"path":115,"seo":285,"stem":116,"tags":286,"thumbnail":290,"__hash__":291},"experiments/experiments/rapier-wrecking-ball.md",[157,158],"jaime-bboyjt","alvarosabu",{"type":160,"value":161,"toc":269},"minimark",[162,175,180,183,187,245,249],[163,164,165,166,170,171,174],"p",{},"A wrecking ball demo using ",[167,168,169],"code",{},"@tresjs/rapier"," and a ",[167,172,173],{},"SphericalJoint"," to simulate a pendulum. The heavy ball is attached to a fixed anchor point and swings through a wall of stacked boxes.",[176,177,179],"h3",{"id":178},"what-youll-see","What You'll See",[163,181,182],{},"A dark metallic sphere hanging from a chain, swinging like a pendulum and smashing through a wall of stacked boxes. Gravity and collision responses are handled entirely by Rapier's physics engine.",[176,184,186],{"id":185},"technical-implementation","Technical Implementation",[188,189,190,206,211,222,236],"ul",{},[191,192,193,197,198,201,202,205],"li",{},[194,195,196],"strong",{},"Fixed anchor"," — a ",[167,199,200],{},"type=\"fixed\""," ",[167,203,204],{},"RigidBody"," acts as the immovable pivot point.",[191,207,208,210],{},[194,209,173],{}," — connects the anchor to the ball, allowing free rotation while constraining the distance (ball-and-socket).",[191,212,213,197,216,201,219,221],{},[194,214,215],{},"Dynamic ball",[167,217,218],{},"type=\"dynamic\"",[167,220,204],{}," with configurable mass that swings as a pendulum.",[191,223,224,227,228,231,232,235],{},[194,225,226],{},"Chain visual"," — an ",[167,229,230],{},"InstancedMesh"," of cylinder segments updated every frame via ",[167,233,234],{},"onBeforeRender",", alternating rotation to mimic chain links.",[191,237,238,241,242,244],{},[194,239,240],{},"Destructible wall"," — a configurable grid of independent ",[167,243,218],{}," rigid bodies with adjustable mass that react to collisions.",[176,246,248],{"id":247},"key-features","Key Features",[188,250,251,256,263,266],{},[191,252,253,255],{},[167,254,173],{}," for pendulum-style constraints",[191,257,258,260,261],{},[167,259,230],{}," chain updated in real-time via ",[167,262,234],{},[191,264,265],{},"Configurable grid size, ball size, ball mass, and box mass via GUI controls",[191,267,268],{},"Physics-driven rigid body stacking and destruction",{"title":270,"searchDepth":271,"depth":271,"links":272},"",2,[273,275,276],{"id":178,"depth":274,"text":179},3,{"id":185,"depth":274,"text":186},{"id":247,"depth":274,"text":248},"2026-05-22","A physics-driven wrecking ball suspended from an anchor point by a spherical joint, swinging to demolish a destructible wall of stacked boxes. Built with @tresjs/rapier.","md","2026-05-24",{"slug":282,"status":283},"rapier-wrecking-ball","draft",true,{"title":114,"description":278},[287,288,289],"physics","rapier","joints","/rapier-wrecking-ball.webp","H9z_GQ0LyOw0j5n7ICTTj1cc0WKci8kttJM-enG42xU",[293,308,323,340,356,373,390,408],{"id":294,"title":295,"avatar":296,"body":297,"description":270,"email":301,"extension":279,"github":158,"meta":302,"name":158,"navigation":284,"path":303,"seo":304,"slug":158,"stem":305,"twitter":158,"website":306,"__hash__":307},"authors/authors/alvarosabu.md","Alvarosabu","/avatars/alvarosabu.jpeg",{"type":160,"value":298,"toc":299},[],{"title":270,"searchDepth":271,"depth":271,"links":300},[],"hola@alvarosaburido.dev",{},"/authors/alvarosabu",{"description":270},"authors/alvarosabu","https://alvarosabu.dev","kfjqjiPxKR64avAeoJeNF40fMr5laisoEnPnfgFGN_U",{"id":309,"title":310,"avatar":311,"body":312,"description":270,"email":316,"extension":279,"github":317,"meta":318,"name":317,"navigation":284,"path":319,"seo":320,"slug":317,"stem":321,"twitter":316,"website":316,"__hash__":322},"authors/authors/andretchen0.md","Andretchen0","/avatars/andretchen0.jpg",{"type":160,"value":313,"toc":314},[],{"title":270,"searchDepth":271,"depth":271,"links":315},[],null,"andretchen0",{},"/authors/andretchen0",{"description":270},"authors/andretchen0","rztGS5YNlU7jYv1laE9f863gZy-WUFK5r3uuycyiMLY",{"id":324,"title":325,"avatar":326,"body":327,"description":270,"email":331,"extension":279,"github":332,"meta":333,"name":334,"navigation":284,"path":335,"seo":336,"slug":332,"stem":337,"twitter":338,"website":316,"__hash__":339},"authors/authors/damienmontastier.md","Damienmontastier","/avatars/damienmontastier.jpg",{"type":160,"value":328,"toc":329},[],{"title":270,"searchDepth":271,"depth":271,"links":330},[],"montastier.damien@gmail.com","damienmontastier",{},"Damien Montastier","/authors/damienmontastier",{"description":270},"authors/damienmontastier","dammontastier","FqtKh6r8pBEM29DE6GhT098-LIpM3BL7RXSxFjrcwwY",{"id":341,"title":342,"avatar":343,"body":344,"description":270,"email":316,"extension":279,"github":348,"meta":349,"name":350,"navigation":284,"path":351,"seo":352,"slug":348,"stem":353,"twitter":354,"website":316,"__hash__":355},"authors/authors/franciscohermida.md","Franciscohermida","/avatars/franciscohermida.jpg",{"type":160,"value":345,"toc":346},[],{"title":270,"searchDepth":271,"depth":271,"links":347},[],"franciscohermida",{},"Francisco Hermida","/authors/franciscohermida",{"description":270},"authors/franciscohermida","chicohermida","2dGmaA2uS0w2CaErMR8BexRzx0pCgoEowV5tZcITkus",{"id":357,"title":358,"avatar":359,"body":360,"description":270,"email":364,"extension":279,"github":365,"meta":366,"name":358,"navigation":284,"path":367,"seo":368,"slug":157,"stem":369,"twitter":370,"website":371,"__hash__":372},"authors/authors/jaime-torrealba.md","Jaime Torrealba","/avatars/jaime-torrealba.jpg",{"type":160,"value":361,"toc":362},[],{"title":270,"searchDepth":271,"depth":271,"links":363},[],"solucionesinformaticasjtc@gmail.com","JaimeTorrealba",{},"/authors/jaime-torrealba",{"description":270},"authors/jaime-torrealba","jaimebboyjt","https://jaimetorrealba.com/","WhkdXnej1NkT__thyZfYEil3qYn8wi7qVoQSMzyfrs4",{"id":374,"title":375,"avatar":376,"body":377,"description":270,"email":381,"extension":279,"github":382,"meta":383,"name":384,"navigation":284,"path":385,"seo":386,"slug":384,"stem":387,"twitter":381,"website":388,"__hash__":389},"authors/authors/luckystriike.md","Luckystriike","/avatars/luckystriike.jpg",{"type":160,"value":378,"toc":379},[],{"title":270,"searchDepth":271,"depth":271,"links":380},[],"none","luckystriike22",{},"luckystriike","/authors/luckystriike",{"description":270},"authors/luckystriike","https://github.com/luckystriike22","vmVaU8HAY_jbVnlvpUQiwh3uPcKxGGr6B5PF9xo17X8",{"id":391,"title":392,"avatar":393,"body":394,"description":270,"email":398,"extension":279,"github":399,"meta":400,"name":401,"navigation":284,"path":402,"seo":403,"slug":399,"stem":404,"twitter":405,"website":406,"__hash__":407},"authors/authors/neoprint3d.md","Neoprint3d","/avatars/neoprint3d.jpg",{"type":160,"value":395,"toc":396},[],{"title":270,"searchDepth":271,"depth":271,"links":397},[],"drew@neoprint3d.dev","neoprint3d",{},"Drew Ronsman","/authors/neoprint3d",{"description":270},"authors/neoprint3d","drew_ronsman","https://dronsman.com","w-8rauWEJDRmX_QOi4s2PI7n9EABybGURQ-R_ss9tzo",{"id":409,"title":410,"avatar":411,"body":412,"description":270,"email":416,"extension":279,"github":417,"meta":418,"name":410,"navigation":284,"path":419,"seo":420,"slug":417,"stem":421,"twitter":422,"website":423,"__hash__":424},"authors/authors/neosoulink.md","Neosoulink","/avatars/neosoulink.jpg",{"type":160,"value":413,"toc":414},[],{"title":270,"searchDepth":271,"depth":271,"links":415},[],"neodarksoulink@gmail.com","neosoulink",{},"/authors/neosoulink",{"description":270},"authors/neosoulink","nsl_nathan","https://github.com/Neosoulink","69eGfzorl4NNNe56pFRh6qK3AhnfjnKUvCHO-_9Pa1Y",1787004690992]