Unity3d 角色转身在向前走的脚本

灰太狼 2022-05-12 03:18 313阅读 0赞

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;

}

发表评论

表情:
评论列表 (有 0 条评论,313人围观)

还没有评论,来说两句吧...

相关阅读