我想让我的熊在玩家不在其范围内时随机行走。我希望它能随机选择在Y轴上的旋转,然后向前移动,过一段时间后再随机切换旋转方向。
问题是我不知道如何为它分配一个随机的旋转。那么,我该怎么做呢?
我最终成功实现了,这里是工作代码:
var timeToChangeDirection : float = 60;private var angle : Vector3;var damping : float = 6.0;var controller : CharacterController;function Update(){ distance = Vector3.Distance(target.position, transform.position); if(distance > aggroRange) { moveSpeed = 1; timeToChangeDirection -= 0.1; if (timeToChangeDirection <= 0) { ChangeDirection(); } controller.Move(transform.forward * Time.deltaTime); animation["Run"].speed = 0.25; animation.Play("Run"); }function ChangeDirection(){ angle = Vector3(transform.rotation.x, Random.Range(-359, 359), transform.rotation.y); transform.Rotate(angle); timeToChangeDirection = 60;}
回答:
好的。我最终还是成功了。如果有人感兴趣,这里是代码:
var timeToChangeDirection : float = 60;private var angle : Vector3;var damping : float = 6.0;var controller : CharacterController;function Update(){ distance = Vector3.Distance(target.position, transform.position); if(distance > aggroRange) { moveSpeed = 1; timeToChangeDirection -= 0.1; if (timeToChangeDirection <= 0) { ChangeDirection(); } controller.Move(transform.forward * Time.deltaTime); animation["Run"].speed = 0.25; animation.Play("Run"); }function ChangeDirection(){ angle = Vector3(transform.rotation.x, Random.Range(-359, 359), transform.rotation.y); transform.Rotate(angle); timeToChangeDirection = 60;}