‫你好, 欢迎｡
‫在本课程中,
‫我们将在场景中绘制调试线, 以便我们可以直观地看到线迹正在执行的操作或应该执行的操作, 并判断我们计算的值是否正确｡
‫让我们一头扎进去看看吧｡
‫如我们所见, 我们的扫描多双通道功能需要一个起始矢量和一个结束矢量｡
‫当我们实际使用这些函数时, 要弄清楚它们的工作原理可能有点困难｡
‫因为如果你开始使用它, 你没有得到你期望的结果, 你有时会让自己想, 嗯,
‫我一开始问的问题对吗？
‫我发送的开始和结束向量是否正确？
‫为了解决这个问题,
‫我们要使用另一个函数draw debug line,
‫这样我们就可以明确地看到起始矢量和结束矢量的位置, 基本上就是在它们之间画一条线, 鉴于这正是扫描要做的事情,
‫那么这是一个很好的方法, 首先, 看看我们是否在第一时间得到了正确的输入｡
‫因此, 您可以在这里看到, 绘制调试行需要相当多的参数, 但实际上并不是所有参数都是必需的｡
‫只有前三､ 四､ 五个｡
‫所以我们首先看到的是一个新的世界｡
‫我们知道如何把握世界｡
‫现在我们有了直线的起点, 它是一个矢量｡
‫我们又看到了一条线的末端, 这是一个矢量, 然后是一个F颜色, 这是我们以前没有遇到过的,
‫但是你可以单击它来找出它是什么｡
‫本质上它是一个像F向量这样的类型, 来表示颜色, 我们已经内置了一些方便的颜色, 让我们可以说, 嘿,
‫我们想要黑色, 我们想要蓝色, 绿色, 随便什么｡
‫您可以只使用颜色名称, 而不必指定R､ g和b值｡
‫最后几个是我们是否得到了持久的线, 它告诉我们线是一直存在还是在帧的末尾消失,
‫告诉我们生存期｡
‫那么, 对于深度优先级和厚度, 它会停留多少秒, 我们都不会使用这两个参数？
‫因此, 此文档页面上的另一条有用信息是include｡
‫所以你可以在这里看到, 要使用这个函数, 我们需要使用声明它的头文件, 也就是散列include draw
‫debug helper｡
‫所以让我们先来看看这个, 因为这将确保自动完成功能在Visual Studio中正常工作｡
‫如果您没有头文件, Visual Studio实际上就不知道如何自动完成这些函数｡
‫然后, 我们将进入tick组件, 我将删除日志消息, 以获得良好的获取时间｡
‫事实上, 我们会摆脱这一切的时间｡
‫你知道吗？
‫我们只需要清空tick函数, 超级冒号之后的所有内容, 我们要删除冒号tick组件,
‫然后从draw调试行开始.
‫所以画出调试行, 然后打开一些括号｡
‫如果您点击了一个控制空间, 那么您可以看到我们刚才讨论的参数, 以及一些在那里没有的更多信息,
‫例如它们的默认值｡
‫其中一些有默认值, 特别是在持久性行之后｡
‫您可以看到默认值为false｡
‫因此, 如果它有默认值, 你实际上不必提供参数, 但是你可以看到颜色没有默认值｡
‫因此, 我们确实需要提供到那一点的一切｡
‫所以第一件事是世界小迷你挑战赛｡
‫你是如何在世界上掌握和传递成画调试线的｡
‫你可以这样得到一个世界括号, 然后我们需要一个开始和一个结束｡
‫因此, 我将在绘制调试行之前创建两个变量, 我现在还不打算填写它们｡
‫如果向量开始和F向量结束, 这两个参数将成为我们接下来的两个参数, 开始和结束, 然后我们需要一个颜色来表示这个颜色,
‫我们可以表示F颜色, 冒号, 冒号,
‫然后我们可以使用预定义的颜色之一, 比如红色总是一个很好的颜色｡
‫你可以很容易地看到它｡
‫在这种情况下, 因为我们是在tick中执行的,
‫而且我们是在每一帧中执行的, 我们将这一行写入屏幕, 我们可以只使用持久性行等于false｡
‫所以每一张票都将重绘这一调试行, 关闭括号, 然后我们可以把分号放在行尾｡
‫那么这些起始值和终止值是什么样子的呢？
‫一开始, 它实际上就是我们的抓取器组件的位置, 因为它将连接到摄像机,
‫这是一个很好的开始位置｡
‫现在请记住, 对于这个组件, 对于摄像机,
‫对于抓取器, 都有一个前向矢量, 这个前向矢量将从摄像机指向场景, 始终指向前方｡
‫所以我们要做的是, 把起始向量, 和前向向量, 乘以一个数｡
‫基本上, 这个量就是我们要寻找的物体的最大距离｡
‫所以你可能有一米, 两米, 或者三米的长度, 然后我们会得到一个结束向量｡
‫所以开始加上抓取器的前向矢量, 等于结束矢量｡
‫因此, 我们希望查看场景的最大深度是我们可能希望配置的内容｡
‫所以我们会把它作为你的财产放在掠夺者身上｡
‫让我们转到抓取器门H, 创建一个私有部分,
‫创建一个U属性, 我们将在任何位置进行编辑, 然后我们将创建类型B的float, 以便它可以是任何数值距离｡
‫我们将其称为最大抓取距离, 默认情况下将其设置为4米｡
‫可能必须是400, 因为默认单位是厘米｡
‫所以我想挑战你们去计算这些开始和结束｡
‫在第一个实例中使用获取组件位置, 使用获取前进向量计算终点,
‫并乘以我们刚刚配置的最大抓取距离｡
‫然后编译, 播放, 并从你的演员弹出, 因为这条线将是直接向下的相机｡
‫最初您可能看不到它｡
‫那就弹射｡
‫来吧, 走出你自己的身体, 你能看到线暂停, 视频和有一个去｡
‫好吧, 我会的
‫欢迎回来｡
‫现在我们来拿一张EP, 开始写我们要写的东西｡
‫正如我们所说的, 只需要简单地获取组件位置, 然后开始｡
‫最后一行应该是开始, 加上前进向量乘以最大抓取距离, 就像这样, 在这行的末尾加一个分号.
‫我们将继续进行编译, 如果编译成功, 我们将继续点击播放,
‫然后让我们的质量在视口中点击f8弹出｡
‫如果我们走出自己, 你可以看到清晰的线条, 从我们的相机一直到地板｡
‫如果我出来的话, 我们甚至可以看到它也从地板的底部伸出了一点｡
‫对你来说是四米｡
‫所以我们有了开始, 我们有了结束｡
‫如果我们要使用这条线, 这将是一个很好的输入参数, 我们将在稍后使用的几何扫描｡
‫好东西｡
‫我们已经学会了如何在场景中绘制调试线｡
‫这是一个非常有用的技能, 当你不明白为什么有些东西不工作时, 你会经常使用它｡
‫希望你喜欢｡
‫我们下节课再见｡