Показать сообщение отдельно
Старый 18.12.2013, 11:02   #4
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Ответ: Приседание

Немного обновил скрипт
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;   
                  }
              }   
              }   
              }   
   } 
там где в конце все происходит нормально, поднимаеться он плавно, только он потом проваливаеться под все обьекты
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;   
                  }
              }   
              }   
              } 
контроллер с колайдером всегда изменяться з центра, как можна его з низу менять,только так что бы колайдер там и оставался и менял только высота а не высоту с низу, его надо как то сжимать и в цетре вроде как, незнаю, подскажите
(Offline)
 
Ответить с цитированием