
About
The heavy engine of the siege. Two A-frames on a bedded timber sole carry an iron axle, and a single oak beam hangs on it with a hinged limestone counterweight box on the short arm and a loaded sling pouch at the long tip. The throw clip rocks the arm through the armed and the loosed extremes about its own axle. The sling and its release hook are a linkage that a rigid node transform cannot carry, so they are modelled loaded and left still; the armed and loosed variants bake the deeper poses. Dimensions 4.04 × 4.90 × 6.72 m (X × Y × Z). Ground-contact origin under the footprint. Metre units, +Y up, +Z forward. Kingdom limestone, ashlar, timber, oak, iron, cloth, slate and straw, the palette shared with the castle construction and faction building packs. Rigid node-transform clips throw turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data.
Use with an AI agent
Copy this prompt into your AI chat, then describe what you want to build with the asset.
Use the “Counterweight Trebuchet (Medieval Siege and Castle Defence)” asset in my project. Model: https://cdn.3dassets.dev/assets/28848/v1/model.glb Asset page: https://3dassets.dev/assets/medieval-siege-and-castle-defence-counterweight-trebuc-28bdf307 Description: Six metre counterweight trebuchet on a timber bed, with a rocking throwing arm, a hinged stone counterweight box and a windlass. - Dimensions (X × Y × Z): 4.036 × 4.899 × 6.723 metres - Triangles: 772 - Animations: throw - Licence: CC0 1.0 Universal (https://creativecommons.org/publicdomain/zero/1.0/) - Loading: Three.js GLTFLoader; no additional decoders required.
Also available as JSON, Markdown, or via the MCP server.
Import manually
Choose your framework, then copy the code into your project to load the asset.
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'
import { AnimationMixer } from 'three'
let mixer
const loader = new GLTFLoader()
loader.load('https://cdn.3dassets.dev/assets/28848/v1/model.glb', (gltf) => {
scene.add(gltf.scene)
mixer = new AnimationMixer(gltf.scene)
mixer.clipAction(gltf.animations[0]).play()
})
// Call from your render loop; deltaSeconds is time since the previous frame.
function updateAssetAnimation(deltaSeconds) {
mixer?.update(deltaSeconds)
}Common questions
How do I use this model with my AI development tools?
How do I get started?
Which game engines and tools can I use this model with?
How do I import this model into Unity, Godot, Unreal or Blender?
Can I use this model in a commercial game, and do I need to credit anyone?
Can I load it from the CDN instead of downloading it?
Do I need Draco, Meshopt or KTX2 to load it?
Counterweight Trebuchet (Medieval Siege and Castle Defence)
Six metre counterweight trebuchet on a timber bed, with a rocking throwing arm, a hinged stone counterweight box and a windlass.