组件

本页面的内容:

组件 是一种特殊类型的对象,用作为 Actor 中的一个子对象。组件一般用于需要简单地切换的部件的地方,以便改变具有该组件的 Actor 的某个特定方面的行为或功能。比如,一辆汽车的控制机及运动和飞机是有很大差别的,而飞机的控制和运动又和船有很大区别,以此类推;然而,所有这些都是交通工具,它们存在一些共性。通过使用一个组件来处理这些控制及运动,可以很轻松地使得同一交通工具的行为变得像任何一种特定类型的交通工具。

For more information on Components, please see the Components Overview documentation.

组件窗口

Components(组件) 面板允许组件一创建就添加到 蓝图 上。这提供了一种方法,使得可以通过 CapsuleComponentsBoxComponentsSphereComponents 来添加 碰撞几何体, 可以通过 StaticMeshComponentsSkeletalMeshComponents 的形式添加渲染几何体, 通过使用 MovementComponents 控制运动等。您还可以将添加到 Components(组件) 列表中的组件, 分配给这个蓝图或其他 蓝图 中用于访问这些组件的实例变量。

components_pane.png

添加组件

要想在 组件 列表中向 蓝图 添加一个组件:

  1. 从该下拉列表中选择您想添加的组件类型,比如一个 **CameraComponent(相机组件)** 。

add_new_component_list.png

  1. 按下 Blueprint - Add Component Button 按钮来添加此新组件。

    add_new_component_button.png

要想通过拖拽并放置方式来添加一个组件:

组件也可以这样进行添加,即通过从内容浏览器中拖拽 StaticMeshSoundCueSkeletalMeshParticleSystem 资源并将其放置到 组件列表中。

drag_asset_components_list.png

删除组件

要想从 Components(组件) 列表中删除一个组件,仅需简单地右击该组件的名称并选择 Delete(删除) 即可。

delete_component.png

组件资源

要想把一个资源分配给 组件列表 中的一个组件:

  1. 在内容浏览器中,选择要分配的资源。该资源类型必须和组件类型 相兼容。

selected_asset.png

  1. 组件 面板中,选择您想将该资源赋予的组件。该组件的详细信息将会出现在 详细信息 面板中。

按下 详细信息 面板的 [Asset(资源)] 部分中的 Blueprint - Use Asset Button
按钮。这样该资源就分配给了该组件。

copy_asset.png

要想清除已分配给组件的资源:

  1. 点击 详细信息 面板的 [资源] 部分中的 Current Asset(当前资源) 下拉菜单。

    Current Asset Dropdown

  2. 在出现的菜单中选择 Current Asset(当前资源) 下的 Clear(清除) 选项。

    Clear

该已分配的资源会被清除。

Blueprint - Asset Cleared

要想在内容浏览器中浏览已分配的资源。

  1. 按下 详细信息 面板的 [Asset(资源)] 部分中的 Blueprint - Browse Asset Button 按钮。内容浏览器将会打开并显示了已分配的资源,且该资源处于选中状态。

lookup_asset.png

opened_content_browser.png

重命名组件实例变量

组件列表 中创建的组件将会具有一个基于其类型自动生成的变量名称。要想修改这些变量的名称:

  1. 组件列表 中选择该变量,其详细信息将出现在 Details(详细信息) 面板中。

    new_component_details.png

  2. 详细信息 面板的 组件 部分的 Variable Name(变量名称) 文本域中,为该变量输入一个新名称。

    named_new_component.png

组件事件和函数

根据组件类型的不同,您可以基于它们在事件图表中添加事件 和/或 函数。比如,另一个actor(比如一个Pawn)穿过 Box Component时,该Box Component可以有一个Overlap事件。以这种方式创建的任何事件或函数都是针对那个特定函数的,不必测试来确认它所涉及的组件。

创组件事件非常简单,如下所示:

  1. 创建一个可以为其创建事件的组件。在这个示例中,我们使用一个BoxComponent(盒体组件)。

    AddBoxComponent.png

  2. 为您的组件提供一个名称 - 这会为其创建一个变量。

    NamedBoxComponent.png

  3. Variables(变量) 选卡中,选择该新变量。

    SelectBoxComponent.png

  4. 图表 选卡中,右击弹出关联菜单。如果该组件有任何相关联的事件或函数,都会在顶部列出这些事件或函数。

    EventsAndFunctionsArea.png

    在这个示例中,我们添加了一个 Overlap事件,每当有actor穿过这个Box Component体积时都会调用该事件。

不是所有的组件都有相关联的事件。比如,一个Point Light Component(点光源组件)仅具有函数。