Проигрывание анимации прицела - Форум Игроделов
Пн, 20 Май 2024, 01:47 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » HELP & FAQ » Проигрывание анимации прицела
Проигрывание анимации прицела
MrKyzminДата: Пт, 08 Мар 2013, 14:28 | Сообщение # 1
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Вот скрипт

Код

var Weapon : GameObject;
var Animation : AnimationClip;
function Update () {
if(Input.GetMouseButton(1))
  Weapon.animation.clip = Animation;  
Weapon.animation.Play();
}


Анимация проигрывается автоматически хотя функция Play Automatically выключена также проигрывается все время как только анимация заканчивается проигрывается заного. Также вопрос можно сделать так что по нажатию той же кнопки анимация проигрывалась наоборот и заного прицеливание и обратно.


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
СообщениеВот скрипт

Код

var Weapon : GameObject;
var Animation : AnimationClip;
function Update () {
if(Input.GetMouseButton(1))
  Weapon.animation.clip = Animation;  
Weapon.animation.Play();
}


Анимация проигрывается автоматически хотя функция Play Automatically выключена также проигрывается все время как только анимация заканчивается проигрывается заного. Также вопрос можно сделать так что по нажатию той же кнопки анимация проигрывалась наоборот и заного прицеливание и обратно.

Автор - MrKyzmin
Дата добавления - 08 Мар 2013 в 14:28
AltairДата: Пт, 08 Мар 2013, 17:54 | Сообщение # 2
Unity 3D PRO Developer
 
Сообщений: 758
Награды: 6
Репутация: 195
Статус: Offline
ты шо-то такое вобще написал..

ты читал Scripting Reference ?
Если во время испольнения boolean(if) выполняться должно более одного действия то всё что под if(всё что должно выполняться) берёться вот в такие скобки {}
И обявлять или присваивать значние лучше всего в function Start если хочешь что б они присвоились в начале,ну а потом например уже под if впихнуть код с проигрывание анимации.


Сообщение отредактировал Altair - Пт, 08 Мар 2013, 17:59
 
Сообщениеты шо-то такое вобще написал..

ты читал Scripting Reference ?
Если во время испольнения boolean(if) выполняться должно более одного действия то всё что под if(всё что должно выполняться) берёться вот в такие скобки {}
И обявлять или присваивать значние лучше всего в function Start если хочешь что б они присвоились в начале,ну а потом например уже под if впихнуть код с проигрывание анимации.

Автор - Altair
Дата добавления - 08 Мар 2013 в 17:54
MrKyzminДата: Сб, 09 Мар 2013, 10:46 | Сообщение # 3
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Если я правильно понял надо

Код

  if(Input.GetMouseButton(1))
   Weapon.animation.clip = Animation;   
  Weapon.animation.Play();  


Вставить после

Код

function Start () {  


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
СообщениеЕсли я правильно понял надо

Код

  if(Input.GetMouseButton(1))
   Weapon.animation.clip = Animation;   
  Weapon.animation.Play();  


Вставить после

Код

function Start () {  

Автор - MrKyzmin
Дата добавления - 09 Мар 2013 в 10:46
ЛевшаДата: Сб, 09 Мар 2013, 11:57 | Сообщение # 4
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Цитата (MrKyzmin)
Если я правильно понял

Не правильно, еще 1 попытка. smile

Код

if (условие) {
1действие;
2 действие;
}


X.cor.R (Prologue)
 
Сообщение
Цитата (MrKyzmin)
Если я правильно понял

Не правильно, еще 1 попытка. smile

Код

if (условие) {
1действие;
2 действие;
}

Автор - Левша
Дата добавления - 09 Мар 2013 в 11:57
AltairДата: Сб, 09 Мар 2013, 12:39 | Сообщение # 5
Unity 3D PRO Developer
 
Сообщений: 758
Награды: 6
Репутация: 195
Статус: Offline
Разве это
Цитата
Weapon.animation.clip = Animation;
будет рааботать ?

Не знаю насчёт если один клип,но если их несколько то полюбому не должно.

Читай референс!
Цитата
http://docs.unity3d.com/Documentation/ScriptReference/Animation.AddClip.html


Опять же не знаю насчёт одного,но если клипов несколько ,то вот это
Цитата
Weapon.animation.Play();
работать не будет.
Читай референс!
Цитата
http://docs.unity3d.com/Documentation/ScriptReference/Animation.Play.html


Сообщение отредактировал Altair - Сб, 09 Мар 2013, 12:39
 
СообщениеРазве это
Цитата
Weapon.animation.clip = Animation;
будет рааботать ?

Не знаю насчёт если один клип,но если их несколько то полюбому не должно.

Читай референс!
Цитата
http://docs.unity3d.com/Documentation/ScriptReference/Animation.AddClip.html


Опять же не знаю насчёт одного,но если клипов несколько ,то вот это
Цитата
Weapon.animation.Play();
работать не будет.
Читай референс!
Цитата
http://docs.unity3d.com/Documentation/ScriptReference/Animation.Play.html

Автор - Altair
Дата добавления - 09 Мар 2013 в 12:39
ЛевшаДата: Сб, 09 Мар 2013, 13:25 | Сообщение # 6
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Цитата (Altair)
работать не будет.

Будет, норм конструкция.
Присваиваеться клип из ссылки скрипта и запуск.


X.cor.R (Prologue)
 
Сообщение
Цитата (Altair)
работать не будет.

Будет, норм конструкция.
Присваиваеться клип из ссылки скрипта и запуск.

Автор - Левша
Дата добавления - 09 Мар 2013 в 13:25
AltairДата: Сб, 09 Мар 2013, 13:31 | Сообщение # 7
Unity 3D PRO Developer
 
Сообщений: 758
Награды: 6
Репутация: 195
Статус: Offline
Левша, если один,но если много ,то я думаю что получеться что оно проиграет все анимы,ведь конкретная не задана...хотя оно может проиграть тко первую,короче я так не делал и не уверен ) happy
 
СообщениеЛевша, если один,но если много ,то я думаю что получеться что оно проиграет все анимы,ведь конкретная не задана...хотя оно может проиграть тко первую,короче я так не делал и не уверен ) happy

Автор - Altair
Дата добавления - 09 Мар 2013 в 13:31
MrKyzminДата: Вс, 10 Мар 2013, 20:12 | Сообщение # 8
 
Сообщений: 70
Награды: 0
Репутация: 1
Статус: Offline
Тему можно закрывать. Я сделал всё через SmoothDamp вот скрипт если кому надо

Код

var one: Transform;
var speed:float = 0.1;
var netral = Vector3.zero;

function Update () {
   var pos_1:Vector3 = one.TransformPoint(Vector3(-0.3,-0.1,-0.2));
   var pos_2:Vector3 = one.TransformPoint(Vector3(0,-0.3,-0.03));
    
   if(Input.GetMouseButton(1)){
   transform.position = Vector3.SmoothDamp(transform.position, pos_1, netral, speed);
}
else{
   transform.position = Vector3.SmoothDamp(transform.position, pos_2, netral, speed);
}
}


/人◕ ‿‿ ◕人\

Если помог не поленитесь и поставьте +
 
СообщениеТему можно закрывать. Я сделал всё через SmoothDamp вот скрипт если кому надо

Код

var one: Transform;
var speed:float = 0.1;
var netral = Vector3.zero;

function Update () {
   var pos_1:Vector3 = one.TransformPoint(Vector3(-0.3,-0.1,-0.2));
   var pos_2:Vector3 = one.TransformPoint(Vector3(0,-0.3,-0.03));
    
   if(Input.GetMouseButton(1)){
   transform.position = Vector3.SmoothDamp(transform.position, pos_1, netral, speed);
}
else{
   transform.position = Vector3.SmoothDamp(transform.position, pos_2, netral, speed);
}
}

Автор - MrKyzmin
Дата добавления - 10 Мар 2013 в 20:12
thiefbrotherДата: Вт, 12 Мар 2013, 11:36 | Сообщение # 9
 
Сообщений: 74
Награды: 0
Репутация: 10
Статус: Offline
тоже про прицел, но другого рода. Как совместить Locomotion с mecanim?
Пытался, не спал, надеялся.. а у меня анимация прицеливания не смешивается с ходьбой/бегом...
З.ы мб кто-нибудь могет переписать 3dr person controller tutor на технологию mecanim?..
 
Сообщениетоже про прицел, но другого рода. Как совместить Locomotion с mecanim?
Пытался, не спал, надеялся.. а у меня анимация прицеливания не смешивается с ходьбой/бегом...
З.ы мб кто-нибудь могет переписать 3dr person controller tutor на технологию mecanim?..

Автор - thiefbrother
Дата добавления - 12 Мар 2013 в 11:36
Форум Игроделов » UNITY3D » HELP & FAQ » Проигрывание анимации прицела
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024