У меня есть несколько объективов , у которых есть собственный сценарий управления анимацией и анимацией. объекта Car работает на дороге, и я хочу, чтобы управлять всей машины анимацией т.е.Правильный способ управления автомобильной анимацией
- если автомобиль впереди, то я замедлиться обратной машина так, чтобы она не столкновения или обойти впереди автомобиля.
- если впереди автомобиль останавливается, тогда я останавливаюсь назад и играю и скорость соответственно.
Я пробовал raycast для этой техники, я добавил коллайдер к каждому автомобилю, тогда я радуюсь вперед от каждой машины. он частично работает и когда-то не обнаруживает опережающий объект, потому что мой код else не кажется правильным.
I think that it is not the right way to do this job. what is the correct way to do as Raycast is also expensive
if (Physics.Raycast(transform.position, transformForwad, out rayHit, 10f))
{
if (rayHit.transform.tag == "Car")
{
Debug.Log("car collide, current object: "+ transform.name +" : hitted "+ rayHit.transform.name);
isCarNearToAnotherCar = true;
ANIMATION_OBJECT.GetComponent<Animation>()[ClipName].speed = rayHit.transform.GetComponent<AnimationControlSpeed>().Speed/2;
}
else {
Debug.Log("car collide end, current object: " + transform.name + " : hitted " + rayHit.transform.name);
isCarNearToAnotherCar = false;
}
}
//Update speed only when isCarNearToAnotherCaris false.
if (!isCarNearToAnotherCar)
{//normal the speed, when there is no car ahead
ANIMATION_OBJECT.GetComponent<Animation>()[ClipName].speed = Speed;
}
Спасибо за ваш вклад, но ваши вопросы кажутся сложными –