unity3d人工智能学习(2)——操控行为的实现(避开障碍)

阅读: 评论:0

unity3d人工智能学习(2)——操控行为的实现(避开障碍)

unity3d人工智能学习(2)——操控行为的实现(避开障碍)

操控行为的实现(避开障碍)

  • 描述
  • 实现过程
  • 结果

描述

避开障碍行为是指操控AI角色,避开路上的障碍物。当AI角色在行进路上发现障碍时,产生一个排斥力,使AI角色远离障碍。

实现过程

  1. 创建球体作为障碍物,球体尺寸设置为8。新建‘obstacle’的tag,将球体的tag设置为obstacle。
  2. 为了有更明显的效果,为球体添加颜色变化。
    当AI角色可能会与球体发生碰撞时,球体变黑。
    当AI角色改变线路,不再可能与球体碰撞时,球体变白。
    当AI角色与球体发生碰撞时,球体变红。
    当AI角色不再与球体发生碰撞时,球体变灰。

为球体添加ColliderColorChange脚本。

public class ColliderColorChange : MonoBehaviour 
{void Start () {}	void Update () {}void OnTriggerEnter(Collider other){print("collide0!");if (other.gameObject.GetComponent<Vehicle>()!= null){print("collide!");lor = d;}}void OnTriggerExit(Collider other){lor = Color.white;}
}
  1. 为球体添加刚体,选择IS Kinematic。将球体作为预制体,搭建一个多障碍物的场景。

  2. 设置一个cube作为AI角色的目标,去掉collider组件。

  3. AI角色添加character controller组件,添加AILocomotion脚本、SteeringForCollisionAvoidance脚本、SteeringForArrive脚本。脚本配置如图。(脚本可以在《unity3d人工智能编程精粹》代码的Chapter2中寻找)

结果

本文发布于:2024-02-04 11:39:37,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170706334955233.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:人工智能   障碍   unity3d
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23