06 Unity3D人工智能AI-随机徘徊
2016-10-22 15:15
1031 查看
using UnityEngine; using System.Collections; //pay attention that this function is quite related with frame rate public class SteeringForWander : Steering { public float wanderRadius; public float wanderDistance; public float wanderJitter; public bool isPlanar; //public GameObject targetIndicator; private Vector3 desiredVelocity; private Vehicle m_vehicle; private float maxSpeed; private Vector3 circleTarget; private Vector3 wanderTarget; void Start () { m_vehicle = GetComponent<Vehicle>(); maxSpeed = m_vehicle.maxSpeed; isPlanar = m_vehicle.isPlanar; circleTarget = new Vector3(wanderRadius*0.707f, 0, wanderRadius * 0.707f); } public override Vector3 Force() { Vector3 randomDisplacement = new Vector3((Random.value-0.5f)*2*wanderJitter, (Random.value-0.5f)*2*wanderJitter,(Random.value-0.5f)*2*wanderJitter); if (isPlanar) randomDisplacement.y = 0; circleTarget += randomDisplacement; circleTarget = wanderRadius * circleTarget.normalized; wanderTarget = m_vehicle.velocity.normalized * wanderDistance + circleTarget + transform.position; desiredVelocity = (wanderTarget - transform.position).normalized * maxSpeed; return (desiredVelocity - m_vehicle.velocity); } }
相关文章推荐
- 07 Unity3D人工智能AI-路径跟随
- unity3d 随机范围内生成怪物
- 08 Unity3D人工智能AI-避开障碍
- Unity3d学习06
- unity3D角色状态随机切换,十分简单!
- unity3d 在一个空心圆范围内随机生成物体
- unity3d 随机物体生成器 工具
- unity3d 随机生成地形之随机山脉
- Unity3D随机位置随机时间生成物体
- unity3d随机取出多个不同数
- unity3d 随机生成地形之随机山脉
- 06 Unity3D摄像机与层--《程序员学Unity3d》
- [Unity3D插件]2dToolKit系列三 碰撞检测功能的实现以及障碍物的随机摆放
- Unity3D 物体随机跳动效果
- 01 Unity3D人工智能AI-靠近
- [Unity3D插件]2dToolKit系列三 碰撞检测功能的实现以及障碍物的随机摆放 推荐
- 02 Unity3D人工智能AI-离开
- Unity3D实践系列06,球体撞击物体游戏
- unity3d的playmaker插件使用教程,八、随机跳的盒子