我目前正在研究带有敌方AI的3D程序地牢生成器。 在这种情况下,如何解决敌方AI的寻路问题?
无法在运行时烘烤navmesh,并且每次运行时,地牢的生成方式都不同。地牢是由路口,房间和走廊的预制件生成的。 敌人如果没有导航网就无法移动。我用熊猫行为树创建了AI。一个AI应该遵循一条设置有航点的路径,并且在看到玩家时会四处跑动。其他AI在地图上徘徊以寻找玩家。
地下城在下面显示的类中生成。 我有另一个类在每个预制件的门口上绘制Gizmos,另一个类返回“ ModuleConnector”。
import tkinter
from cryptography.fernet import Fernet
global token
class Cryptography:
def encrypt(self, string):
byteString = str.encode(string)
token = f.encrypt(byteString)
w.insert(tkinter.INSERT, token.decode() + "\n")
w.pack()
def decrypt(self):
try:
decrypted = f.decrypt(token)
except NameError:
w.insert(tkinter.INSERT, "you didn't yet encrypt anything\n")
w.pack()
decrypted = f.decrypt(token)
dsAsString = decrypted.decode("utf-8")
w.insert(tkinter.INSERT, dsAsString + "\n")
在不是随机生成的且具有导航网格的地图中,AI的工作都很好。 如何在此程序生成的地牢中修复AI的寻路功能?
答案 0 :(得分:0)
我非常确定可以从2017.1开始在运行时进行烘焙
https://unity3d.com/learn/tutorials/topics/navigation/baking-navmesh-runtime
文档有点杂乱无章,但应该可以使用。这是一个相对较新的功能。