听觉感知可以用一个球星区域来模拟。另一种方法是党声音被创建时,为它加上一个强度属性,随着传播距离的增加,声音强度会衰减,而每个AI角色也有自己的听觉阈值,如果声音小于这个阈值,AI角色就听不到这个声音。
这种具有特定生命周期的触发器,都可以从下面的TriggerlimitedLifetime类派生出来
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TriggerLimitedLifetime : Trigger {
//触发器的持续时间
protected int lifetime;
public override void Updateme()
{
//持续时间倒计时,如果剩余持续时间小于等于0,那么将它标记为需要移除;
if (--lifetime <= 0)
{
toBeRemoved = true;
}
}
// Use this for initialization
void Start () {
base.Start();
}
// Update is called once per frame
void Update () {
}
}
例如,当武器开火时,在开火的位置会创建一个SoundTrigger,它的半径可以设置为与武器的声音大小成正比。此时,在一定范围内,具有声音感知器的感知体就能够“听到”这个声音,并做出反应。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class S

本文介绍了在Unity中实现人工智能的听觉感知,通过声音强度衰减和阈值判断AI是否能感知到声音。此外,讨论了触觉感知如何利用U3D物理引擎,以及如何设计SenseMemory类实现记忆感知,让AI角色能够记住并处理感知到的对象。
最低0.47元/天 解锁文章
760

被折叠的 条评论
为什么被折叠?



