анимация

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Re: анимация

Сообщение KorsaiR 22 фев 2013, 11:15

TenebrosiUltories писал(а):
Синтаксис:
Используется csharp
if(Input.GetKeyUp(KeyCode.W))


Ему ведь нужно чтобы проигрывалась анимация бега во время Зажатия клавиши..зачем GetKeyUp?)
Мои игры: Sunrise, Fireground, Spacerift
Sunrise: _www.sunsurv.ru , _https://store.steampowered.com/app/6631 ... _survival/
Fireground: _https://store.steampowered.com/app/1026 ... ND/?beta=0
Spacerift: _https://vk.com/spacerift
Аватара пользователя
KorsaiR
Старожил
 
Сообщения: 797
Зарегистрирован: 09 июл 2012, 12:20
Откуда: Новосибирск
Skype: pwiliya

Re: анимация

Сообщение pod4444 22 фев 2013, 12:18

KorsaiR писал(а):
Ему ведь нужно чтобы проигрывалась анимация бега во время Зажатия клавиши..зачем GetKeyUp?)

На GetKeyDown луп анимации, на GetKeyUp стоп анимации
Аватара пользователя
pod4444
Старожил
 
Сообщения: 721
Зарегистрирован: 20 янв 2012, 22:02
Откуда: Воронеж
Skype: pod4444
  • Сайт

Re: анимация

Сообщение KBEP 22 фев 2013, 12:44

Обычно не привязывают анимации к нажатию клавиш движения, ведь КарактерКонтроллер может упереться в стену, а будет проигрываться анимация бега, глупо будет смотреться. Попробуй проигрывать анимации непосредственно в зависимости от движения КК. Примерно так:
Синтаксис:
Используется javascript
@script RequireComponent (Animation)
@script RequireComponent (CharacterController)
private var cc : CharacterController;
var minHorMotion : float = 0.05f;

function Start ()
{
        //...
        cc = GetComponent(CharacterController);
        //...
};

function Update ()
{
        //...
        //если КарактерКонтроллер сдвинулся на расстояние minHorMotion в горизонтальной плоскости - запускаем анимацию бега
        if (Vector3(cc.velocity.x, 0.0f, cc.velocity.z).magnitude > minHorMotion) animation.CrossFade("run");
        //иначе запускаем анимацию "стояния"
        else animation.CrossFade("stay");
        //...
};
Аватара пользователя
KBEP
Старожил
 
Сообщения: 598
Зарегистрирован: 24 сен 2012, 23:23
Откуда: Калининград, СПб, Северодвинск

Re: анимация

Сообщение TenebrosiUltories 23 фев 2013, 06:45

Ну попробуй взять анимация бега и анимация заканчивание бега и тогда делай вот так:
Синтаксис:
Используется csharp
if(Input.GetKeyDown.KeyCode.W){
animation.Play(a_open.name)
}

if(Input.GetKeyUp.KeyCode.W){
animation.Play(a_open.name) //Анимация там где он заканчивает бег
}


А ведь даже красиво получиться.
Ну или попробуй на Яве
Синтаксис:
Используется javascript
if(Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.A) ||  Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.UpArrow) || Input.GetKey(KeyCode.DownArrow) ||  Input.GetKey(KeyCode.LeftArrow) || Input.GetKey(KeyCode.RightArrow)) {
if(Input.GetKey(KeyCode.LeftShift)) {
animation.CrossFade("Название анимации с ускоренным бегом");
}
else{
animation.CrossFade("Название анимации с обычным бегом");
}

И если на яве то не забудь их добавить:
Синтаксис:
Используется javascript
function start () {
animation.AddClip(a_open, "run");
animation.AddClip(тут переменная с ускоренным бегом, "run+shift");
}
Аватара пользователя
TenebrosiUltories
UNец
 
Сообщения: 15
Зарегистрирован: 21 фев 2013, 16:51
Откуда: Россия, Чита
  • Сайт

Пред.

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26