我的电脑一直卡顿,尝试了几乎所有解决方案

TL;DR:文末简介

大家好,我正在尝试创建一个简单的迷宫恐怖游戏,现在我正在试图编写我的敌人。我使用了这个模型来制作自己的敌人:https://www.roblox.com/library/5025299499/R15-Character-Template

我正在使用寻路算法使我的NPC追逐敌人,这个功能是完美的,但它不断出现故障/卡顿。我尝试了所有可能的方式,拒绝使用"humanoid.MoveToFinished",而是使用下面的代码。我还尝试将HumaoidRootPart设置为"SetNetworkOwner(nil)"。我唯一没有尝试过的是将模型中所有的部件都设置为"SetNerworkOwner(nil)",但我不知道如何做到这一点。我尝试循环遍历所有部件,但我甚至不知道如何将我循环遍历的每个部件都设置为"SetNetworkOwner(nil)"。我还制作并添加了自定义部件到模型的每个身体部位中,您可以从下面的图片中看到。请帮帮我,我非常感谢。

TL;DR:我使用模板创建了一个敌人,成功使用寻路算法,但它总是卡顿,即使我尽了最大努力以停止卡顿。

图片介绍

图片介绍

我在模型的每个身体部位中都添加了自定义部件

点赞
用户15250066
用户15250066

尝试删除 repeat until 循环,因为在代码中似乎没有使用 distance 变量。

以下是代码结构:

变量定义

开始 while 循环

玩家循环

if 语句检查玩家距离 < 可选。如果这样做,需要一个变量来表示 NPC 跟随玩家的最大距离。此变量应该在“变量定义”部分中定义

:CreatePath() 和 :ComputeAsync()

结束 for 循环

:GetWaypoints()

开始新的 for 循环遍历路径点

<Humanoid>:MoveTo(<v>.Position)

<Humanoid>:MoveToFinished:Wait(0.1) < 强烈建议这样做。这给脚本足够的时间来创建和计算另一条路径

结束 for 循环

结束 if 语句

结束 while 循环

如果您有任何问题,请让我知道。

2021-05-01 03:54:35