I have two problems with a part that has a body velocity.
The first problem is the part won't keep straight. If it hits another part in workspace, obviously it will rotate which I'm trying to prevent.
This is a clip of what I mean by it won't keep straight.
I tried putting a script in the part that makes the part have the same Orientation over and over, but it was VERY buggy and didn't work. This is the script I tried.
while wait() do script.Parent.Orientation = Vector3.new(0,0,0) end
The second problem I'm having which I'm not sure can be prevented, is with R15 and the part. The problem is the part seems very slippery, which only occurs with R15.
I saw you were already on to one of the solutions I have.
If you use a BodyAngularVelocity, you can keep the part from rotating.
This script will prevent the parent of the BodyAngularVelocity from moving.
local BAV = Instance.new("BodyAngularVelocity",PartCharge) BAV.AngularVelocity = Vector3.new(0,0,0) BAV.MaxTorque = Vector3.new(math.huge,math.huge,math.huge) BAV.P = 1250
As for preventing slipping, the only thing I can think of if custom physical properties didn't work, would be to increase the size of the part.
Okay this is out of my area of expertise. My best suggestion in this situation would be to take a look at PhysicalProperties. If your moving objects have more mass they will harder to move by the player (increase density). If you are having problems slipping on the block, change the friction of that block (how well it slides against other things).
local part -- Your part. local oldProperties = part.CustomPhysicalProperties or PhysicalProperties.new(Enum.Material.Plastic) local density = 5 -- You can adjust these. local friction = 1 local elasticity = oldProperties.Elasticity local props = PhysicalProperties.new(density, friction, elasticity) part.CustomPhysicalProperties = props
EDIT: Here are some links to the resources I used for this answer. http://wiki.roblox.com/index.php?title=API:PhysicalProperties http://wiki.roblox.com/index.php?title=API:Enum/Material
There is definitely a cleaner answer to preventing the block from moving too much. Remember if this answer helps you to accept it or upvote it.
EDIT 2: Cannot edit properties. Only in initializer.