46 votes
Accepted

What is the standard practice for animating motion -- move character or not move character?

Animations in which the character translates away from the origin are said to contain "Root Motion" - because the root bone moves. This allows the animator to directly author subtle non-...
  • 122k
14 votes
Accepted

Why is the root of the character rig the pelvis?

As far as I know, this is because the humans centre of mass is near the pelvis. This is just a convention, but almost everyone does it. But it makes sense to choose a point that is at the middle (not ...
  • 341
6 votes

Is my skeletal animation algorith/representation correct?

This will work if all you're concerned about is the translation part of each bone, but it is more common to represent your bone structure as a transformation matrix tree, which is probably the most ...
  • 3,597
5 votes

Skeletal animation with ASSIMP, COLLADA, and glm

If you were using assimp's implementation (AssimpViewer source) as reference, then you probably too missed the fact that Assimp's and glm use reverse matrix multiplication order. To clarify, we are ...
  • 1,651
5 votes
Accepted

How to mirror/reflect/flip a 4D transformation matrix

To get a transformation matrix equivalent to the one you have, but reflected across a major axis you can compose it (multiply it by) a reflection matrix. That is, if you have your input matrix M and ...
  • 20.4k
4 votes
Accepted

How do I properly apply root motion when using a blender exported FBX in Unity?

OK, after much button mashing, I figured it out: If you click on your main FBX object, in the inspector you will find 3 buttons at the top. The ones we care about are Rig and Animations. If you go to ...
4 votes
Accepted

Prevent character's animation from causing its mesh to interpenetrate itself

Small clipping errors are almost impossible to avoid when developing games, as self collision with large amounts of animated characters are very costly to calculate. If you need (almost) perfect ...
4 votes

m_Entries is undefined

Note that this is the 38th tutorial in a series. If you go back to part 22, you can see m_Entries is defined as follows: The m_Entries member of the Mesh class is a vector of the MeshEntry struct ...
  • 122k
4 votes
Accepted

Are there viable alternatives to polygons for creating 3D worlds?

A technique which comes around again and again for decades is raytracing. While usual 3d engines are based on taking a bunch of vertices in 3d space and see where they end up if transformed to 2d ...
  • 114k
4 votes

Are there viable alternatives to polygons for creating 3D worlds?

To throw out one other possibility, we can define a scene in terms of a signed distance field and raymarch against that. Many demoscene creations use this technique to create highly detailed scenes on ...
  • 122k
3 votes
Accepted

Mesh's triangles don't move properly during skeletal animation

All of my issues boiled down to misusing the model's index array. At first I purposely avoided using the model's indices because I wanted to have per vertex normals rather than per face normals. ...
  • 1,003
3 votes

Shadow mapping bone animated model

Ok i found the problem. It came down to my misconception of when to call glBindAttribLocation. Changes made with glBindAttribLocation will only take effect after calling glLinkProgram. It hadn't been ...
  • 41
3 votes
Accepted

Rotating 2D bone in LateUpdate have jittering issue

You should not multiply by delta time here: float newRotation = verticalMovement * m_AimAmount * m_DeltaTime; Multiplication by delta time is useful when you're ...
  • 122k
3 votes
Accepted

Are there common types of human skeletons in gamedev industry?

Yes, indeed. Unity (for instance) will accept a fairly broad variety of rigs to be converted to Humanoid Avatars as long as they follow the same basic structure. Adobe's Mixamo is one source of ...
3 votes

What does the Lock toggle in the Position Constraint Component do?

This is covered in the documentation: Toggle to let the Constraint move the GameObject. Uncheck this property to edit the position of this GameObject. You can also edit the Position At Rest and ...
  • 122k
2 votes
Accepted

Pre-calculating skeletal animation data

This seems like an optimization question. As such the answer, as always is to profile it. If generating the matrices doesn't take too much time on the fly, then it is simply easier to do on the fly, ...
  • 1,651
2 votes

Is there any way to bring animation into unity without a rig/bones?

No. Your 3D model MUST have bones of some kind in order to tell the game engine how it should move. Bones also include optional scripts, ik chains, etc., in order to tell it how to move around. Think ...
  • 146
2 votes

Skeletal Animation Mirrored

Solved: I had to negate the w component of the rotation quaternion on both the bind pose bones and the animation frame bones.
2 votes

Skeletal animation in OpenGL

Read this through and my best guess is that there is something wrong here: root->finalMatrix = root->animationMatrix * root->offsetMatrix; How is ...
2 votes
Accepted

IK bones stretching vertices to ground during animation (UE4, 3DS Max, using default skeleton)

Though there were a few vertices attached to the IK bones, the problem eventually proved to be that some vertices were not weighed to any bone at all. For reasons relating to the implementation of UE4,...
2 votes
Accepted

What is the state of the art in procedural character animations?

IK Rig looks very cool, and from what I can find, it's all in the name. It's about using Inverse Kinematics, prescribing the bare minimum number of elements for describing an animation -- feet, pelvis,...
  • 2,440
2 votes

Deferred Rendering and skeletal animation

If you are working with DirectX 10 or higher, you can do stream-output. The Idea is, that you keep a vertex buffer of the unskinned mesh, run it through a stream-output shader which is a vertex shader ...
2 votes

How to export an animation from blender to Ethan (third person character) in unity 5

Well there are two methods which i used but the first would be simpler. First your human rig's bones must be properly named, if you used the skeleton that comes with Blender instead of a custom one ...
  • 337
2 votes

Multiple Texture Coordinates Per Vertex (DirectX11)

Duplicating vertices is probably the wrong way to go for this particular use case. If all you have is an extra set of UVs, just send in an extra set of UVs. D3D has attributes named TEXCOORD0, ...
2 votes

Unreal Engine: Is it possible to animate inside unreal engine?

According to Unreal Engine Docs you can modify any existing animation sequences as part of "Additive Layer Tracks".
  • 905
2 votes

Are there viable alternatives to polygons for creating 3D worlds?

It's possible to build a graphics engine using other geometric primitives. In 1994, Accolade released a 3D fighter called Ballz used spheres. It was impressive for the hardware at the time & ...
  • 10.1k
2 votes
Accepted

how to make a humanoid character bone rotate to face an object in unity?

Maybe try this: var dir = target.position - boneTransform.position; var q = Quaternion.LookRotation ( dir ); anim.SetBoneLocalRotation(HumanBodyBones.Spine, q);
  • 171
2 votes
Accepted

Scalability/Performance of physics-based character animation

Things like this have already been done and it should be pretty easy to find resources on how to implement such a system into a 3D rendering engine. Question - has this been implemented in any ...

Only top scored, non community-wiki answers of a minimum length are eligible