Это копия, сохраненная 25 февраля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
УРОКИ: http://unity3d.com/ru/learn
прошлый тред >>198779 (OP)
Какой движок мне выбрать для создания 2D/3D игры?
Unity твой выбор. У него огромное комьюнити, много уроков, много готовых решений и он прост в освоении.
Unity бесплатный?
Да. Для всех платформ. Если вы заработаете на игре более 100 тысяч долларов, то обязаны будете купить Pro-лицензию.
я хотел сделать как тут.http://habrahabr.ru/company/microsoft/blog/236135/
и не фурчит. уроку
=можешь как типичный кирилл сделать внизу уровня 2Д объект с коллайдером.
и при соприкосновении перезагружать левел
Это правильный подход. Создаёшь бокс коллайдер, вешаешь на него скрипт перезапуска уровня/запуска нового уровня. У скрипта можно сделать публичное поле, которое будет указывать, какой уровень следует загрузить. Красиво.
Байтоёб, это нормально. Сейчас я тебя будут обоссывать.
>-500
Захардкоженное число. Если я захочу изменить границу пропасти? А если это захочет сделать дизайнер, который конструирует уровень (сюрпрайз)? Обоссал.
>transform.positon.y
Делать проверку в классе персонажа? Серьёзно? Персонажу это очень нужно знать, да? Конечно, делать это в отдельном скрипте гораздо хуже! Обоссал.
Поэтому, лучше создать геймобжект, повесить на него бокс коллайдер и повесить на него скрипт, который будет отслеживать в OnTriggerEnter вхождение персонажа и далее запускать другой уровень. Всё это должно задаваться через редактор.
>Захардкоженное число.
public int samyiNizY;
>Делать проверку в классе персонажа?
Нет блядь, лучше сделать коллайдер для проверки. Юнитиблядь ссаная, уебал бы.
>игрек надо в апдейте постоянно проверять, нагрузка на проц! а коллайдер поставил и он висит даже без скриптов! байтобляди соснули!
Так-то этот прав. Коллайдер предоставлен физиксом, который набайтоёбили байтоёбы. Мы же скрипты пишем на шарпе уже поверх всего этого байтоёбства.
Кароче, может кто скинуть скрипт который он использует для подобного рода вещей?
Даунич, даже если предположить, что физикс будет каждый фикседапдейт проверять пересечение коллайдеров (что ирл он конечно же не делает), то всё равно разница в производительности <<< удобства
Да ты поехавший. OnTriggerEnter значительно медленней простого сравнения <=. Если уж так хочется чтобы было визуально и чтобы не в классе персонажа, уж лучше сделать геймобжект, Y координата которого и будет браться для сравнения с Y координатой персонажа.
На каждую клеточку, ведь нужно еще узнавать координаты куда упал игрок.
Туториал от ПРОдевелопера.
1.Дрочишь скилл.
2. Совершаешь ошибки.
3. Получаешь опыт.
4. ????
5. Метроидования готова.
Раком.
Если у тебя персонаж должен быть постоянно в пределах камеры, я бы использовал OnBecameInvisible.
Вместо дрочева коллайдеров на каждом уровне.
мимоПРОдевелопер
Посмотри код этого проекта https://www.assetstore.unity3d.com/en/#!/content/17070
У них есть видео на ютубе, можешь там глянуть. Либо можешь скачать где-нибудь исходники (я как-то находил через гугл)
Ага, 2015, а потом по таким советам очередной кирилл понавешает на всё коллайдеров, и когда на сцене с парой сотен таких "решений" у него начнётся слайд-шоу, начнётся кукареканье "юнити - тормозное говно". Так в чём же преимущество OnTriggerEnter?
Посмотри как в оф. туторах оршанизовано.
>камера прикреплена к костям персонажа, объекты получают доступ друг к другу через GameObject.FindGameObjectWithTag("").GetComponent<>()
Это нормально, вон выше падение героя в пропасть проверяют по коллайдеру и OnBecameInvisible
Так ведь я все равно буду раскидывать скрипты как удобно на первый взгляд. Например, у меня управление висит на персонаже, а стрельба на камере.
В стандартных картах умереть можно только на de_vertigo, и там тоже коллайдеры
Weapon.Shoot () (at Assets/Weapon.cs:41)
Weapon.Update () (at Assets/Weapon.cs:26)
поясните за ошибку что эта хрень хочет от меня? 41 строка это та где появляется firePointPosition
41) Vector2 mousePosition = new Vector2(Camera.main.ScreenToWorldPoint(Input.mousePosition).x, Camera.main.ScreenToWorldPoint(Input.mousePosition).y);
42) Vector2 firePointPosition = new Vector2(firePoint.position.x, firePoint.position.y);
43) RaycastHit2D hit = Physics2D.Raycast(firePointPosition, mousePosition - firePointPosition, 100, ToHit);
44) Debug.DrawLine(firePointPosition, (mousePosition - firePointPosition));
Или, например, вокруг персонажа есть капсула, так на ней висит контроллер персонажа, который его двигает и вертит головой по горизонтали, а по вертикали его вращает скрипт, висящий на меше персонажа.
ты мудак или как? объединять коллайдеры смежных объектов? не? не слышал?
Один коллайдер. Буду проверять положение игрока по x и z, потом двигать коллайдер в эти координаты.
>>204441
Камера прикреплена к персонажу.
>>204461
И правильно делают. Столкновение персонажа с коллайдером оптимизировано на уровне физ движка, деревья, вся хуйня. Плюс, столкновения с коллайдерами всё равно просчитываются, а одним больше, одним меньше - похуй.
>КОКОКО НИХАЧУ ПРОВЕРЯТЬ ИГРЕК, СЛИШКАМ ПРОСТА ЧО КАК ЛОХ НАДО ЧТОБ ВСЕ КАК У ПРОФИ БЫЛО
>Буду проверять положение игрока по x и z
Ты клинический дебил.
Эээ блэт. Если уровень многоэтажный, то можно обосраться. Да и до -500 падать долго
Ладно, ты меня затралел
нет... а как это проверить?
и я проебался немного с нумерацией
40) Vector2 mousePosition = new Vector2(Camera.main.ScreenToWorldPoint(Input.mousePosition).x, Camera.main.ScreenToWorldPoint(Input.mousePosition).y);
41) Vector2 firePointPosition = new Vector2(firePoint.position.x, firePoint.position.y);
42) RaycastHit2D hit = Physics2D.Raycast(firePointPosition, mousePosition - firePointPosition, 100, ToHit);
43) Debug.DrawLine(firePointPosition, (mousePosition - firePointPosition));
А пик ты не заметил, долбоёб, блядь?
>>204498
А если многоэтажный, то ведь проще убивать именно по причине падения на "пол" нижнего уровня. А он по-любому должен быть снабжён коллайдерами.
Меня зацепила музыка из супермассива. Может кто-нибудь сказать сурс музыки? С меня тонны нефти.
проблема на самом деле вот в чем, юнька не находит фаерпойнт, почему?
Transform firePoint;
// Use this for initialization
void Awake () {
firePoint = transform.FindChild("FirePoint");
if (firePoint == null)
{
Debug.LogError("no FirePoint");
}
}
> проще убивать именно по причине падения на "пол"
Если будут васянские патчи или айтемы для увеличения здоровья, то персонаж может и пережить падение.
> он по-любому должен быть снабжён коллайдерами
Нахуя?
>Камера прикреплена к персонажу.
Миямото 30 лет назад обосрался бы от такого расклада.
Короче, вали отседова далеко и надолго.
мимоПРО
> Миямото
Хуясе ебать ты пример нашел
> вали отседова далеко и надолго
Поссал на тебя.
> Камера прикреплена к персонажу.
> имплаинг это что-то плохое
>а ходить ты по нему как собрался?
>то ведь проще убивать именно по причине падения на "пол" нижнего уровня
>убивать
>ходить
>2016
Ты такой мудак, что даже я безоружен.
Смотри сюда, сука ты неразумная.
1983 год.
https://www.youtube.com/watch?v=bNNwNPUzCMo
Камера не прикреплена к персонажу, поэтому ты можешь спокойно двигаться и трекать, что вокруг тебя творится. И да, сука ты неразумная на NES было понятие камеры, когда на вашу обоссаную ПЕКУ его завезли с ДАЙРЕКТ ИКС 8.
Вали отседова, тупица.
> Камера не прикреплена к персонажу, поэтому ты можешь спокойно двигаться и трекать, что вокруг тебя творится
> платформер
Хм
> на NES было понятие камеры, когда на вашу обоссаную ПЕКУ его завезли с ДАЙРЕКТ ИКС 8
То есть в думе или квейке, например, не было камеры? Обоссал тебя еще раз.
а разница?
я другой анон, но ты ведь понимаешь что современные платформеры немного сложнее чем марио, в общем судить об одном решении не видя всей картины целиком верх долбоебизма
>завезли возможность многие задачи решать одной-двумя строчками, чтобы любой школьник мог сосредоточиться на игре, а не погромировании
>прошлый век
Ты сейчас из треда вытечешь, прекрати
Ты хоть и другой, но ты не понимаешь того, что я просто показал как пример, почему нельзя цеплять камеру к персонажу в его 2д параше.
я понимаю всю важность кукаретики, но может таки поясните почему юнька не видит фаерпойнт?
просто я тоже делаю 2д парашу и не понимаю, окай и гра типа хотлайн маями, как по твоему должна работать камера?
>Vector2 mousePosition = new Vector2(Camera.main.ScreenToWorldPoint(Input.mousePosition).x, Camera.main.ScreenToWorldPoint(Input.mousePosition).y);
>Vector2 firePointPosition = new Vector2(firePoint.position.x, firePoint.position.y);
Это просто пиздец. Блядь, аж плохо стало.
Vector2 firePointPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
И ВСЁ, ПОНИМАЕШЬ? ВСЁ!
Не понимаю, в чем твоя проблема. Если скрипт не видит firepoint в сцене - дай ему firepoint. Чего ты хочешь? Сделай так:
public Transform firepoint;
Тогда в редакторе будет отображаться, присвоен ли вообще firepoint на старте. Раз ошибка, значит не присвоен. Мы в этом хотя бы убедимся.
Если хочешь, чтобы тебе разжевали - кидай весь свой код и описывай проблему более подробно.
FindChild перебирает детей только на первом уровне вложенности. То есть если "FirePoint" - ребёнок ребёнка, то FindChild его не найдёт.
Обсерунькался
Назначай свой фаерпоинт через редактор в публичное поле. FindChild это говнокод.
> не было тогда DirectX
Ты не поверишь, но в марио тоже не было DX. Тебя в третий раз обоссать, или ты уже понял?
А назначать вручную - не хуже говнокода? Всё будешь вручную указывать? Это смешно. Это говорит как минимум об отсутствии внятной архитектуры разрабатываемого проекта.
у меняне то что нет внятной архиткткры, я не знаю что это...
Ты же, гаденыш, даже не объясняешь что это за firepoint и чего ты вообще хочешь добиться.
Допустим, я хочу сделать в блендере хитровыебанный бластер, внутри которого летает шарик плазмы. Делать этот шарик плазмы нужно в том же blender, или работать с шейдерами в самом юнити?
Я - тот, который ответил про работу FindChild. А ты видимо конченый.
Собственно, как хочешь. Если у тебя в каждом оружии по шарику, то лучше шейдеры задрочить. Для единичного экземпляра и модельку сделать можно
Хочу сохранять игру с помощью EditorApplication.SaveScene("Assets/saves/save1.unity");
Потом просто загружать этот скин при продолжении.
Какие подводные камни?
Импорчу её в юнити, смотрю - а я сквозь эту прозрачную штуку вижу сквозь модельку целиком. То есть если я буду над ней стоять, я сквозь неё увижу землю.
Чего делать-то? Ну не пилить же мне эту прозрачную штуку отдельной моделькой!
Джва материала и двусторонний шойдер. Из минусов - полигонаж модели умножится на два. Лучше отдельными мешами.
Объекты и их стороны отображаются в зависимости от направления вектора нормали к поверхности. Включи Backface Culling и будешь видеть объекты так, как они буду испортиться в Юнити, то есть если нормально направлена в другую сторону от камеры, поверхность будет прозрачной. Может у тебя что-то не так с направлениями нормалей, тогда надо будет их инвертнуть.
http://www.hutonggames.com/
С меня как обычно
Я ньфажина. Пилю 2д платформер.
Вопрос: Плеер идет по карте собирает бонусы и умирает если например попал в яму. Как лучше делать, вешать скрипты столкновения с гейм обжектами смерти и бонусов на сами эти обжекты или пихать это все в геймобжект героя?
благодарю
1. На куб заебошить фон и как-то его анимировать, чтобы происходило движение картинки. Но в таком способе вроде нужно еще и подсвечивать, не много ли ресурсов будет сжирать такой способ.
2. Сделать облака движущимися по прямой из одного края. Со стороны залепить тригер, при вхождение в который, данные облака будут перемещаться в другой край экрана.
3.Есть еще какие-то варианты?
Какой из способов будет менее затратным?
void OnTriggerEnter2D(Collider2D col)
{
{
if ((col.gameObject.name == "dieCollider")|| (col.gameObject.name == "pila_1"))
Application.LoadLevel(Application.loadedLevel);
}
есть вертящейся объект с таким скриптом
public class pila_1: MonoBehaviour
{
// Update is called once per frame
void Update()
{
transform.Rotate(new Vector3(0f, 0f, -3f));
}
Плеер попадая в этот объект не умирает, или умирает при попытке, скажем прыжка из этого объекта. если скрипт на повороты убарать, все ок работает. хуле тут не так?
1. Учись использовать слои, а не к именам привязывать действия.
2. Если ты производишь действия с пилой, тебе обязательно нужно к ней добавлять rigidbody. Понятно, что у тебя уже есть на герое rigidbody, но он должен висеть на ВСЕХ коллайдерах, меняющих позицию или угол.
Хочу научится делать простенькие декали, понять, как работает, но пока получается только хрень.
Суть: кидаем шарик, как в пэйнтболе (пик 1). Он должен окрашивать объект в который попал (пик 2). Отвечает за это скрипт (пик 3). Получается фигня вроде этой (пик 4) - либо декаль не видно из-за того, что она на одном уровне с поверхностью, либо она почему-то оказывается под поверхностью. ЧЯДНТ?
В гугл не отправлять - был (там все используют raycast), чужие системы не предлагать - хочу сам разобраться. Да и пробовал я чужие системы ковырять - без комментариев хрен поймёшь.
Я raycast должен из шарика делать? Мне нужна метка именно от попавшего шарика, а не от клика мышкой
1. Если коллайдер успевает между кадрами пролететь через другой коллайдер, столкновение не детектится
2. У рейкаста тоже есть минимальное расстояние. Тебе надо проверять каждый фрейм такое:
- на старте шара сохраняем позицию
- если шар прошел расстояние более 0.01 - сохраняем текущую позицию и пробрасываем луч от прошлой сохраненной позиции до актуальной. Если raycast был подтвержден, используешь опцию рейкаста out RaycastHit hitInfo (смотри здесь http://docs.unity3d.com/ScriptReference/Physics.Raycast.html), чтобы получить точку столкновения. Точка столкновения луча с коллайдером получается через hit.point.
Расстояние, пройденное между фреймами, получаешь через Vector3.distance (позиция в прошлом фрейме, позиция в этом фрейме).
1. О чём-то таком я думал, как о причине неработоспособности коллайдера
2. Твою идею понял, буду пробовать.
спасибо тебе, доброанон
Гребаный блять юнити со своими хитровыбоинными системами которые слишком закручены как хвост хохла.
механика кю я мог бы запилить на хаксе за 20 минут, я не могу воссоздать в юнити уже второй час.
1. Как определять коллизии двух объектов не прописывая скрипт непосредственно в одном из них?
2. Как изменять скорость объектов на ноль, ибо добавлять посредством аддфорсе понятно.
Заранее спасибо.
второе - velocity = new vector2(0,0);
1. Никак (спасибо physics)
2. Уже подсказали
С встроенной физикой всегда были и есть некоторые проблемы. Она слишком НЕПРОСТА.
1. Чтобы спрайт всегда был повёрнут к игроку, вешаешь на спрайт:
void Update() {
transform.LookAt(позиция героя);
}
2. Уточняй. Ты хочешь, чтобы стрелки над объектами были видны даже сквозь стены? Или шо.
>Ты хочешь, чтобы стрелки над объектами были видны даже сквозь стены?
Ниет. Они должны быть в 3D, объекты могут их перекрывать. Просто они не должны быть в виде plane, который не видно сбоку, они должны всегда смотреть в камеру игрока.
Так. Значит ты хочешь, чтобы было как в RPG? Тебе указывают путь стрелочкой, а когда ты повёрнут не в ту сторону, стрелочка остаётся сбоку. Так?
void LateUpdate(){
transform.rotation = Camera.main.transform.rotation;
}
LateUpdate чтоб спрайты не дрожали.
>Значит ты хочешь, чтобы было как в RPG?
Нет. Это FPS. Просто хочу над объектами отображать спрайты. Это могут быть не только стрелки, но и что-нибудь другое. Например, смайлик, который означает, что персонаж настроен дружелюбно по отношению к нам.
для fps ,3D, капсульный коллайдер
лол ты прост инвалид, я знаю что можно проверять сферой верхнюю точку меша и слышал что нужно сравнивать кадры, но разобрать как именно не смог.
может у кого есть сорсы characterController? как там реализованно?
Не люблю, когда ебанутые просят помощи. Сами решить своей чудесной проблемы не могут, но выдумывают, что умнее тех, кто мог бы помочь.
по моему это ты считаешь других умнее себя, а не я, вопрос тривиальный,а ебанутый это ты.
А, так ты толстый. Извини, не заметил.
У тебя 2д или 3д?
UnassignedReferenceException: The variable head of сheracter_rotator has not been assigned.
You probably need to assign the head variable of the сheracter_rotator script in the inspector.
UnityEngine.Transform.get_position () (at C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineTransformBindings.gen.cs:20)
сheracter_rotator.LookToMouse () (at Assets/сheracter_rotator.cs:22)
Что это значит? Чем это грозит и как это исправить?
5 секунд в гугол транслейте
>UnassignedReferenceException: Переменная глава сheracter_rotator не был назначен.
Анон, вот ты знал, что если вызвать метод Destroy для GameObject, то все ссылки на этот GO обнулятся?
Я чуть не охуел. Искал баг в игре. До последнего отрицал возможность изменения переменной откуда-то извне, я-ж программист, блять, я не верю в чудеса! Но логи говорили об обратном. Создал тестовый проект и хуякс, реально, ёбаный юнити обнуляет все ссылки на объект. Пиздец. В документации нихуя не написано. Не, ну ты представляешь? Переменная, это самое святое, что есть у программиста. А юнитеки её осквернили нахуй!
private GameObject go;
void Start ()
{
go = new GameObject("hui");
Destroy(go);
}
void Update()
{
if (Input.GetKeyUp(KeyCode.Q))
Debug.Log(go == null); // True
}
Да, уже понял что ты слабоумный. Если надо убрать объект с экрана делай go.SetActive(false).
Ебать дебил. Я ему про одно, он мне про другое. Ты понимаешь, что я не обнуляю нигде переменную, её автоматически юнити обнуляет? Это ненормально. Из-за этого я долго искал причину бага в игре.
Но раз тебя такой расклад не удивляет, значит ты толком не программировал, да? Изменение значения переменной откуда извне для тебя норма. Подумаешь.
Мань, проснись, ты серишь
В Unity есть понятие "удалить объект". И объект в Юньке это и один из инстансов сясярпа, а вполне себе такая-то махина, к которой подключаются модули. Ты сам оборвал весь допуск к объекту, а потом удивляешься.
Попробуй отключать не объекты, а ригидбоди, коллайдер и спрайтрендерер объекта.
>И объект в Юньке это и один из инстансов сясярпа, а вполне себе такая-то махина, к которой подключаются модули
Я точно так же могу удалить один из своих компонентов и все ссылки на него обнулятся.
Блядь, ну ты и уебок. Переменную ему меняют. transform.Translate тоже переменную position меняет без твоего ведома. Удалил объект, но хочет продолжать его ебать, только скажи нахуя?
>переменную position меняет без твоего ведома
Ты её объявил? - Нет. Вот и заткни пасть, неуч. У тебя есть приватная ссылка, которую ТЫ объявил, и тут она вдруг указывает на null, хотя ты точно знаешь, что не обнулял её.
Ты дестроем ее обнулил, долбоеб.
Ебанутый.
Ты удаляешь ГО, но рассчитываешь ебать его труп с помощью ссылки на уже не принадлежащую ему область памяти и к хуям порушить как минимум процесс? Нахуя, интересно?
Или по-другому: То есть ты хочешь, что для того, чтобы удалить объект, надо было почистить все ссылки на него (везде вообще) и вызвать сборщик мусора? Гениально.
Но нет, нам надо иметь обязательную возмодность выстрелить в ногу, попытавшись использовать невалидную ссылку, мы же дохуя крутые программисты.
>Гениально
Ты, долбоёб, это стандартное поведение объекта в C#. Есть ссылки - объект жив, нет ссылок - объект будет удалён сборщиком мусора автоматически, когда сочтён нужным.
>на уже не принадлежащую ему область памяти
У метода Destroy ничего не написано про память. Логично предположить, что объект таким образом удаляется со сцены, но продолжает существовать в памяти. При этом нигде не сказано, что юнити автоматически шаманит со ссылками, обнуляя их. Вот доки
http://docs.unity3d.com/ScriptReference/Object.Destroy.html
Никто твое дерьмо из лотка ссылки не ворует.
Надо быть дауном-аутистом, чтобы считать GameObject примитивным классом в три строчки кода.
Скорее всего, там на оператор сравнения стоит кастомный обработчик, который при попытке обратиться к удаленному объекту выдавал бы null во избежание всякого нелепого дерьма, вроде ебания трупов.
Для твоих сомневаюсь, что очень сложных задач придуман SetActive, который полностью отключает ГО, не удаляя.
А то, что ты тут верещишь и брызжешь дерьмом, строя из себя главного программиста, чести тебе не делает.
>Скорее всего, там на оператор сравнения стоит кастомный обработчик, который при попытке обратиться к удаленному объекту выдавал бы null во избежание всякого нелепого дерьма, вроде ебания трупов.
Вообще у шарпа как у манагед языка вместо пиздоса и синего экрана смерти в таких случаях кидается exception.
мимо
Ну и вдогонку, от самих разработчиков.
http://blogs.unity3d.com/ru/2014/05/16/custom-operator-should-we-keep-it/
Да, они используют кастомный оператор сравнения и жутко каются по этому поводу.
Но никто не бегает по памяти и не обнуляет все ссылки.
Что интересно, юнька при обращении к удаленному объекту даже кидает эксцепшен для даунов, где пишет, что объект был удален.
Долго думать над причиной проблемы в этом случае может только полный аутистос.
Обычно это значит, что нормали не той стороной вывернуты.
Попробуй перед экспортом в юнити их перевернуть (flip normals).
Какой формат используешь?
>ты тут верещишь и брызжешь дерьмом
Ты с самого начала начал меня называть дебилом/долбоёбом/etc и нёс хуйню про то, что destroy обнуляет ссылки.
>http://blogs.unity3d.com/ru/2014/05/16/custom-operator-should-we-keep-it/
Вот, это всё проясняет. Я бы даже тебе сказал спасибо, если бы ты не был таким уёбком.
>юнька при обращении к удаленному объекту
Я использовал оператор ==. Обращение к мёртвому объекту не было, поэтому я никак не мог получить этот эксепшен.
Я тут только к концу драмы подоспел, моих только три последних поста, и к этому моменту дерьмо уже летало по всему треду.
Да и вообще, врываешься ты такой в тред, с надуманной проблемой, пытаешься выставить юнитеков даунами, а потом возмущаешься, что это в тебя ссаные тряпки полетели.
>We did not have much choice really. With Contract Wars we’ve got a lot of experience working with Unity, so we continued to work with this engine. We’re not aiming to build a browser version of EFT. We want to move beyond Contract Wars and make something different. With Unity 5 we had to do a lot of modifications though. We’ve created our own shaders, added animation modules, created new effects system, upgraded the sound. It’s great to know that Unity is so flexible. You can do a lot with this technology, but it does require a lot of effort from the developers and engineers.
Дали пососать юичедебилам
Делаю всё по ебучим туториалам, а оно не работает, блять! Какого хуя?
Пиар параши, зарепортил
В ней графон, который в уе4 идёт "из коробки". Хотя в уе4 он даже лучше. Сравнить хотя бы лес, освещение.
Объясните, пожалуйста, убогому, как в хуюнити (5.3.1) форсить версию openGL для линухового билда.
Конкретно - чтобы собирало не под 3.2, а под 3.0.
Почему - хочется своё говно гонять на debian testing на хромбуке, но несмотря на типа поддержку 3.3 что дровами, что процессором, реально доступен только 3.0.
постойте-ка, постойте
вообще-то инфа интересная, первое и поверхностное впечателение: хорошо сделали, не будет утечки ресурсов. А то часто громко кричат что в мусоровозном шарпике нету утечек памяти, так как автомусор итд. это вранье кстати но не суть. Но вот о таком неприятном явлении как какие-то ссылки в колбеках, о которых уже 10 раз забыли, но которые не дают мусоровозу удалить объект вспоминают реже. А это история неприятная и коварная. Но ты тут такое заявляешь, что у меня невольно закрадывается подозрение? А не пиздишь ли ты нам, фраерок? Откуда движку знать какие там ссылки на объект я где сохранял и где передавал. Ведь ты сейчас перед лицом поцанов внятно и четко произнес ВСЕ ССЫЛКИ. Ты может переневничал и с испугу че попутал? Тебя спрашиваю! РЯЯАЯАЯА
В любых нормальных движках было четкое и понятное структурированное разбиение по разным классам, как в любом программировании, а тут добавляются какие-то лишние костыли в виде привязки к геймобжектам, доступу в инспекторе и ебаной тонне прочего новомодного говна. Непонятно, что где должно выполнять какую функцию.
Сам по масти шарпист. На js хоть что-то упрощается или все точно так же?
Иди читай про компонентный подход к архитектуре, а то выучат сраное мвц и наследование классов и мнят себя ниибацца погромиздами. Все классы в доках описаны.
Может, дело не в том, что белые люди привыкли к и без этого идеальной мвц, а в самой юнити?
Все уже порешали, никакие ссылки он не удаляет, просто в классе кастомный оператор сравнения реализован, который удаленный ГО считает как null.
Если бы мвц была идеальной, ее бы регулярно не передрачивали в мввм или что там сегодня в тренде. По-твоему надо и функциональные языки похерить? Короче, хватит жить обезьяньей жизнью, нужно изучать что-то новое. Компонентная архитектура далеко не нова.
Полчаса пытался понять, почему у меня Invoke не работает.
А там время нельзя
во
float
указывать!!11
А нет, всё-таки можно. Но если переменной назначить float время, а потом указать наименование этой переменной в Invoke, то соснулей.
Текстурки отдельно подгружай, потом материалы назначай сам
Нахуй инвок вообще нужен ни разу им не пользовался, всё коротинами делаю, зависимости нет
http://forum.unity3d.com/threads/invoke-vs-coroutine.40928/
>Мне кажется
Доки бы читал - знал бы, что корутины не оказывают влияния на производительность, черным по белому написано.
>Всё по логике должно было работать, но Юнька тупит.
Блядь, это ты тупишь, долбоебина.
Если скрипт уже висит на геймобжекте, значения публичных переменных нужно менять в инспекторе. Если до того как ты поместил свой ебучий скрипт на свой ссаный геймобжект, переменная флоат не была назначена, она будет всегда равна 0, и ты будешь думать что она кококо не работает в твоем ссаном инвоке, ебаный ты дегенерат. Заебали уже тупорылые опездолы, считающие себя умнее движка. Это у них не работает, то не работает, хотя сами уебаны еще те.
Такие дела, апдейтить гамобжекты через простой цикл в 20 раз быстрее чем через обычный Update.
Точнее, работает только на плеера.
Ну да, второй лог срабатывает всегда, но дестроер должен отрабатывать.
Инвок через те же корутины, емнип, и работает.
public float vremyaZaderzhki = 2f;
public void EndLevel
{
...
Instantiate(okoshko);
Invoke("UbratOkoshko", vremyaZaderzhki);
}
В таком случае не работает, но если поставить в методе Инвок 2f или сделать времяЗадержки интовым, то всё срабатывает.
Короче, разобрался и охуел. OnTriggerEnter2D() работает только если у объекта есть компонент RigidBody2D. Хуйня какая-то, 2 часа проебался.
А как ты думал, блядь? Может, ты еще и не знал, что надо галочку Is Trigger поставить?
К чему ты упомянул эти статические переменные, доступные из любого места кода?
Я тебя тоже люблю.
Не трожь монитор, паскуда, иначе ебало уже по реалке тебе разобьет твоя злая мамка, когда увидит, что ты с ним сделал.
Прежде чем говорить, сперва пережуй какаху, которую я только что отложил тебе в рот
Но я у себя в треде
pivot rotation?
Хуяришь такой объект прозрачный без физона, кидаешь его под пол или куда там надо, вешаешь скрипт и в скрипте проверяешь высоту этого прозрачного объекта с высотой игрока. PROFIT!!!
но я бы делал коллайдером, я же не байтоблядь
Есть два стула, оптимизон и архитектура. Если сядешь на первый, твой код будет выглядеть как ебаная неведомая хуйня и его никто не поймет, зато быстро и оптимизнуто. Если второй стул, то код будет несколько медленнее, зато ты без проблем сможешь его поддерживать и развивать + он будет понятен окружающим. Такие дела. как сделать оптимизон или архитектуру ищи сам, кодить учить я тебя не буду
Ах да, есть третий стул, это когда архитектура в жопе и все тормозит. Это подход Кирилла.
>юнитеки, у вас там объекты, синхронизирующие свое состояние между клиентами срут в дебаггер нотификациями, что мол столько-то байтов отправлено, да-да я понял, но как это говно отрубить плс, фпс просаживает же, объектов-то много
>Unyti Technologies: this is a bug ( 746992 ). You can ignore this warning.
>ну охуеть теперь
>прошло 2 месяца
>нихуя не поменялось
В их старой нетворк системе была переменная Log Level, которая задавала уровень лога. Попробуй найти нечто похожее.
И тут она есть, но нихуя не помогает, консоль засирается на любых уровнях
Как я тебе его закомменчу, если он наследуется от NetworkBehaviour и все ядро там? Алсо, проблему пофиксил
Ну ты сравнил себя и меня, сын членодевки. Моя игра находится в топ-100, а чем ты похвастаешься?
>Ну ты сравнил себя и меня
>меня
>меня
Да у нас тут мимообоссанец с раздутым самомнением, вы поглядите.
Даже время на тебя тратить не хочу, ноунейм-быдло
Ололо, зашивайся, петушок-лузерок. Отложил тебе какаху в рот.
Нгуй актуален только для мобилок, потому что сильно экономит дк. Для пк не нужен.
На самом деле и юнитигуй тоже хорош, если у тебя руки не из сранделя растут и ты допетришь как им пользоваться.
Могу посоветовать графические редакторы. В них очень удобно создавать текстуры.
MS Paint
а то лень ебаться, уже пора гейплей делать а не окошки под сонсоль настраивать
Что-то порядка 100к рублей, если нанимать макаку. Да, именно так, ты же не можешь в тз, долбоеб, так что можешь сразу эту сумму втрое умножать.
Оно работает так: любой GameObject это C# часть и C++ часть. Когда ты убиваешь объект - то убивается C++ часть. C# часть на самом деле не убивается. ОДНАКО! У C# части переопределено сравнение и если C++ часть убита то сравнение с null даст true!
Охуеть
Никто не помог, полупокеры, так что сам нашёл.
Это бага, поправят в 5.3.2 хуюнити.
Если кому-то надо гонять под интеловской графикой и прямо сейчас, то поможет переменная окружения MESA_GL_VERSION_OVERRIDE
То есть экспортишь её в 3.2 и всё ок.
Ну или тупо запускаешь:
/home/kirill/megaproekt/$ MESA_GL_VERSION_OVERRIDE=3.2 ./megagame_linux_build.x86-64
>полупокеры
Чушка, надеюсь, ты больше не будешь сюда обращаться за помощью? Или ты просто пиздабол?
https://code.google.com/p/niangapiry/source/browse/trunk/Source/Assets/Scripts/Shaders/Scrolling+Layer.shader?r=15
Вот пиздатый шейдер для скроллинга.
И куда и как мне этот блум пихать?
Ебашишь плейн, на него текстуру задника которая должна прокручиваться и этот шейдер.
О, благодарю.
А вот и струя мочи, мчащаяся в твой ротешник
Да и сам юнит кряхтит при принятии свинца на грудь.
Как реализовать проигрывание звуков?
Юнитеки советуют плодить паблик вариаблы:
public AudioClip shootSound;
Но может есть другой способ как упорядочить все звуки юнита?
Запили текст в редакторе и посмотри на него. Текст это гамеобжект, расположен под канвасом, Text это его компонент. Вот таким его в скрипте и создаешь.
То есть, создаю пустой GO, ему накидываю компонент Canvas, а потом в качестве сына присваиваю новый GO с компонентом текста?
Канвас заранее создай. Канавас это тоже геймобъект с компонентом канвас, геймобжект с текстом пихай под геймобжект с канвасом, эти компоненты не будут работать на одном объекте.
>геймобжект с текстом пихай под геймобжект с канвасом, эти компоненты не будут работать на одном объекте.
Пихать через transform.setParent()?
Просто создай Text. У тебя автоматом создастся Канвас как родительский элемент для текста.
Дополню свой вопрос. Создал свой класс в юнити, в нём создал поле GameObject, ну и всё остальное практически прикручиваю этому GameObject'y. Так вот, хочу выводить на экран инфу об этом ГО, но при попытке обычным способом в классе перегрузить ToString() ничо не получаицца. Можно ли вообще перегружать ToString() у ГО?
ToString это же метод, который приводит значение к строковому типу. Поэтому не понял вопроса.
override public string ToString()
Блядь, ну если у тебя разные пушки, соответственно это разные объекты, следовательно звук у каждого свой нужно вешать.
Хуле ты все в одну кучу сложил?
Никак.
У компонента можно, у геймобджекта хуй тебе.
Откуда вы блядь плодитесь такие сука неразумные, которые не понимают СУТИ ЮНИТИ.
ЭТО БЛЯДЬ КОМПОНЕНТНАЯ СИСТЕМА
Может у этого наркомана "пушка" вшита в спрайт персонажа и всё на персонаже прописано.
Я игровой код пишу с помощью Entitas, так чтобы не зависеть от Юнити. Без этого нельзя написать ничего нормально. Если я заменю там матлибу то я полностью избавлюсь от "using UnityEngine". На границе между игровым кодом и Юнити (который и так есть) просто ставится трансляция из наших Vector3, Matrix и т.д. в юнитевские.
http://www.youtube.com/watch?v=1wvMXur19M4
Ну так если вы используете Юнити, чтобы не зависеть от Юнити, пилите эквиваленты векторов и т.п.
Почему бы не написать свою реализацию матлибы?
Идиоты блядь ебаные. Родина им дала юнити. Сиди, пили игру. Не хочу! Хочу накручивать велосипед на велосипед!
нет лишних полтора килобакса, а логотип бесит конкретно
Можешь сам сделать, если мозгов хватит поискать в папке с самой юнити.
не воспламеняйся, я уже нашел где лежат файлы splash screen.
Ты не можешь протестировать MonoBehaviour. Нельзя сказать "Эй, MoveComponent, представь что ты в точке 0,0,0, движешься в направлении "вперёд" со скоростью 1 и что прошла 1 секунда. Теперь скажи где ты.". Есть интеграционные тесты, но они слишком медленные для таких целей потому как выполняются в реальном времени. Для чего то более сложного, работающего в взаимодействии с иными частями игры слишком велика опасность что нибудь сломать, обнаружить слишком поздно и потом ебаться днями, стараясь починить. Я слишком заебался так делать и потому хочу тыкать в кнопку и через секунду получать ответ "в целом ничего не сломалось". Потому и приходится заморачиваться.
Матлибу удалось кажется выдрать из MonoGame, привет старушка XNA.
Эм, невольно напрашивается вопрос. А кто тебе мешает задавать начальную точку MoveComponent?
Почему ЮНИТИ это не останавливает, а тебе бедняге ничего нельзя?
Я не понимат.
Ладно-ладно, признаюсь, тестами не пользуюсь, т.к. стараюсь держать все компоненты настолько простыми, насколько это вообще возможно.
Да и не ломалось у меня никогда ничего.
Идея в том что нам нужно делать это всё автоматом. Задать положение, заставить объект подвинуться и посмотреть результат - должно делаться автоматом, где то на фоне, не в реальном времени. Тыкаешь кнопку "прогнать тесты" и через секунду получаешь информацию о том что из сотни разных подсистем игры сломалось после последних изменений. Или не сломалось и можно продолжать. Плюс иные профиты вроде более качественного кода.
>>206467
Обычные тупые аркадные гоночки для мабилок/WebGL/PC/Mac/Linux, монетизация рекламой где возможно. Я весь один и не могу позволить себе тратить слишком много времени чтобы делать тестирование всего ручками.
Указывай пэрента с помощью transform.parent=родительскийобъект
Тогда координаты сохранятся. Так проще.
Так. Стоп. Если ты указываешь просто transform.position=лалала, то ты указываешь позицию относительно мира, не считаясь с родителем. Чтобы указать позицию относительно родителя, нужно делать transform.localPosition=лалала
Уж лучше таскать мышкой, чем привязываться к именам.
Создай у пушки поле AudioClip[] shotSounds. Через префабы задашь каждой пушке свои звуки. Всё отлично.
Отходит от своего подхода. В юнити так не делают.
Двачую.
Только потом не удивляйся что на тебя косо смотрят и не здороваются за руку.
Конечно можно. Вот это будет твое рабочее место. Располагайся, присаживайся и чувствуй себя как дома.
Пиши на чем угодно. Главное игру сделай.
Есть следующий код:
private bool GroundCheck()
{
RaycastHit groundHit;
float distanceHit = 0.1f;
Vector3 downVector = new Vector3(0, -1);
if (Physics.Raycast(transform.position, downVector, out groundHit, distanceHit))
{
return true;
}
return false;
}
Запускаю функцию в FixedUpdate:
if (GroundCheck())
{
verticalSpeed = 0f;
if (Input.GetButtonDown("Jump"))
{
verticalSpeed = jumpSpeed;
}
}
И сосу жопу, потому что GroundCheck() всегда возвращает false, когда я стою на идеально горизонтальной поверхности.
Есть следующий код:
private bool GroundCheck()
{
RaycastHit groundHit;
float distanceHit = 0.1f;
Vector3 downVector = new Vector3(0, -1);
if (Physics.Raycast(transform.position, downVector, out groundHit, distanceHit))
{
return true;
}
return false;
}
Запускаю функцию в FixedUpdate:
if (GroundCheck())
{
verticalSpeed = 0f;
if (Input.GetButtonDown("Jump"))
{
verticalSpeed = jumpSpeed;
}
}
И сосу жопу, потому что GroundCheck() всегда возвращает false, когда я стою на идеально горизонтальной поверхности.
Он не работает при ходьбе по наклонным поверхностям (возвращает false, когда я иду вниз по горе, например), так что тоже говно.
Так это, пушки нету никакой. Есть юнит, на нем его скрипт, всего один. И в нем уже прописано все. Ты предлагаешь сделать отдельный ГамеОбжект, дать ему свой скрипт оружия и сделать его ЧилдОбжектом юнита?
у тебя скорее всего transform.position указывает на середину объекта и distanceHit = 0.1f не дотягивается до пола.
Я тоже так думал, но при distanceHit = 1f я очень медленно падаю с платформы высотой в полметра, потому что функция всё время возвращает true и сбрасывает скорость в ноль.
Плюс на наклонных поверхностях оно тоже показывает true даже при прыжке и я не могу толком прыгать.
1) не сбрасывай скорость в 0. Пусть это за тебя делает физ движок.
2) не делай наклонных поверхностей
>2) не делай наклонных поверхностей
Спасибо, конечно, за совет, но это совсем уж пиздец.
Ищи косяк в координатах. Очевидно же, что оно работает когда ты увеличиваешь дистанцию.
http://docs.unity3d.com/ScriptReference/Debug.DrawRay.html
Всё, оказалось, что я просто тупой и забыл выставить LayerMask платформы в объект игрока.
Пытался изловчиться, мда.
Гугли шейдеры и HLSL.
По идее нужно вокруг сделать сферу с хитрым шейдером который будет считать насколько близко точка на экране близка к поверхности и через это ставить туда нужный цвет. При этом должен стоять флажок что сфера рисуется "вывернутой".
Я бы лично с этого начинал.
Так и надо делать.
А не как ты у себя сделал.
Представь, захочешь ты эту пушку не юниту дать, а десятку зданий. Ты блядь у каждого здания будешь описывать одну и ту же пушку?
Алсо, ты случаем не из Минска?
Ещё тупой вариант - биллборд. Генерируешь программно кольцо чтобы описывало планету, в центр вершины с одним цветом, на ободок с другим. И ставишь так чтобы оно всегда к камере было повёрнуто. Наркоманский скаттеринг такой.
Спрайт тогда уж поставить и всё. Самый оптимальный вариант по производительности, тащемта. Но не очень удобный.
Но мне нужно объемное свечение от объекта. Разве спрайт подразумевает не 2д - объект? Даже если учесть, что он будет постоянно вращаться по отношению к камере, при взгляде всё равно будет видно "двумерность" света.
Родина ему интернеты дала, а он гуглить-анализировать не умеет.
wiki.unity3d.com/index.php/Silhouette-Outlined_Diffuse
> Даже если учесть, что он будет постоянно вращаться по отношению к камере, при взгляде всё равно будет видно "двумерность" света
Ну если у тебя экран монитора - это не плоскость, а двумерное пространство, то да. А так гало с шейдерами с точки зрения игрока не будет отличаться от спрайта ничем.
Ничего ты акробат. Сумел себе за щеку поиграть и даже не заметил.
https://www.google.ru/search?q=марио&newwindow=1&espv=2&biw=1293&bih=906&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjenPqdgpPKAhXk8nIKHfcCA3cQ_AUIBygC
Что сказать то хотел, даунито? Не существует хороших игр без наклонных поверхностей? Ммм?
Лишать игру наклонных поверхностей из-за того, что не можешь это реализовать == синдрому Дауна.
Не можешь реализовать == синдрому дауна. Но что поделать если сюда только такие заходят?
Ты заебёшься размеры подгонять.
>>206617
Тогда надо делать полноценный atmospheric scattering. Надеюсь что ты понимаешь матан.
По идее есть способы простые, вроде биллборда. А есть правильные, с злым матаном.
Ищи на хабре статьи по шейдерам в юнити. Там всё это описано. Ссылку дать не могу, извини.
Не, рашковчанин.
Прост по логике игры пушки только у юнитов, нету ни башен, ни турелей. И не хотелось плодить лишние классы ради такого небольшого функционала.
http://habrahabr.ru/post/211140/
Вот, нашел тебе. Дальше сам, а то вы здесь троллить любите, а мне надо как-то самоутвердиться. Знать, что наводку я дал, но не полностью подсказал. Не троллите, пожалуйста. А то уйду и подсказок у вас будет раза в четыре меньше.
Пытаюсь выдрать из другого скрипта на другом объекте значение переменной, для этого делаю как в туториале:
public GameObject gm;
private GameMasterScript gmScript;
на что он мне отвечает
ErrorCS0246The type or namespace name 'GameMasterScript' could not be found (are you missing a using directive or an assembly reference?)
Почему он не находит этот скрипт? Что делать?
public class GameMasterScript : MonoBehaviour {
У тебя не такое название мб.
Тип не может он создать тебе приватную переменную такую.
Проверяй.
>>206719
Точно, переименовывал скрипт, а название класса поменять забыл, спасибо.
А ещё такой совсем нубский вопрос: вот у меня 2д поле, на нём карточки, но они слишком тёмные. Надо добавить освещение? Какое добавлять и как расположить, чтобы они были ровно подсвечены?
У меня 3д, но для красоты. Суть - 2д. Освещение - 6 источников. 4 по углам, 2 - посередине каждой из длинных сторон экрана. Вроде неплохо и равномерно выглядит.
Почитай про линейную интерполяцию.
А вообще, используй DOTween.
>>206499
Глянь в ассетсторе как реализована 2дшная демка: https://www.assetstore.unity3d.com/en/#!/content/11228
ну ка, расскажи мне тогда почему от геймобжекта горизонтального расположения без регитбоди мой объект прыгает на отлично а от вертикального нет (bounciness врублено) и я не тролю, а не ебу как делать.
Так и уточняй сразу. А то ебанутые вопросы задаёте вперемешку с троллями. Хуй поймёшь, кому отвечать, а кому нет. Уточняй еще. Ты имеешь ввиду, что при ударе по "полу-потолку" шар отскакивает, а при ударе об "стены" - нет?
Туториал смотрел? 3D - почти 2D. С большой вероятностью ты просто накрутил таких характеристик, которые и вызывают такую реакцию на стены. Кстати, шар управляемый? Просто контакт со стенами вечная проблемка.
https://unity3d.com/ru/learn/tutorials/modules/beginner/physics/assignments/bouncing-ball
Отлавливать момент, когда у меша закончатся вершины, тебе придётся в любом случае. Генерируешь меш из кода, ловишь момент когда лимит точек приблизился к концу, создаёшь еще один объект и в дальнейшем заполняешь его меш. Есть еще вариант: создавать каждый кадр по кружочку, и в итоге будет что-то типа линии. Но это пиздец как неудобно. Представь, что будет с игрой, если там будет 300к спрайтов...
Но ведь всё равно нужно заранее задать количество вершин? Я пытался увеличивать количество вершин в апдейте, но у меня сложилось впечатление, что старые вершины при этом не сохраняются.
вершин*
И как ты их увеличиваешь? Мы тут не Пахомы чтоб знать в чем у тебя косяк без кода.
>>206809
А нет способа рисовать кривую линию лайн рендерером не посредством большого количества вершин, а просто выгнуть существующую прямую между двумя вершинами?
У лайн рендерера есть метод SetVertexCount(), вот в нём пробовал каждый кадр создавать вершину, чтобы лишних не делать.
Этот метод устанавливает количество точек в линии. Вроде он обнуляет все точки, кури доки. Тебе нужен отдельный массив с точками, в который ты будешь добавлять новые, и потом это все преобразовывать в точки линии. Делаешь List, пушами в него хуячишь новые точки.
http://docs.unity3d.com/ScriptReference/Gizmos.html
http://docs.unity3d.com/ScriptReference/GL.html
Ссылки отклеились.
Внутри "игры". Это орбиты планет и спутников. Сейчас в тестовом проекте попробовал с вершинами отрисовывать эллипсы. вроде всё ничего, но количество вершин для каждого небесного тела меня тревожит. Посмотрим, что с оперативой и ЦП будет.
Всем привет.
Никогда не сталкивался с юнити и ГД, хочу запилить 2д игрушку аля старый МК, только для дохуищи людей сразу. Из ЯП знаю только питон и жабаскрип.
Мне ЖС хватит для 2д дрочильни (наверно вообще браузерка будет с возможностью скачать клиент или без таковой) или надо шарп учить? Питон ваще никак не загрузить в юнити (как там вообще все загружаеся? Но это похуй, я еще посмотрю туториалы и разберусь, главный вопрос о нужности питона в юнити и необходимости учить шарп, если питон несовместим).
Сорри, что пишу как омич, просто хочеццо спать, но 11 числа сдавать проект, а еще вдруг захотел игру запилить, потому что заебало уже делать мегосайты с кучей говна на них для кого-то, да и вообще куча всего происходит, я не упорот на самом деле, а игра просто попробовать себя, не ну прикиньте как круто, когда сразу 16 человек в МК каждый сам за себя ебошутся, толкьо с физоном еще не думал, но похуй. Рисовать буду в паинте или в фотошопе тян нарисует, кароч, главное, что с питоном и шарпом делать?
Я че спрашиваю то, просто слышал что юнити поддерживает только шарп и ЖЫСЫ, а питон уже нет, типо выпилен в последней версии.
Бля не хочу еще и шарп дрочить сейчас, то есть вообще я хочу его выучить, но не сейчас, сначала надо все закончить.
А че, в юнити особо кодить не нужно что-ли? Все ручками делается и мышкой? МОжет лучше делать на чистом жысы и питоне без юнити-хуюнити?
Но у меня не совсем МК будет, я хочу сделать типо кучу разных людей за разных персонажей играть реальных. Гопники там, битарды, военные, террористы, менты и вообще кто угодно, типо создай своего перса.
И все на улице или где-то. И при смерти перса с него падает его айтем (у каждого свой, можно выбирать), например нож или бутылка, которой можно пиздить других. И другой перс может подобрать эти итемы. Как вам идея? Только террориста не надо наверно, он же всех взорвет и все сдохнут. И он тоже. Типо читерство. Не нужно. Но кучу так можно всего придумать. А еще круто не просто итемы, а способности и все такое, и при достижении уровня или зарабатывании денег давать новые способности (можно выбрать одну только, а купить все, а деньги или опыт за убийства даются, но надо чтобы все друг против друга могли выживать, независимо от того какой лвл уже). Ну типо баланс.
>Все ручками делается и мышкой?
Совершенно нет. Тебе придётся программировать много и напряженно, как и всегда при работе над играми. Но ты как-то хуёво к этому подходишь, а это значит, что не доделаешь.
я просто не знаю, на первом же видео там все типа наставляется на мир как в редакторе карт героев старых, ну типо можно засрать разной ебалой все. И прописывается тоже кнопка такая делает то и так далее.
Вот, я не против программировать много, умею и делаю это, вопрос был про питон и шарп. что там из этого работает или нет, и на чем писать лучше что я описал?
да понятно, что на юнити, а язык программирования там какой? Только шарп или можно на других писать? Или я могу ваще на жабоскрипте всё сделать?
Без разницы. Результат один.
Не, не помогло. Причем, относительно близкие к камере участки линии нормально прорисовываются, дальше начинаются разрывы. far clipping pane или как там мать его у камеры выкручен на максимум практически.
Не знаю, чем помочь тогда. Ты хочешь, чтобы прорисовывались вещи, которые ну очень далеко находятся...
нет, просто используются float, а у этого дерьма проблемы с точностью больших чисел на любых движках
>>206842
А вот тут можно использовать две камеры. У меня рпг с открытым миром, потому тоже довольно большие расстояния. Первая рендерит то, что близко. Вторая то, что дальше. Из минусов - садит производительность, кулинг может жрать очень много, если сцена большая. В мылорушной скайфордже для такого использовали два прохода - первый для близких объектов, второй для дальних, при этом Z-буфер переворачивается. Как итог, то, что посередине - вговно и тормозит на любом железе.
тутор смотрел. да шар управляемый.
Щас начал пробовать. Скоро отпишусь.
Ну, с Gizmos'ами нехорошо вышло. Как и написано в документации, они для дебага. Как бе их можно увидеть при запуске игры в самом редакторе, но в построенной игре они не видны. Насчёт второй ссылки - как бы глупо не звучало, но сейчас для меня это слишком сложно и, судя по всему, не очень то мне и подходит. В любом случае, я вроде как успешно задействовал лайн рендерер, не считая, конечно, того, что у меня траектория разрывается на экране, кхм. Надеюсь починится сменой масштаба.
What I do in many of my platformers is I check if my character is 'walled' as you would check if he's grounded to jump. So if he's actually touching a wall on either side of his body I disable the movement key of that side. I do this via Collision checks, because most of my blocks already have different collision for each side. But you could also do this via Raycasting.
как это сделать ? блжат
это про проблему с застреванием.
У тебя есть рендер в текстуру, у тебя есть возможность менять размер камеры и масштаб текстуры. Дерзай.
>возможность менять размер камеры
Это ты про трансформ.скейл или про фар и ниар клиппинг плэйнс?
Почему лучшая там не закрывающееся окно загрузки движка там плохая оптимизация не платят за бета версию игры сами разработчики в отличии от unrealengine4
Ай сука, просроченные. Извини.
Чет проиграл.
Чини уёбу, детектор.
Про трансформ.скейл. Так делают все нормальные люди.
Посмотри это. Может поможет.
http://scrawkblog.com/2013/04/13/gpu-gems-to-unity-atmospheric-scattering/
Аноны, подскажите, чем лучше задавать плавное быстрое постоянное равномерное движение по кривой траектории? Пробовал Vector3.Lerp, дак он ускоряется в "начале" и "конце" замкнутой траектории, а точнее, в полувершинах эллипса, в моём случае. Vector3.MoveTowards вроде ничего, но при его использовании на больших "скоростях", то есть на большом шаге, видна покадровость. Разве что в один апдейт пихать цикл с Vector3.MoveTowards, хм. Пробовал на объект навешивать риджидбоди и в нём пробовал изменять Rigidbody.velocity, хотя, при этом покадровость видна еще сильнее. Еще использовал Rigidbody.Move(), но с ним тоже какая то залупа. Чем лучше всего пользоваться в моём случае?
inb4 анимация. в моём случае не катит по определенным причинам.
Пули, я так понимаю, настоящие объекты, которые подвержены гравитации и теряют скорость во время полета, что снижает их поражающую способность и так далее, да?
Небось ещё хочешь половину экрана закрывать, когда в глаз попадают, да, кирилл? А если серьёзно, то просто забей на это, можно реализовать объекты, которые летят со своим коллайдером, а умные дяди просто рейкастят и не парятся.
Ебанько, добрый совет: забей на физику мелких тел, тем более которых на сцене дохуя
Сплайны.
Апдейт
Я не вижу ничего плохого в реализации реалистичного поведения пули, все упирается только в производительность, как я понимаю. В этом и был вопрос. В современных играх делают рейкасты или объекты? На который вы кстати нихера не ответили.
На твой вопрос я ответил нормально, что можно делать и УЛЬТРАРЕАЛИСТИЧНО, вот только фпс у тебя больше 15 не поднимется, а можно просто рейкастить. Слышал, что рейкаст ОХУЕННО-РЕСУРСОЗАТРАТНАЯ ХУЙНЯ, значит ты слышал херню. Что лучше для производительности: пустить луч один раз и проверить коллизию или иметь ~50 маленький объектов с коллайдерами и физикой. Пока писал вспомнил про particle system, там есть коллизия, только кури ман
http://docs.unity3d.com/Manual/class-WorldParticleCollider.html - Устаревшая система частиц для столкновений
http://docs.unity3d.com/ru/current/Manual/class-ParticleSystem.html - Вон это актуальная система, там есть вкладка collison
Не за что, хуесосина, про мамку мне ещё будет загонять.
По идее для пулек делается хитрая система если нужна баллистика. С пульками в GameObject ты заебёшься - придётся как минимум делать пул для них. У Юнити нет "пакетного" райкаста с задержкой в кадр, который был бы идеален для этого. Но пули летают быстро и ты можешь тупо райкастить разом больше участки. Или сразу определять куда она попала и просто рисовать трассер или что там у тебя. В играх главное достоверно выглядящий обман.
Объекты+рэйкасты. Я уже писал в этом треде единственно верную технологию. Если пуля прошла 0.1f - делаем каст из точки прошлого достижения 0.1f в актуальную точку. "Физику" пуле ни в коем случае не делай с помощью physics. Это я ебал пиздец. Снижай позицию пули с помощью скрипта.
Что-то вроде
gameObject.GetComponent<SpriteRenderer>().sortingOrder = (int)(transform.position.y * -10 );
только чтобы сразу в редакторе.
>рейкаст охуенно ресурсо-затратная хуйня
Вот это пиздёж на самом деле. Райкаст работает через физ движок и он очень дешёвый в плане ресурсов.
>>206982
В батле райкаст+задержка сначала была. Потому чуваки умудрялись дохнуть уже после забегания в укрытие. Потому сделали райкаст+задержка+райкаст. Но там проще, там баллистики нет вообще. В арме сделано, как анон писал, райкаст+прохождение участка+райкаст, но только плюс ещё матан, там пули по дугам могут летать.
>>206993
Есть же скрипты для редактора, хуле ты.
Используй DOTween.
Нормально делать кусочный рэйкаст каждый тик.
В personal версии нельзя отключить сплеш скрин и убогий лаунчер.
Хочу чтобы с помощью рейкаста при столкновений со стеной отключалась клавиша впереда/назад.
вперед* быстрофикс
Это если что-то, что может взять издатель.
Или надеяться на то, что само выстрельнет (наивно). В случае с издателем мы имее необходимость пилить что-то с большим количеством качественного контента, а это время - год минимум. Издателей таполок вроде Ketcgapp не берём т.к. пробиться к ним шансы примерно такие же, как взлететь в топ будучи одиночкой (лотерея).
Ну в одиночку хоть и достаточно сложно, но можно раскрутиться. Другое дело, что мало кто знает как это делать, а те кто знают в большинстве своем считают это зашкваром.
как правило это просто удача как в случае That Level Again. чувак нашел флеш игру на арморах 2009 года, зарескинил под мобилки и в итоге сейчас 300$ в день имеет. всё это лотерея, а я изначально говорил о системном подходе. например истории, которые публикуют на gamedevblog. делают игры под веб, толкают спонсорам и зарабатывают, системно! т.е. хоть сколько-нибудь, да заработаешь. А в случае с мобилками хуй (пару кликов по рекламе и 0.5$ не деньги)
Можно раскрутиться посредством разогрева аудитории. Если сможешь своим девлогом/статьями/постоянными_постами_на_форумах итд держать подогретым интерес, то шансы выстрелить будут уже не столь призрачны. Да, по началу это въебывание ради двух-трех калек, но выхлоп с 2-3+ игры уже может быть куда больше чем через издательства.
всё это отлично как хобби, да. но ни как бизнес, хоть и небольшой. поэтому юнити для работы на себя не годится.
>поэтому юнити для работы на себя не годится
Уёбывай отсюда и не возвращайся, клоун. Съеби к уеча-господам, создавайте вместе хиты.
При чем тут юнити то? Он то как раз один из лучших инструментов для тех, кто делает игры. Геймдев для собственного бизнеса не годится ты хотел сказать?
он охуенен для больших игр! а не для веба блядь!
только делать большую игру ты будешь пять лет.
Кароч, у тебя есть апдейт, где ты проверяешь, нажата ли клавиша или нет. Если нажата -- делаем что-то. Пишешь булевой флажок, если столкнулись со стеной флажок получает true и если флажок имеет значение true и пользователь нажал клавишу -- значит ЧТО-ТО не запускается.
Просто.
Заходишь к нам на сайт и идешь в раздел вакансии. Только так ты сможешь зарабатывать на нашем говноюнити.
Недоумок в данном случае ты.
У тебя есть неплохой набор инструментария, который называется Unity Editor. Сиди блядь и делай игру на что угодно. Тебе не надо ебаться с кучей всякого говна под каждую платформу. Да, есть у нас косяки, что какой-то компонент может вести себя неправильно на той или иной платформе, но иди-ка ты на хуй, мы постоянно срем патчами на кучу юнитиверсий, чтобы у тебя твой йоба проект не сломался к хуям.
Но нет же, проще написать юнитиговно, я бы сделал лучше, все вокруг долбоебы, один я нихуя не сделал и пизжу на всех и вся.
Тебя бы блядь посадить пилить игры во времена фамикома, когда у тебя инструмент хуйня, а все вокруг на этой хуйне выжимали такое, что текущие индидауны с текущим инструментарием не могут вытянуть.
Короче, завалите свои ебла тупые вы пезды и давайте по делу говорить.
Попробуй наш The Silent Age.
Два чая господину.
>>207050
Благодаря редактору, который ты можешь кастомизировать, ты можешь превратить интерфейс в свой конструктор игры. Захотел редактор диалогов: 2 дня и готово, тайловый редактор: 1 вечер и уже есть, тулза, которую могут юзать дизайнеры для создания и изменения объектов: пару часов и готово. Шейдеры писать благодаря богоподобному cg и shaderlab просто великолепно. Что тебе ещё надо? Ты где такое ещё увидишь?
>>207025
>>207026
>>207030
Забавно, забавно. Обратите внимание, что каждый юнитиблядок счел своим долгом сказать, что лаунчер можно убрать, но при этом каждый из них промолчал про то, что сплеш скрин убрать нельзя.
Разрабы юнити ебут юнитиблядков и кончают им в жопы, но они пытаются утаить это, чтобы выглядеть нормальными со стороны.
Тебе просто не хватает самого главного - купи почтовый ящик evro.b_o"iznis-2015ANUS'w[mailPUNCTUMr7cPu, отдам всего за 10к зелени.
Тогда любой бизнис в гору пойдет. Еще uynti pro купи, попроси у мамки денег, пусть продаст квартиру. Скажи, скоро миллионы заработаешь на мобилках и купишь новую.
Чего ты хочешь от хоббистов. Тут вряд ли найдётся хотя бы пяток человек, которые завершили хоть какой-то проект.
Торрент лицензией? Лол
Что еще расскажешь? Хочешь убрать сплешскрин - плати 5 косарей в месяц пожизненно. Анальное рабство у разрабов юнити.
Слышал, что с 6 версии они будут ебать в жопу за возможность убрать сплешскрин. Но юнитиблядки согласятся и на такое, ну как же без юнити, как же гринлайт, как же миллионы.
Действительно, до пришествия unyti игр не существовало в принципе как жанра.
Ты наверное и шуруповертом отказываешься пользоваться из за того, что он может разрядиться и пульт от телевизора презираешь по той же причине? РАНЬШЕ ЖЕ ЖИЛИ БЕЗ ЭТОГО!
У меня нет лишних десяти лет и нескольких миллионов долларов на разработку чего-то, что будет хоть на 10% таким же хорошим, как юнити.
Собирал свою браузерную игрушку со сценой, 3Д объектами, скриптами, звуками. Результат - 9,91 МБ
Просто ты криворукий тралл, либо просто долбоёб.
Вся суть юнити-мирка - пытаться скрыть тот факт, что тебя ебут в жопу. Надо платить 5к баксов, чтобы поменять сплешскрин? Тсс, не говорите никому, unyti это лучший инструмент. Билд пустого проекта весит 150 мегабайт - тсс, давайте напиздим что 10, ведь unyti это так классно.
Разрабы unity ввели расплату жопой за возможность публикации игр в маркете - тсс, давайте по-быстрому подставим очко и никому не скажем, ведь unyti это так здорово.
И опять ты немытого хуйца заглотнул со всем кроме скрина. Что, совсем стыда никакого нету? При людях такое вытворять не стыдно?
Никто собственно не позиционирует Unity как хороший вариант для веба. У вас там своя петушиная атмосфера, в которую универсальные движки пока со скрипом пытаются пробраться.
юнитеки заявили что это их целевая платформа, вапщета блядь! не могут в главную платформу... нормально, чо...
Ты заебал, дурила. Открой конгрегейт, открой социалки. Все 3Д браузерные игры на юнити сделаны. ВебГл у них ещё из превью не вышел, но скоро выйдет. Да и веб плеер до сих пор используют.
Личка закрыта. Открой в личном кабинете.
>юнитеки заявили что это их целевая платформа
Ну они пытаются. И прогресс виден. Другое дело, что веб всячески сопротивляется этому в угоду безопасности. Sad but true.
В браузерах есть положняк. 2Д - флеш, 3Д - юнити. Если ты этого не понимаешь, то ты просто мартышка.
После блокировки юнити-плагина веб на юнити нет смысла делать. Слишком много кривой жс дрисни получается на выходе. Проще взять threejs или playcanvas и высрать более-менее компактное говно без сплешскрина.
На хтмл5 нет смысла делать, с его-то производительностью. С другой стороны, флеш тоже сейчас у большинства отключен. Но если какой мудак захочет поиграть прямо в браузере - то может и включить. Как по мне, сейчас веб деградировал до "доюнитевской" эпохи и, по сути, 3д не поддерживает и для игр толком непригоден.
Нихуя ты дурень, блять. Проще, ага. Dead Trigger 2 уже давно на вебгл сбилжен и ничего, работает, всё заебок, только у кириллов-паникёров всё плохо, но это потому что они один хуй игры не делают.
Мамка твоя по сути 3д не поддерживает. Производительность вебжл позволяет делать игры уровня мобилок точно. И 2д и 3д.
Упитанно.
Не деградировал, а эволюционировал. Посмотри, какие сайты были раньше, обвешанные свистоперделками и анимациями, и посмотри сейчас - везде простой лакончиный дизайн, минимум рюшечек, максимум информации. Веб он для того и нужен, чтобы обмениваться информацией, текстовой, графической, читать статьи, писать посты. В игрульки в браузере играют только конченые дегенераты.
г-ди.
Зато большинство дебилов собрались в одном треде - норм же.
>Посмотри, какие сайты были раньше, обвешанные свистоперделками и анимациями, и посмотри сейчас - везде простой лакончиный дизайн, минимум рюшечек, максимум информации.
Сегодня два раза попались сайты программерской тематики со снежинками на жаваскрипте, которые грузили пека на 50%. У меня бомбило.
Нельзя.
Нет, нельзя.
Нет, ты конечно можешь впилить костыль, но пока будешь его пилить какой же ты омич-полуебок, который не просек фишку, что дочерний объект попал в манямирок систему координат родительского объекта.
Отделяй объекты, короче.
Каждый кадр в LateUpdate меняй у чилда rotation на тот, который тебе нужен (изначально зафиксированный в start например)
Не, ну WebGL даже работает. Я делал несколько тестов и всё не так ужасно, просто плохо. Но я делал 3Д с графоном и на флеше, не привыкать. Плагин конечно лучше.
>>207100
Не 5, а полтора, не пожизненно, а одноразово. За рабочее место. Даже по российским меркам это в районе или меньше одной месячной зарплаты в сфере.
>>207103
Ну ты можешь взять любой другой движок. Их много.
Делай такой трюк. Есть родитель в котором меняется только позиция. Есть первый потомок, который у тебя сейчас родитель, в котором меняется только вращение. И второй потомок в котором живёт то что тебе надо.
>и посмотри сейчас - везде простой лакончиный дизайн
СSS3! BOXSHADOW-WEBKIT! MOZ-BORDER-RADIUS! АНИМАЦИИ НА CSS! JQUERY! ЕЩЁ КНОПОЧКИ СОЦИАЛЬНЫХ СЕТЕЙ, ВИДЕО НА БЭКГРАУНД неотключаемое И СНЕЖИНОК, СНЕЖИНОК! Ах да, забыл, ещё кастомных шрифтов пять штук, ещё лишние 200 мегабайт. И это всего лишь страница 404. Если это эволюция, то ебал я дарвина мамашу. Но вообще изначально писал про игры. Тот же флеш очень жрёт процессор и частенько на нём играть нельзя, особенно на разных линуксах раньше было.
>>207218
>WebGL даже работает
В половине браузеров хуёво, во второй половине очень хуёво. Я не спорю, сам видел симуляцию воды и тканей в браузере, которые грузили цп всего на 90%. Но потом открыл исходник и почитал тот код, человек такое не напишет, там какая-то генерация. А с плагином было заебок. Наверное, потому его и убили.
>В половине браузеров
Первая половина - хром, где вебгл прекрасно работает, вторая - лиса, где все работает, но чуть помедленнее.
>видел симуляцию воды и тканей в браузере, которые грузили цп всего на 90%
Симуляция это не игра, и требования в плане быстродействия к ней другие.
> В половине браузеров хуёво, во второй половине очень хуёво.
Но ведь работает. Проблема плагина в безопасности и кроссплатформенности. Времена безраздельного царства x86 кончились.
http://www.youtube.com/watch?v=Y6WkjxIEMfU
Сука, да откуда вы лезете.
Оптимально или нет -- это уже дело десятое. Ты сначала сделай, а потом оптимизируй. А то блядь нихуя нет, но об оптимизации уже пекутся.
Есть тут один ответ на твой вопрос. Чтобы его понять полностью видео смотреть не обязательно.
https://www.youtube.com/watch?v=ZGhwRlcLLp0
Ну так поясни мне в чем разница в твоём случае.
Что значит "оптимально"? Ты вообще о чем?)
http://pastebin.com/D2RaHJjj
Я там закомментил строчку нужную.
снаряд.
"Вы не поймёте как сделать правильно, пока не сделаете". стивен Макконнелл
А не, отбой тревоги. Вроде нашёл. Надо же ГО добавить компонент меш фильтр, и к его полю меш присобачить нужный меш?
молодец. меш рендерер только еще пригодится
Бэмп.
Может проблема в Z координатах? Отследи дебагами точные 3д координаты камеры и спавнера.
Application.targetFramerate.
Смотря какие баги фиксить будешь. Если контент, то можешь ассет бандлы использовать, если скрипты, тогда всю игру переливать надо.
"It seems your browser does not support running Unity WebGL content from file:// urls. Please upload it to an http..."
Кто сталкивался, как решить?
Через локальный сервер https://github.com/cesanta/mongoose
Set shared directory -> Go to my address
А просто обновить екзешник не вариант?
С добрым утром
А нахуй?
Про типы переменных знаешь.
Про массивы и списки.
Про циклы.
Про типы функций.
Все, остальное математика/геометрия/физика нужная для конкретной задачи.
И то в 90% случаях все велосипеды уже придуманы.
Прост берешь и без задней мысли растешь как специалист делая игори.
Во-первых,
>"C# 4.0. Полное руководство"
соснешь, т.к. ОСОБЕННОСТИ кросс-платформенной разработки будут ебать тебя твоим сахаром в жопу.
Во-вторых,
>Прост берешь и без задней мысли растешь как специалист делая игори.
LINQ всякий, атрибуты и прочая поеботина
Синтаксический сахар (англ. syntactic sugar) в языке программирования — это синтаксические возможности, применение которых не влияет на поведение программы, но делает использование языка более удобным для человека.
Учись гуглить, пидор ебаный.
всё правильно, нечего расслабляться
Читай про архитектуру и пробуй делать вещи.
И как сделать оптимизацию, можешь заметить около гаризонта некоторое размытие.
>можешь заметить около гаризонта некоторое размытие
Туман же обычныей. Возможно еще подсвечивают небо на горизонте через шойдер.
Про террейн не знаю, но я бы делал его кусками, у каждого куска есть карта неба(кубемапа) с отрендереными соседними кусками на горизонте, по мере движения игрока их грузить и подменять небо.
На юните всякую хрень делают наверно и это возможно.
Туман да, но я и мел в виду что как раз там, где начинается туман - вместо рельефа плоская поверхность и по мере приближения к которой отчётливо видно как она становится рельефной.
Наверное шейдер какой-то.
Если не париться, то можно юзать карту нормалей, если хочешь реальное изменения ландшафта, то генерь карту высот и смещай в вертексном шейдере точку вершины вверх по карте высот. Если не понял, что я написал, то милости прошу в изучения шейдеров.
Понять понял, только ещё задача, что бы в этот тиррейн можно было врезаться на самолёте. Будет ли меш коллайдер знать об изменениях в вершинах?
https://www.youtube.com/watch?v=YyU54RvPfvM
Только вот как такое сделать, хз.
Братушки а для того чтоб для мобилочек разрабатывать нужно unity принудительно переводить в OpenGL ES режим?
Нет конечно, надо будет заранее обтягивать его коллайдером. Вообще тут зависит от сути: если ты хочешь ёба конки н самолётак по ущельям, то тебе придётся делать объекты скалл, но если у тебя полёты высоко и максимум - это просто упасть на землю, то внизу бы просто сдела текстуру с картой высот или нормалей.
По моему просто ставишь в настройках целевую платформу и всё автоматом настраивается.
Такой постыдный вопрос,уж поймите нуба. Все туториалы начинаются с того, что "учитель" берёт игрока из готового ассета. Как в новой версии сделать в сцене игрока с нуля, самому, не из заготовленных ассетов?
Для начала тебе надо понять, какое поведение ты хочешь задать главному герою. И далее уже описать свойства и методы в его классе, экземпляром которого, т.е. объектом того типа он и будет являться.
Подъёбываешь? Как влепить в сцену возможность ходить по ней?
>>207558
Для ускорения рендера же.
Чтобы на WiiU и NintendoDS делать.
Сплит скрины. Зеркала заднего вида в автосимуляторах.
Опять же зависит от того, на какой платформе будет запущено)) В методе Update() класса Player делаешь проверку нажата ли клавиша, которая например двигает игрока вперёд и т.д.
Кури документацию, кури API блядь.
Так с документацией и начал изучать, а не по ютубовским урокам же. Не вижу, где в документации написано, как активировать игрока. ЧЯДНТ?
Какого игрока, ёбанаРотБля?!
Есть класс, он описывает поведение, хуячишь в нём метод вроде:
void Move() {
this.transform.position = Vector3.MoveTowards(transform.position, target.position, step);
}
Если вызываешь этот метод в апдейте при срабатывании клавиши, то GameObject, на котором висит этот скрипт будет двигаться.
"Активировать игрока"... блядь...
Куда ты лезешь, если даже концепции ООП не понимаешь.
а что изменилось?
У тебя за щекой, проверяй.
Какого хрена в самой Юньке они открываются с пиздециански медленной скоростью? Ни отредактить, нифига. Кликнешь на них и ждешь...
Как пофиксить?
нужна помощь по разбору говнокода на С#
код - полная копипаста из книги Unity in action (Joe Hocking).
скрипт вешается на "противника".
с его позиции пускается луч вперёд.
что противник должен делать:
1.идти вперёд.
2.делать SphereCast (не знаю как правильно сказать по-русски, простите) радиусом 0.75 и если она задевает объект -- чекать есть ли у объекта компонент PlayerCharacter.
если таковой имеется -- спавнить с prefabs "фаерболл". к "фаерболлу" прикреплен скрипт, который двигает его вперёд, чекает столкновение и тд.
3.если дистанция до препятствия меньше некоей заданной поворачиватся на рандомный угол (от -110 до 110)
что он не делает:
он не спавнит "фаерболл". просто бесцельно ходит, при этом нагло толкая меня когда я стою у него на пути. скрипт PlayerCharacter при этом на "игроке" висит ес-но.
ЧЯДНТ?
Это копия, сохраненная 25 февраля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.