‫你好, 欢迎｡
‫在这堂课中, 我们将学习如何在Blueprint中从C++创建新节点,
‫这样我们就可以在Blueprint中调用C++功能｡
‫让我们来看看它是如何完成的｡
‫现在, 我可以使用蓝图来调用蓝图节点, 但我实际上想从这张蓝图中激活我们的抓取器,
‫而不是打印一些字符串｡
‫那我该怎么做呢？
‫好吧, 幸运的是, 我们可以很容易地将C++类中的函数公开到蓝图中｡
‫我们这样做的方式如下｡
‫所以我们要创建一个新的公共函数｡
‫我将转到tick组件下面的public部分｡
‫这里我将创建一个新的函数, 返回类型为void, 叫做release｡
‫稍后我们会用到grab, 但现在我们只调用一个release函数.
‫如何在Blueprint中提供此功能？
‫我需要把它变成U函数｡
‫所以你已经得到了变量的属性｡
‫你的函数相当于让一个函数在蓝图中基本可见｡
‫但我们并没有止步于此, 就像新的财产｡
‫我们必须在这里用u函数使它成为edit anywhere, 我们必须使它成为bluepire可调用的,
‫顾名思义, 这意味着这个函数现在变成了bluepire可以访问的节点｡
‫现在, 让我们获取一个CP, 并为此创建一个实现｡
‫返回类型为void｡
‫它将是一个U｡
‫抓取器, 结肠, 结肠释放, 无参数｡
‫我们会放一个函数体, 我会在里面放一个u log,
‫然后我会给予出消息, 像这样释放抓取器, 然后我们可以编译, 然后在哔声中返回｡
‫我将删除print字符串节点然后把released从这里拖走然后在这里搜索release函数.
‫现在让我们去四处看看｡
‫目前没有显示任何内容, 因为我需要在抓取器上执行此操作｡
‫我们将抓取器组件拖到事件图中, 创建一个抓取器变量, 然后将其拖离并搜索release｡
‫现在, 你注意到在这个例子中也没有出现任何东西｡
‫这是因为我们使用了实时编码, 有时在实时编码中编译的内容不会显示在编辑器中｡
‫我们要做的是关闭编辑器, 关闭实时编码窗口, 然后在Visual Studio代码中,
‫点击控制键B, 使用Crypt Raider编辑器win 64 Development Build进行构建｡
‫等待该操作成功, 然后从新的项目文件重新启动编辑器｡
‫现在, 如果我们重新打开BP播放器, 现在拖动抓取器, 我们搜索释放｡
‫您可以看到, 现在有一个名为release的节点｡
‫实际上, 所有这些都是以C++的形式调用｡
‫因此, 您可以看到如何通过将C++的内容公开到Blueprint世界中, 真正地将Blueprint和C++紧密协作起来｡
‫现在, 我将把发布执行引脚连接到发布节点｡
‫我们要进入我们的地牢, 我们要点击播放｡
‫现在如果我抓取然后释放, 你看不到任何东西, 因为它在输出日志中｡
‫因此, 让我们打开输出日志并将其停靠到布局, 然后再次单击播放｡
‫现在, 当我们抓取然后释放时, 你可以看到那里有一个简短的消息｡
‫它滚动得非常快, 因为我们每做一个滴答声都是在打石像鬼状态雕像｡
‫但是如果你停下来回头看, 你可以看到它说释放抓取器｡
‫因此, 我们的C++代码正在执行｡
‫好的, 现在我想让你把扫描代码移到一个抓取函数中｡
‫因此, 您将创建一个抓取函数, 并从Blueprint中调用它｡
‫你要用和我刚才释放函数一样的方法来做｡
‫但是当你创建grab函数的主体而不是仅仅打印任何东西时,
‫让我们把扫描代码和if语句以及所有的prep变量从TIC中移走, 这样它就不会这样做了｡
‫每当我们调用抓取函数时, 当我们按下鼠标按钮或按下控制器上的触发器时,
‫我们都会重新编译并检查日志, 以确保确实只有当您按下按钮时才会发生这种情况,
‫暂停视频并开始操作｡
‫欢迎回来｡
‫让我们进入C++, 然后进入头文件｡
‫我将在此处和以上版本中关闭编译窗口｡
‫我将创建一个新的U函数蓝图, 可调用的, 它将是一个空的, 叫做grab,
‫我们将在C++中实现它｡
‫所以, 这又是一个空白｡
‫你抓一个冒号, 冒号抓括号, 然后大括号｡
‫我将把所有这些代码从TIC组件中移走, 因为我们要设置起始向量和所有类似的东西｡
‫让我们一路向下, 把它剪下来, 粘贴到grab中, 而不是它应该在的地方｡
‫挺好的
‫现在, 让我们看看实时编码是否会在BP播放器中实现该功能｡
‫让我们转到哔声播放器, 删除print字符串, 然后拖动它｡
‫抓取一个节点, 看看是否能找到抓取函数｡
‫好的, 这次我们可以使用抓取功能｡
‫那太好了｡
‫现在, 让我们连接按下的执行引脚, 转到我们的地牢, 点击播放,
‫并确保我们向下滚动到输出日志的底部｡
‫右键单击我的视口, 看看四周, 然后按左键｡
‫它说没有演员击中, 然后立即释放抓取器, 所以没有演员击中｡
‫然后我松开钥匙, 没有释放抓取器｡
‫现在如果我走到我的石像鬼那里, 我会看一看｡
‫我按下它, 它说演员击中石像鬼雕像, 然后我可以释放抓钩｡
‫所以现在我们已经有了合适的建筑来抓住这个石像鬼｡
‫接下来, 我们需要处理此设置的物理部分｡
‫我们下节课再见｡