Simcenter STAR-CCM+ Screenplay可视化动画制作案例
前言
Screenplay是Simcenter STAR-CCM + 2019.2(v14.04)版本的新功能,这是软件集成的动画制作工具,可让您更好的讲述模拟中的故事。
动画 screenplay功能制作的汽车尘土污染模拟动画
Screenplay中使用的基础技术称为关键帧动画(keyframeanimation),关键帧定义了选定时间点的场景属性。渲染动画时,Simcenter STAR-CCM +会在连续关键帧之间插入平滑过渡。
screenplay支持用于后处理对象的许多属性的关键帧,例如scenes,displayers, derived parts, cameras, and transforms。可视编辑器(visual editor)可帮助您使用拖放技术创建动画。
下面使用一个汽车外气动模拟的案例一步一步的详细说明设置screenplay的步骤。此模拟为汽车外气动的稳态模拟。最终得到的动画如下图所示:
动画 screenplay功能制作的汽车外气动模拟动画
在这个案例中的操作步骤、截图使用STAR-CCM+ 2019.2版本。
操作流程
在本案例中,使用scenes > ScreenPlay Scene作为动画的视图。在本视图下的displayers作为动画的关键帧,其显示内容如下表所示:
在动画中我们需要实现如下功能:
动画总时长20秒
前后轮在20秒的动画内旋转运动
0~3秒,10~20秒的时间内实现视角的变换
3~10秒的时间,车体的几何从前到后渐次隐藏显示,而车体的压力云图从前到后渐次显示出来
5~20秒的时间内,流线动画显示
在tools > Screenplays上右键点击,选择New,在弹出的窗口中选择 Existing Scene> ScreenPlay Scene。在该节点下多了一个名为“Screenplay 1”的节点,用于设置动画的参数。在视图下部多了一个编辑器窗口,用于编辑动画参数。
1. 设置车轮旋转
本外气动是稳态模拟,车轮采用MRF模型,车轮是静止的。这里为了更加符合真实的场景,把轮毂设置为旋转运动。涉及到的displayer > geometry front rim / geometry front rim。
在tools > Transforms下预先设置了2个rotation,分别表示前、后轮的旋转运动。分别设置displayer > geometry front rim / geometry front rim的transform属性值为 front-wheel、rear-wheel的运动。
分别将tools > Transforms下的2个运动front-wheel/rear-wheel鼠标左键拖到screenplay的编辑窗口,则在Screenplay 1下多了2个节点“Action 1”和“Action 2”,重命名为“front_wheel_rotation”和“rear_wheel_rotation”。设置这2个动作的参数如下:
Time = 0; Duration = 20;
front_wheel_rotation: Simple Transform 1
Coordinate System: Front_Tire
Rotation Angle: 0 radian
Rotation origin: [0, 0, 0]
Rotation Axis: [0, 0 , 1]
Translation: [0, 0, 0]
Scale: [1, 1, 1]
front_wheel_rotation: Simple Transform 2
Coordinate System: Front_Tire
Rotation Angle: 100 radian
Rotation origin: [0, 0, 0]
Rotation Axis: [0, 0 , 1]
Translation: [0, 0, 0]
Scale: [1, 1, 1]
rear_wheel_rotation: Simple Transform 1
Coordinate System: Rear_Tire
Rotation Angle: 0 radian
Rotation origin: [0, 0, 0]
Rotation Axis: [0, 0 , 1]
Translation: [0, 0, 0]
Scale: [1, 1, 1]
rear_wheel_rotation: Simple Transform 2
Coordinate System: Rear_Tire
Rotation Angle: 100 radian
Rotation origin: [0, 0, 0]
Rotation Axis: [0, 0 , 1]
Translation: [0, 0, 0]
Scale: [1, 1, 1]
设置完成后,点击screenplay编辑窗口上部的播放按钮,即可得到车轮旋转的动画。
得到的车轮旋转动画如下:
2. 视角的变化
在该步骤中,我们来设置视角的变化。鼠标左键妥当ScreenPlay Scene > Attributes > View节点至Screenplay编辑窗口,Screenplay 1下多了一个名为“Action 1”的动作,重命名为“View 1”。默认状态下,存在2个视角的节点。
首先设置该动作的存续时间3秒
Time: 0
Duration: 3
通过鼠标操作,将车体视角显示在远处,然后右键点击View 1 > Scene View > 0.00: Scene View 1,选择Apply Current Value,将当前视角定义为第一个视角。然后将车体拉近,右键点击View 1 > Scene View > 1.00: Scene View 2,选择Apply Current Value,将当前视角定义为第二个视角。
重复上述建立视角动作的步骤,建立第二个视角动作View 2。右键点击View 2 > Scene View,选择New Keyframe,增加视角的时间控制。点击两次,增加两个关键帧。设置View2动作的存续时间10~20秒。
Time : 10
Duration: 10
以此设置4个关键帧的时间位置(position)为0.0(第10秒)、0.25(第12.5秒)、0.5(第15秒)、1.0(第20秒)。
按照上面同样的设置不同关键帧视角的方式,依次设置4个视角的位置,如下图所示:
3. 隐藏车体几何,显示车体的压力系数云图
在该步骤中,我们让车体的几何渐进隐藏,同时渐进显示车体表面的压力系数。
选择ScreenPlay Scene > Attributes > Clip Planes >Plane 1 > Origin,鼠标左键拖往screenplay编辑区域,新增名为“Action 1”的动作,重命名为“Clip geometry body”。
设置Clip geometry body动作的存续时间为3~10秒,参数如下:
Time: 3; Duration: 7
Orgian
0.00: value=[-1.0, 0.0, 0.0] m,m,m
1.00: value=[4.2, 0.0, 0.0] m,m,m
同样的方法,设置一个新的动作“Clip cp”,使得displays > cp在3~3.2秒时间内,Opacity从0.0到1.0。选择ScreenPlay Scene > Displayers > cp > Opacity,鼠标左键拖往screenplay编辑区域,新增名为“Action 1”的动作,重命名为“Clip cp”。
动作的存续时间设置参数如下:
Time = 0.0; Duration = 20
关键帧的设置如下:
0.00: value=0.0
0.15: value=0.0
0.16: value=1.0
1.00: value=1.0
4. 显示流线动画
流线在初始的时候是隐藏的(透明显示),首先需要将流线显示出来。选择ScreenPlay Scene > displayers > Streamline 1> Opacity,鼠标左键拖至screenplay的编辑区域,新建一个执行动作,重命名为“streanline”。设置动作存续时间为0~20秒。
设置关键帧参数如下:
0.00: Position: 0.0; Value: 0.0
0.25: Position: 0.25; Value: 0.0
0.26: Position: 0.26; Value: 1.0
1.0: Position: 1.0; Value: 1.0
选择ScreenPlay Scene > Attributes > Scene animation,鼠标左键拖至screenplay的编辑区域“streamline”,新的执行动作就存在于之前的节点下。设置动作存续时间为0~20秒。
设置关键帧参数如下:
0.00: Position: 0.0; Value: 0.0
1.0: Position: 1.0; Value: 5.0
结语
创作动画是一项艰巨且可能耗时的任务。与导演控制电影的制作一样,您需要计划故事板,提取解决方案内容并控制事件的交互。但是,即使是简单的编剧设置(例如求解历史记录扫描和摄像机平移相结合)也可能具有很大的价值,并且是朝着涉及多个displayer的更复杂可视化迈出的一步。Screenplay提供的动画制作功能使仿真工程师可以更好的展示模拟的结果。
(来源:公众号STAR CCM Online,作者:范俊磊)
------the end------