Choose your operating system:
Windows
macOS
Linux
选择实现方法:
Blueprints
C++
课程:蓝图基本概念|蓝图 - 基本概念|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fblueprints---essential-concepts%2FBPEssentialsThumbnail_1920x1080-1920x1080-2fcdde875f1d79ade1c295fe4fef53c4b8c5ecde.PNG?resize=1&w=1400|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fblueprints---essential-concepts%2FBlueprint--Essential-Concepts-1000x1000-9f372ce55de42ce9596dffd6c931839e44fcc873.png?resize=1&w=300 课程:使用蓝图进行交互式材质交换|使用蓝图进行交互式材质交换|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Finteractive-material-swaps-using-blueprints%2F406---Hero2-1920x1080-ce26b6199cf620364149d2d934c73ae30e983110.png?resize=1&w=1400|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Finteractive-material-swaps-using-blueprints%2FInteractive-Material-Swaps-Using-Blueprints-1000x1000-21158a5fe67365e3bf5db49712b52482382f15ac.png?resize=1&w=300 课程:制作蓝图产品配置器|企业级蓝图|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fblueprint-for-enterprise%2F301-Blueprints-%281200X675%29-1200x675-d140b8a0b13b05c0619e35e1076b4c82e4a4b855.png?resize=1&w=1400|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fblueprint-for-enterprise%2FBlueprint-for-Enterprise-1000x1000-13caa11b8e5c5e91506a8dd63b39d247318c3208.png?resize=1&w=300
本教程演示如何凭借
创建门Actor
-
首先,点击 新建(New) > 游戏(Games) > 空白(Blank) > 蓝图(Blueprint) 创建名为 TimelineDoorActor 的项目,并启用 初学者内容包(Starter Content) 。
-
点击 添加/导入(Add/Import) 按钮新建蓝图 Actor 类,将其命名为 BP_DoorActor 。
-
从内容浏览器中双击该BP_Door Actor在蓝图编辑器中打开,然后打开 类默认值(Class Defaults) 。
-
下一步,在 组件(Components) 选项卡中点击 添加组件(Add Component) 按钮,选择 静态网格体(Static Mesh) 添加新的 静态网格体组件(Static Mesh Component) 。
-
右键点击你的静态网格体组件,选择 重命名(Rename) ,将其重命名为 DoorFrame 。
-
下一步,在 组件(Components) 选项卡中点击 添加组件(Add Component) 按钮,选择 静态网格体(Static Mesh) 添加新的 静态网格体组件(Static Mesh Component) 。(重复步骤3)
-
右键点击你的静态网格体组件,选择重命名(Rename),将其重命名为 Door 。
-
点击添加组件(Add Component),从下拉菜单中选择 盒体碰撞(Box Collision) ,将其重命名为 Box 。
-
下一步,打开事件图表,右键点击 图表,从 蓝图上下文菜单(Blueprint Context Menu) 中选择 添加时间轴(Add Timeline) 。将你的时间轴命名为 DoorTimelineComponent 。
此时,BP_DoorActor的类默认值应如下例中所示:
设置门静态网格体
接下来,你需要设置 组件(Components) 选项卡的附件层级。
你还需要设置静态网格体资产,直观地表示你的 DoorFrame 和 Door 静态网格体组件。
-
从 BP_DoorActor 的组件(Components)选项卡中,选择 DoorFrame 静态网格体并将其拖动到 DefaultSceneRoot组件 上,使其成为新的 根组件 。
-
接下来,在组件(Components)选项卡中选择 DoorFrame 静态网格体,从 细节面板(Details panel) 中将静态网格体更改为 SM_DoorFrame 。
-
接下来,从组件(Components)面板中选择DoorMesh组件。导航至细节面板,将静态网格体更改为 SM_Door 。
-
然后导航至 变换(Transform) 类别,将 Y位置(Y Location) 值更改为 45.0 。
-
点击 保存(Save) 和 编译(Compile) ,将这些更改保存到Bp_DoorActor。
创建时间轴浮点轨道
时间轴组件需要 时间轴曲线 来描述其移动动画。每个轨道都可以包含多个键,用于定义时间和值。曲线内插这些键,以计算时间轴中任何点的值。
-
首先,在事件图表中双击DoorTimelineComponent,打开时间轴编辑器。
-
点击 添加浮点曲线(Add Float Curve) 向该轨道添加新曲线,将该曲线命名为 DoorRotationZ 。
-
右键点击,向浮点曲线轨道添加两个键。两个键的值分别为(0,0)和(5,90)。
-
按住Shift键并选中这两个键,点击右键,从 键插值(Key Interpolation) 下拉菜单中选择 自动(Auto) 插值。
-
保存你的浮点轨道。
更新事件轨道逻辑
现在你需要创建更新逻辑,以旋转你的门静态网格体。
-
导航至BP_DoorActor的组件(Components)选项卡,将门静态网格体拖动到事件图表上
-
拖移门引脚,从操作上下文菜单中选择 SetRelativeRotation 。
-
右键点击事件图表,从上下文菜单中选择 制作旋转体(Make Rotator) 。
-
在 DoorTimelineComponent 节点上,拖动 Door Rotation Z 浮点引脚,将其连接至 Make Rotator 节点的 Z ( Yaw ) 引脚。
-
在 DoorTimelineComponent 节点上,拖移 更新(Update) 引脚 ,将其连接至 SetRelativeRotation 节点的输入执行引脚。
-
在 Make Rotator 节点上,将 返回值(Return Value) 引脚连接至SetRelativeRotation节点的 新旋转(New Rotation) 引脚。
-
编译 并 保存 。
创建绑定盒体碰撞重叠事件
盒体组件需要拥有在Actor进入或离开碰撞边界时做出反应的能力。
-
导航至BP_DoorActor的组件(Components)选项卡,选择盒体组件。
-
从细节面板中,向下滚动到事件类别,点击 在组件开始重叠时(On Component Begin Overlap) 事件旁的 + 图标。
-
在 On Component Begin Overlap(Box) 节点上,拖移执行引脚,将其连接至DoorTimelineComponent节点的播放(Play)引脚。
-
导航至BP_DoorActor的组件(Components)选项卡,选择盒体组件。然后,在细节面板向下滚动到事件类别,点击 在组件结束重叠时(On Component End Overlap) 事件旁的 + 图标。
-
在 On Component End Overlap(Box) 节点上,拖移执行引脚,将其连接至TimelineComponent节点的 反向(Reverse) 引脚。
-
编译 并 保存 。
将Actor放到关卡中
-
从内容浏览器中,选择你的BP_DoorActor并将其拖动到视口中。
-
按PIE
完成后的蓝图
BP_DoorActor