‫你好, 欢迎｡
‫在这堂课中,
‫我们将为抓取器制作自己的场景组件, 我们将打印出它的旋转, 这样我们就可以看到它确实连接到了摄像机上, 摄像机的旋转影响着它的旋转｡
‫让我们深入了解一下它是如何工作的｡
‫现在, 如果你们还记得看过演示的话,
‫我想在其中一个牢房里放一个小雕像, 让我们把它拿起来, 放在这个凹室里｡
‫现在, 问题是, 我没有那个雕像, 我甚至没有办法知道我是否在指着它,
‫当我试图拿起它｡
‫这就是我们在接下来的几节课里要解决的问题.
‫所以首先, 让我们放一个雕像在适当的地方, 我们使用｡
‫所以我要把牢门打开一点｡
‫现在我们点击其中一个单元格, 然后我会走到门那里, 我会把它旋转开, 这样我们就可以进去了.
‫接下来我要做的是这里很暗, 所以我要在这里放一个新的聚光灯｡
‫现在, 让我们转到快速添加按钮, 转到灯光, 找到一个聚光灯, 将其拖到我们的场景中, 并将其拖到墙上一点,
‫这样, 基本上我们就可以提醒玩家, 他们正在, 嘿,
‫在这个角落里有一些有趣的东西, 你可能需要注意｡
‫我们要去选择中世纪地牢文件夹并搜索雕像｡
‫你可以看到我们有一个金色的和一个石头的｡
‫我会选择这里的滴水嘴, 我需要在底部给予它一些东西,
‫因为我知道这个网格的底部有一个洞.
‫所以如果我们把它倒过来, 它看起来会很糟糕, 因为它实际上没有背面｡
‫我要做的就是把这个滴水嘴转过来, 在它下面加一个网格.
‫所以我们要去找一些泥土网｡
‫你可以看到我这里有一点泥土, 我要把它拍在现有的石像鬼雕像演员身上｡
‫所以这个土丘, 你可以看到它是绝对巨大的比较, 但别担心,
‫我们可以修复一点点规模的工具｡
‫这个土堆, 我将在详细信息窗格中缩放它｡
‫也许我会从0开始｡ 1, 看看它有多小｡
‫让我们旋转整个石像鬼演员, 这样我们就可以正确地看到我们在做什么｡
‫看看那个土堆｡
‫土堆需要旋转180度｡
‫然后让我们使用缩放工具将其放大一点｡
‫我将使用详细信息窗格对这些数字进行微调, 现在我将其与Z轴中的刻度一起压扁,
‫并对其进行微调｡
‫我想这看起来就像是一个底部｡
‫现在我们可以把这个滴水嘴再旋转90度然后试着把它放在聚光灯下的角落里｡
‫所以这就是我们的目的, 我们要得到这个网格｡
‫但我们要怎么做呢？
‫我们需要一个特殊的组件来完成这个任务, 我们可以使用演员组件, 但在这种情况下,
‫使用场景组件会更有意义.
‫让我们看看, 转到内容文件夹的根目录, 清除搜索,
‫打开BP播放器, 然后打开完整的蓝图编辑器｡
‫我们想做的是当我们移动第一人称摄像机时, 有一些东西可以跟踪｡
‫所以当我在这里演奏的时候, 你可以看到我在四处看, 我的相机也在四处看｡
‫所以我想要的是和我的相机指向同一个方向的东西｡
‫所以合乎逻辑的做法是在这个摄像机上附加一个组件, 它可以自动地随着第一人称摄像机旋转, 并且总是指向,
‫总是使它的前向矢量指向摄像机的前向｡
‫这就是我们要做的, 这正是我们需要场景组件的地方,
‫一个可以连接到其他场景组件的组件, 它有一个变换, 有一个位置, 旋转和缩放｡
‫我们要执行此操作的方法是转到组件中的“添加”按钮｡
‫但我们可以换个方式｡
‫我们还可以转到内容抽屉, 单击C++ classes文件夹, 然后单击“添加”并单击“添加新的C++类”｡
‫然后我们可以向下滚动到“场景组件”｡
‫所以我们要做｡
‫你看起来像是一个组件, 而不是一个活跃的组件｡
‫接下来我们继续｡
‫现在我们称之为抓取器,
‫因为它是一个最终负责决定抓取什么然后抓住它的部件, 这样当我们移动时, 抓取器就会把它带走.
‫我们将继续创建该类, 这将带我们进入Visual Studio代码,
‫其中包含一个抓取器, 一个抓取点CP, 您可以看到它再次创建了一个U抓取器, 其中包含组件的U前缀,
‫它继承了您所看到的组件｡
‫这就是我们如何知道它是一个场景组件｡
‫同样, 继承是一个关系｡
‫如果我们看H的移动器, 你可以看到继承实际上是从你的act组件｡
‫所以这是一个你扮演的组件, 但其他方面看起来完全一样｡
‫它有一个大的发挥, 它有一个滴答声的组成部分｡
‫这是因为场景的组成部分实际上是一个动作, 一个组成部分｡
‫它只是在上面添加了一些更多的功能｡
‫现在它是一个场景组件, 我们应该能够进入编辑器, 进入BPE播放器,
‫然后从这里添加并查找抓取器和抓取器｡
‫现在你看, 我选择了我的第一人称摄影机, 所以自动添加了抓取器作为第一人称摄影机的子组件｡
‫所以我想挑战你打印抓取器的旋转｡
‫这次我们要做的是获得组件的旋转,
‫而不是演员的旋转, 因为重要的是这个特定的组件是如何旋转的, 因为它连接到了摄像机上｡
‫我们将使用F旋转器的两个紧凑字符串函数将其转换为字符串｡
‫这一次, 因为我们没有使用F向量来旋转, 它实际上有一个两个紧致的弦函数｡
‫但是, 我们将使用EWI日志将其打印出来｡
‫还记得吗, 你因为一些奇怪的原因, 在字符串前面加了一个星星, 然后我们要编译它, 测试它,
‫看看它是否改变了旋转？
‫它是否随摄像机移动, 暂停视频并尝试｡
‫好吧, 我会的
‫欢迎回来｡
‫所以我们要把它打印出来｡
‫我没提过, 但希望你能想明白｡
‫我们要做的是, 首先, 创建一个F旋转器, 它会存储我的旋转,
‫然后我们会得到分量的旋转, 括号｡
‫然后从这里, 我们需要得到一个F弦, 这就是旋转弦,
‫我们要做一个小旋转点｡
‫若要压缩字符串括号, 请执行以下操作｡
‫现在我们输入log, 我们会得到抓取器旋转百分比sx, 然后我们会记住旋转字符串之前的星星｡
‫现在让我们继续编译它, 看起来很成功, 这总是令人高兴的｡
‫然后, 我们将点击播放, 并将输出日志停靠在布局中, 以便我可以随时看到它｡
‫你可以看到旋转确实被打印出来了, 当我向上移动时, 你可以看到我的投球｡
‫P在变化｡
‫当我从一边转向另一边时, 偏航角在变化, 但在任何时候都不会从一边倾斜到另一边, 这就是角色｡
‫这就是为什么在紧凑表示中, 角色总是被设置为零｡
‫所以你可以把它想象成角色定位, 你就像在飞机上｡
‫所以它看起来确实是正确的更新, 因为我会期望与相机, 我很高兴与结果｡
‫好东西｡
‫我们已经看到了如何创建自己的场景组件,
‫如何将它们附加到素材上, 以及它们如何拥有自己的旋转､ 位置和缩放概念｡
‫我们下节课再见｡