Проигрывание анимации прицела
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();
Вставить после
/人◕ ‿‿ ◕人\ Если помог не поленитесь и поставьте +
Сообщение Если я правильно понял надо Код
if(Input.GetMouseButton(1)) Weapon.animation.clip = Animation; Weapon.animation.Play();
Вставить после Автор - MrKyzmin Дата добавления - 09 Мар 2013 в 10:46
Левша Дата: Сб, 09 Мар 2013, 11:57 | Сообщение # 4
Черный Волк
Сообщений: 7257
Награды:
30
Репутация:
3313
Статус: Offline
Цитата (MrKyzmin )
Если я правильно понял
Не правильно, еще 1 попытка. Код
if (условие) { 1действие; 2 действие; }
X.cor.R (Prologue)
Сообщение Цитата (MrKyzmin )
Если я правильно понял
Не правильно, еще 1 попытка. Код
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
Левша , если один,но если много ,то я думаю что получеться что оно проиграет все анимы,ведь конкретная не задана...хотя оно может проиграть тко первую,короче я так не делал и не уверен )
Сообщение Левша , если один,но если много ,то я думаю что получеться что оно проиграет все анимы,ведь конкретная не задана...хотя оно может проиграть тко первую,короче я так не делал и не уверен ) Автор - 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