Search code examples
c#wpfanimationhelix-3d-toolkit

How to animate a simple 3D shape using Helix Toolkit?


I'm trying to animate a simple rectangular shape so that it scales in size in a certain direction. As it is, I am making a rectangle that extends from point A to B. The end goal is to animate it so that it starts at A and is transformed to be the length required to get to B.

I'm pretty new to animation in general, so this process seems finicky to me.

Right now I am:

Creating a vector between the start and end point
Finding the 8 corners of the rectangle along that vector
Creating 2 triangles for each face of the rectangle
Rendering the shape

This is all being done by using a MeshBuilder object and adding the triangles and points individually.

So, the way I'm creating the prism doesn't really help for what I need to do. Ideally I suppose, I would just create a short prism aligned between the points, and then just extend the rectangle to be the right length in an animation.

Any thoughts?


Solution

  • I solved this is a sense by scaling the 3D object from a size of 0 in the X/Y/Z to 1.0. So instead of the prism "extending" from A to B, it more or less "grows" to B.

    Note that the ScaleTransform3D needed to have the CenterXYZ properties set to the coordinates of point A in order for it to be anchored to the correct position.

    If I find a better solution, I'll update this answer later.