‫欢迎回来
‫在上一个视频中, 我们创建了capsule组件, 并将其设置为根｡
‫在此视频中, 我们需要添加更多组件｡
‫具体来说, 我们需要一些网格为基地和炮塔部分, 我们的坦克｡
‫我们还需要一个抛射体产生点, 就像我们在前面的课上讨论过的｡
‫让我们跳到VS代码｡
‫现在, 在Base Pancake中, 我们有了胶囊组件｡
‫我们可以将其他组件添加到它下面的私有部分中｡
‫因此, 对于我们的网格, 我们希望使用静态网格组件｡
‫当然, 这些将是指针,
‫因为这不是一个基本类型, 第一个网格我将称为基本网格, 就像胶囊组件一样, 基本网格将有自己的属性宏｡
‫现在请注意, 您的静态网格组件不会因为未向前声明它而向我发出错误｡
‫这是因为你的静态网格组件默认包含在所有的actor中, 当然卒子也是actor,
‫所以它已经使用了静态网格组件｡
‫现在, 如果您想知道如何知道哪些类型是默认包含的, 哪些类型不是, 您可以尝试编译,
‫看看是否会出现错误｡
‫我们知道当您未能包含所需的头时, 错误会是什么样子｡
‫另一种方法是始终向前声明并始终包含不真实引擎类型的头文件, 这些头文件具有防止它们在单个文件中被多次包含的包含保护｡
‫事实上, 我们现在所在的标题中就有这样一个｡
‫以前叫布拉格WMA｡
‫不管怎样, 我们已经有了基础网格, 我们还需要另一个静态网格组件｡
‫因此, 这将是一个U静态网格组件指针, 这将是炮塔｡
‫所以我将这个炮塔网格称为, 就像基本网格一样, 它也会得到一个U属性宏｡
‫现在我们有了基础网格和炮塔网格指针, 是时候实际构建这些了｡
‫让我们转到Base蓬特CP并在这里的构造函数中执行该操作｡
‫首先, 我们将使用基础网格, 并将其赋值为创建默认子对象返回的值｡
‫在我填写之前, 你先在这里输入正确的类型吧？
‫没错, 我是说...
‫它是静态网格组件｡
‫现在, 我们将使用文本宏来命名, 我们可以将其称为基础网格｡
‫现在, 我们将基础网格附加到某个东西上是很重要的, 因为我们希望网格跟随胶囊组件｡
‫在移动PON时, 我们要将其连接到根｡
‫因此, 基础网格具有一个称为设置附件的功能, 设置附件需要附加到一个可见组件｡
‫我们要把底部补片连接到胶囊组件上｡
‫我们可以很容易地在这里有过去的根组件｡
‫现在, 我们将以相同的方式创建炮塔网格｡
‫因此, 炮塔网格等于创建默认子对象, 这也将是一个使用静态网格组件｡
‫这个的名字, 我们叫它炮塔网｡
‫我们之前提到过,
‫我们希望将转塔网格连接到基础网格, 因此我们可以说转塔网格设置了附件, 并且将其连接到的组件将是基础网格｡
‫所以我们将传递基本网格和作为参数, 那么安装附件来自哪里？
‫如果我们右键单击并转到定义, 我们将看到它是scene组件中的一个函数｡
‫所以所有的场景组件都有这个功能｡
‫我们将关闭场景组件｡
‫现在, 您可能注意到IntelliSense错误, 指出指针指向不完整的类类型｡
‫这实际上是另一个假错误｡
‫我们下载的那个扩展实际上并没有修复这个问题, 但是这个编译得很好, 所以我们不需要担心这个问题｡
‫现在, 如果你觉得麻烦的话, 你可以添加包含组件, 斜线静态网格组件, 这样就可以去掉那些红色的曲线了｡
‫正如我提到的, 这些都包括警卫, 所以他们不会包括两次｡
‫所以这取决于你｡
‫我将继续, 并在这里留下包含, 这样我们就不会得到那些波形｡
‫所以现在我们有我们的基础网格在我们的炮塔网格, 唯一剩下的是我们的炮弹产卵点｡
‫所以这将是你的挑战｡
‫创建一个名为投射体spawn point的指针｡
‫选择适合投射物繁殖点的正确类型, 并使用文本宏为其命名,
‫然后创建默认子对象｡
‫将投射物产生点附加到炮塔网格｡
‫我想让你们考虑的一个问题是, 我们是否需要包括它的头文件, 暂停视频,
‫然后现在就创建这个组件？
‫好吧, 我会的
‫让我们添加下一个组件｡
‫现在, 投射物产生点将是一个U向可见组件, 我们将其称为投射物产生点｡
‫现在, 我们将添加一个you属性宏｡
‫没关系, 我会的
‫如果您没有这样做, 如果您没有立即添加您的属性宏, 现在让我们转到Base Pond
‫CP并构造此组件｡
‫所以我们要说抛射体产生点并创建默认子对象｡
‫这将是一个你看到的组件｡
‫你可能给它起了个很棒的名字｡
‫我将其命名为Spawn point, 我们需要为此设置附件｡
‫我们将输入投射体生成点, 设置附件, 并将其连接到炮塔网格上, 这样我们就可以编译它了,
‫确保所有内容都编译成功, 我们就有了一个成功的编译｡
‫一切都很顺利｡
‫因此, 在本视频中, 我们创建了静态网格组件, 我们看到我们不需要包含这些组件的标头｡
‫默认情况下已包含这些属性｡
‫我们还创建了一个名为projectory spawn point的场景组件, 我们的代码编译得很好,
‫没有包含它的头文件｡
‫我们将很快创建一个基于我们的基本池C++类的蓝图｡
‫下一个视频里见｡