Результаты поиска
|
|
seaman | Дата: Суббота, 18 Июля 2015, 01:13 | Сообщение # 381 | Тема: Реализация столкновений в 2D танчиках |
старожил
Сейчас нет на сайте
| Цитата Замечу, что для снарядов не подходит "Box Collider 2D" Да что Вы говорите? Что ж я такое неправильное делаю, что у меня они нормально работают? Объясните где я ошибаюсь плиз.
|
|
| |
seaman | Дата: Суббота, 18 Июля 2015, 01:11 | Сообщение # 382 | Тема: Передача значения переменной в другой скрипт |
старожил
Сейчас нет на сайте
| Цитата Я в принцепе все понял Похоже что это не так - ничего не понял. Вот скажите - нафига еще раз получать GameController в строке: GetComponent<GameController>().AddScore(PointsValue); ? Вы что считаете, что этот скрипт висит на всех объектах? Или Вы не понимаете на каком объекте ищет компонент метод GetComponent? PS^ для кописатеров: замените GetComponent<GameController>().AddScore(PointsValue); на gameController.AddScore(PointsValue);
|
|
| |
seaman | Дата: Четверг, 16 Июля 2015, 19:51 | Сообщение # 383 | Тема: Вопрос-[ответ] по Unity |
старожил
Сейчас нет на сайте
| Еще раз - чем Вам уроки на этом сайте не нравятся?
|
|
| |
seaman | Дата: Четверг, 16 Июля 2015, 18:33 | Сообщение # 384 | Тема: Вопрос-[ответ] по Unity |
старожил
Сейчас нет на сайте
| Поиск на сайте!
|
|
| |
seaman | Дата: Четверг, 16 Июля 2015, 17:56 | Сообщение # 385 | Тема: Корявые модели формата xps в fbx |
старожил
Сейчас нет на сайте
| Явно инвертированы нормали на отдельных полигонах. Лучше исправлять нормали в Блендере. Проще, но не правильно, использовать шейдер, который отображает обе стороны полигона (Cull off)/
|
|
| |
seaman | Дата: Среда, 15 Июля 2015, 19:30 | Сообщение # 386 | Тема: Передача значения переменной в другой скрипт |
старожил
Сейчас нет на сайте
| Поторопился, не подумал. Мы оба не правы. Что делает иф? Он проверяет истинность выражения внутри скобок. Т.е. выражение внутри иф должно иметь тип bool. Т.к. там стоит GameObject компилятор пытается привести этот GameObject к типу bool и ему это удается! Почему? Потому что в классе UnityEngine.Object есть такое определение: Код public static implicit operator bool(UnityEngine.Object exists) { return !CompareBaseObjects(exists, null); } Оно позволяет неявно любой GameObject преобразовать в bool. Попробуй проделать тоже самое с другим классом, который не произведен от UnityEngine.Object. Например: Код public class Probe { } ... Probe p = new Probe(); if(p){} if(p == true){} // Так никто не пишет - это чушь.... Получишь в if ошибку. Почему? Потому что в классе Probe нет оператора преобразования в bool. На самом деле if(go) это сокращение от if((bool)go) ____ Однако говорить, что if(go) это сокращенное от if(go==true) это совсем неверно. Продолжи дальше: if(go==true) это сокращенное от if((go==true)==true) if((go==true)==true) это сокращенное от if(((go==true)==true)==true) и так до бесконечности. Не надо никакого сравнения с true. Определение if просто предполагает проверку на true выражения в скобках.
Сообщение отредактировал seaman - Среда, 15 Июля 2015, 19:31 |
|
| |
seaman | Дата: Среда, 15 Июля 2015, 13:12 | Сообщение # 387 | Тема: Реализация столкновений в 2D танчиках |
старожил
Сейчас нет на сайте
| Цитата Я расположил спрайты в проскости XZ. Вы трехмерную что ли игру делаете? Зачем вообще в какой то плоскости самому размещать спрайты? Цитата Я убрал со спрайтов галочки IsKinematic, выставил GravityScale в ноль, выставил позиции спрайтов на одинаковой высоте, но спрайты проходять друг через друга и не упираются друг в друга. Перемещаю я их с помощью transform.Translate(...) У всех работает - у Вас нет. Не странно? Сделайте нормальный 2D проект. Спрайты в одном слое сортировки - Default. Z вообще не трогайте. Вы уроки смотрели?
|
|
| |
seaman | Дата: Среда, 15 Июля 2015, 08:47 | Сообщение # 388 | Тема: Реализация столкновений в 2D танчиках |
старожил
Сейчас нет на сайте
| В ригидбоди констрайнс.
|
|
| |
seaman | Дата: Среда, 15 Июля 2015, 01:06 | Сообщение # 389 | Тема: Передача значения переменной в другой скрипт |
старожил
Сейчас нет на сайте
| Цитата if(go) это сокращенное от if(go==true) Это неверно. Это сокращение от if(go != null)
|
|
| |
seaman | Дата: Среда, 15 Июля 2015, 00:37 | Сообщение # 390 | Тема: Реализация столкновений в 2D танчиках |
старожил
Сейчас нет на сайте
| Я плюнул на то, что танки могут сдвинуть друг друга. По крайней мере пока.
|
|
| |
seaman | Дата: Вторник, 14 Июля 2015, 19:38 | Сообщение # 391 | Тема: Секретная фича в Unity 5 |
старожил
Сейчас нет на сайте
| "У Вас неправильный мед!" У меня при нажатии Left Ctrl + O открывается окно загрузки сцены и кликнуть куда то уже нельзя.. На какой минуте хоть смотреть то?
|
|
| |
seaman | Дата: Вторник, 14 Июля 2015, 19:32 | Сообщение # 392 | Тема: Реализация столкновений в 2D танчиках |
старожил
Сейчас нет на сайте
| Цитата стоит BoxCollider2D (установлен флаг IsTrigger) И как Вы собираетесь сталкивать триггеры? Цитата и Rigidbody2D (установлен флаг IsKinematic) Это тоже ошибка - кинематик нельзя ставить.
|
|
| |
seaman | Дата: Понедельник, 13 Июля 2015, 23:09 | Сообщение # 393 | Тема: Передача значения переменной в другой скрипт |
старожил
Сейчас нет на сайте
| Цитата MANMANA (  ) скрипты в студию, че гадать? А действительно - что гадать? И так все ясно, без скриптов... GameObject.GetComponent<Shoot> пишется не так. Как? Почитайте мануал...
|
|
| |
seaman | Дата: Понедельник, 13 Июля 2015, 13:14 | Сообщение # 394 | Тема: Анимация в 2D срабатывает не сразу после нажатия клавиши |
старожил
Сейчас нет на сайте
| Цитата Напишите, пожалуйста, есть ли там палочка. Да, проморгал - есть. Цитата У вас нет состояний покая для танка. Как вы их собираетесь добавлять? Если есть, то покажите, пожалуйста, где. Нет. Я их не думал добавлять. Скорее всего сделаю - просто обнулю speed, а когда едет speed = 1;
|
|
| |
seaman | Дата: Понедельник, 13 Июля 2015, 12:07 | Сообщение # 395 | Тема: Анимация в 2D срабатывает не сразу после нажатия клавиши |
старожил
Сейчас нет на сайте
| Цитата События обозначаются палочками. Нужно выделить палочку и нажать Delete. Знаю. Только я их у тебя почему то не нашел...
|
|
| |
seaman | Дата: Понедельник, 13 Июля 2015, 11:38 | Сообщение # 396 | Тема: Анимация в 2D срабатывает не сразу после нажатия клавиши |
старожил
Сейчас нет на сайте
| Цитата У вас есть предположение почему она случается? Когда создавали анимации случайно нажали кнопку добавления события. Я в проекте не смог найти где это событие. Если найдете - просто удалите. Но проще - заново пересоздать все анимации. Цитата Я не понимаю, что в этом плохого. Ну на самом деле ничего плохого. Только зачем такая длительность? Один кадр - он и есть один кадр...
|
|
| |
seaman | Дата: Понедельник, 13 Июля 2015, 10:55 | Сообщение # 397 | Тема: Анимация в 2D срабатывает не сразу после нажатия клавиши |
старожил
Сейчас нет на сайте
| Вообще я не ждал ответов. Что у Вас заанимации, что в аниматоре я и сам вижу. Что такое анимация?- изменение состояния. Какое изменение в анимациях - PlayerIdleUp, PlayerIdleDown? Никакого! Там один кадр и ничего не меняется. Что это за анимация? Потому и говорю - в этих "анимациях" нет никаких анимаций. А вот длится этот кадр - секунду. И пока не пройдет эта секунда в другое состояние танк не перейдет. Уберите галки HasExitTime у всех транзишн. "Анимации" PlayerIdleUp, PlayerIdleDown и аналогичные имхо просто совершенно не нужны.
А лучше - смотрите мои уроки. Там как раз танчики делаем.
ЗЫ: продолжение уроков думаю будет завтра.
|
|
| |
seaman | Дата: Понедельник, 13 Июля 2015, 01:32 | Сообщение # 398 | Тема: Анимация в 2D срабатывает не сразу после нажатия клавиши |
старожил
Сейчас нет на сайте
| Во первых у Idle как я понял как таковой анимации вообще нет, а сначала переходит именно на нее. Во вторых анимации с "Idle" намного дольше чем без него, а у транзишн стоит галка HasExitTime. Следовательно пока не закончится Idle - Move не запустится. А у Idle нет анимации. Поэтому кажется что анимация не запустилась. Видимо из-за этого беда. Убери галку.
Вообще непонятно - зачем Idle "анимации"?
PS^ цвет танчика проще менять программно... PPS: Вас не раздражает эта ошибка?
Сообщение отредактировал seaman - Понедельник, 13 Июля 2015, 01:35 |
|
| |
seaman | Дата: Воскресенье, 12 Июля 2015, 12:30 | Сообщение # 399 | Тема: Остановить анимацию Animator |
старожил
Сейчас нет на сайте
| GetComponent<Animator>().enabled = false; GetComponent<Animator>().speed = 0;
|
|
| |
seaman | Дата: Пятница, 10 Июля 2015, 19:36 | Сообщение # 400 | Тема: Вопрос-[ответ] по Unity |
старожил
Сейчас нет на сайте
| Цитата pixeye (  ) делается так. Quaternion.rot = transform.rotation; rot.y = gameObject.transform.rotation.y; transform.rotation = rot;Добавлено (10 июля 2015, 19:33) ---------------------------------------------
Цитата ivan2009 (  ) кубик дрожит Ну во первых - вынесите проверку луча из if(walk) Во вторых выключайте walk, когда расстояние до цели меньше заданного: Код Vector3 dir = TargetToMove - transform.position; Vector3 dirNormal = dir.normalize; controller.SimpleMove (posMove * Time.deltaTime * speed ); if(dir.magnitude < 0.01f) walk = false; Добавлено (10 июля 2015, 19:36) ---------------------------------------------
Цитата ivan2009 (  ) хотелось бы и самому его покрутить. Как крутить - смотрите мануал: Мануал
|
|
| |