开篇引言

看完上期虚幻5视频,是否意犹未尽或困惑?别担心,本期拆解逻辑,让您豁然开朗。

本期重点:
  • 深入理解向量概念
  • 掌握蓝图节点工作原理
  • 理解面向对象编程核心思想

第一章:向量的奥秘

为方便理解,先讲纯粹数学概念——向量。

什么是向量?

高中数学说,是兼具大小和方向的量。

虚幻中常用三维向量,对应X、Y、Z坐标轴。

三维向量表示: Vector3(x, y, z) - X轴:左右方向 - Y轴:前后方向 - Z轴:上下方向

单位向量的重要性

记得上期用"获取Actor向前向量"控子弹方向吗?

调用"获取Actor向前向量",得到特殊向量:方向向前,大小恒为1。这叫"单位向量"。

单位向量特点:
  • 长度为1(标准化)
  • 仅表示方向
  • 常用于计算移动方向

三维向量演示

(三维向量演示动画)

// 获取Actor的向前向量 FVector ForwardVector = GetActorForwardVector(); // 结果:(1, 0, 0) - 沿X轴正方向

第二章:蓝图节点规则

接下来看蓝图节点规则。

输入与输出

蓝图节点左侧是输入,右侧是输出。

以加法节点为例: 左侧输入:A、B(相加数值) 右侧输出:Result(计算总和)

数据流规则

蓝图节点可无数据输入,但必须有输出,否则逻辑无法延续,无意义。

重要原则:
  • 每个节点必须有明确的输出
  • 数据流从左到右流动
  • 执行流从上到下执行

第三章:面向对象编程核心

讲完向量和蓝图节点,再聊核心概念:类。

上期提到但不够具体。这是"面向对象编程"基石。

创世比喻理解

用创世比喻理解:您是创世神,要在空世界创造生命。

需创造万千生物,设计每种的形态和习性,工作量大。

聪明的解决方案:

先提炼共性:归纳生命体共有特征为"生物"模板。

在此基础上,从"生物"提取能动、有感觉的特征,归纳为"动物"类。

再细分出"犬科""猫科"等。

类与对象的关系

这种层层归纳、继承和细化,是面向对象核心。

程序世界里,这些"模板"或"设计图"就是类。

类的构成: - 属性(数据) - 行为(方法/函数)

通过类创造的具体生物,是对象或实例。

现在明白程序运行时,操作的是一个个"对象"。

Self关键字的理解

上期说"获取Actor向前向量"左侧传入角色本身,Self代指"角色"这个对象。

它告诉节点:"请获取我自己的向前向量。"

// 伪代码示例 dog = Dog() // 创建狗对象 dog.bark() // 调用自己的行为

实例演示

举个例子:"狗"类有"汪汪叫"的行为。

// 狗自己想叫时,行为是内在、自发的 self.bark() // self指代狗对象自身 // 主人想让它叫时,需先明确"哪只狗",再命令 my_dog = Dog() // 先根据"狗"这个类,创造一只具体的狗 my_dog.bark() // 主人通过引用,命令这只特定的狗去叫
关键区别:
  • Self:对象内部调用自己的行为
  • 实例引用:外部对象调用特定实例的行为

总结与展望

通过本期学习,我们深入理解了:

  • 向量在虚幻引擎中的重要作用
  • 蓝图节点的工作原理和数据流向
  • 面向对象编程的核心思想和实际应用
下一步学习建议:
  • 实践使用向量控制游戏对象移动
  • 尝试创建自己的蓝图节点
  • 设计简单的类结构来实现游戏功能