【Unity】入门学习笔记180602——人工智能(9)——视觉感知

感知=触发器+感知器+事件管理器


1、视觉感知:

视锥体是模拟视觉地基本方法,以眼睛为中心,一定锥角范围内为检测区域

除了判断物体是否在视锥体范围内外,还要进行视线测试(LOS),才能确定最终结果


原则上以玩家为中心,限定AI角色的智能。

对于AI角色看到需要做出响应的物体,添加Trigger派生类SightTrigger作为触发器

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SightTrigger : Trigger {

    public override void Try(Sensor sensor)
    {
        //如果感知器能感觉到这个触发器,那么向感知器发出通知,感知体做出相应的决策或行动
        if (isTouchingTrigger(sensor))
        {
            sensor.Notify(this);
        }
        
    }

    //判断感知器是否能感知到这个触发器
    protected override bool isTouchingTrigger(Sensor sensor)
    {
        GameObject g = sensor.gameObject;
        //如果这个感知器能够感知视觉信息
        if (sensor.sensorType == Sensor.SensorType.sight)
        {
            RaycastHit hit;
            Vector3 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值