如何使用 Helix Toolkit 为简单的 3D 形状制作动画?
How to animate a simple 3D shape using Helix Toolkit?
我正在尝试为一个简单的矩形设置动画,使其在特定方向上按比例缩放。事实上,我正在制作一个从 A 点延伸到 B 点的矩形。最终目标是对其进行动画处理,使其从 A 点开始并转换为到达 B 点所需的长度。
总的来说,我对动画还很陌生,所以这个过程对我来说似乎很挑剔。
现在我是:
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
这一切都是通过使用 MeshBuilder
对象并分别添加三角形和点来完成的。
所以,我创建棱镜的方式对我需要做的事情并没有真正的帮助。我想理想情况下,我会创建一个在点之间对齐的短棱镜,然后将矩形延伸到动画中的正确长度。
有什么想法吗?
我通过将 3D 对象的大小从 X/Y/Z 中的 0 缩放到 1.0 来解决这个问题。因此,不是棱镜 "extending" 从 A 到 B,它或多或少 "grows" 到 B。
请注意,ScaleTransform3D
需要将 CenterXYZ
属性设置为点 A 的坐标,以便将其锚定到正确的位置。
如果我找到更好的解决方案,我稍后会更新这个答案。
我正在尝试为一个简单的矩形设置动画,使其在特定方向上按比例缩放。事实上,我正在制作一个从 A 点延伸到 B 点的矩形。最终目标是对其进行动画处理,使其从 A 点开始并转换为到达 B 点所需的长度。
总的来说,我对动画还很陌生,所以这个过程对我来说似乎很挑剔。
现在我是:
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
这一切都是通过使用 MeshBuilder
对象并分别添加三角形和点来完成的。
所以,我创建棱镜的方式对我需要做的事情并没有真正的帮助。我想理想情况下,我会创建一个在点之间对齐的短棱镜,然后将矩形延伸到动画中的正确长度。
有什么想法吗?
我通过将 3D 对象的大小从 X/Y/Z 中的 0 缩放到 1.0 来解决这个问题。因此,不是棱镜 "extending" 从 A 到 B,它或多或少 "grows" 到 B。
请注意,ScaleTransform3D
需要将 CenterXYZ
属性设置为点 A 的坐标,以便将其锚定到正确的位置。
如果我找到更好的解决方案,我稍后会更新这个答案。