在蓝图中添加组件

本页面的内容:

在该页面上,你将学习如何将**Components**添加到蓝图中,以及如何在蓝图中访问和修改组件。为说明这一点,我们将创建一个简单的燃烧灌木蓝图Actor,它由三个组件组成:Static Mesh**组件(灌木)、Audio**组件(火的音效)和**Particle Effect**(可见的火焰效果)。

将组件添加到蓝图中

在本例中,我们将使用**Blueprint Third Person Template with Starter Content**。

以下步骤将告诉你如何将组件添加到蓝图Actor中。

  1. 在**Content Browser**中的**StarterContent/Props**文件夹下,Right-click****SM_Bush**资源,向上滚动到**Asset Actions,然后选择**Create Blueprint Using This...**。

    images/Components1.jpg

    这将创建一个基于该资源的蓝图,并将其作为组件添加到蓝图中。

  2. 当**Create Blueprint**窗口打开时点击**Ok**。

  3. 在**Content Browser**中的**StarterContent/Blueprint**文件夹下打开**SM_Bush**蓝图。

  4. 在**Blueprint Editor**窗口中点击窗口左上角**Viewport**选项卡。

    Components2.png

    你会发现灌木已被作为**Component**添加到我们的燃烧灌木Actor中。

  5. 在**Components**选项卡上点击**Components**窗口中的**Add Component**按钮。

    Components3.png

    该窗口让你能将组件添加到蓝图中,在本例中,我们可以添加火焰和音频效果。

  6. 点击**Audio**来添加音频组件,并留意位于**Components**窗口下方的**Details**窗口。

    Components4.png

    这是你指定有关组件的详情的地方。根据所添加的组件,会出现你可以定义的不同选项。在本例中,我们要定义音频组件将使用的实际声音资源。

  7. 在**Details**面板中点击**Sound**下的**None**框,然后选择**Fire01_Cue**资源。

    Components5.png

    现在,我们添加了从灌木中散发的火焰的声音效果。

  8. 再次点击**Add Component**按钮,然后滚动列表并添加**Particle System**组件。

    Components6.png

  9. 在**Particle Effect**的**Details**面板中,点击**Template**旁的**None**框,然后选择**P_Fire**。

    Components7.png

  10. 我们现在已准备好完成蓝图,点击窗口左上角的**Compile**按钮。

    Components8.png

    **Compile**后,你应该能看到绿色对钩,表明已编译成功。

    Components9.png

  11. 关闭蓝图,然后在**Game/Blueprints**下的**Content Browser**中将**SM_Bush**拖入该等级。

    Components10.png

  12. 点击**Play**按钮,以在编辑器中播放。

您现在应该能看到着火的灌木并播放火焰的音频效果。当你离开灌木时,音频应淡出,并且当你移近灌木时音频应淡入。

我们创建了由三个组件组成的蓝图Actor,我们也可以将灌木放置在等级中,然后将音频放入灌木内,然后将火放入灌木内,但创建包含这些组件的蓝图是远比创建单独的组件更易于管理的解决方案。

使用蓝图中的组件

可以从蓝图本身内或从外部蓝图访问并修改每个组件。例如,如果我们有一个汽车蓝图,并有一个引擎蓝图作为组件,我们可以通过调整发动机蓝图内的值来改变汽车运行的方式。

以本页面中的燃烧灌木为例,如果查看**MyBlueprint**窗口,你会发现在组件部分提供了每个组件:

Components12.png

每个组件都可以放置在图形中,并通过蓝图脚本访问和修改(参见下例):

Components13.png

在这里,我们将启用燃烧灌木蓝图Actor的输入,以便使玩家能通过按键修改它。我们已添加**F**键事件,当按下键时,在解除和激活粒子系统和音频组件(当按下键时开启或关闭它们)间切换。

其它资源

有几个与将组件添加到蓝图相关的概念,而且以下链接提供更多相关信息: