首先随便打开一个项目
在内容浏览器中点鼠标右键,然后选择创建一个蓝图类:
然后点击actor
这里把创建出的蓝图命名为BouncingBall
打开这个蓝图,然后点击添加,选择球体
可以在这里给球体随便设置一个材质
之后打开事件图表,创建一个 时间轴Timeline 将它与 事件开始运行EventBeginPlay 连接
双击时间轴,打开时间轴编辑界面,点击带绿色加号的按钮创建两个轨迹,分别命名为movement和scale,用来控制球的位移和形变。将时间轴长度设置为3,这里的长度就是球运动的周期时长,单位是秒。
两条轴分别像这样设置:
movement:两端的点的纵坐标都是1
scale:最高处的点纵坐标是1
只要设置的大致相似即可 。
接下来回到事件图表,会发现时间轴这里多了两个接口,就是刚才创建的两个轴。
现在将左侧栏中sphere用鼠标左键按住拖出来,然后点击获取,得到对目标球体的引用
之后就仔细按照下图创建各个节点然后正确连接起来,注意数值的设置。用Lerp规定位移和形变数值变化的范围,再用时间轴来控制。
然后点击编译,回到场景视图,把创建好的BouncingBall拖进场景中,再运行可以发现球在不停地落下然后弹起。
实际上可以用这个方法让任何物体看起来像弹力球一样运动,数值可以自行调整,让效果看起来更好