Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

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

Есть код
var controller CharacterController;    
    var 
oldHeightfloat;    
    var 
newHeightfloat;    
    var 
newPos;   
    var 
bf boolean false;    

    function 
Start () {    
    
controller GetComponent(CharacterController);    
    
oldHeight controller.height;    
    }    

   function 
Update() {       
   
newPos = new Vector3(transform.position.xtransform.position.0.7ftransform.position.z);   
              if (
Input.GetMouseButton(1)) {   
                  
controller.height newHeight;   
                  
bf true;   
              } else {   
              if (
Input.GetMouseButton(1) && !Physics.Raycast (transform.positionVector2.up)) {   
                  
controller.height oldHeight;   
                  
transform.position newPos;   
                  
bf false;   
              } else {   
              if (
bf == true && !Physics.Raycast (transform.positionVector2.up)) {   
              
controller.height oldHeight;   
                  
transform.position newPos;   
                  
bf false;   
              }   
              }   
              }   
   } 
не могу сделать что бы когда обратно игрок встает он вставал плавно как и приседал
(Offline)
 
Ответить с цитированием
Старый 18.12.2013, 07:14   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Приседание

А где плавное приседание?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 18.12.2013, 10:18   #3
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Ответ: Приседание

newPos = new Vector3(transform.position.xtransform.position.0.7ftransform.position.z); 
(Offline)
 
Ответить с цитированием
Старый 18.12.2013, 11:02   #4
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Ответ: Приседание

Немного обновил скрипт
var controller CharacterController;    
    var 
oldHeightfloat;    
    var 
newHeightfloat;    
    var 
newPos;   
    var 
bf boolean false;    

    function 
Start () {    
    
controller GetComponent(CharacterController);    
    
oldHeight controller.height;    
    }    

   function 
Update() {       
   
newPos = new Vector3(transform.position.xtransform.position.0.7ftransform.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.positionVector2.up)) { 
              
controller.height += 0.1;
              if(
controller.height >= oldHeight)
              {
                  
controller.height oldHeight;   
                  
transform.position newPos;   
                  
bf false;   
                  }
              } else {   
              if (
bf == true && !Physics.Raycast (transform.positionVector2.up)) {   
              
controller.height += 0.1;
              if(
controller.height >= oldHeight)
              {
              
controller.height oldHeight;   
                  
transform.position newPos;   
                  
bf false;   
                  }
              }   
              }   
              }   
   } 
там где в конце все происходит нормально, поднимаеться он плавно, только он потом проваливаеться под все обьекты
if (bf == true && !Physics.Raycast (transform.positionVector2.up)) {   
              
controller.height += 0.1;
              if(
controller.height >= oldHeight)
              {
              
controller.height oldHeight;   
                  
transform.position newPos;   
                  
bf false;   
                  }
              }   
              }   
              } 
контроллер с колайдером всегда изменяться з центра, как можна его з низу менять,только так что бы колайдер там и оставался и менял только высота а не высоту с низу, его надо как то сжимать и в цетре вроде как, незнаю, подскажите
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 09:07.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com