zoukankan      html  css  js  c++  java
  • 拦截算法

    //拦截算法
    var targetTransform: Transform;//目标
    var targetGameObject:GameObject;
    var rotationSpeed:float=1.0;//旋转速度
    var curSpeed:float = 12.0;//追击的速度
    var striking_distance:float=2.0;//攻击范围 在攻击范围内停止
    var find_distance:float=10.0;//发现范围
    private var controller : CharacterController;
    private var controller01 : CharacterController;
    var Vr:Vector3;
    var Sr:Vector3;
    var tc:float;
    var St:Vector3;

    function Start()
    {
      controller= GetComponent(CharacterController);
      controller01 = gameObject.Find(targetGameObject.name).GetComponent(CharacterController); 
    }
    function Update ()
    {
        var dist = Vector3.Distance(targetTransform.position, transform.position);
     if(dist<find_distance )
     {
      Vr = controller01.velocity-controller.velocity;
      Sr = controller01.transform.position-controller.transform.position;
      tc = Sr.magnitude/ Vr.magnitude;
      St = controller01.transform.position + (controller01.velocity*tc);
      print(St);
      var direction:Vector3=St - transform.position;
      direction.y=0;
      transform.rotation = Quaternion.RotateTowards (transform.rotation, Quaternion.LookRotation(direction), rotationSpeed);
        //transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(direction), 2);
        //print(transform.rotation);
       
        if (transform.rotation.eulerAngles .y == Quaternion.LookRotation(direction).eulerAngles.y)
        {
       var forward : Vector3 = transform.TransformDirection(Vector3.forward);
       
       if (dist >= striking_distance)
       {
          controller.SimpleMove(forward * curSpeed);
       }
        }
       }
    }

  • 相关阅读:
    DLL注入实践
    程序编译保护机制
    加密配置文件总结
    PCL点云配准(3)
    PCL点云分割(3)
    ubuntu Ros环境halcon的一个程序
    opencv2/nonfree/nonfree.hpp:没有那个文件或目录
    深度图像计算三维点云
    利用深度学习的点云语义分割(一)
    3D 特征点概述(2)
  • 原文地址:https://www.cnblogs.com/softimagewht/p/1920559.html
Copyright © 2011-2022 走看看