Ответ: Приседание
Немного обновил скрипт
PHP код:
var controller : CharacterController; var oldHeight: float; var newHeight: float; var newPos; var bf : boolean = false; function Start () { controller = GetComponent(CharacterController); oldHeight = controller.height; } function Update() { newPos = new Vector3(transform.position.x, transform.position.y + 0.7f, transform.position.z); if (Input.GetMouseButton(1)) { controller.height -= 0.1; bf = true; if(controller.height <= newHeight) { controller.height = newHeight; } } else { if (Input.GetMouseButton(1) && !Physics.Raycast (transform.position, Vector2.up)) { controller.height += 0.1; if(controller.height >= oldHeight) { controller.height = oldHeight; transform.position = newPos; bf = false; } } else { if (bf == true && !Physics.Raycast (transform.position, Vector2.up)) { controller.height += 0.1; if(controller.height >= oldHeight) { controller.height = oldHeight; transform.position = newPos; bf = false; } } } } }
там где в конце все происходит нормально, поднимаеться он плавно, только он потом проваливаеться под все обьекты
PHP код:
if (bf == true && !Physics.Raycast (transform.position, Vector2.up)) { controller.height += 0.1; if(controller.height >= oldHeight) { controller.height = oldHeight; transform.position = newPos; bf = false; } } } }
контроллер с колайдером всегда изменяться з центра, как можна его з низу менять,только так что бы колайдер там и оставался и менял только высота а не высоту с низу, его надо как то сжимать и в цетре вроде как, незнаю, подскажите
|