# Tag Info

9

A gimbal is a pivoted support that allows you to rotate around one axis. Now it so happens that Euler rotations* work like a set of 3 gimbals attached to each other, one rotation builds upon the next (or previous/whole stack if your inclined to model it that way). Image 1: Rotation is like a gimbal. Model using yxz rotation (z=blue, x= red and y=green) in ...

9

Rotations in 3D are normally done with matrices. The xyz Euler angles can be converted to matrices so that it can be used in the rotation. That is where something called rotation order comes in. Basically it says in what order you rotate the object. First you rotate the object around the x axis, then the y axis and lastly the z axis for example. This means ...

8

When you think about rain in the distance (generally), you will have rain at several different depths from the camera, some close up, some very far away, all of which will look slightly different as you won't be able to focus on all of them. But the effect of them all layering on top of each other as they go off into the distance is what helps give the look ...

7

It looks like a voronoi diagram with a non-Euclidean distance metric. Probably not Manhattan L1 but something close related, but maybe Mahalanobis with some kind of restriction on seed point generation and movement. A similar result may be calculated with Weight-proportional Space Partitioning Using Adaptive Voronoi Diagrams when reducing spatial resolution ...

5

The magic is that the mesh is attached to the skeleton. In it's simplest form, this is done by assigning each vertex to a bone. When a vertex is assigned to a bone, that means that it will always keep the same position relative to that bone's position, and orientation (normal, tangent, bitangent aka the bone's local X,Y,Z axis) as the bone moves as ...

5

For what it's worth, the glTF Tutorials contain a section on Skinning that shows how the raw vertex and joint weight data feed into a vertex shader to distort the mesh. If you do design your own format to hold this, you'll need tooling to export it from 3D content creation software, as well as software to read the new format into your application. Using an ...

4

I think that it is important to classify between different types of animations here. One rough classification could be Rigid body animations Vertex skinning animations Others... Rigid body animations This refers to animations where the actual geometry data does not change. For example, you could have a geometric object, like a unit cube, and apply (...

4

A very simple low memory approach If you really want to use as little memory as possible, it can be done with not much more memory than that required to store a single image (the first frame) provided it is acceptable to do some preprocessing in advance. If you copy the following jumbled image, this jsfiddle will take it as input: It will then move the ...

4

The CT5 was designed before 1981. I started working at E&S in May 1981. The CT5 was fully designed by then and 3 had been built. All 3 were still at E&S and hadn't shipped yet when I started. Two of them were on the test floor and the third was the engineering prototype that was later sold. The prototype was in the "snake room", so called because of ...

3

You're seeing channels and samplers there, not individual keyframes. In this case, one animation is simultaneously targeting the translation, rotation, and scale channels of the same node, with three separate "samplers" (sets of keyframes per channel). Not shown above, your glTF file has a section called accessors that tells viewers how to slice out ...

3

After some searching on the internet, I am fairly certain that it was made in 1981 or at least the same decade. I have found multiple sources that indicate the CT5 was made in or around the year 1981. The first bit is in one of the promotional videos they made. At the very end there is a copyright statement. "(C) November, 1981". I would already believe ...

3

Yeah, that makes sense. Most flat panel monitors on the market have a 60Hz refresh rate! So you are not going to be able to flicker faster than 60Hz due to technical limitation. Were you to do this with a electron sweeping oscilloscope, or a LED lamp connected to a PWM source fast enough then no problem (you can find this in arduino samples). It would work. ...

3

Baraff and Witkin propose to incorporate constraints by modifying the linear system by the constraints matrices $\mathbf S_i$. As they state in the beginning of Section 5.2, the resulting system is not symmetric anymore. Therefore, the modified linear system must be computed with a linear solver that can treat non-symmetric systems (as - if I got you ...

3

This appears to be simply skeletal animation, which is a standard technique that is available in all modern animation packages. Whether applied to 3D meshes or (as here) 2D ones, the principle is the same. The pseudo-3D effect on the sprites is created by using a mesh where vertices are placed along the contours of the sprite texture, then animated to ...

3

You're right, standard skinning pipelines don't produce correct normals. You get similar problems when using translation on joints, which is very common in facial animation. The only way to get a correct result is to take the average of the surrounding face normals - this is not information you will be able to get in the vertex shader, so you'll have to use ...

3

The effect is called chromatic aberration; the way it’s usually done in games, and what’s being done there, is by reading the red / green / blue channels of an image at different offset positions. As with your other question (you’re looking to get into the NFT market, I’m guessing?), there are most likely plugins for After Effects that will let you create ...

2

Pixar spent quite much time, money and other capital to archive all their renders. What they did was just to store the raw render description files their render engine used. The reason for this is that it's the only way to ensure that the features stay intact. Of course they had a very well documented standardized format to work with. The benefit of this ...

2

It does look like raytracing to me as well. It could also possibly be ray marching, which would be easier to make the tubes with since ray marching is all based on distances from things (center of tube in this case). Refraction is what's used to bend the light that goes through the tubes. You are then just left with how to model the tubes. One way could ...

2

Is there any software which would let me import the existing models, define the bone hierarchy and the model which corresponds to each bone, and export a single articulated model in T-pose? I found that it is relatively easy to create articulations using Blender. This tutorial might be helpful: Blender 3D: Noob to Pro/Bones | Wikibooks

2

This is quite a broad topic, so I can only give a general overview. If you've never done any interactive animation before, this might be too big a challenge to start with, and maybe you should think of something smaller to do first. You first need to model and rig your character, or try to find an existing model online that's rigged with enough control over ...

2

You could do this entirely within an OpenGL/WebGL fragment shader: Attach the image you wish to emerge as a texture/sampler2D. Attach uniforms for the current time, as well as the time you want the effect to finish. uniform sampler2D myTexture; uniform float currentTime; uniform float finishTime; #define TWO_PI 6.283185307179586476925286766559 Next, ...

2

What you have here is an underconstrained problem*. To solve this problem you do what you do to any other underconstrained system. This is also why you mostly only see the 2 joint version as it is not underconstrained in the planar solution, and in any case the preregistration is trivial. Basically you have 2 options: Add more constraints Deal with the ...

2

Worley noise, also known as cellular noise, has the same property. It just as easily implemented as Perlin noise and easily extends to higher dimensions. Thus the slicing of 4D Worley noise will produce a 3D Worley noise. However, it is not necessarily a noise function but rather a texture function, producing cellular-like characteristics. With FBM applied ...

2

First decide how you are going to animate the model. The simplest way is to just have a separate mesh per frame of animation. This requires more memory to be dedicated to mesh data more artist time to create them and it locks you into only those poses. The next step upwards is interpolating between full meshes (keyword morph targets). This works great for ...

2

GIF animation compressors normally do this automatically, using transparency in a given frame to avoid storing what has not changed from the previous frame. The reason it's not working in your case is that your input is bad. The flat part of the parchment is not really static. It is moving slowly upwards, at a rate of about 1 pixel every 20 frames. Fix your ...

2

You should use a fixed time for this. Consider the following: Your computer is super fast, you have high end hardware. Now you animate via FPS and make your animation look great. Let's say you had 120 fps. Since you did great work, you want to show me. I have bad hardware, everything takes ages. I have to work with just 30 fps - sufficient to call it real-...

2

The following is really an assorted set of comments: Why integer? Floating-point hardware is (in general) far more complex than integer and so on many (old) CPUs it (a) might not have been available (because of silicon budget) and/or (b) took considerably more clock cycles to execute than integer operations. Re "Bresenham's" algorithm: IIRC there is a ...

2

This effect is called Color Cycling (or Palette Shifting). Mark Ferrari has a great GDC talk where he demonstrates and explains the entire technique. You can view a bunch of his artwork based on this technique here. The main idea is that each pixel is painted not with a single color, but as values of a look-up table to a palette of colors. The entire image ...

1

I'd use the euclidean distance between two 3D positions. Velocity is distance over time. Time is a single frame in this case. $$\sqrt{(x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2}$$ If you only move the camera, it is simply that frame of reference that moves, so all spheres have a relative velocity equal to the camera's velocity.

1

Because animators haven't fully bridged the uncanny valley. There are a ton of little details you notice subconsciously that hasn't been fully mapped out. Things like how muscles and tendons move under the surface, how clothing and hair behaves as you move around. Even how you adjust your stance as you move your arms around, prepare to move, etc. Even ...

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