‫欢迎回来｡
‫现在, 如果我们开始博弈并检查一个行为, 也就是如果我们切开橙子, 它们也会无限地留在博弈中.
‫所以我们已经照顾好我们的橙子了｡
‫它们将在一段时间后被删除｡
‫但我们的切橘子不是这样的, 让我们改变这一点｡
‫让我们进入脚本, 在这个例子中, 进入我们的水果脚本｡
‫所以在这里消灭5秒后插入游戏对象的小点｡
‫因此, 这个实例化的游戏对象, 也就是我们创建的切片水果, 将在5秒后被删除｡
‫让我们来看看, 如果这是真的｡
‫现在我将切片, 看看这些橙子的切割游戏对象是否会在5秒后被删除｡
‫如你所见, 他们都走了｡
‫这些东西非常重要｡
‫如果您不注意这些事情, 您可能会遇到性能问题｡
‫这对拥有大量强大硬件的个人电脑来说并不是一个大问题, 但对智能手机来说却是一个问题｡
‫因此, 在创建和删除游戏对象时一定要小心｡
‫好吧, 我会的
‫接下来, 让我们建立刀刃｡
‫因此, 让我们创建一个空的游戏对象, 并将其命名为blade｡
‫现在, 让我们重置变换位置, 并添加一个组件, 即轨迹渲染器｡
‫这就是所谓的预告片渲染器｡
‫我们就用这个吧｡
‫保存脚本并将其签出｡
‫如果我们移动一下, 调整一下X和Y的值,
‫就像你现在看到的, 它会产生洋红, 这意味着我们还没有合适的材料来制作刀片, 所以让我们为它制作一种材料｡
‫现在, 让我们进入资产文件夹并创建一个新文件夹, 以便为其创建材质｡
‫所以物质, 实际上是复数｡
‫在这里, 我想创造一种新的材料, 我将称之为刀片｡
‫当然, 它需要一种颜色, 我会选择浅蓝色, 实际上, 可能会更强烈一点｡
‫你可以选择任何你喜欢的颜色, 所以我就选这个蓝色｡
‫现在让我们检查一下我们的刀片, 它需要这里的材料｡
‫所以点击材料, 它说有一种材料, 这里没有｡
‫所以零元素中没有物质｡
‫把它拖进去｡
‫如果我们现在测试一下, 来回移动刀片, 我们会看到蓝色的物质｡
‫现在, 我们需要的是, 我们的拖车渲染器沿着我们的鼠标, 并有一个功能, 这样做｡
‫所以它会检查出向量的三个值｡
‫所以a3d值｡
‫当然, 在我们的世界里, 我们的游戏是2D游戏, 但鼠标仍然在3D世界里,
‫我们只会使用与我们相关的2D组件｡
‫好吧, 我会的
‫现在, 如果我们看一下我们的交易渲染器, 我们会看到它在游戏中停留了相当长的一段时间｡
‫这和这次有关｡
‫我们把它改成0｡ 2.
‫所以它只会存活0｡ 2秒, 这意味着这将是一个小线索, 但不会是一个很长的线索在这里｡
‫让我们来测试一下｡
‫让我们再次运行它并更改X值的位置｡
‫如你所见, 它活不了多久｡
‫它只有非常非常短暂的生命｡
‫当然, 它也太宽了, 因为我们不应该在游戏中有这么大的切口或这么大的刀片｡
‫所以我们用0｡ 1, 让我们来看看它看起来如何｡
‫让我们来看看X值｡
‫你看, 这就是它的样子｡
‫这就是我们的踪迹｡
‫现在, 为了看起来更好, 我会把游戏场景放大一点这样我们就能看得更清楚.
‫所以我想改变我的踪迹的外观, 因为目前它所做的, 它总是0｡ 我们想改变这一点｡
‫现在让我们添加一个键｡
‫我们把中心拖到顶部, 然后在末端再加一个键, 然后拖到底部.
‫让我们来看看这意味着什么｡
‫所以如果我们移动X轴的位置, 如你所见, 它看起来更像是用刀切的｡
‫您只能很快地看到它, 但一旦我们实现了鼠标功能, 它就会变得更有意义｡
‫好极了｡
‫所以接下来我们的刀片需要一个刚体, 这样它才能移动, 并对游戏产生物理影响｡
‫因为我们想要的是, 如果我们用刀片切割,
‫它会沿着鼠标移动, 如果我们切割一个物体, 我们希望这个物体受到影响｡
‫为了做到这一点, 让我们在DX中添加一个刚体, 它应该是运动学的｡
‫它的作用是告诉我们的刀片它不应该受到其他物体的影响, 但它仍然会影响其他物体｡
‫例如, 它仍然会影响我们的果实, 但果实不会拖或推离我们的刀片｡
‫这里的碰撞检测也应该是连续的, 因为我们希望这里有一个非常快的碰撞｡
‫好吧, 我会的
‫接下来, 我们需要一个脚本,
‫它可以处理我们刚刚看到的鼠标的漂亮行为, 这样它就不会沿着我们在转换组件中设置的X和Y位置,
‫而是实际上跟随鼠标｡
‫让我们调用脚本刀片并打开该脚本｡
‫在这里, 我们将使用唤醒方法, 而不是启动方法｡
‫在这里, 我们将创建一个刚体, 私有的或者B或者刚体, 我将它命名为RB,
‫我们用get component rigid body来初始化这个RB, 使之成为DX｡
‫这样做的目的是简单地从刀片本身获取刚体组件, 因为刀片包含该脚本｡
‫所以它需要这个刚体｡
‫接下来, 我们需要一个方法, 它将照顾我们的刀片跟随我们的鼠标｡
‫因此, 让我们创建一个新的方法, private void set, 与鼠标关联｡
‫所以这个方法将把刀片设置到鼠标的位置, 我们只需要改变刚体｡
‫所以RB位置到摄像机点主屏幕到世界｡
‫点将位置从屏幕空间变换到世界空间｡
‫所以这正是我们想要的｡
‫现在我们简单地说输入应该是鼠标的位置｡
‫所以鼠标相对于世界的任何位置, 都是我们想要的刚体位置, 或者说是我们的刀刃的刚体位置.
‫这样我们就给予看到幻灯片了｡
‫听着, 我们马上就能看到｡
‫当然, 在我们的更新方法中, 我们会不断地调用set blade to
‫mouse, 以使其保持最新, 从而使其始终遵循鼠标的以下内容｡
‫所以它会根据鼠标的位置, 在每一帧中改变刚体的位置｡
‫好吧, 让我们回到刀锋脚本｡
‫这里有一个小问题我们需要解决｡
‫所以在某些情况下, 它可能对你有用｡
‫因此, 如果你开始游戏, 你会看到鼠标已经被跟踪｡
‫但在其他情况下, 它不会工作, 因为鼠标位置本身是一个3D点, 但我们的世界是一个2D世界,
‫所以现在它并不总是计算正确｡
‫为了解决这个问题, 我们需要创建一个名为鼠标位置或鼠标姿势的新变量, 并将其设置为输入鼠标位置,
‫就是这里的那个｡
‫还是那个姿势｡
‫但现在我们要做的是将鼠标位置的Z值设置为10｡
‫所以这意味着这将是距离相机十个单位的距离｡
‫现在我们可以做的是, 我们不传递输入鼠标位置, 但传递鼠标姿势｡
‫现在让我们保存它｡
‫让我们回到团结｡
‫顺便说一下, 这里的10实际上是这里的-10｡
‫所以我们再往里走10步, 以便找到正确的位置｡
‫好吧, 我会的
‫我们再来一次, 现在得到一个空指针异常｡
‫当然, 法官, 这应该是一个星期｡
‫好吧, 我会的
‫现在让我们来看看｡
‫让我们重新开始游戏｡
‫让我们看看｡
‫你在这儿啊
‫我们的车牌被跟踪了｡
‫这就是我们现在的刀锋效应｡
‫所以如果我们刷过去, 我们, 当然, 现在要删除或我们要削减水果｡
‫那就这么办吧｡
‫好了, 现在我们切水果｡
‫让我们进入水果脚本｡
‫在这里, 我们将向DX添加一个on trigger enter事件on trigger enter｡
‫所以我们称之为这种方法, 我们说, 每当我们与刀片碰撞时, 我们就想继续前进, 创造出切片的水果｡
‫这样就可以切水果了｡
‫因此, 让我们在这里创建一个刀片对象｡
‫叶片B, 我们取碰撞点, 得到组件, 我们称之为叶片, 或者实际上我们得到叶片本身｡
‫如果有一个叫blade的部件和我们碰撞的物体, 那么创建一个叫B的物体,
‫它的类型是blade, 然后我们检查是否没有B, 然后返回.
‫这将做的是, 嗯, 它将不再做任何事情｡
‫所以它会退出对这个on trigger enter事件的调用, 但除此之外, 继续创建一个切片水果｡
‫所以现在我们在update方法中不再这样做了｡
‫所以我们把它去掉吧｡
‫但是, 我们将在触发器输入时执行此操作｡
‫因此, 我们将创建切片水果每当我们碰撞刀片｡
‫如果我们不撞到刀刃, 那就把它变回虚无｡
‫让我们来看看｡
‫让我们运行代码｡
‫实际上, 在我们尝试之前, 让我们在我们的刀片上添加一个碰撞器, 因为目前它还没有碰撞器｡
‫让我们制造一个对撞机｡
‫打算再加一个｡
‫这里是圆形对撞机
‫在我们测试之前, 我们当然需要先做一个触发器, 看看我们的水果是否也是触发器｡
‫让我们来看一下橙子或者橙色也应该是一个触发器｡
‫让我们再来一次｡
‫现在, 如果我们切开水果, 我们可以看到它们被切开了｡
‫但正如你可能也看到的, 它还不完美｡
‫所以我们必须在这里改变半径的值｡
‫我们用半径来表示, 我们进入场景, 看看我们的半径有多大｡
‫所以我们用0｡ 5.
‫如果我们把它比作一个橙子, 也许这就是半径｡
‫让我们把一个橙子拖进来｡
‫那就太大了｡
‫您可能会猜到, 所以我们使用0｡ 3也许还是哦点｡
‫事实上, 我们一碰到橙子, 就已经切了.
‫好吧, 我知道了
‫所以所有的点3都应该是正确的值｡
‫所以现在刀刃和橙子大小完全一样｡
‫所以只要我们击中它, 我们就没事了｡
‫让我们试试看｡
‫现在让我们切一些水果｡
‫如你所见, 我们可以把水果切片.
‫好极了｡
‫好了, 下一个视频我们将在游戏中加入绿色元素｡