var targetTransform: Transform;
var rotationSpeed : float=1.0;
var canRun=false;
var speed : float = 1.0;
function Update ()
{
   var direction:Vector3=targetTransform.position - 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)
   {
  canRun=true;
   }
   if (canRun == true)
   {
        var controller : CharacterController = GetComponent(CharacterController);
  var forward : Vector3 = transform.TransformDirection(Vector3.forward);
  var curSpeed : float = speed ;
  var dist = Vector3.Distance(targetTransform.position, transform.position);
  if (dist >= 2)
  {
     controller.SimpleMove(forward * curSpeed);
  }
   }
}

 ---------------------------------------------------------------------

var targetTransform: Transform;
var rotationSpeed : float=5;
var direction:Vector3;
function Update () {
direction=targetTransform.position-transform.position;
direction.y=0;

var angle = Vector3.Angle(direction, transform.forward);
 
 transform.rotation = Quaternion.RotateTowards (transform.rotation, Quaternion.LookRotation(direction), rotationSpeed);
 if(angle<5)
 transform.position.x+=-0.1;
 
}

 

相关文章:

  • 2021-09-17
  • 2022-01-11
  • 2021-12-13
  • 2022-12-23
  • 2022-02-09
  • 2022-02-14
  • 2022-12-23
  • 2021-08-02
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-12
  • 2021-08-10
  • 2021-09-23
  • 2022-12-23
  • 2021-11-24
相关资源
相似解决方案