All tips aiming to bend arm up to 90° ...
Enable under Armature modifier > Preserve Volume
I used Automatic Weight and manually set 0/1 weigt to bottom / top vertices.
As you can see upper and lower arm cubes are not cubes anymore, but you are able to rotate 90 degrees and some small inverting is happening too, but not as early and much as ...
The first thing to do is move the outer edge loops farther from the center edge loop.
Next set the weights of the edge loops in proportion to the distances. In my example, I'm using a "top" and "bottom" bone, because that's how I happen to have stacked the armature.
Here you can see the block with a UV checker material, with the top ...
The mesh has a collection of Vertex groups that have the same name as the deforming bones in the armature. To see what vertices are in a given Vertex group, in Edit Mode
switch to vertex select mode to make it easier to see
in the Object Data Properties panel click on the vertex group that has the same name as the bone you are interested in.
click the ...
Moving by rotation is referred as FK animation, while moving by grabbing is referred as IK animation.
Rigify lets you choose which one to use for every limb, including the options to switch from one to another through the IK/FK switches and snapping options.
So, simply select one hand controller and move the IK/FK slider toward FK in order to animate with ...
In edit mode? Change the Transform Orientation to Normal
Then select the end of the bone, grab it (press G), restrict to the Y axis (press Y), and drag to the length you want.
Setting the Transform Orientation to Normal makes it use the bone's Y axis when you press Y (which is the direction the bone points) instead of the global Y axis.
(Addendum in addtion to the Alexandre Marcati's answer)
Your "Edit5" looks good. Keep in mind that your model is really low poly. It has only 484 vertices and faces.
When the palm of the hand points up the faces of the edge loop must rotate by about 90° around the X-axis at the elbow and roughly another 80° to reach the armpit. That's about 170° ...
Imagine that the bone extends in both directions, but that the pivot point stays the same. Since the area that you weight painted is on the other side of the pivot point it will rotate in the opposite direction that you move the bone, because that's the direction the imaginary extension rotates in.
You can use an empty object or a not used armature and use object constraint field , then use a copy transform constraint and choose empty or dummy bone to control your bones location.
in addition to that you can use riggify addon built in blender to add a preset rig for your models just activate it in preferences .
Bones always rotate on their head, but you can duplicate the bone in edit mode (Shift D, Esc), then right click and choose "switch direction", then make the new bone parent of the old one (keep offset), so that rotating it will perform the desired motion.
By default, FBX export is set to Maya-like axis setup. In this setup, Y axis points to the top, while Z is rotated to the side. Blender tries to achieve this setup by rotating the model by 90 degrees on the X-axis. So you have an option to set Z-axis as up axis in export settings:
But in this case, the model will lie on the back in Y-top Maya-like setups.
undo any parenting
Select the mesh
Go to Object properties and under Relationships click the x for Armature if you still have it parented.
Go to modifiers and click the x to remove the Armature modifier if you still have it present.
Go to Object Data Properties; click the down arrow on the right of Vertex Groups and select Delete All Groups
In Object mode, ...
I don't think collision detection for bones is possible. There are bone constraints but they are for planes like a wall or floor, see Floor Constraint.
As suggested by moonboots in the comments here (How Do I Add Collision For Armature) you can use Blender's physics to have collision detection. That's Cloth and Softbody simulations.
You need to
add low-poly ...
TL;DNR: The location is determined by the coordinates of the head and tail of the bone. The scale of the bone is 1, except the display scale of Octahedral bones is the distance between the head and the tail. The rotation is determined by the head and tail coordinates and the bone's roll.
Blender uses two coordinates, called the head and tail and one other ...