Avoid Simultaneous Force physics in my rotating block

I want to make a rotating block, i have the script here:

local RandomNumber = 8

while true do
	x = math.random(0,RandomNumber)
	y = math.random(0,RandomNumber)
	z = math.random(0,RandomNumber)
	script.Parent.BodyAngularVelocity.AngularVelocity = Vector3.new(x*1.5,y*1.5,z*1.5)
	wait(10)
end

The block is using a BodyAngularVelocity with the default properties when you create an instance of this class (Except AngularVelocity with 0,0,0)

But i have a problem that i don’t know how to explain, but it’s relationed with Simultaneous Force (Something that i’m new with). Let’s take an example: In the script it selects a random Vector3 to rotate, let’s imagine that the Vector3 choosen is (50,50,50), and it’s value is 50N (Just an example), now, the script selects another Vector3: (-50,-50,-50), let’s remember that we can’t have negative numbers in this operation, so we convert it into a positive number, well, now, if we subtract the two values, the result would be 0! The force that the block is going to rotate! I want to avoid this issue that keeps the block static, what i want to do is that when the new Vector3 is choosen, for example as before: -50,-50,-50, instead of 0, the rotation force would be -50,-50,-50, but i don’t know how to do it. I’m new using forces i don’t know if i have used the correct formula. That’s why i came here, thanks for reading.

1 Like