Всем привет! У меня есть несколько обойм. Когда я беру одну и нажимаю кнопку перезарядки, то анимация нормально работает, но когда я беру вторую обойму, а первую кладу в инвентарь(выключаю ее), то анимация воспроизводится на первой обойме, хоть он и выключена, а вторая тупо висит в воздухе. Как сделать, что бы анимация работала на той обойме которая активна?
Сообщение отредактировал artifical - Ср, 21 Авг 2013, 19:50
Каждая обойма содержит разное количество пуль. Пули можно вынимать и вставлять в обоймы и игрок вынимая обойму видит кол-во патронов в ней. Еще можно подымать обоймы с убитых врагов. Поэтому анимация у меня одна и та же, но анимируется только одна обойма.
У Вас прозрачная обойма? Видно только один (ну может два) верхних патрона. Обойма у Вас с патронами - единый меш, или все же патроны - отдельные объекты? Если единый меш - тогда да, нужно две-три обоймы (с патронами и без них). Если патроны - отдельный объект, тогда достаточно иметь одну обойму. Ну если Вам так уж сильно нужно, тогда встречные вопросы:- Обоймы Вы делаете из префабов? На префабах всех обойм есть компонент - Animation? Во всех Animation прописаны нужные клипы анимаций?
Ну дак делай значит для всех обойм отдельные анимации.
Анимация у меня висит на оружие, а не на обойме, ибо если на каждой обойме будет по три или четыре анимации и таких обойм на сцене будет около 90, то лаги скорее всего начнутся.
Цитата (seaman)
У Вас прозрачная обойма? Видно только один (ну может два) верхних патрона.
Да, доставая обойму из пистолета, можно будет посмотреть сколько пуль находится в ней.
Цитата (seaman)
Обойма у Вас с патронами - единый меш, или все же патроны - отдельные объекты? Если единый меш - тогда да, нужно две-три обоймы (с патронами и без них). Если патроны - отдельный объект, тогда достаточно иметь одну обойму.
Патроны отдельно, потому что когда я выстреливаю пулю, то она удаляется из обоймы, а когда вставляю, то добавляется. На каждой этой обойме весит скрипт, в котором кол-во патронов и когда я убиваю противника, я подымаю его обойму с патронами и ложу ее в инвентарь.
Цитата (seaman)
На префабах всех обойм есть компонент - Animation? Во всех Animation прописаны нужные клипы анимаций?
Как я уже и говорил, анимация весит на оружии. И все обоймы анимируются, но только та, которая взята первая из инвентаря.
Да, доставая обойму из пистолета, можно будет посмотреть сколько пуль находится в ней.
Продемонстрируйте хоть одну реальную обойму, в которой видный все пули.
Цитата
Патроны отдельно, потому что когда я выстреливаю пулю, то она удаляется из обоймы, а когда вставляю, то добавляется.
А микротрещины и потертости на патронах Вы тоже моделируете? А как без них - патрон же с ними совсем не так полетит, как без них! Упущение! Ну а как насчет того, что в разных патронах может быть разное число пороха? Скорость же будет разная? Да, сам порох тоже не забудьте смоделировать - как без него? Ну про нарезку в стволе я уж не спрашиваю. Если вы реально вставляете удаляете патроны при выстрелах, про нарезку забыть никак не могли ЗЫ: Игры так не делаются.
Продемонстрируйте хоть одну реальную обойму, в которой видный все пули.
Цитата (seaman)
А микротрещины и потертости на патронах Вы тоже моделируете? А как без них - патрон же с ними совсем не так полетит, как без них! Упущение! Ну а как насчет того, что в разных патронах может быть разное число пороха? Скорость же будет разная? Да, сам порох тоже не забудьте смоделировать - как без него? Ну про нарезку в стволе я уж не спрашиваю. Если вы реально вставляете удаляете патроны при выстрелах, про нарезку забыть никак не могли ЗЫ: Игры так не делаются.
Кажется вы не поняли идеи, ибо я не делаю симулятор стрельбы(для этого ARMA есть). Просто не большое добавления реализма. Вытащил обойму, добавил пуль, вставил и дальше на передовую.
Анимация в юнити операется на имена объектов. меняйте имя обоймы.
Код
var Clips : GameObject[]; var UsingClip : GameObject; var UsingClipNo = 0; function Update (){ if (Input.GetKeyDown("r")){ UsingClipNo += 1; } if (Input.GetKeyDown("t")){ UsingClipNo -= 1; } for (var Hit : GameObject in Clips){ Hit.neme = "Clip"; } UsingClip = Clips[UsingClipNO]; UsingClip.name = "UsingClip"; }
А микротрещины и потертости на патронах Вы тоже моделируете? А как без них - патрон же с ними совсем не так полетит, как без них! Упущение!
Я думаю, что Вы зря так говорите. Многим хочется больше реальности в своих проектах. В FarCry3 её (реалистичности) много, а во всяких JavaGames почти нет. Дело вкуса.
Сообщение отредактировал VolkOrievith - Сб, 31 Авг 2013, 21:47