2
$\begingroup$

Greetings dear 3D artists!

According to a tutorial on "Wintermute Digital" YouTube channel called "Blender 2.8 Physics Tutorial - Make a Working Trebuchet!" I created a trebuchet model.

All parts rotate normally. The "Collision" modifier is assigned to the base platform. A similar modifier is assigned to the main throwing beam (11 Beam #10).

The rope has the physical properties "Cloth". In this case, the rope behaves differently with the Collision objects. It carefully bends around the base platform and but it does not notice the throwing beam, it just passes through it. Why does this happen? Perhaps due to the fact that the rope is included in the throwing beam (Ctrl-P) to connect these objects? Or is it for another reason?

The author stops there. And it would be interesting for me to go further. To teach the trebuchet to throw stones. Is this possible in this situation? As far as I understand, it is necessary to redo the structure of the rope and assign the Collision modifier to the stone.

If you have experience in this matter, please share. Blender version 2.93.

screenshot

$\endgroup$
10
  • 1
    $\begingroup$ maybe you share your file so we can check it out? $\endgroup$
    – Chris
    Oct 7, 2021 at 15:47
  • 2
    $\begingroup$ You should apply the Scale and Rotation to all objects (Ctrl+A in Object mode). It's important for the physics simulation and maybe lower the mass. The weight is 1500kg heavy. But even with these changes, the collision modifier of the beam is still ignored (or doesn't work properly). Increasing the collision quality doesn't help. I don't know why. $\endgroup$
    – Blunder
    Oct 7, 2021 at 19:04
  • 1
    $\begingroup$ Just a quick test here. The collision of the rigid body seems not to move with the object. Usually, you just need to swap the modifiers on the stack but in this case, there is no "rigid body" modifier on the stack: i.sstatic.net/4WhL7.gif $\endgroup$
    – Blunder
    Oct 7, 2021 at 19:43
  • 1
    $\begingroup$ what i am always wondering is....if i increase the "so called" quality step of the cloth sim...in 90% of all cases, the simulation goes crazy and worse than on lower values....feels a bit buggy for me $\endgroup$
    – Chris
    Oct 8, 2021 at 7:11
  • 1
    $\begingroup$ For the first problem that the cloth ignores the collision of the rigid body, there are several bug reports. The problem is that modifiers like collision and particles don't follow the rigid body's movement. A fix is mentioned here in a comment: developer.blender.org/T78859 => Set Rigid Body > Collisions > Source to Base. Then the cloth no longer passes the beam. This works also for particles on the rigid body. $\endgroup$
    – Blunder
    Oct 8, 2021 at 10:14

1 Answer 1

6
$\begingroup$

First, apply the Scale and Rotation to all objects (Ctrl+A in Object mode). It's important for the physics simulation. Applying the Location is also a good idea for rigid body simulations. Except here for the weight object which goes crazy if you do so. Applying the Location sets the object's origin to the world origin. For the weight object, it's better to set the origin to the center of mass (menu: Object > Set Origin > Set Origin to Center of Mass (Volume)).

Then maybe lower the mass of the weight object a bit. It's too heavy for the size. Your trebuchet is a mini version, about 1 meter tall :-)

Cloth + Rigid Body Collision

With the default settings, the Collision and Particle modifiers of a Rigid Body body doesn't follow the movement of the rigid object. In consequence, the Cloth object collides with the rigid body where it was at the start of the simulation:

cloth collides with the rigid body

To fix this you need to set Rigid Body > Collisions > Source to Base. Then the collision follows the rigid body and the collision works as expected. In the example above, the rope (cloth) no longer passes the beam (rigid body). This works also for particles on the rigid body. (Related solved bug: T78859)

Firing a Stone

Attaching the Stone

The stone (just a simple mesh) can be attached to the rope (cloth) with a Vertex Parent relationship. Select exactly 1 or 3 vertices of the cloth in Edit mode and the stone object. Then parent them with the menu entry: Vertex > Make Vertex Parent.

attach the stone

Detaching the Stone

This is more difficult because you can't keyframe the parent relationship and remove it. But you can do a magician trick and fake it.

Just duplicate the stone, and place it where it will be detached. Keyframe the visibility of the first and the second stone. (Object Properties > Visibility > Show In > [X] Renders and [X] Viewports) The first stone is visible from frame 1 to 33 and the second stone is hidden and visible at frame 33.

In this example, the stones are visible so you see them both at the same time until frame 33:

firing the stone

The second stone can be a Rigid Body and be animated while it is hidden to gain momentum. Rigid Body > Settings > [X] Animated must be checked to keyframe its location else it will fall down. In the example above, the location was just keyframed, with no rigid body physics.

$\endgroup$
2
  • 2
    $\begingroup$ Well done‼️‼️‼️‼️‼️ $\endgroup$
    – Chris
    Oct 8, 2021 at 12:31
  • $\begingroup$ Thank you very much for your help! $\endgroup$ Oct 8, 2021 at 14:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .