|
蓝图类允许您使用蓝图可视化脚本系统来设置新类。 在您 创建一个新的蓝图类后, 您可以使用可视化脚本系统来添加组件、创建函数及其他游戏或设计行为,并设置类变量的默认值。 仅使用蓝图创建的LightSwitch类的资源文件名称是 LightSwitch_BPOnly ,以下进行了解释。
类设置
LightSwitch_BPOnly 类是在 Content Browser(内容浏览器) 中 创建的,使用选中的 Actor 作为父类。
组件可以通过 Blueprint Editor(蓝图编辑器) 的组件模式静态地添加到蓝图中,或者在图表模式中通过可视化脚本动态地将组件添加到蓝图中。 因为LightSwitch类总是具有PointLightComponent 和 the SphereComponent,所以在这个示例中,是通过在组件窗口中静态地添加的组件。
使用 Components(组件) 选卡添加PointLightComponent,命名为 PointLight1 ,将其作为根组件;添加SphereComponent,命名为 Sphere1 ,并将其附加到 PointLightComponent 上。 在 蓝图编辑器 中添加到类上的组件具有淡蓝色图标,而从父类继承而来的组件具有深蓝色图标。 关于使用 Components(组件) 选卡添加及排列组件的更多信息,请参照 组件选卡文档。
在 Blueprint Editor(蓝图编辑器) 中,您可以在我的蓝图选卡中添加新建的变量, 函数以及宏。 您还可以访问蓝图类中包含的所有图表。 在这些图表中,各种节点连接到一起,来创建由类变量、游戏事件、甚至Actor的周边环境驱动的设计及游戏功能。
通过使用 My Blueprint(我的蓝图) 选卡,把浮点变量 DesiredIntensity 添加到了 LightSwitch_BPOnly 类中。 My Blueprint(我的蓝图) 选卡还显示了在 Components Mode(组件模式) 中添加的组件,所以如果需要可以在图表中进行访问。 要想阅读关于使用 My Blueprint(我的蓝图) 选卡添加变量的更多信息,请阅读变量 文档,或者阅读我的蓝图文档来获得通用的使用信息。
有两个图表用于设置 LightSwitch_BPOnly 类的行为。 首先是构造脚本 函数图表,它包含了 构建脚本 的函数入口节点。 当把一个Actor添加到关卡中时或当一个现有Actor在关卡中移动时会执行该事件。 在 LightSwitch_BPOnly 类中, Construction Script 事件连接到了 Set Brightness 节点上,以便当在关卡中添加或移动Actor时或者 Desired Brightness 发生改变时,将 Point Light 1 (PointLightComponent) 的亮度设置为 DesiredIntensity 的值。
LightSwitch_BPOnly 类中设置的另一个图表是 事件图表 。 EventGraph(事件图表)的执行是由事件启动的,比如 OnComponentBeginOverlap 和 OnComponentEndOverlap 事件。 当关卡中的其他Actor和SphereComponent重叠或者离开SphereComponent时,会执行这些事件。 这两个事件都连接到了 Toggle Visibility 节点上,所以当这些事件执行时会切换PointLightComponent的可见性。 关于事件及处理图表的更多信息,请参照事件, 事件图表, 以及 图表编辑器文档。
如果您无法从 右键点击 菜单中找到Toggle Visibility(切换可见度)选项,请取消勾选情境关联或在Find a Node(搜寻节点)菜单中尝试搜索。 您还可以通过直接从点光源变量节点拉根线然后搜索Toggle Visibility(切换可见度)来获得相同的结果。
如果您无法找到Sphere1的OnComponentEndOverlap,请确认您选择了球体变量,并使用事件->添加事件来添加事件,或者从 右键点击 菜单中选择添加事件->碰撞->查看 OnComponentBeginOverlap / OnComponentEndOverlap 。
在变量的设置中, DesiredIntensity 变量设置为 Editable(可编辑的) ,所以在 蓝图编辑器 的 类默认值 中它是可见的,并且可以进行编辑。 这意味着对于类的每个实例,这个变量是可以变化的,所以每个Actor可以有其自己的 DesiredIntensity 。
蓝图类可以使用其他蓝图类来进行扩展,通过以下两种方式实现:使用 Class Viewer(类别查看器) 中的类附近的下拉列表按钮来创建一个新蓝图, 或者通过 右击 该蓝图并选择 Create New Blueprint Based on This(基于此蓝图创建一个新蓝图) 。
蓝图类 LightSwitchBPOnly 位于 内容浏览器中,您可以从那里将其拖拽到关卡内。 它同时位于类别查看器中。 关于使用 内容浏览器 或 类别查看器 在关卡放置Actor的更多信息,请参照放置Actor 文档。
|
|