自动行为操控Steering(五)—拦截(单体操控)
来源:互联网 发布:日本ip代理地址和端口 编辑:程序博客网 时间:2024/06/05 19:44
图示:
实现:
public class InterceptSteering: Steering { public float safeDistance=15; public override Vector3 ComputerFinalForce() { float angle = Vector3.Angle((target.transform.position - this.transform.position).normalized, this.transform.forward.normalized); //if(Mathf.Acos(angle)) //目标距离 float distance = Vector3.Distance(target.transform.position, this.transform.position); //目标速度 float targetSpeed = target.GetComponent<Vehicle>().currentForce.magnitude; //时间 var time = distance / (speed + targetSpeed); //目标在推断时间内行走的距离=速度*时间 var moveDistance = targetSpeed * time; //拦截点位置=目标自身位置+目标在推断时间内行走的距离 Vector3 interceptPoint = target.transform.position + (target.transform.position).normalized * moveDistance; if (distance > safeDistance) return Vector3.zero; //期望=拦截点位置-自身位置 exceptForce = (interceptPoint-transform.position ).normalized * speed; //实际=期望-当前 return (exceptForce - vehicle.currentForce) * weight; } }
阅读全文
1 0
- 自动行为操控Steering(五)—拦截(单体操控)
- 自动行为操控Steering(六)—逃避(与拦截方向相反,单体操控)
- 自动行为操控Steering(二)—靠近(单体操控)
- 自动行为操控Steering(三)—远离(单体操控)
- 自动行为操控Steering(四)—到达(单体操控)
- 自动行为操控Steering(七)—避开障碍物(单体操控)
- 自动行为操控Steering(八)—路径跟随(单体操控)
- 自动行为操控Steering(九)—徘徊(单体操控)
- 自动行为操控(Steering)(一)—框架
- 自动行为操控Steering(十)—聚集(群体操控)
- 自动行为操控Steering(十一)—分散(群体操控)
- unity3d AI 学习--个体行为操控(1)
- unity3d AI 学习--个体行为操控(1)--具体行为类(1)
- unity3d AI 学习--个体行为操控(1)--具体行为类(2)
- (2)PX4开发指南——飞行模式/操控
- 计算机体系结构原理——数据操控(CPU工作原理)
- unity3d AI 学习--个体行为操控(1)--具体行为类(3)-路径跟随和躲避障碍
- VC下操控excel(精典)
- python爬虫笔记(三)
- AR技术在美妆领域将进一步深入
- 网络请求数据 保存数据库 查询数据库 显示
- BZOJ 1003 物流运输 DP+最短路.
- 有限状态机(FSM)的Java 演示
- 自动行为操控Steering(五)—拦截(单体操控)
- C++设计模式(1):备忘录模式
- centos6.5下使用yum完美搭建LNMP环境(php5.6)
- HTML列表
- grails使用小细节
- python 读excel数值为浮点型问题
- Ui设计中常用的6大工具
- 理解OAuth 2.0-转自阮一峰的网络日志
- MySQL日期查询:本周、本月、本季、本年