Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред

Check this out!


<<
[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 1104 | 149 | 241

Unity Thread Аноним 03/04/17 Пнд 18:21:07  394374  
unity.jpg (59Кб, 750x422)
Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности!

Прошлый тред: https://2ch.hk/gd/res/387294.html

Официальный сайт: https://unity3d.com/ru
Документация: https://docs.unity3d.com/ru/current/Manual/index.html
Уроки: https://unity3d.com/ru/learn/tutorials
Форум: https://forum.unity3d.com/
Магазин ассетов: https://unity3d.com/ru/asset-store
UnityWiki: http://wiki.unity3d.com/index.php/Main_Page

На Unity сделано много замечательных игр - Rust, Блицкриг 3, Pillars of Eternity, Tyranny, Kerbal Space Program и многие другие. Главным преимуществом Unity перед другими движками является его простота для одиночной разработки. Не нужно иметь целую компанию девелоперов, чтобы сделать хорошую игру. Если ты один или имеешь небольшую команду и хочешь сделать хорошую игру без претензий на ААА, то Unity станет лучшим выбором. Тем не менее, даже крупные корпорации зачастую выбирают для своих игр именно Unity.

FAQ

- Какие у Unity сильные стороны?
- Простота разработки, удобный инструментарий, кроссплатформенность, богатая документация, огромное сообщество.

- Какие у Unity слабые стороны?
- Сложность в создании фотореалистичной графики. Для графики "как в Crysis" рекомендуется взять другой движок. Хотя Unity вполне способен выдавать не уступающую любым другим движкам картинку, это требует определённого навыка от разработчика.

- На каких языках я могу писать скрипты для Unity?
- На выбор два языка - C# и UnityScript. UnityScript - это что-то среднее между JavaScript и ActionScript. Выбирай язык по своему вкусу, они оба вполне удобны, но помни, что большинство примеров написано на C#.

- Для каких жанров подходит Unity?
- Для абсолютно любых! Жанр ограничивается лишь фантазией разработчика (и его умением писать скрипты, разумеется). Можно создавать и РПГ, и стратегии, и слэшеры. Можно делать VR-проекты или Minecraft-подобные песочницы.

- На каких платформах работают созданные с помощью Unity игры?
- Windows, Linux, MacOS, SteamOS, Android, iOS, Windows Phone, PlayStation4, Xbox One, WebGL, Oculus Rift и многие другие. Полный список можно найти на официальном сайте. Таким образом, игры Unity работают на десктопах, на смартфонах, планшетах, приставках, в браузерах, VR-очках и некоторых других системах.

- Часто вижу скриншоты с красивой природой на Unity. Как такое создать?
- Очень просто! В Unity встроены удобные инструменты для создания террейна и SpeedTree для создания деревьев и готовая реализация ветра - не нужно ничего писать или скачивать и подключать плагины - ландшафт в Unity создаётся в пару кликов.

- Что такое стартер киты?
- Starter Kit - это набор скриптов и префабов, а зачастую и графических элементов для игры. Они призваны облегчить разработку игры определённого жанра и как правило разбиты по жанрам (Action-RPG Starter Kit, RTS Starter Kit, 3D Shooter Starter Kit, Space Game Starter Kit, VR Starter Kit и так далее). Также бывают стартер киты различных игровых элементов, не связанных с геймплеем (Nature Starter Kit с дополнительными природными объектами, Medieval Starter Kit со средневековыми объектами и так далее). По сути, стартер киты выполняют в разработке игры ту же роль, что и фреймворки в программировании. Однако стоит отметить, что использование геймплейного стартер кита принуждает разработчика изучать большое количество чужого кода и чужой структуры для внесения своих изменений и полноценного использования. В связи с этим большинство разработчиков предпочитает писать почти всё с нуля, получая полное понимание работы своей игры. Новичкам крайне не рекомендуется начинать знакомство с Unity со стартер китов.

- Что нужно уметь делать для создания полноценной игры, кроме Unity-разработки?
- Кроме непосредственной разработки игры на Unity, требуется также уметь создавать 3D модели (3ds Max, Blender, ZBrush), 2D рисунки (GraphicsGale, Aseprite, Piskel), текстуры (Substance Designer, NeoTextureEdit), музыку (FruityLoops, Ableton). Не обязательно учить это всё - например, в 2D играх не нужны 3D модели, а музыка необходима далеко не всегда. Также вы можете скачивать элементы для ваших игр на бесплатных сайтах. Если у вас есть деньги, то все необходимые элементы можно заказать у фрилансеров на https://www.fl.ru/ (русскоязычный) или https://www.upwork.com/ (англоязычный).

- Бесплатен ли Unity?
- Можно свободно скачивать, использовать и продавать готовые игры на Unity с лицензией Personal - это абсолютно бесплатно! Но на бесплатной версии при запуске игры будет появляться короткий стартовый ролик "Made with Unity", а также ваши доходы ограничены 100 000 долларов в год. Для снятия этих ограничений нужно приобретать платные версии лицензий Unity. В конечном итоге, платные варианты используются лишь крупными компаниями с огромными доходами, тогда как обычные разработчики в большинстве своём используют бесплатную Personal лицензию.

Обучение

- Язык
Итак, с чего же начать изучение этого замечательного движка? Прежде всего, с изучения языка. Самые основы C# можно узнать на интерактивных курсах здесь:
https://dotnetcademy.net/CSharp/Beginner
или в текстовом туториале здесь:
https://www.tutorialspoint.com/csharp/csharp_quick_guide.htm
Для изучения основ UnityScript выучи вначале основы JavaScript:
https://learn.javascript.ru/
Помни, что далеко не все элементы JS есть в US. Чтобы понять, в чём разница между этими двумя языками, прочти эту статью:
http://wiki.unity3d.com/index.php/UnityScript_versus_JavaScript
Помни, что тебе достаточно одного языка из двух и учить их оба одновременно не нужно.

- Движок
Если ты уже умеешь использовать язык, то можно приступать непосредственно к изучению движка. Крайне рекомендется купить/скачать книгу Unity in action (Unity в действии). В ней подробно описываются множество возможностей движка.
http://www.ozon.ru/context/detail/id/34792570/
Также посмотри на видеотуториалы с официального сайта:
https://unity3d.com/learn/tutorials
Если же ты не любишь видеотуториалы (или не понимаешь разговорный английский) и предпочитаешь текст, то посмотри здесь:
http://catlikecoding.com/unity/tutorials/
Тут крайне подробно описан процесс разработки и приведены примеры кода. Эти туториалы универсальны и описывают множество различных частей игры, от работы с текстурами до генерации карты мира. А вот в этом туториале описыватся разработка двухмерной игры с видом сверху:
https://www.raywenderlich.com/61532/unity-2d-tutorial-getting-started
Это будет полезно, даже если ты планируешь разрабатывать трёхмерную игру. Ни в коем случае нельзя обойти вниманием этот сборник туториалов:
https://noobtuts.com/unity
В нём подробно описывается процесс пошагового создания разных игр - двухмерных и трёхмерных.

Разумеется, все эти туториалы охватывают лишь часть возможностей Unity. Самый надёжный способ выучить Unity - это начать делать игру и по мере разработки гуглить непонятные моменты.

Шапка: http://www.writeurl.com/publish/zukmrogwv45ptyuseyol
Аноним 03/04/17 Пнд 18:57:44  394379
>>394374 (OP)
http://unitylist.com/ поисковик юнити-проектов по гитхабу
Антоша 03/04/17 Пнд 19:18:51  394384
>Какие у Unity слабые стороны?
Жирный сцуко. Для ведроидов вообще жесть. 20мб АПК без контента, 30% обычной лопатной батареи за час игры.
Аноним 03/04/17 Пнд 19:24:48  394388
>>394384
Безальтернативно же
Аноним 03/04/17 Пнд 19:58:43  394394
Как закреплять элементы UI на экране ?
Аноним 03/04/17 Пнд 20:04:21  394397
Screenshot9.jpg (160Кб, 1659x748)
Screenshot10.jpg (79Кб, 1281x978)
>>394394
нубу от нуба
Аноним 03/04/17 Пнд 20:05:19  394399
Screenshot11.jpg (20Кб, 637x345)
>>394394
и это
Аноним 03/04/17 Пнд 20:06:23  394400
2e8c27ca8f2605c[...].png (14Кб, 282x383)
>>394394
Аноним 03/04/17 Пнд 20:11:32  394401
Screenshot14.jpg (80Кб, 678x577)
>>394400
в тюторилах говорят кликнуть мышкой раз, а потом shift и еще раз

в чем тут шифка с шифтом?
Аноним 03/04/17 Пнд 20:14:31  394405
>>394401
учимся быть внимательным?
Shift: Also set pivot
Alt: Also set position
Аноним 03/04/17 Пнд 20:14:45  394406
>>394401
Слепой?
Аноним 03/04/17 Пнд 20:21:45  394407
>>394406
обиженый?
Аноним 03/04/17 Пнд 20:24:37  394408
>>394407
На кого? На тех, кто в шары долбится? Много чести.
Аноним 03/04/17 Пнд 20:25:36  394409
>>394408
заебали
Аноним 03/04/17 Пнд 20:28:07  394410
>>394408
какой же ты мерзкий
Аноним 03/04/17 Пнд 20:45:28  394421
>>394397
>>394399
>>394400
Спасибо
Аноним 04/04/17 Втр 10:40:24  394500
Screenshot1.jpg (95Кб, 662x703)
я правильно понимаю, что не особо важно, где скрипт, обрабатывающий GUI весит. Хоть на самом UI, хоть на камере, хоть на пустом объекте.
Или тут есть свои тонкости?
Аноним 04/04/17 Втр 10:46:18  394502
>>394500
Ты правильно понимаешь.
Аноним 04/04/17 Втр 11:06:57  394506
>>394500
gameObject меняется, но если ты его не используешь, то без разницы.
Т.е. скрипт, который по нажатию кнопки что-то делает, и меняет цвет кнопки, лучше вешать на саму кнопку, чтобы иметь доступ к её свойствам через gameObject.GetComponent().
Аноним 04/04/17 Втр 11:10:41  394507
>>394500
И еще лучше избегать супер-йоба скриптов, которые делают сразу кучу всего, типа GUI, GameLogic и так далее.
Лучшей практикой считается использование небольших скриптов, которые делают что-то одно.
Т.е. из предыдущего примера с кнопкой, тебе нужно повесить на кнопку два скрипта, один дергает анус игровой логики, второй меняет цвет объекта, к которому прикреплен.
Это не всегда возможно, конечно, но пытаться надо.
Аноним 04/04/17 Втр 11:12:31  394508
>>394507
Не знаю, зачем я это написал, вопрос был вроде о другом.
Аноним 04/04/17 Втр 11:14:02  394510
>>394502
>>394506
>>394507
>>394508
спасибо! Всё пригодится
Аноним 04/04/17 Втр 11:29:24  394516
>>394401
объясняет и показывает на второй минуте

https://www.youtube.com/watch?v=09WwK-56ThM
Аноним 04/04/17 Втр 12:07:17  394524
Ткните пожалуйста носом в маленький скрипт, который проигрывает звук при нажатии кнопки. Размещать кучу звуков на сцене и после их привязывать через onClick() напрямую неудобно, т.к захламляется сцена.
Аноним 04/04/17 Втр 12:18:11  394530
>>394524
Ебошишь на объект AudioSource, в него пихаешь нужный клип, снимаешь галочку с Play On Awake и пидоришь скрипт

public class TheSoundOfYoba : MonoBehaviour {

AudioSource audioYoba;

void Start () {
audioYoba = GetComponent<AudioSource> ();
}

void OnMouseDown () {
audioYoba.Play ();
}
}

И теперь при клике мышкой по объекту будет проигрываться тот клип, что ты в него засунул.
Аноним 04/04/17 Втр 12:19:46  394532
a1b065351338a35[...].png (12Кб, 448x318)
>>394530
> \t
Это уже макаба добавила, это в скрипт писать не надо.
Вот, короче.
Аноним 04/04/17 Втр 12:59:54  394542
>>394532
Спасибо
Аноним 04/04/17 Втр 16:25:02  394569
Посоветуйте годных материалов по программированию камеры, конкретнее от 3-лица. Все которые нашел очень примитивны, хочется с детектером коллизий, опозданием, огибанием геометрии. Пжлст без готовых ассетов.
Аноним 04/04/17 Втр 16:32:31  394570
>>394569
Раз - https://www.youtube.com/watch?v=DoDZuFNh4tw
Два - https://www.youtube.com/watch?v=keIANWPiUWE

Основы описаны очень доходчиво, если разберёшься — переделаешь под себя более тонко как тебе нужно.
Аноним 04/04/17 Втр 17:15:21  394579
>>394569
>>материалов по программированию камеры
Синусы, косинусы, математика векторов, лерпы
Аноним 04/04/17 Втр 17:50:40  394589
>>394579
> Синусы, косинусы, математика векторов
Лол, помню вопли в школе НАХУЙ МНЕ ЭТИ ВАШИ СИНУСЫ-ХУИНУСЫ И ВЕКТОРА-ХУЕРА? НИНУЖНА!!1
Аноним 04/04/17 Втр 18:30:55  394598
>>394589
Тащемта, в школе они и не нужны были. И хоть бы кто тогда сказал: "Вот если интересна %хуйнянейм%, учи вектора, пидор".
А сейчас они освежаются (или учатся) довольно легко. Это же не ебаные матрицы с логарифмами и прочей хуйней.
Аноним 04/04/17 Втр 18:32:54  394600
>>394598
> И хоть бы кто тогда сказал: "Вот если интересна %хуйнянейм%, учи вектора, пидор"
Нам так и говорили, что, мол, каждую хуету вам говорят не просто так, потому как экстрасенсов не завезли и никто не ебёт кем вы потом станете. Так что жрите всего по чуть-чуть, а потом после выпуска сами разберётесь на что у вас стоит.
Аноним 04/04/17 Втр 18:33:42  394601
>>394598
> Это же не ебаные матрицы с логарифмами
Лол, как будто матрицы с логарифмами это что-то сложное.
Аноним 04/04/17 Втр 19:11:47  394608
>>394601

Лол, как будто математика сложная наука.
Аноним 04/04/17 Втр 19:14:13  394612
>>394608
Смотря как далеко в неё влезать.
Но логарифмы и матрицы — это ж школьная программа.
Аноним 04/04/17 Втр 19:14:16  394613
>>394601
Когда ты распиздяй, не понимаешь, зачем ты вообще сюда пошёл, половина предметов резко становятся довольно сложной.

Потребуется вот это вот все — буду ковырять. Хотя зачем, ведь где-то уже выложили дюжину велосипедов.
Аноним 04/04/17 Втр 20:00:58  394622
camera.jpg (179Кб, 1113x906)
>>394613
Не нужны там матрицы и тригонометрия. Лепишь на камеру что-то вроде пикрелейтеда, добавляешь sphereCollider и rigidBody, и вуаля, ваша камера готова. Ну разве что position и rotation через rigidBody надо будет менять, чтобы плавно было.
Аноним 04/04/17 Втр 20:10:05  394624
>>394622
Я вообще не тот кун, которому камера от третьего лица нужна. Я даже не разбирался в тригонометрии (которую я прогулял и продрочил на нулчане) для поворота персонажа за камерой, просто спиздил велосипед и приравнял позицию камеры к позиции игрока, чтобы было заебись.
Аноним 04/04/17 Втр 20:30:14  394627
>>394622
Риджидбади на камеру? Ну чёт как-то хуй знает.
Аноним 04/04/17 Втр 21:04:48  394632
>>394627
она будет проходить через стены.
Аноним 04/04/17 Втр 21:06:03  394633
>>394627
Нормально. Без гравитации и с полным контролем положения в пространстве самое то, будет стукаться об остальные коллайдеры вместо того, чтобы клипаться.
Аноним 04/04/17 Втр 21:15:34  394635
>>394633
Надо потестить.
Я рейкастами всё это велосипедил.
Аноним 04/04/17 Втр 21:31:58  394637
>>394635
Ну так-то можно и через рейкасты ебашить, но нахуя, если велосипед уже встроен в rigidbody.
Я, вот, сначала персонажа двигал через transform, а потом я понял, что мне надо через стены, все таки, не проходить аки бог.
Аноним 04/04/17 Втр 21:33:26  394638
>>394635
принцип достаточного основания \ принцип ножа оккамы. юзай этот кал что бы не тратить часы на убогиие велосипеды, жиза проще станет атвичаю
Аноним 04/04/17 Втр 23:30:26  394649
Приветствую, юнитигоспода. Какое лучшее решение для серверной части игры на юнити? Photon server? На чём он написан?
Аноним 04/04/17 Втр 23:33:42  394650
>>394649
если ты нуб, то ты просто тратишь время впустую такими вопросами.
если про:
unity3d.ru forum
Аноним 05/04/17 Срд 00:01:32  394652
Посоветуйте, кто шарит, как грамотно запилить растягивание фона меню под размер экрана? Пилю 2д рогалик, приоритет, конечно же, мобильная платформа, но не исключаю сборки под линукс, хохмы ради. И, надо бы, чтобы фон отображался как надо. Пытался поставить изображение больше, чем размер камеры - это прокатывает на огромном числа мобилок где мелкий экран, но при большом разрешении(на пк, например) видны края. Что-то подсказывает, что копать надо в сторону Canvas>panel, но нужен совет знающего человека, который подтвердит мои догадки или направит на путь истинный.
Аноним 05/04/17 Срд 00:19:00  394654
Screenshot20.jpg (97Кб, 918x813)
>>394652

this >>394516

начиная с 3-й минуты
Аноним 05/04/17 Срд 00:27:27  394655
Есть два стула которые я нашел чтобы понять что анимация закончилась, anim.GetCurrentAnimatorStateInfo(0).normalizedTime и ивент в самой анимации вызываютщий функцию. Какой стул лучше, и есть ли другие?
Аноним 05/04/17 Срд 00:29:48  394656
Добрый вечер.
Я пишу небольшой шутер. Каждое оружие у меня представляет из себя GameObject. Соответственно, мне надо сохранить, какое оружие у меня сейчас есть, вместе с его состоянием. Т.е. сохранить куда-ту GameObject и потом загрущить его.
Подскажите, есть ли нормальный способ в рантайме сохранить/сериализовать GameObject?
Аноним 05/04/17 Срд 00:31:05  394657
>>394655
можно всавить свой эвент.
Аноним 05/04/17 Срд 00:31:23  394658
>>394657
причем в любой точке анимации
Аноним 05/04/17 Срд 00:36:58  394659
>>394656
по мойму у тебя недопонимание иерархии.
Вот твое:
GameObject > Ak-47
Вот как правдоподобнее.
AK-47 > GameObject
т.к. обьект на сцене это всеголишь переменная от слова менять. Как например в скрипте AK-47 переменная ReloadTime.
И что значит сохранить? Имеешь ввиду при выходе из игры, или в момент игры?
Аноним 05/04/17 Срд 00:38:09  394660
>>394657
>ивент в самой анимации вызываютщий функцию
Это я знаю. А что лучше/эффективнее/проще?
Аноним 05/04/17 Срд 00:41:50  394662
>>394656
нубу от нуба

в скрипте, что управляет игроком, сделай массив из GameObject
в редакторе в инспекторе заполни его префабами йхе;бз
выбирай по GameObject bullet = (GameObject)Instantiate(bulletPrefab, new Vector3(0, 0, 0), new Quaternion(0, 0, 0, 1));
Аноним 05/04/17 Срд 00:43:25  394663
>>394662
>bulletPrefab
weaponPrefab

сохраняешь i
Аноним 05/04/17 Срд 00:57:32  394664
>>394659
Да, я инстантинирую из префаба объект, согласен. Но что, я теперь не могу сериализовать этот объект? Почему в обычном программировании я могу сериализовать объект класса, а тут не могу?

Сохранения происходят при переходе с уровня на уровень. Ну, то есть, да, при выходе и входе у меня должно сохраниться текущее оружие.
Аноним 05/04/17 Срд 00:59:33  394665
>>394662
У меня куча мобов на сцене бегает тоже с оружием. Предлагаешь у каждого хранить весь набор?
Аноним 05/04/17 Срд 01:08:11  394666
>>394665
по моему разумению таскать индекс на префаб легче, чем сам объект. Возможно я не вполне понимаю твою проблему
Аноним 05/04/17 Срд 01:29:51  394668
>>394660
ты че тролишь или как. я понимаю мы бы обсуждали что то пиздецки сложное за гранью реальности. но тут от силы потратишь 5 мин на все три одновременно
Аноним 05/04/17 Срд 01:33:13  394669
>>394660
если постоянно бояться что ты делаешь что то не так, то нихуя и не сделаешь никогда
Аноним 05/04/17 Срд 01:45:48  394670
>>394664
от нуба. сделай class weapon{ str name, go model, float reload} и его сериализуй? или заменить GameObject model на String и юзать какой нить resources.load
Аноним 05/04/17 Срд 01:49:43  394671
>>394670
ну типа на загрузке получаешь весь класс weapon с данными из прошлого левела а модель пулеметки грузиш resources.load(ak47.modelPath);
Аноним 05/04/17 Срд 01:50:54  394672
>>394671
ну бля типа gameobject modelka = instantiate( resources.load(ak47.modelPath))
Аноним 05/04/17 Срд 01:55:56  394673
>>394672
сорян если хуйню написал, в душе не ебу что такое сериализация. Слышал что это для сохранения и т.п. Для меня это когда за день посмотрел 16 серий любимого сериала.
Аноним 05/04/17 Срд 02:24:12  394675
>>394659
Я уже второй раз вижу описание такой логики, но нихуя не понимаю. Пожалуйста, объясните идиоту на пальцах и скриншотах, как это должно выглядеть.
Аноним 05/04/17 Срд 02:25:41  394676
>>394669
Так я не боюсь. Я уже сделал то что надо и всё работает. Просто интересно что из них работает лучше.
Аноним 05/04/17 Срд 02:52:03  394677
>>394654
Блядь говнодел какой-то.
Аноним 05/04/17 Срд 03:08:05  394679
>>394675
скрипт AK-47:
GameObject model
float reloadTime
int maxbullets
спрашивай конкретнее что не ясно.
так же скрипт ak-47 тобишь класс, может не иметь своих переменных, а получать\наследовать от балванки класса вроде WeaponBlueprint
Аноним 05/04/17 Срд 03:11:58  394680
>>394679
WeaponBlueprint = ak-47, USP, Glock, Bazooka
гугли ООП. Гугли что такое компонент в юнити, в кратце пустой геймобьект это всего лишь точко в пространстве, "не пустой" это MeshRenderer с моделькой(mesh)
Аноним 05/04/17 Срд 03:15:47  394682
>>394680
я сам нуб, вообще то так что не слушай меня особо. ООП применять новичку вообще не имеет смысла по мойму, только если в игре есть много разных вещей с одинаковыми параметрами. типа негр и белый
Аноним 05/04/17 Срд 06:07:16  394686
>>394677
Добро пожаловать в увлекательный мир видосов о юнити, чо. Они даже на офф. сайте такие, чтобы делать "как надо" надо самому иметь опыт в ООП и всем прочем говне.
Аноним 05/04/17 Срд 10:57:20  394698
>>394686
>иметь опыт в ООП
Borland Delphi 1.0
до твоего рождения, да?
Аноним 05/04/17 Срд 13:11:09  394711
>>394698
После, но мне не совсем понятен смысл твоего комментария. Говнякать на делфи/mfc/winforms != иметь опыт с ООП.
Аноним 05/04/17 Срд 13:32:03  394712
>>394679
Ага, теперь понял. Но сам скрипт куда вешать-то?
Аноним 05/04/17 Срд 13:40:16  394713
>>394711
>макаке дали делфи 20 лет назад
>макака не оценила
Аноним 05/04/17 Срд 13:42:22  394714
>>394712
на игрока очевидно
Аноним 05/04/17 Срд 13:47:49  394715
>>394713
Кто-нибудь может сказать, что несет этот поехавший?
Аноним 05/04/17 Срд 13:50:37  394716
>>394715
говнокодер не может в ООП
Аноним 05/04/17 Срд 14:51:21  394724
>>394679
А, блядь, так вся суть была в том, что в классе хранится префаб с графоном и физоном.

>>394714
На игроке-то он зачем? Игроку можно через Dictionary<WeaponSlot, Weapon> указать, какие оружия у него есть, дальше просто спавнить имеющуюся нужную модель в руки и давать из нее стрелять.
Аноним 05/04/17 Срд 15:07:44  394725
смотрю видосики по Networking и каждый пилит свой велосипед

Одни через Network Manager, Network Manager HUD, Network Identity и т.д.
Другие через Network View


Аноним 05/04/17 Срд 16:10:57  394735
Аноны, такой вопрос. Чувак сделал в блендере модель, сделал UV развертку, натянул текстуры, сделал материалы и так далее. Ну, к примеру, сделал материал стекла с, цитирую: "Бликами, IOR искажениями и отражением". Импортирует все это в .fbx и присылает мне все это вместе с текстурками.

Вот и столкнулись с проблемой, что юнити, на сколько я понимаю, не очень хочет дружить со сложными материалами из блендера. Как поступать в данной ситуации? Неужели вся его работа с материалами насмарку и тот же материал со стеклом нужно будет настраивать самостоятельно в самом юнити?
Аноним 05/04/17 Срд 16:18:03  394739
>>394735
> юнити, на сколько я понимаю, не очень хочет дружить со сложными материалами из блендера
И в чём это выражается?
Аноним 05/04/17 Срд 16:18:55  394741
>>394735
Photoshop QUIXEL последний раз было бесплатно, и до охуения просто, готовые пресеты, а можно и свои ебашить
Аноним 05/04/17 Срд 16:22:05  394743
>>394735
дать юнети пожевать сам файл блендела?
Аноним 05/04/17 Срд 21:18:38  394797
>>394654
Таки походу я криво выразился. Тут суть дела такова: Есть фон, есть кнопки меню, но на разных соотношениях крана слетает расположение(Например, когда в редакторе настраиваю всё для соотношения 4:3, а потом запущу сие творение на экране 16:10, то слетает расположение кнопок относительно картинки) Короче объясняю я хуёво, но надеюсь кто-нибудь разберёт мой бред и поймёт суть) Был вариант запилить canvas с ui под каждое из возможных соотношений сторон и, чтобы в настройках, юзверь сам выбирал то, что отображается наиболее адекватно для его девайса. Или есть способ наименьшего использования вазелина? Чтобы велосипед не изобретать. Если надо, смогу присобачить пикчи.
Аноним 05/04/17 Срд 21:37:34  394803
>>394797
фиксируй кнопки углами относительно углов экрана
серединой относительно середины
ну тыпонел
Аноним 05/04/17 Срд 21:41:16  394810
>>394797
Это странно. Если ты задаешь отступы от края внутри элемента, они же должны вместе с элементом перешакаливаться как надо.
Скинь структуру своей штуки, что ли.
Аноним 05/04/17 Срд 22:50:34  394819
Снимок.PNG (31Кб, 271x490)
Снимок1.PNG (133Кб, 828x618)
Снимок2.PNG (96Кб, 826x616)
Снимок4.PNG (141Кб, 825x613)
>>394803
уже зафиксировал, и выставил, чтобы они растягивались\сжимались в зависимости от экрана. С этим проблем нет. Туплю с фоном, т.к на 16:9 соотношении он нормально отображается, а на меньших\больших его штормит. Думаю, мб вектор спасёт?
>>394810
Прикрепил настройки canvas и по-сути сам трабл.
Аноним 05/04/17 Срд 23:09:20  394826
14914180535880 [...].jpg (174Кб, 770x1080)
Ща будет очень длинный пост
Инвентарь в unity
Суть
-Есть базовые ячейки (Порядка 20 в сумме(привязаны к разным частям тела\конечностей)
-Есть предметы которые влазят лишь в определённые слоты.
Скажем рюкзак при всём желании к колену не прикрепишь
-В некоторые предметы можно вкладывать любые\определённые вещи в патронаш лишь патроны, в рюкзак всё что угодно
-Каждый предмет имеет лимит на вместимость к примеру в сумку на 3х3 клетки при всём желании не всунешь вещь размером 2х4
-Планируется мультиплеер, поэтому интересно как реализовать(адаптировать скрипт) под мп без лишнего гемора.
Просьба кинуть толковых гайдов по UI или помочь советом если можете, с меня няшки
Аноним 05/04/17 Срд 23:54:00  394843
icevideo2017040[...].webm (9179Кб, 1278x1022, 00:00:13)
icescreenshot20[...].png (232Кб, 1278x1022)
goblin-5.png (58Кб, 149x149)
>>394826
> Инвентарь в unity
нехуй делать
> -Есть базовые ячейки (Порядка 20 в сумме(привязаны к разным частям тела\конечностей)
делаешь контейнер в GUI Canvas, в него добавляешь 20 UI Image с картинками пустых ячеек
и ровно над ними ещё 20 обжектов с пустыми картинками, которые будут меняться в зависимости от предмета
дальше их скрипту кормишь, лучше как массив. но можно и не как массив.
скрипт прилагаю. но туда ещё допиливать и допиливать.
> -В некоторые предметы можно вкладывать любые\определённые вещи в патронаш лишь патроны, в рюкзак всё что угодно
у предметов поставь int itemtype который будешь проверять потом
> -Каждый предмет имеет лимит на вместимость к примеру в сумку на 3х3 клетки при всём желании не всунешь вещь размером 2х4
с таким инвентарём а-ля Might And Magic уже труднее.
пиши функцию значит, которая будет парсить клеточки одну за другой, и если клетка свободна, чекать клеточки справа и снизу от неё на "пустость". форму предмета советую задавать в двумерном массиве ноликами и единичками.
> -Планируется мультиплеер, поэтому интересно как реализовать(адаптировать скрипт) под мп без лишнего гемора.
чекать ячейки инвентаря на клиенте. "и_так_сойдёт.jpg" если кто догадается зачитерить и впихнуть невпихуемое — ну нихуя себе вот ето проблема, впихнёт в сумку на 4 предмета больше. невелика потеря. всё равно твою НАКОЛЕНКЕ-игру им лень ломать будет а для инвенторя [SerializeField] и синхронизируем массивом при подборе-использовании-выбросе предмета.
Аноним 06/04/17 Чтв 13:59:39  394923
>>394826
а че погуглить или в ютюбе вбить некактит unity3d inventory?
Аноним 06/04/17 Чтв 14:01:20  394924
>>394826
всегда веселит когда нубы говорят про то что их игру кто то будет читерить. Проблема в том тчо твоей игры нет и не будет никогда, понимаешь?
Аноним 06/04/17 Чтв 14:02:57  394925
>>394924
> всегда веселит когда нубы говорят про то что их игру кто то будет читерить
Довольно частая ошибка новичка. Они сначала покупают седло, а уже потом лошадь.
Чаще всего у таких игра дальше архитектуры и тестовой сцены не уходит.
Аноним 06/04/17 Чтв 14:10:34  394926
14883817339883.jpg (438Кб, 1944x2592)
>>394843
Спасибо за очень грамотный и адекватный ответ.
Держи няшу.
>>394923
Там делается примитивный инвентарь, меня же интересовал сам механизм создания инвентаря как в пункте 3 и 4
>>394925
Мне очень важно твоё мнение
Аноним 06/04/17 Чтв 14:14:01  394927
>>394926
> Мне очень важно твоё мнение
Ну я просто сказал то, что очень часто наблюдаю. Я ж не говорю что ты обосрёшься со своей игрой или что ты кодить не умеешь или ещё чего. Я просто говорю что очень часто народ со своими разработками забегает дальше, чем нужно. Всему своё время.
Аноним 06/04/17 Чтв 14:20:29  394930
>>394926
видно ты с похуизмом отнесся, потому что я смотрел 2 версии инветаря и обе включали вообще все что ты описал, кроме заморочек про читерство.
Аноним 06/04/17 Чтв 14:43:26  394935
11.png (518Кб, 707x580)
Screenshot2017-[...].png (456Кб, 1024x600)
goblin-5.png (58Кб, 149x149)
Darkest8ae42260[...].jpg (52Кб, 398x504)
это провал, анончик.
у меня нет слов.

короче, послал не бох давеча таблетку с андрюхой, Irulu Expro X7, ну и значит как любой нормальный пидарас я сразу решил забилдить на неё что-то. и вроде всё работает и даже еграть можно, но тут я напоролся на пиздец под названием ТЕРРАЙН.

так вот, сей ненормальный пиздец делает пикрел при любом раскладе связанном с мелким тайлингом (начинается примерно с 32х тайлов на террайн).
ессесно я принял бой и сражался как истинный паладин, но всё же обосрался и обосранным прибежал на гд просить подмоги.

что я перепробовал:
• обычный террайн со сплатмапом и террайн шейдером
• террайн, запеченный в меш со снятыми с него картами нормалей и сплатов
• Standard Shader с Detail Map
• Mobile Normal Shader
• Самописный шейдер с деталь-мапой, в котором вместа fixed2 в анрапе стоит float2 (должно было избавить от ошибок округления, а хуй там)
• Самописный мейдер в котором вместо UV меша для UV деталь-мапы используется _worldPos.xz перемноженный на переменную кол-ва тайлов
• перебор различных форматов компрессии текстуры под мабилу
• отключение Mip-Mapping
• отключение Anisotropic Filtering
• парсинг решения на ЮнитиАнсверз до последней страницы гугла это дерьмо не у меня одного, но ответы там от кирюх
• рейджкьюит из юнити
• ПЕРЕЗАГРУЗКА OS MICROSOFT WINDOWS

билд под андрона прилагаю. я ебал. это дерьмо невероятно.
http://rgho.st/6RVSrNfss
Аноним 06/04/17 Чтв 14:48:29  394941
>>394819
предлагаю следующий велосипед.
сделай все отдельными спрайтами
крепи также относительно сторон
Аноним 06/04/17 Чтв 14:50:21  394942
>>394819
Я может немного не об этом, но в спрайтэдиторе можно сделать разметку, внутри которой всё будет тайлиться, а за границами разметки всё будет статично.
Аноним 06/04/17 Чтв 14:51:50  394943
>>394935
Ты шейдеры какие выставил? Ведроид не все держит.
Аноним 06/04/17 Чтв 14:52:25  394944
>>394935
>>394943
А, пардон, в глаза ебусь.
Аноним 06/04/17 Чтв 14:52:35  394945
Screenshot1.jpg (51Кб, 1208x675)
>>394935
>http://rgho.st/6RVSrNfss
положи в другое место, пожалуйста
Аноним 06/04/17 Чтв 14:55:02  394947
>>394935
Так это ж не баг, а фича!
Может ГГ по сюжету под кислотой.
Аноним 06/04/17 Чтв 14:58:40  394948
>>394945
http://dropmefiles.com/vjj0Z
есть подозрения что всё это может быть связано с древностью самой таблетки и её максимальным нищеебством
>>394944
там на всех шейдерах одинаковый результат. пока что самая умная мысль что была на юнети-форумах заключается в том что анрапу не хватает пресижена: https://forum.unity3d.com/threads/mobile-terrain-texture-pixelization.231680/
Аноним 06/04/17 Чтв 14:59:58  394949
Screenshot2017-[...].png (479Кб, 1280x800)
>>394945
Ну хуй знает, братишка. Говно, конечно, но не такое как у тебя.
Asus Nexus 7, если что.
Аноним 06/04/17 Чтв 15:00:27  394950
Это >>394949 сюда >>394935
Аноним 06/04/17 Чтв 15:01:24  394951
>>394947
не, тогда было бы всё с точностью до наоборот, детали акцентуировались бы. а ВОЛШЕБНО ПУТЕШЕСТВОВАТЬ егрока в манямирок майнкафта чет не хочется
Аноним 06/04/17 Чтв 15:03:47  394952
>>394949
OH WOW, уже кое-какая информация.
таки да, в мануалах по юнети указано что у разных девайсов float'ы шейдеров говнякаются по-разному, то в 24 бита, то в 16. но всё равно спасибо большое, я удостоверился в понимании сути проблемы.
Аноним 06/04/17 Чтв 15:13:04  394957
>>394949
Да нет же, вполне симпотично. В стиле даггерфола или первых квейков.
Аноним 06/04/17 Чтв 15:19:01  394959
Screenshot2000-[...].png (694Кб, 1280x800)
>>394952
Galaxy Note 1
Аноним 06/04/17 Чтв 15:21:33  394961
>>394959
>Galaxy Note 1
мде. благодарю. пойду дальше чистить говно.
Аноним 06/04/17 Чтв 15:26:16  394963
Screenshot2017-[...].png (275Кб, 800x480)
>>394935
Бомжетруба Samsung SM-G350E
Аноним 06/04/17 Чтв 15:38:16  394965
Untitled-2.png (127Кб, 688x528)
>>394963
и тебе спасибо.
короче, раз оно не зависит от девайса, остаётся всего два решения
либо разбивать меш на части и/или вообще делать модульный террайн
либо хуйзнабить, убрать детальмапу, пусть земля будет размытая как ёбь
Аноним 06/04/17 Чтв 15:44:21  394971
>>394965
> раз оно не зависит от девайса
Судя по этому >>394949 таки зависит.
Аноним 06/04/17 Чтв 15:48:27  394974
>>394971
в том смысле что от девайса зависит степень зашакаленности карты деталей, а не сам факт зашакаленности.
Аноним 06/04/17 Чтв 15:55:40  394975
аватарка.webm (4066Кб, 700x392, 00:01:14)
>>394935
>это провал, анончик.
>у меня нет слов.
тебе следует загрузить ещё больше ассетов!
Аноним 06/04/17 Чтв 16:12:16  394980
Screenshot2017-[...].png (622Кб, 1280x720)
>>394974
Galaxy Note 2
Аноним 06/04/17 Чтв 16:32:14  394985
>>394941
изначально все элементы были спрайтами, потом в пикчу слепил для удобства. Изначально небо\трава\столбы были тупо вынесены на сцену и настроены под определённое разрешение. Соответственно, ничего не закреплял на canvas`e, т.к они вообще лежали отдельно. Потом пытался вынести столбы в canvas и закрепить относительно сторон, но юнити их внаглую отказывался видеть(Не исключаю фактор моей рукожопости) Вроде выставлял приоритет отображения, играл со слоями и результат был = 0. Но т.к делать больше нечего, то попробую ещё раз и потом отпишу.
>>394942
Поподробнее можно? ну или где копать хоть?)
Аноним 06/04/17 Чтв 16:36:12  394986
Screenshot2017-[...].png (3636Кб, 2560x1600)
>>394935
galaxy note 10.1 2014
Аноним 06/04/17 Чтв 16:37:02  394987
>>394986
We have a WINRAR!
Аноним 06/04/17 Чтв 16:39:25  394989
1.png (24Кб, 278x516)
2.png (51Кб, 1077x696)
>>394985
> Поподробнее можно? ну или где копать хоть?)
Ну просто жмёшь на кнопку и размечаешь поля. Всё что снаружи — не деформируется. Всё что внутри — тайлится.
Аноним 06/04/17 Чтв 18:16:53  395004
>>394989
Спасибо потыкаюсь. Позже отпишу, если будут вопросы.
Аноним 06/04/17 Чтв 18:49:18  395009
Untitled-154.png (16Кб, 372x326)
236543.png (17Кб, 848x68)
Братишка помоги, я совсем отчаялся. Вообщем суть такова, решил запились изометрический A* и обосрался на подлете, не смог придумать как перевести координаты из позиции мышки в индекс массива.Читал интернеты но все что там нашел не подошло, нашел один хороший алгоритм но и тот работает только на половину первого ряда, помоги мне, а? на втором пике CurPosition это переведенная из экранного в Ворлд координаты позиции мыши
Параметры тайлов такие:
TileWidht = 4; // unity units
TileHeight = 2; // unity units
TileOffset_X = TileWidht/2;
TileOffset_Y = TileHeight/2;
Аноним 06/04/17 Чтв 18:51:10  395010
Untitled-123.png (18Кб, 372x326)
>>395009
Индексирую тайлы слева-направо, снизу-вверх.
Аноним 06/04/17 Чтв 19:33:59  395019
T5688.20170204.png (7Кб, 467x467)
>>395009
блять, да зделай жи ты нормально
чтобы тайлы были гейобжектами, чтобы ты их рейкастил без базара, чтобы можно было камеру нормально двигать и без привязки к положению курсора (а у тебя хуй ты подвигаешь её, нужно велик писать), чтобы тайлы нармально обрезались по фруструму камеры
чтобы всё как у людей было короче
Аноним 06/04/17 Чтв 19:35:57  395021
>>395009
Рейкастом не вариант стрелять в нужную клетку?
Аноним 06/04/17 Чтв 19:37:32  395022
>>395009
А ты парень серьёзный, я смотрю.
Аноним 06/04/17 Чтв 19:38:46  395024
>>395021
а он навелосипедил отрисовку. взял юнети и велосипедит в нём.
Аноним 06/04/17 Чтв 19:47:02  395026
>>395010
1. Объясните нубу что значит "A*".
2. В чем проблема за 5 мин сделать яйчеки раздельными как написано выше?
Аноним 06/04/17 Чтв 19:47:54  395028
>>395026
3. у тебя на стыках ячеек, ребра двойной толщины.
Аноним 06/04/17 Чтв 19:48:46  395029
>>395026
> 1. Объясните нубу что значит "A*".
Матрица, то бишь двухмерный массив.
Аноним 06/04/17 Чтв 19:49:45  395032
>>395029
чо
астар это максимум дефолтный алгоритм поиска пути, ну там для рогуликов, для говна двадешного
Аноним 06/04/17 Чтв 19:51:11  395033
>>395032
лол, успел как круто, уже хотел переспрашивать
Аноним 06/04/17 Чтв 20:00:37  395036
1401040902679.jpg (69Кб, 640x541)
>>395024
Интересно, нахуя, ведь один из первых геймдев туторов на сайте поясняет за игру с клетками и пошаговостью.
Аноним 06/04/17 Чтв 20:05:22  395039
>>395021
Нет, дешевле просто посчитать из позиции.
Аноним 06/04/17 Чтв 20:07:59  395041
>>395028
Это правильно так как размер тайла 30х16 если делать без стыков то будет 32x18 в уме 32x32 так как двиг будет комповать на ^2 размеры при верных пропорциях.
Аноним 06/04/17 Чтв 20:08:16  395042
>>395039
ты за какую дешевизну борешься? там нет нихуя стоимости этого сраного рейкаста, да в шутанах в которых предметы можно подбирать эти рейкасты каждый апдейт летят, а ещё и враги есть которые рейкастом каждый апдейт игрока ищут глазами

но нет, НЕТ, ХОЧУ ВЕЛОСИПЕДИТЬ А НЕ ИГРУ ДЕЛАТЬ
Аноним 06/04/17 Чтв 20:09:47  395043
>>395039
всмысле дешевле, игра для старой nokia? хуй знает я слышал процессор делает триллионы операций в секунду, не верю что рейкаст займет хоть 1\100000000000000 часть
Аноним 06/04/17 Чтв 20:15:13  395046
>>395039
Твой велосипед уже выглядит намного "дороже" одного сраного рейкаста.
Аноним 06/04/17 Чтв 20:19:26  395049
158a8fd7c1bd45a[...].jpg (71Кб, 780x304)
>>395043
Ну давай я объясню, В моем способе я просто трансформирую курсор в мировое пространство и чистой математикой высчитываю индекс в массиве, так делается во всех нормальных играх пруфов не будет, но есть статьи ро фаллаут и дьябло, так-же есть движки типа FIFE это быстро работает, можно считать хоть каждый кадр, а не клик считать. Если пускать рейкаст из камеры в геймобжекты то во-первых так как игра не тайловаяу меня отрендреные беки, большие куски то мне придеться просто генерить поле коллайдеров, во вторых мне нужно будет для каждого коллайдера вешать класс наследуемый от мономехавиер, даже если в нем просто будет храниться индекс массива или можно давать именна в честь индекса и переводить из стринга в инт что тоже глупо. думую дальше обьяснять не нужно. А мой алгоритм работает на половину, мне просто нужно помощь разумиста-математика, что-бы додумал, я то дурак с задней парты.
Аноним 06/04/17 Чтв 20:20:20  395051
>>395046
>>395049
Аноним 06/04/17 Чтв 20:24:00  395053
>>395049
Аллгоритм отлично считать строго по границам половину первого ряда, мне нужно понять как его дороботать и в чем сейчас ошибка, можете посчитать таймером, мой алгоритм даже в такой реализации, против кучи колайдеров 4096х4096 ,рейкастов и класса от монобехавиер.
Аноним 06/04/17 Чтв 20:26:15  395054
>>395053
4096х4096 это массив с нодами, если без дискретных клеток.
Аноним 06/04/17 Чтв 20:29:50  395055
>>395054
если ты знаешь что ошибка в расчетах, почему не дебагнуть через Debug.drawline(от камеры до точки) и проверяй на сколько, где и куда отклоняеться линия. Ну и меняй циферки в коде как надо.
Аноним 06/04/17 Чтв 20:33:06  395058
ascii.gif (22Кб, 724x475)
>>395055
Я смогу найти ошибку, но буду делать это еще с неделю т.к. не полный рабочий день занимаюсь этим проектом, но задача тривиальноя и Анон знает решение, так как он очень умен, сейчас он придет и поможетнет, подожду и пойду дальше считать это гавно.
Аноним 06/04/17 Чтв 20:35:38  395059
14199684121401.jpg (26Кб, 500x274)
>>395049
> так делается во всех нормальных играх пруфов не будет, но есть статьи ро фаллаут и дьябло
какой год, напомни?
> это быстро работает, можно считать хоть каждый кадр
рейкастов за кадр можно хоть 100500 посчитать
> придеться просто генерить поле коллайдеров
for (int y=0; y< 128; y++) {
for (int x=0; x< 128; x++) {
не благодари

> во вторых мне нужно будет для каждого коллайдера вешать класс наследуемый от мономехавиер
ну и ну.
а ещё в этом классе можно хранить дохуя полезной инфы, например.

короче, зря-зря.
Аноним 06/04/17 Чтв 20:37:56  395062
>>395049
> Если пускать рейкаст из камеры в геймобжекты
Чего блядь? Тебе говорят про один луч из курсора.
> игра не тайловая
А хули?
> мне придеться просто генерить поле коллайдеров
>>395059 вот этот меня обогнал.

Экономия на экономии. Хуй знает, с какой микроволновки ты хочешь запускать свое поделие.
Аноним 06/04/17 Чтв 20:45:27  395065
14840942352910.gif (4749Кб, 256x212)
>>395062
>>395059
Хоспаде, надеюсь это один анон семенит, и предлогает вместо простого сложения, использовать 4096х4096 коллайдеров с классом и пускать лучи в коллайдеры, либо просто тут сидят аноны которые ждут ответов на свои проблемы из-за не прочитанной документации и советуют...
Аноним 06/04/17 Чтв 20:46:24  395067
>>395058
ну удачи, только есть мнение что тут ты нихуя не получишь. По этому попробуй на unity3d.ru
Аноним 06/04/17 Чтв 20:50:02  395068
>>395067
та так и есть конечно, просто я поспешил, еще не ночной и все что-то понимающие аноны спят.
Аноним 06/04/17 Чтв 20:53:15  395071
>>395065
> предлогает вместо простого сложения
у тебя велосипед головного мозга
> использовать 4096х4096 коллайдеров
я буду хохотать когда ты в игру будешь запихивать свою текстурку 122880x65536 в игру
ну и да, ВКЛЮЧАЙ КОЛЛАЙДЕРЫ @ ОТКЛЮЧАЙ КОЛЛАЙДЕРЫ если уж так поехал по оптимизации
> еще не ночной и все что-то понимающие аноны спят
МААМ ОНИ ВСЕ ТУПЫЕ НЕ ОЦЕНИЛИ МОЙ ПОГРОМИЗДСКИЙ ГЕНИЙ
Аноним 06/04/17 Чтв 20:56:28  395075
1402059768513.jpg (65Кб, 807x605)
>>395065
Да нахуй тебе вообще курсор, стрелочками переключайся между тайлами.
Аноним 06/04/17 Чтв 20:59:07  395076
>>395071
>велосипед
Не хочется отвечать на флейм, но что-ты имеешь ввиду под велосипедом, ведь как раз этот термин больше подходит под те кастыли которые ты мне предлагаешь с коллайдерами. А насчет сложение обьяснять не буду, сам найдешь, но есть только 1 и 0 и только сложение, умножение это тоже сложение, вычитание это сложение с отрицательным значением, учи мат часть, и твой велосипед с коллайдерами против
mouse_grid_x = floor((mouse_y / tile_height) + (mouse_x / tile_width));
mouse_grid_y = floor((-mouse_x / tile_width) + (mouse_y / tile_height));
Только полный дурак может посоветовать то что ты советуешь, прости конечно, но я бы тебя нахуй послал, но не Б.
Аноним 06/04/17 Чтв 21:03:51  395077
>>395076
слушай, делай как хочешь, обвиняй всех в том что они тупые и не делают как ты делаешь, да мне насрать, вот честное слово
Аноним 06/04/17 Чтв 21:05:51  395079
>>395076
как ты в 4056х4051 будешь опредлять в какую точку можно встать а какую нет
Аноним 06/04/17 Чтв 21:09:48  395080
>>395071
Помогу этому анону представь что у тебя не изометрия а диметрия и каждый тайл это квадрат 1х1, если позиция мышки в (13,14)? то значит индекс узла в массиве [13,14], и так далее, а ты предлагаешь ему лепить велосипед из коллайдеров и рейкастов, вместо простой трансформации векторов.
Аноним 06/04/17 Чтв 21:12:01  395083
>>395079
Какая разница между 4056x4051 или любого другого?Это не имеет значение, перебераются соседние клетки, накидываются веса и проверяется на проходимость. Ты вообще знаешь что как работает А*?
Аноним 06/04/17 Чтв 21:15:34  395085
>>395080
превет я не понял проблему но напишу свой высер что если округлять не до 1 2 3 а до 0.5 \ 1 \ 1.5 и т.п. а что бы было проще есть при импорте строчка pixels per unit, тобишь если твоя картинка 512 пикселя, ставешь 512 и вуаля твоя картинка стала 1 юнит в длину
Аноним 06/04/17 Чтв 21:17:37  395086
>>395085
пиздец я тупо написал, начиная со слов "а что бы" это уже идет второй вариант для раздумий а не первый
Аноним 06/04/17 Чтв 21:40:36  395089
>>395071
Испанский стыд.
Аноним 06/04/17 Чтв 21:48:39  395092
>>395009
>>395049
>>395065
>>395071
>>395080
http://clintbellanger.net/articles/isometric_math/
Тут вроде про то.
Аноним 06/04/17 Чтв 23:45:57  395141
Есть ли способ рисовать линии в unity ui ?
Нужна возможность рисовать линии на подобии пикрил (ссорян за кривой пик, рисую мышкой)
Т.е наподобии линий в paint.net c задаваемыми "головками" и и изгибом (опционально)
Аноним 06/04/17 Чтв 23:48:32  395143
>>395141
всмысле UI? может проще через line renderer сделат?
Аноним 07/04/17 Птн 00:24:57  395153
>>395143
Он кривой пиздец
Аноним 07/04/17 Птн 00:31:51  395155
>>395143
всмисли
Аноним 07/04/17 Птн 01:39:45  395174
>>394985
Итог: рукожоп. Я прикреплял якорями не к тем же сторонам, что и кнопки. В итоге был анал-карнавал на экране. Прикрепил в те же места, и всё встало на свои места. Тонны нефти всем, кто помог)
Аноним 07/04/17 Птн 05:32:17  395188
uitest4.jpg (139Кб, 1186x669)
>>395141
Рисую с помощью Vectrosity, мне норм. В 2d и на GUI там тоже можно рисовать, стоит 30$.
Аноним 07/04/17 Птн 07:59:52  395193
gifka1.gif (1434Кб, 912x514)
Привет анон.
Как сделать что бы камера меняла позицию только когда спрайт будет на определенном расстоянии от цетра стороны куба, на которой он находиться сейчас?
Например камера стоит ровно, но когда спрайт достиг 2 клетку от края, камера тогда "подгоняется" Как по вертикали так и по горизонтали отдельно. А сейчас камера движется каждый шаг как на гифке.
Аноним 07/04/17 Птн 08:01:24  395194
>>395193
сейчас камера работает так (куб - спрайт).normalize * distance
Аноним 07/04/17 Птн 10:30:19  395208
Screenshot2017-[...].png (2765Кб, 1920x1080)
>>394935
У меня все заебись.
Аноним 07/04/17 Птн 10:34:25  395211
Есть какие-нибудь бест практисы реализации статов - с бафами/капом/итд, желательно на ентитьках?

Держать финальное значение в тупом поле и обновлять хуками или высчитывать в геттере?

Создавать ентитьку только на релейшн баф-перс, или объектизировать каждый стат и создавать релейшны между конкретным статом и влияющим на него эффектом?
Аноним 07/04/17 Птн 14:43:45  395241
>>395211
Моладой чоловик, изъясняйтесь на русском
Аноним 07/04/17 Птн 14:47:10  395242
>>395241
Настоящие посоны знают инглиш, поэтому выясняют вопросы по движку на русскоязычной борде.
Все так делают, и ты делай.
Аноним 07/04/17 Птн 15:10:14  395245
>>395211
i used to overuse rudimentary terminology lik you
and then ive got a SAGE in the knee
Аноним 07/04/17 Птн 15:18:07  395246
>>395242
Ну знаю я английский, и что? Твой дефективный жаргон от этого понятнее не становится
Аноним 07/04/17 Птн 15:22:18  395247
>>395246
Ты промазал, я вообще не он, я тебе попытался донести мотив таких вот жаргонистов.
Аноним 07/04/17 Птн 16:06:27  395252
>>395246
Я хз где ты там жаргон нашел, такие термины русского официального перевода не имеют, поэтому транслитерируются испокон веков, причем на испанский/китайский/итд точно так же.
Аноним 07/04/17 Птн 16:40:19  395257
>>395252
>транслитерируются
Значение этого слова знаешь?
Аноним 07/04/17 Птн 19:45:22  395281
>>395252
>ентитька
>релейшен
>бест практис
>не имеют перевода

Глотай мочу
Аноним 07/04/17 Птн 20:11:08  395287
Clip2net1704072[...].png (12Кб, 331x159)
Нужно чтобы после удара от противника в направлении удара отлетали кусочки в виде частиц. Получается нужно чтобы в момент удара particle system сначала поворачивалась в нужном направлении, затем выпускала частицы, так ведь?

Вот с частью с поворотом у меня ничего не вышло. Попробовал вращать трансформ самой системе, пробовал делать её ребенком пустого родителя и вращать его, но не выходит. Дальше копать по поводу вращения, или я вообще не то делаю?
Аноним 07/04/17 Птн 20:36:40  395297
>>395287
А, всё. Разобрался. Я подсознательно боялся кватернионов, видимо.
Аноним 07/04/17 Птн 20:45:23  395302
>>395287
А тупо новый вектор создать нельзя? Ну типа:
Vector3 direction2 = new Vector3;
direction2.x = -(direction.x);
direction2.y = -(direction.y);
...

Но я в общем-то сам за советом пришел, а не советовать.
Аноны, хочу запилить тир с девочкой-волшебницей. Если вкратце, то девочка бегает по небольшому уровню, прячется за препятствиями и стреляет по игроку. Игрок стреляет в ответку с фиксированной позиции, попадая по всяким интересным коллаидерам на теле волшебницы и проигрывается красочная анимация с исчезанием одежды на ней.
Проблема только в том, что я не программер, а больше 3д-моделлер и аниматор. Поэтому думаю по максимуму использовать популярные плагины к Юнити. Итого, есть два стула:
1) Использовать RAIN в связке с Mecanim. Продумывать сложное поведение девочки на карте, работать с многослойной анимацией с красивыми переходами.
2) Легаси вместо Маканима. Всю анимацию пилить во внешнем софте. Самому пердолиться с АИ, рассчитывать линию видимости, карту пути и прочее говно, которым должен заниматься программист.
На какой сесть? Какой путь даст больший шанс, что я смогу рабочий прототип в разумный срок выкатить?
Аноним 07/04/17 Птн 21:35:28  395311
>>395302
>>Я моделер, значит делать упор на графику или код, имея готовое программное решение?
Ответ яснее солнца.
Дополню тем что ты немного ошибся тредом. Советую тебе поглядеть порно игор тред по соседству в gd.
Аноним 07/04/17 Птн 22:06:56  395314
>>395311
>порно игор
Не, порнушку пилить не собираюсь. Девочкам-волшебницам обычно меньше 18. И потом, для создания качественной анимации непотребств в Юнити на самом деле нужна высокополигональная модель с охуенно сложным ригом и морфами + симуляция физики волос и одежды.
Порнотред полон пидорами, которые собирают вместе рендеры из Позера и называют это игрой.

Алсо, думаю взять компромиссное решение: Rain + legacy animation system. Меканим что-то кажется очень комплексной и затратной по времени штукой.
Аноним 07/04/17 Птн 22:14:24  395316
Screenshot3.png (50Кб, 490x363)
Screenshot4.png (8Кб, 573x177)
Поясните за рейкасты, а то нихуя не взлетает. На Йобе тег соответствующий, и RigidBody2D и коллайдер висят можно покрутить, в консоль нихуя не пишется.
Или мне надо пользоваться 2D рейкастами и фильтровать землю-небо-аллаха?
Аноним 07/04/17 Птн 22:24:49  395320
>>395316
UPD: Он вообще нихуя не детектит. Попробую через DrawRay.
Аноним 07/04/17 Птн 22:41:34  395322
>>395320
1. вызываешь ли ты где то detectYoba, а то всякое бывает.
2. юзать Physics2D
Аноним 07/04/17 Птн 22:42:52  395323
>>395320
drawRay это для отладки и ниче не детектит а только рисует на экране полоски
Аноним 07/04/17 Птн 23:07:14  395326
>>395322
> вызываешь ли ты где то detectYoba
В Update(), ежжи.
>>395323
Просто у меня уже возникает вопрос, находится ли луч там, где я предпологаю, или он хуй пойми где хуй пойми куда стреляет.

transform.right, оказывается, указывает на стрелку оси в глобальных координатах в точке 0, 0, 0. Зачем — непонятно. Пока что я пилил взаимодействие с предметами под носом у игрока, и, тащемта, вернусь к системе с узеньким коллайдером, но, блядь, обидно, что лазеры из рук не попускать.
Аноним 07/04/17 Птн 23:33:54  395332
5274794+5394bf8[...].jpg (82Кб, 381x601)
>>395326
> transform.right, оказывается, указывает на стрелку оси в глобальных координатах в точке 0, 0, 0
Или нет. Как работает это говно!?
Аноним 07/04/17 Птн 23:47:49  395336
>>395332
таки да.
а почему нет? transform.up частенько пригождается в мелочах, вот они и transform.right пихнули. чисто для удобства. чтобы складывать с ним, или брать проекцию на ось
Аноним 07/04/17 Птн 23:49:30  395337
>>395326
в чем проблема, в рейкасте тебе нужно направление, tf.right таковым является
Аноним 07/04/17 Птн 23:51:36  395338
>>395332
у тебя ограничена длина луче в 0.2, а судя по пикче спрайт размером около 1.2 тоесть луч даже не выходит за пределы спрайта
Аноним 07/04/17 Птн 23:54:16  395339
>>395332
у любого Transform есть родитель, если его нет, то им является world space.
Аноним 07/04/17 Птн 23:56:08  395340
Насколько сложно написать и поднять веб сервер для юнити проекта?
Аноним 07/04/17 Птн 23:57:24  395342
>>395340
сложна
Аноним 07/04/17 Птн 23:57:32  395343
>>395340
есть же готовые решения. от самого юнити или от Photon. уверен что нужно велосипедить?
Аноним 07/04/17 Птн 23:59:11  395345
Screenshot5.png (12Кб, 619x243)
Screenshot6.png (4Кб, 260x69)
>>395336
>>395337
Нет, я, конечно, тупее команды разработчиков буду в (количество_персонала * 2) раз минимум, но эта штука очень странно работает. То у меня луч шел почти к центру мира, то он идет из персонажа в нужную сторону.
>>395338
Объект, на который я это креплю вообще 0.16 в ширине.
>>395339
Родителя нет, все нормально. Опять же, хуй знает.

Эта штука заработала как надо, отложу ее до изобретения внутриигровых бландербасов. Сама функция теперь в FixedUpdate().
Аноним 08/04/17 Суб 00:04:50  395347
>>395343
Смысл в чем. Есть проект на юнити. Готовый. Но к нему нужно написать веб-сервер и поднять. Если поднять я смогу, то с написанием я полный 0. Вот и интересуюсь на правах профана.
Аноним 08/04/17 Суб 00:10:30  395348
>>395345
1.
>>То у меня луч шел почти к центру мира, то он идет из персонажа в нужную сторону.
это именно потому что
>>Нет, я, конечно, тупее команды разработчиков буду
2. что значит бландербас
Аноним 08/04/17 Суб 00:12:32  395349
>>395347
ну вот я и говорю — бери готовые решения. серьёзно, ты хочешь с этими протоколами связи совокупляться?
хотя погоди, а в чем соль этого сервера? если вдруг ты там хайскоры собрался хранить то просто Apache поставь и SQL-запросами отправляй/забирай. нужен сервачок чтобы с друзявками побегать-пострелять? вам Photon Cloud, забирайте, до 20 рыл единовременно — бесплатно и без постоянно работающего сервера ПИЗДЕЦ ХАЛЯВА СТАВЬ БАЗАРЮ ЕЩЁ ЗАХОЧЕШЬ
Аноним 08/04/17 Суб 00:21:11  395350
>>395348
А я и не спорю, лол. Был бы умнее, давно бы закончил прототип, пилил бы стартовую локацию.
Бландербас — это огнестрел.
Аноним 08/04/17 Суб 04:15:43  395384
blob (61Кб, 897x612)
Аноны, делаю что-то типа экшн платформера. Вид сбоку как в обычных платформерах, но сами уровни не прямолинейные. Игрок двигается во всех направлениях. Стоит вопрос о том, как правильно реализовать камеру. Нужно, чтобы она постоянно была направлена так, чтобы уровень был виден сбоку. Нарисовал даже картиночку (вид сверху для наглядности). Как лучше решить этот вопрос? Расставлять по всей длине уровня кривую линию и вращать камеру перпендикулярно этой линии или можно как-то по другому?
Аноним 08/04/17 Суб 11:25:16  395408
>>395384
Вращай камеру на такой же угол, на который вращается персонаж по оси Z.
Аноним 08/04/17 Суб 11:52:30  395410
>>395384
1 можна не делать изгибы
2. вращать камеру можно проверив угол между направление движения игрока и ммировой forward(ну или той, при которой когда персонаж бежит ровно влево или вправо, это ось ему паралельна)
Аноним 08/04/17 Суб 11:54:26  395411
>>395410
или можно прилепить камеру тупо к бочине игрока, а когда он захочет(если так можно будет) повернуться слишком много то просто остановить камеру в нужный момент
Аноним 08/04/17 Суб 11:54:51  395412
>>395411
тоже по углам проверять всяким
Аноним 08/04/17 Суб 18:11:53  395450
1.png (2021Кб, 1365x637)
Пилится тяжко-валко. Управление полностью по физике, но при этом достаточно указывать мышкой цель. Система управления корабля сама думает, какими движками и когда и куда нужен управляющий и тормозящий импульсы, поэтому вполне аркадно.
Аноним 08/04/17 Суб 19:47:06  395460
>>395450 не понел прекол, зачем какие то вычисления физики?
Аноним 08/04/17 Суб 20:09:04  395467
Помогите советом, ребяты.
Я полный нуб в программировании. Скачал фреймворк для пошаговой стратегии, потихоньку копирую части кода, разбираю их и переиначиваю для своих целей, но этого явно недостаточно, чтобы разобраться, что делать с этой хуйнёй. Поясните, пожалуйста, один момент: по какому принципу делать abstract, virtual и override так, чтобы во-первых не возникало ошибок из-за конструкции вида Class class = new Class();, во-вторых можно было из любого места вызывать этот оверрайд, а игра принимала этот оверрайд вместо основной функции, и в-третьих присобачить к этому делу ивенты. Я кое-как сообразил до использования текстовиков и подбираюсь к словарям, но сдаётся мне, есть куда более простые способы это всё организовать.
Если есть какой-нибудь материал хороший по теме, то буду очень признателен. Но я полный нуб в программировании, я банально не понимаю, что имеется в виду в тексте как на MSDN и подобных сайтах, мне бы чего попроще.
Аноним 08/04/17 Суб 20:10:32  395468
>>395467
Забыл написать
Мне именно совет по конструкции нужен, как это организовать всё. Во фреймворке том хаос, по крайней мере я не могу какой-то последовательности вычленить, все переменные и функции туда-сюда прыгают.
Аноним 08/04/17 Суб 20:16:48  395471
>>395467
в ютюбе ройся примерно по таким тэгам
unity3d OOP, unity3d inheritance, c# ООП наследование. там с примерами и человечиским языком полно видео

Аноним 08/04/17 Суб 20:20:20  395472
>>395467
тобы во-первых не возникало ошибок из-за конструкции вида Class class = new Class() че за бред ты пишешь конкретне пожалуйста, причем по всем пунктам. Хотя нет не надо, просто гугли не то что не понятно msnd а даже на офф сайте юнити есть уроки по OOP простые
Аноним 08/04/17 Суб 20:35:20  395473
>>395460
Ну по условиям, в космосе трения нет. У кораблика 4 маневровых движка. При этом, если включить какой-нибудь из них, а потом выключить, то по закону сохранения момента инерции, корабль будет вращаться так бесконечно, пока ты в противоположном направлении не создашь такой же импульс. А хомосапиенсы слишком плохо контролируют работу н-количества двигателей и плохо вычисляют кватеринионы в уме, поэтому автопилот берет эту сложную работу на себя. Игрок задает мышкой направление или цель, на которую надо сориентироваться, а автопилот включает нужные движки в нужном направлении на нужное время, а потом осуществляет тормозной импульс, чтобы сориенироваться точно как надо.
Аноним 08/04/17 Суб 20:40:31  395474
>>395467
> по какому принципу делать abstract, virtual и override так, чтобы во-первых не возникало ошибок из-за конструкции вида Class class = new Class()
abstract используй, если тебе нужен просто общий родитель для остальных классов, и ты не собираешься этого родителя вызывать в школу.
virtual можно вызывать, можно и перезаписывать.
override есть перезапись для абстрактных и виртуальных классов.

> во-вторых можно было из любого места вызывать этот оверрайд
В смысле? Сделай класс публичным, вот и все.

> присобачить к этому делу ивенты
Update()

> какой-нибудь материал хороший по теме
C# Player's Guide, CLR via C#. В /pr/ пояснят.
Аноним 08/04/17 Суб 20:41:50  395475
2.png (1021Кб, 1366x768)
>>395473
Например, если цель находится как-то по диагонали, а корабль вращается вдоль продольной оси, то вручную каждым движком сложно управлять. А Слишком аркадно делать я не хотел, по типу "Куда указываешь, туда просто перемещается транслейтом, без учета предыдущего импульса и инерции". Короче, пытаюсь на два стула сесть.
Аноним 08/04/17 Суб 20:43:03  395476
>>395467
Нахер тебе вообще отвлекаться на юнити, если ты еще не умеешь кодить? По-хорошему бы тебе через пару-тройку языков сначала пройти, но если влом - то хотя бы на голом шарпе сначала туториалы поделай.
Аноним 08/04/17 Суб 20:51:33  395480
>>395475
ваще не врублюсь по мойму проще через lerp и slerp всё делать и по ним же вкл\выкл частици на движках

Аноним 08/04/17 Суб 20:54:17  395481
>>395475
хуй знает графон четкий а какие там движки физические мне кажеться всем похуй будет
Аноним 09/04/17 Вск 00:08:42  395524
>>395480
Ну как сказать, допустим в момент интерполяции того же вращения кораблю прилетает снаряд, а он как терминатор, даже не реагирует и продолжает интерполироваться? Или другая ситуация: попали в двигатель и вывели его из строя, соответственно, как тут интерполировать с учетом вышедшего из строя движка?
Аноним 09/04/17 Вск 00:16:59  395526
>>395524
>> как тут интерполировать с учетом вышедшего из строя движка?
а как без него? gameover же.
>>кораблю прилетает снаряд, а он как терминатор, даже не реагирует и продолжает интерполироваться
виден недостаток опыта
Аноним 09/04/17 Вск 00:35:36  395527
shoota.webm (5566Кб, 976x655, 00:00:22)
Как ничего не делая получить невырвиглазный грофон?
Пробовал делать топдаун, выходит страшновато. Изометрия ещё хуже - в четыре раза больше объём работы.
Пилить 3д, дёргая анимации? Завести раба-дизайнера?
Аноним 09/04/17 Вск 00:38:58  395528
>>395527
Добавь фиолетово-зеленый градиент на фоне и сюжет про холодную войну.
Аноним 09/04/17 Вск 00:42:15  395529
>>395527
зачем он тебе можно узнать сначала? просто есть мнение что ьеюе это нахуй не всралось
Аноним 09/04/17 Вск 01:05:41  395532
>>395528
БОЛЬШЕ БЛУМА ТУДА БООООЛЬШЕ
Аноним 09/04/17 Вск 01:36:56  395533
>>395527
слишком контрастная стилизация текстур. То есть какого хуя у тебя пиксель арты поверх качественной плитки, и полностью черные перегородки
Аноним 09/04/17 Вск 01:40:37  395534
>>395533
обдумать интерфейс, может карту как в кс
Аноним 09/04/17 Вск 01:42:38  395535
>>395533
рисовка должна быть одинаковой короче. А иначе ебашь сразу пиксель арты с фоном как gta5
Аноним 09/04/17 Вск 08:10:49  395551
>>395526
>а как без него? gameover же.
Без одного или двух (если в разных плоскостях) ещё вполне можно маневрировать, но это накладывает свои ограничения. Зато сколько интересных ситуаций.

>виден недостаток опыта
Можно пояснить?
Аноним 09/04/17 Вск 08:50:50  395554
puncha.webm (197Кб, 359x319, 00:00:08)
>>395529
>зачем он тебе можно узнать сначала? просто есть мнение что ьеюе это нахуй не всралось
Сам не знаю. Изначально это задумывалось как рогалик на заброшенном космическом корабле/станции. Но пока ничего из механики кроме стрельбы на физдвижке нет.
Поэтому я думал может вообще не заморачиваться с рисованием, сделать один неанимированный тайл на персонажа и сосредоточиться на другом?

>>395533
Я террейн пока не делал вообще, эти тайлы дёрнул откуда то. Cлепил только персонажа, несколько пушек и ботов.
Интерфейс не попал в кадр, чтобы не разсирать видео. Пока что там хп бар слева вверху и иконка шуты слева внизу.

>рисовка должна быть одинаковой короче
Хорошо, был соблазн понадёргать на окружение текстур, чтобы не заёбываться самому.

Но есть что-нибудь относительно самого персонажа? Какие-нибудь детали, которые режут глаз, что то чего явно не хватает?

Аноним 09/04/17 Вск 08:55:03  395555
>>395554
> Поэтому я думал может вообще не заморачиваться с рисованием, сделать один неанимированный тайл на персонажа и сосредоточиться на другом?
Это твоя первая игра, да?
Прототипирование тебя спасёт, мой друг, излишний перфекционизм в геймдеве вреден. Пусть у тебя вместо героя будет кубик, а вместо врагов — шарик, потом доделаешь как надо. Ебошь механику.
Аноним 09/04/17 Вск 09:31:53  395557
>>395555
>Это твоя первая игра, да?
Несколько лет работал в окологеймдеве, но в основном я добавлял какие то фичи в старый самописный движок ещё на 9 директиксе, рисованием занимались специально обученные люди.

>излишний перфекционизм в геймдеве вреден
Согласен, но...

>Ебошь механику.
...механика хтх, например, чётко привязана к анимациям. И в ебошеньи механики прийдётся местами оставлять место для будущей визуалкидо которой всё равно дойдёт, если я раньше не найду работу

Может отдалить камеру вдаль, чтобы почти нихуя не было видно?
Аноним 09/04/17 Вск 11:10:51  395562
Сап! Имел ли ли кто опыт интеграции рекламы для windows phone? Подскажите какими средствами это можно сделать? Видел в интернете adrotator - но по нему последние обновления были в 2014 году хз, работает он или нет. Второй AdDuplex - но там денег не заработать.
Аноним 09/04/17 Вск 11:55:20  395564
>>395471
>>395472
>>395474
>>395476
Спасибо всем, более-менее прояснилось всё.
Нашёл (кажется) то, что нужно - finite state machine. Ща на свитчах да с оверрайдами всё заебошу!
Аноним 09/04/17 Вск 13:13:21  395581
>>395564
Поясни за свою идею хотя бы, зачем тебе оверрайды?
Аноним 09/04/17 Вск 15:03:24  395593
Поясните за орм в юнити.
В сторе и на гитхабе какое-то самописное говно с хуй да нихуя функционала. Хибернейт или энтити как-то вообще интегрируются готовым решением? Или подразумевается, что я свою модель делаю отдельно, а потом каждый раз руками в юнити правлю юзающие ее классы?
Аноним 09/04/17 Вск 15:10:25  395594
>>395564
гугли лучше coroutine FSM
Аноним 09/04/17 Вск 15:14:24  395595
>>395593
а зачем
Аноним 09/04/17 Вск 15:35:40  395599
>>395595
ну мне какбэ проще изменить 1 строчу в схеме, чтобы оно само обновило базу и код в 30ти местах, чем делать это руками
Аноним 09/04/17 Вск 15:37:11  395600
>>395599
что за магия
Аноним 09/04/17 Вск 16:25:41  395605
Без имени.png (19Кб, 418x677)
Перестали работать старые клипы анимации, но новые работают. Кто-нибудь знает причину?
Аноним 09/04/17 Вск 16:35:17  395607
>>395605
там же варнинг висит сверху невидишь там где треугольник желтый
Аноним 09/04/17 Вск 16:43:33  395609
>>395302
Аноны, похоже RAIN AI нихуя не работает в 5.6 версии. Из-за какой-то странной баги нельзя ни легаси клипы анимации загрузить, ни Mecanim Animator включить. Да и вообще, похоже что разработчики забросили плагин и разрабатывают специализированную хуйню под виртуальную реальность.
Качаю старый 5.3 редактор от безысходности.
Кто-нибудь посоветуют альтернативный плагин для АИ, который еще живой?
Аноним 09/04/17 Вск 17:13:12  395611
>>395609
а что конкретно тебе нужно от ai?
Аноним 09/04/17 Вск 17:17:53  395612
>>395609
Настолько привык сам все ковырять, что удивляюсь, когда кто-то упоминает плагины.
Сам только начал пилить ИИ для экшн-рпг, уже предвкушаю многочасовую еблю, ммм.
Аноним 09/04/17 Вск 17:41:16  395614
>>395581
Потому что так в фреймворке сделано. Подражаю стилю настолько, насколько могу, но там в самом фреймворке мешанина. Но вообще, как я понял, чтобы иметь разные вариации одних и тех же функций. Можно и как-то словари к этому прикрутить, но это мне кажется слишком сложным.
Вот, например, во фреймворке есть пасфайндинг какой-то странный. Когда выбираешь юнита, создаётся несколько словарей, куда закидывается дохрена гексов во все стороны, чем дальше разрешено искать путь, тем сильнее лаг. Я, конечно, не знаю, но подозреваю, что дело именно в создании тонны словарей. По сравнению с этим мои свитчи и ифы на 100 строк никак на производительность не влияют.
>>395594
Для чего это надо?
Аноним 09/04/17 Вск 17:41:48  395615
output4.webm (3480Кб, 1225x595, 00:00:18)
Как заставить частицы уважать sorting layers? Как в настройках не ставь, им похуй.
Аноним 09/04/17 Вск 17:42:07  395616
>>395615
Сажа приклеилась.
Аноним 09/04/17 Вск 17:46:57  395618
>>395615
О, опять ты. Как успехи?
Аноним 09/04/17 Вск 17:53:18  395621
>>395614
fsm - finite state machine
на корутинах фсм самый топовый гугли сам
Аноним 09/04/17 Вск 17:54:52  395622
>>395621
Почему топовый-то? Он что, между кейсами свитча паузы принудительно ставит?
Аноним 09/04/17 Вск 18:01:25  395626
>>395622
гуглить умеешь? FSM coroutine там нету блять никаких свичей
Аноним 09/04/17 Вск 18:02:22  395627
>>395626
https://forum.unity3d.com/threads/state-machine-coroutine-vs-update.103110/
Первая ссылка. Сразу свитчи идут.
Аноним 09/04/17 Вск 18:03:17  395628
>>395618
Пилю понемногу. Упростил анимацию, а то чем дальше заходил, тем больше проблем было. Сейчас собираюсь сделать смену оружия на пистолет и обратно, но всё никак не соберусь.
Аноним 09/04/17 Вск 18:08:36  395629
>>395627
мм а я то всю жизнь думал что надо брать минимум первых 5 ссылок https://blog.playmedusa.com/simple-fsm-like-structure-with-coroutines-in-c-unity3d/
Аноним 09/04/17 Вск 18:43:29  395630
>>395611
Мне надо чтобы АИ правдоподобно прятался за укрытиями от игрока, ну и стрелял в ответ, выбирал разные варианты перемещения по карте. И само собой, без анальных ограничений, чтобы можно было кодить свои действия для АИ при необходимости.
Алсо, RAIN все же заработал у меня, после целого дня мучений. Надо было всего лишь allow depreceted functions галочку в настройках поставить, анимации через такую жопу вполне себе подгружаются.
Аноним 09/04/17 Вск 18:48:45  395631
>>395607
Варнинг появился когда клипы перестали работать, при исправелении варнинг не исчезает, указывает на то же, теперь не существующее место, и клипы все равно не работают. Так что варнинг последствие какой-то другой ошибки.
Аноним 10/04/17 Пнд 00:27:00  395662
>>395629
Это дно и так делать не надо. Потом пожалеешь.
Вообще FSM это самый худший вариант для ИИ.

В самом просто случае можно сделать что-то вроде списка
interface IAction {
bool IsValid(GameObject go);
void OnStart(GameObject go);
void OnFinish(GameObject go);
}void Update(GameObject go);

и потом foreach (var action in actions) if (action.IsValid()) Update().....
поведение любого агента задается просто списком действий

для большинства простых игр этого хватит
Аноним 10/04/17 Пнд 00:39:00  395665
325.png (17Кб, 844x40)
bc27722e0a44e5e[...].jpeg (117Кб, 2048x1536)
>>395085
>>395075
>>395071
>>395062
>>395059
>>395049
>>395046
>>395043
>>395042
>>395021
>>395009
Если кому интересно, то вот решение для такого типа сеток, а сетка как я понял не тривиальная, писаю в рот тем кто предлагал пускать рейкасты и генерить 16.777.216 4096x4096 геймобжектов с коллайдерами, учите аллгебру что-бы не проебать выходные как я.
Аноним 10/04/17 Пнд 01:33:15  395670
>>395665
а теперь скажи, ты получил удовольствие? будто потрахался, да? смачно задоминировал шарп своим нехилым интеллектом? стал на чуточку умнее, научился чему-то новому, развился над собой?

серьёзно, чувак, рукоплещу тебе. это определённо того стоило. теперь игру хоть можно доводить до конца, а то прям аж застрял с этими ромбиками, эх. браво, короче
Аноним 10/04/17 Пнд 02:06:09  395674
Подниму вопрос про серверную архитектуру. Кто нибудь онлайн игры тут делает вообще? Есть ли те кто используют что-либо кроме Фотон Клоуд?
Кстати, если используете встроенный мультиплеер юнити, насколько он удобен и хорош, сколько коннектов держит?
Аноним 10/04/17 Пнд 02:11:31  395677
>>395665
> 4096x4096
Нахуя тебе такая большая сетка?
>>395674
За это время мог бы и загуглить. Тут тебе зададут (и уже задали) только один вопрос: "А оно тебе надо?"
Аноним 10/04/17 Пнд 02:19:19  395678
>>395674
1. Тебе бесплатно никто сервер не даст
2. По твоему сообщению ясно что ты нуб(не можешь сам гуглить, не шаришь в азах), и поверь фотон это твой единственный выход
Аноним 10/04/17 Пнд 02:23:10  395680
>>395677
Я гуглил. Нашёл только 1 хрень более-менее дешёвую и с хорошими отзывами. Ищу альтернативы.

Да, оно мне надо.

Либо какой то мануал по написанию сервака для юнити.

>>395678
Не хочу я фотон. Он платный и говно. Ну, который облако. А для Фотон Сервер у меня денег нету.



Кто нибудь Ulink использовал?

Аноним 10/04/17 Пнд 02:35:22  395684
>>395680
че бля с каких то пор фотон платный нахой. темболее клауд который еще дает 20 слотов бесплатно
Аноним 10/04/17 Пнд 02:36:18  395685
>>395680
https://www.assetstore.unity3d.com/en/#!/content/1786 где он платный
Аноним 10/04/17 Пнд 02:37:34  395686
>>395680
и как ты не зная вообще как устроен простейший сервер, определил что клауд говно? я уверен что у тебя нету даже прототипа игры, и самой игры не будет никогда с таким ахуительным подходом
Аноним 10/04/17 Пнд 02:49:05  395688
>>395685
Ты понимаешь что в фри версии ограничение по числу подключений?

>>395684
Ммм, 20 слотов! Как многа!

>>395686
В клауде за 1000 слотов нужно пиздец сколько много платить разработчикам этого самого клауда. А я им ни копейки не хочу давать, ибо клауд ломается через ЧИТ ЭНЖИН, блядь.
Аноним 10/04/17 Пнд 03:03:39  395691
>>395688
А нахуя тебе больше? Ты не можешь сам запилить сервер, это склоняет меня к мысли, что и бесплатного фотона тебе будет дохуя.
Если ты такой гений и смог соло собрать ММО дрочильню, которая не заебет за 15 минут, тебе будет не сложно разобраться в собирании сервера.
Аноним 10/04/17 Пнд 03:09:42  395692
>>395691
Я уже в ассет сторе нашёл нужную мне вещь, без помощи анонов.

В итоге лучше бы я вообще не спрашивал, ибо мне во всех темах без исключения как додики твердили "ФОТОН ФОТОН". Я хотел реальных советов от людей использующих адекватную готовую серверную архитектуру, чтобы понять что лучше, а в итоге фотонодебилы с их ограничением по коннекту.
Аноним 10/04/17 Пнд 03:25:37  395693
>>395692
ага не забудь скинуть потом игру свою все вместе будем играть
Аноним 10/04/17 Пнд 12:07:57  395716
1.jpg (308Кб, 1920x1080)
2.jpg (230Кб, 1920x1080)
такая трабла: при переключении на другую программу -> юнити на вкладке сцены артефакты с отрисовкой происходят, и чем больше раз переключаться между программами, тем хуже становится. Помогает вкл/выкл освещение, но до следующего переключения между программами и юнити. В чем может быть проблема?
Аноним 10/04/17 Пнд 12:56:46  395719
>>395716
Некропека.
Аноним 10/04/17 Пнд 13:10:04  395720
>>395719
да не, железо норм
Аноним 10/04/17 Пнд 13:23:21  395722
>>395716
1. попробуй погуглить
2. это только на сцене или в окне Game тоже
3. понажимай на всякие кнопки например сверху слева 2D
3. поковыряй настройки вроде они в Edit>project settings но это не точно сам ищи
4. а в играх и других прогах все ок? если нет значит драйвер чекни
Аноним 10/04/17 Пнд 13:29:21  395723
>>395722
1. пытался гуглить, но ничего не нашел, наверное тупой и не могу правильно сформулировать проблему.
2. только на сцене, в окне game все нормально.
3. не помогает, просто переходит камера в 3д и там такая же проблема.
4. в других играх и прогах все ок, дрова недавно обновлял.
Аноним 10/04/17 Пнд 13:31:55  395724
>>395723
попробуй создать новою сцену \ проект заново
перезагрузить пк
Аноним 10/04/17 Пнд 13:33:50  395725
>>395724
такая проблема даже в пустом проекте, т.е. артефакты при отрисовке даже самой сетки или иконки камеры.
Аноним 10/04/17 Пнд 13:34:41  395726
>>395725
видно 5.6 на некоторых сломан. на вин 7 все ок
Аноним 10/04/17 Пнд 13:37:05  395727
>>395726
до этого стояла версия 5.5.0f3, те же проблемы были, решил поставить новую версию и не помогло.
Аноним 10/04/17 Пнд 14:06:17  395728
Котятки проверьте у себя, помоему разрабы легаси гуй поломали Unity 5.6.3f GUI.SelectionGrid не робит текст, не ассоциируется. public string[] selStrings = new string[] {"Grid 1", "Grid 2", "Grid 3", "Grid 4"}; попробуйте поменять, текст selStrings на любой другой.
https://docs.unity3d.com/ScriptReference/GUI.SelectionGrid.html
Аноним 10/04/17 Пнд 23:14:40  395789
>>395614
Начал потихоньку перепиливать фреймворк и обнаружил там забавную конструкцию. Суть в том, что есть 3 разных класса - игровая доска, юнит и состояния доски. Автор сделал карусель какую-то - в юните задаётся ивент и аргументы, затем в доске этот ивент отлавливается, вызывается функция в классе состояний доски, которая уже впоследствии и используется вместо настоящего ивента.
Моя же идея того, как это переписать, заключена в следующем: в юнит засунуть переменную, содержащую в себе ссылку на игровую доску, превратить состояния доски в enum в классе игровой доски, а ивенты, происходящие с юнитом, определить в новом классе EventManager. Когда же будет происходить какой-либо ивент, то он будет вызываться из самого юнита, где ифами и свитчами будет указываться состояние доски.
Вопрос чисто теоретический, не ругайтесь, пожалуйста: что из этого лучше по производительности? Моё говно мне точно будет понятнее хотя бы потому, что не будет трёх функций в трёх разных классах с почти одинаковыми именами, но это же не главное
Аноним 10/04/17 Пнд 23:16:46  395790
>>395789
>Автор сделал карусель какую-то - в юните задаётся ивент и аргументы, затем в доске этот ивент отлавливается, вызывается функция в классе состояний доски, которая уже впоследствии и используется вместо настоящего ивента.
Забыл Когда же какое-то действие происходит с юнитом, вызывается вся эта карусель, а затем в конце вызывается какая-то функция в юните
Аноним 11/04/17 Втр 11:05:57  395824
>>395789
Интерфейсы выкладывай блеать, или описывай точнее
Аноним 11/04/17 Втр 15:27:42  395845
>>395723
Из того, что я нагуглил: если две видюхи, попробуй запустить юнити через интегрированный граф. процессор; зафорсить директ икс постарше; покрути в прогобеспечении своей видюхи визуальные параметры (например, качество/перформанс 3Д); переустанови Юнити.
Аноним 11/04/17 Втр 15:55:22  395849
14884868822121.jpg (65Кб, 500x594)
Сап, гдэч.
Начал крутить-вертеть этот ваш новый навмеш, и уперся в проблему:
NavMeshBuilder.UpdateNavMeshDataAsync
работает только с некоей новой NavMeshData. Фактически, я вынужден делать navData = new NavMeshData();
Что на хую вертит мой текущий навмеш и новый создает поверх него, либо, вместо него.
Как мне "вернуть" ссылку на свой имеющийся NavMeshData?
Геймдевч помогач?
Аноним 11/04/17 Втр 22:39:18  395884
Что лучше, называть версии по годам или как было раньше?
Аноним 11/04/17 Втр 22:42:53  395885
>>395884
Лучше релизнуть играбельную версию.
Аноним 12/04/17 Срд 02:21:58  395904
i555^cimgpshorig.png (29Кб, 1118x126)
Собрал яйца в кулак и решил начать делать игру своей мечты, поставил юнити, открыл гайды, и буквально сразу уткнулся в проблему, решить которую не могу уже день. Вот я хочу добавить фон для 2д шутера. Гайды говорят: ну импортируй пикчу, делай спрайт и добавляй в сцену. Казалось бы, просто, но нихуя. Закинуть-то я пикчу закинул, но добавить никуда не могу. Понимаю, что вопрос, скорее всего, очень тупой, но объясните мне пожалуйста, ЧЯДНТ?
Аноним 12/04/17 Срд 05:17:47  395910
>>395904
https://unity3d.com/ru/learn/tutorials

Сделай эти обучающие проекты, попутно узнаешь основы.
Аноним 12/04/17 Срд 12:23:46  395924
>>395904
Ссылка от 2014-го года, но может быть поможет: http://answers.unity3d.com/questions/655081/images-cannot-be-imported-and-assigned-to-sprites.html
Не поможет — забей хуй, пили игромех. Обмазать картиночками еще успеешь.
Аноним 12/04/17 Срд 12:48:40  395926
766da85452165.jpg (138Кб, 825x619)
>>395662
Начал гуглить, как лучше сделать, и этот анон оказался прав. http://alumni.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.pdf — разрабы FEAR довольно неплохо поясняют за структуру своего ИИ.
Аноним 12/04/17 Срд 16:43:12  395953
>>395924
Да, помогло. Спасибо за подсказку. Ебать это было неочевидно.
>>395910
Обязательно сделаю.
Аноним 12/04/17 Срд 17:22:26  395967
>>395789
>>395790
Сломал нахуй этот фреймворк
Подскажите, пожалуйста, какие есть конвенции в игрострое. Вот в этом фреймворке была доска, от которой шли остальные элементы. Допустим, я хочу добавить интерфейс, хелсбары там и всё такое. Как это обычно делается? GUIController, а от него при старте создаются все окошки и менюшки? А доска как? Тоже от GUIController'а?
>>395824
Ты спросил так, будто я знаю, что такое интерфейс.
Аноним 12/04/17 Срд 17:42:13  395971
>>395967
Я в твоих постах уже запутываться начал, лол.

> в этом фреймворке была доска, от которой шли остальные элементы.
Не совсем понимаю, что ты имеешь ввиду. В коде доски хранились все инстанции юнитов? Или какого-то хуя юниты наследовали класс доски?

> Допустим, я хочу добавить интерфейс, хелсбары там и всё такое.
Добавляешь Canvas, в него уже скриптами вызываешь UI префабы когда тебе надо, убираешь когда не надо (для катсцены, например).

> А доска как?
Вон там выше кадр ебался с реализацией доски. У него это просто спрайт на фоне плюс сетка координат.

> будто я знаю, что такое интерфейс.
Так узнай.
Аноним 12/04/17 Срд 17:58:15  395973
>>395971
>В коде доски хранились все инстанции юнитов?
Не-не-не. В комментариях к доске написано было, что доска ответственна за выполнение всех действий, связанных с юнитами и клетками и игроками. Выглядит это примерно так: есть в сцене 3 объекта, в которые вложены юниты, клетки и игроки. Игровая доска один из этих объектов и содержит клетки, а в переменные её занесены юниты и игроки. Когда какая-либо функция запускается, обычно она так или иначе пропускается через игровую доску. Я это изменил и ивенты вывел в другой класс (чтобы код упорядоченнее выглядел главным образом). Теперь вот думаю, нужно ли оставить доске запуск всех функций - например, какой-то метод будет подписан на ивент и будет исполняться из класса доски.
>Добавляешь Canvas, в него уже скриптами вызываешь UI префабы когда тебе надо, убираешь когда не надо (для катсцены, например).
А-а-а, спасибо. Несколько смущает то, как сцены в юнити устроены. Можно же динамически "из кода" создавать объекты (как эти new Class())?
>Вон там выше кадр ебался с реализацией доски
С реализацией доски проблем нет. Во фреймворке есть генератор доски по высоте-ширине и разные методы, которые позволяют искать расстояния, соседей и т.п. Мне интересно, как это в нормальном коде выглядит - в нормальном коде тоже все ивенты и функции из доски вызываются, или же она подчинена какому-нибудь Controller'у?
>Так узнай.
Легко сказать. Я так понял, это альтернатива absract'у, virtual'у и override'у?
Аноним 12/04/17 Срд 19:12:15  395996
Screenshot10.png (13Кб, 300x420)
Screenshot11.png (12Кб, 285x424)
>>395973
> в сцене 3 объекта, в которые вложены юниты, клетки и игроки.
Ну хуй знает. Можно и в одном все держать.

> Можно же динамически "из кода" создавать объекты (как эти new Class())?
https://docs.unity3d.com/ScriptReference/Object.Instantiate.html
Прописываешь несколько пустых переменных GameObject для разных окошек, панелек, хуе-мое. В Start() или когда тебе нужно будет инстанциируешь. Скармливаешь инстанции нужные данные через переменную, она отображает как ты захотел. Нужно убрать элемент UI — Destroy(yobaUI);
Если кто-то будет говорить, что в коде можно отрисовать, гони их ссаными тряпками, не для этого мы в 2к17 живем.

> Мне интересно, как это в нормальном коде выглядит - в нормальном коде тоже все ивенты и функции из доски вызываются, или же она подчинена какому-нибудь Controller'у?
В пошаговой дрочильне у тебя так или иначе есть контроллер, который следит за тем, кто сейчас ходит. Можешь в доске вызывать следующего персонажа и его скрипты, что не очень удобно, имхо, либо просто вызывать функцию на восстановление очков действия, а там уже скрипт на юните решит, что лучше сделать, плюс сообщит доске, что он закончил. В real-time просто нет контроллера либо он занят чем-то еще, юниты просто одновременно думают.

> Я так понял, это альтернатива absract'у, virtual'у и override'у?
Типа того. Вот у тебя есть класс Yoba, который который может создавать бугурт, может бугуртить сам. Но если тебе нужно эти функции иметь на классе Human, можно прописать наследование. (пик 1)
Вместо того, чтобы Human таскал с собой ненужные ему radius и Roll(), можно раздавать только эти две функции через интерфейс. Таким образом ты просто знаешь, что все элементы, наследующие от IButthurt будут уметь в эти две функции хоть каким-то образом. (пик 2)
Аноним 12/04/17 Срд 19:53:59  396001
>>395996
Спасибо, сильно помогает.
>Таким образом ты просто знаешь, что все элементы, наследующие от IButthurt будут уметь в эти две функции хоть каким-то образом.
Это понятно, непонятно то, как это использовать. Вот допустим абстрактный класс Unit. В нём задан абстрактный метод, который по-разному оверрайдится в наследуемых классах SampleUnit и MyUnit. Если в каком-либо методе я вызову Unit.Method(), то этот Unit.Method() изменится в зависимости от того, является этот Unit SampleUnit или MyUnit. А как мне через интерфейс понять, какую из "оверрайдящих" функций я вызову?
Аноним 12/04/17 Срд 20:02:56  396003
>>396001
>вызову Unit.Method()
Если я правильно помню, то практически любой язык не позволит вызвать метод у абстрактного класса, надо будет сделать ((SimpleUnit)Unit).Method() или ((MyUnit)Unit).Method().
Аноним 12/04/17 Срд 20:05:25  396004
>>395996
IBatthurtable же.
Аноним 12/04/17 Срд 20:06:07  396005
>>396004
IButthurtable, в смысле, я немножко довен.
Аноним 12/04/17 Срд 20:11:08  396008
>>396003
Без ссылки на объект в любом случае не вызовется. Я имею в виду ситуацию, что мы вызываем ссылку на уже имеющийся юнит (которому уже задано, какого типа он юнит) так, как будто он не специфически MyUnit или SampleUnit, а просто Unit
Аноним 12/04/17 Срд 20:13:45  396009
>>396001
Интерфейс считай тоже самое, что и родительский абстрактный класс, просто с более узким набором контента, который ты можешь в него вбросить. Если у тебя есть какие-то универсальные функции, которые должны быть у огромного количества разношерстных объектов, ты просто можешь реализовать их через интерфейс, не заебываясь с хитровыебанным наследованием. Алсо, наследовать можно только с одного класса, так что нельзя иметь конструкцию типа:
public class GenericNPC{}
public class Humanoid {}
public class Elf : Humanoid, GenericNPC {}

Но можно иметь конструкцию типа:
public interface IGenericNPC{}
public class Humanoid{}
public class Elf : Humanoid, IGenericNPC{}

> как мне через интерфейс понять, какую из "оверрайдящих" функций я вызову?
Функции в интерфейсе работают так же, как и в абстрактном классе, и вообще все в интерфейсе является public abstract. Так что ты все равно будешь оверрайдить функцию.

Я не говорю, что это обязательно нужно, я говорю, что такая штуковина есть и о ней надо помнить на всякий случай.
Аноним 12/04/17 Срд 20:17:47  396012
>>396009
>Функции в интерфейсе работают так же, как и в абстрактном классе, и вообще все в интерфейсе является public abstract.
То есть можно воспринимать SampleUnit : Unit, IWhatever как IWhatever, и запускать метод внутри как IWhatever.Method() (при условии, что на юнит сделана ссылка как на IWhatever). Ясно, спасибо.
Аноним 13/04/17 Чтв 02:08:30  396062
8rdvfuMhg.jpg (463Кб, 1920x1080)
hn54qkd2fXQ.jpg (301Кб, 1920x909)
PGF60zU8f7w.jpg (383Кб, 1920x1080)
yB-qvsA2y6c.jpg (290Кб, 1920x909)
И снова я со своей хуйнёй.
Аноним 13/04/17 Чтв 02:31:23  396067
>>394374 (OP)

Где можно скачать "Школа Unity для аутистов"??

А то с ТыТуба выпилили нахуй, сцуки.

А то я уже заебался с этими разными уроками - то пропадают, то движок новый выходит, то еще какая-то хуйня, или в уроке один пиздеж ниочем, например рассказы о том какой Юнити охуенный или простой.
А тут норм было, но уроки выпилили, пидары.
Аноним 13/04/17 Чтв 02:40:19  396069
>>396062
эт любой в разделе может. ты давай органику показывай
Аноним 13/04/17 Чтв 02:40:36  396070
>>396067
официальных туториалов по базовому C# и Unity классам хватит даже если ты незнаешь инглиша
Аноним 13/04/17 Чтв 02:41:33  396071
>>396062
че за игра будет
Аноним 13/04/17 Чтв 02:46:57  396072
>>396070
Но я же ПРОЖЕКТ уже начал, а ни продолжить, ни закончить не могу..
Аноним 13/04/17 Чтв 03:02:11  396073
>>396072
10 фейспалмов из 10
Аноним 13/04/17 Чтв 06:40:46  396084
>>396067
https://unity3d.com/ru/learn/tutorials

Сделай обучающие поекты отсюда, более-менее во всем разберешься.
Аноним 13/04/17 Чтв 10:29:25  396099
>>395468
Это везде так в рамках хуюнити, добро пожаловать в программирование.
Аноним 13/04/17 Чтв 10:31:00  396100
>>395476
Через пару тройку языков?
Лол, нахуя.

мимознаюнормальнотолькошарп
Аноним 13/04/17 Чтв 10:35:56  396101
>>395674
Использую встроенный UNet. Он говно ебаное, полагаю даже более ебаное чем фотон. Как впрочем и все в этом проклятом движке.
Аноним 13/04/17 Чтв 10:51:21  396102
>>395593
https://github.com/sschmid/Entitas-CSharp

>>395314
Меканим это глючное говно без задач, сделанное по принципу "оооо ебать давайте запилим дерьмо, которое будет одновременно и дружелюбным и нахуй бесполезным, ньюфаги оценят".
Аноним 13/04/17 Чтв 12:16:35  396108
>>395973
>>396012
Продолжаю со своими нубскими вопросами.
Запилил я, значит, полоску инициативы как в 5ых героях. Есть лист "ходов", который содержит все объекты, заслуживающие хода (юниты, эффекты разные, рассасывание баффов и т.п.) в той последовательности, в которой ходы будут случаться в будущем, есть пара методов, которые этот лист формируют. Этот лист в теории будет создаваться заново каждый раз, когда на доске что-то происходит - смерть юнита должна обновлять лист, истечение баффов (особенно, влияющих на инициативу) должно обновлять лист и т.п. То есть юнит бьёт - лист новый создаётся, юнит ходит - новый лист, юнит ход заканчивает - новый лист. Это очень много обновлений, в общем.
Если в такой ситуации будет случаться лаг, что нужно делать? Корутины помогут (во время исполнения методов я ставлю состояние доски, в котором не принимаются никакие вводы от игрока)?
Откуда вообще лаги берутся? От создания новых переменных? Какая нагрузка за фрейм вообще допустима?
Аноним 13/04/17 Чтв 12:43:28  396110
>>396108
Если я правильно понимаю, то в листе у тебя лежат ссылки на объекты, а не их копии.
Т.е. если у кого-то стало меньше хп, то меньше станет и там, и там. Чекни, на всякий случай.
Аноним 13/04/17 Чтв 12:44:58  396111
>>396110
Да, не объекты или копии, а ссылки. Я не делаю new или instantiate никаких.
Аноним 13/04/17 Чтв 12:58:06  396112
>>396102
Какие подводные камни у Меканима? Как минимум две очень важные задачи в нем вижу:
1) Плавный переход между анимациями можно делать не в стороннем софте, а в меканиме. Чем меньше анимационных клипов, тем меньше путаницы и рутины.
2) Ретаргетинг анимации, базовые плюшки с "мускулами" и IK, которые доступны из коробки, бесплатно. Разумная альтернатива - только работать с Motion Builder, который платный.
Мощнейшая же штука, доступная бесплатно.

Алсо, я забил на Rain. Посмотрел тутор про Plagable AI System и понял, что базовый АИ проще стандартными средствами Юнити сделать. Благо, NavMesh и NavAgent есть, и работают они не хуже аналогов из плагина.
Аноним 13/04/17 Чтв 13:01:42  396113
>>396111
Тогда и проблемы нет, собственно.
Лист можно обновлять только при спавне и удалении объектов.
Если объект умер, то можно скипнуть его с помощью чего-нибудь вроде if (!unit.isDead)
Аноним 13/04/17 Чтв 13:02:26  396114
>>396111
нихуя не понял нахуя в полоске инициативы эффекты и рассасывание бафов. если так тебе надо то это тщательно погугли 100% есть где то описание подобного кала
Аноним 13/04/17 Чтв 13:08:26  396115
>>396113
То есть "обращения к памяти" не нагружают комп, только создание новых участков? Но лист же новая переменная (или нет), да и методы каким-то образом исполняются.
>>396114
Потому что в Final Fantasy Tactics была очень удобная/неудобная штука - позволяла видеть, когда сработает эффект заклинания после чарджа этого заклинания. Я пытаюсь такое расширить, чтобы большинство эффектов было видно в шкале. А баффы хочу в эффекты-пустышки совать, которые будут вместо одного баффа показывать все баффы, которые в этом ходу сработают но это чистая косметика.
Аноним 13/04/17 Чтв 13:31:34  396118
>>396115
>не нагружают комп
Будет тормозить, запустишь профайлер и найдешь, где именно оптимизировать, слишком сильно загоняться этим на этапе разработки не стоит, слишком много времени потратишь.
Аноним 13/04/17 Чтв 15:34:44  396133
>>396112
Первое не работает по сети, сюрприз сюрприз. Подводные камни в том что приходится дублировать функционал, ибо сраный нодовый редактор изолирован от проекта и в целом запредельно убог, из-за чего приходится писать две FSM, она кодом, чтобы отсылать события меканиму, а вторую непосредственно в самом меканиме. Охуительно просто.
Аноним 13/04/17 Чтв 16:35:33  396137
>>396133
>Первое не работает по сети,
Так для того чтобы сделать нормальную сетевую игрушку с анимацией персонажей (мобу какую-нибудь) нужно и так быть программистом 80-го уровня. Такой свой аналог меканима сможет написать, если захочет.

>приходится дублировать функционал, ибо сраный нодовый редактор изолирован от проекта
Бля. Я вот с АИ сейчас разбираюсь. Недеялся, что с Меканим гораздо проще будет. Думал, там типа в нодовом редакторе что угодно собрать можно, а потом просто из FSM моего АИ присваиваю значения параметрам Меканима и у меня анимация проигрывается на каждое состояние персонажа.


Аноним 13/04/17 Чтв 20:18:24  396163
1491014923001.jpg (98Кб, 1200x800)
Возможно платина, но: поясните, какой сейчас, на данный момент самый православный способ делать большие ландшафты. С помощью массива мешей или террейнов, сцены или еще как.
Аноним 13/04/17 Чтв 20:24:38  396166
>>396163
1. map magic https://youtu.be/vrs-XA1-ME8
пробная бесплатная версия
http://www.denispahunov.ru/MapMagic/
2. world creator
Аноним 13/04/17 Чтв 21:28:49  396176
>>396069
Ам, ну.. а что это?)
>>396071
>а игра будет
Игра - не будет. Просто небольшой pac зданий для assets store.
Аноним 13/04/17 Чтв 22:16:22  396179
>>396137
Я не программист 80лвла, но один сетевой проект написал, сейчас пилю второй. Так что у тебя немного неправильные представления об этом. Это не что-то невероятное, лол. Но то что блендинг анимаций не синкается это топич просто.
Аноним 13/04/17 Чтв 22:17:45  396180
>>396137
Хотя я и меканим свой напишу, если припрет.
Хм. Да ты пиздец как льстишь мне.
Аноним 14/04/17 Птн 00:38:29  396204
>>396179
Серьезно, сам написал серверный код своего проекта без использования Фотона? Да еще и с полноценной 3д-графикой, анимацией и играбельным геймплеем? Сколько на это времени ушло?

>>396180
Кодер 80-го уровня это по умолчанию хорошо только если в конторе в ДС работать и 300к в секунду.
В инди-геймдеве можно прекрасно кодить, но создавать бестолковые игры без задач. По мне, так главное сейчас в гейдеве - это PR, умение закупать трафик, работа с инфлюенсерами и вирусные видосики. На втором месте композ, дизайн и прочее, завязанное на яркую привлекательную картинку. И только потом - игровая механика и код.
Аноним 14/04/17 Птн 01:27:03  396211
>>395926
И тут я такой охуенный начал расписывать классы типа KrutimYobu : Action, как вдруг до меня дошло, что их в список же не запихнешь, блядь!
Как поступить, аноны? Хочется удобным образом в каждую категорию NPC из папки Actions накидывать соответствующие действия, не прописывать же инстанции этих классов и не ебаться со статичными, как-то совсем неправильно в голове представляется.
Аноним 14/04/17 Птн 02:07:12  396217
>>396204
На юнете по p2p, ибо не было времени изобретать велосипед. Да, с графоном, анимациями и геймплеем, системой сохранения и всем прочим дерьмом. Но надо понимать, что на моих плечах был только код, графоний рисовали художники. По времени... Долго, весьма долго. Полтора года. Но это с учетом того, что когда начинал, был совсем зеленый.

То что ты описал про "главное в геймдеве" актуально на мобильном рынке, но никто в здравом уме туда не лезет. Ну а выполнять качественно и быстро свою работу всегда хорошо, безотносительно того инди ты или нет.
Аноним 14/04/17 Птн 02:08:27  396218
Бля, загнул. Не полтора года а год.
Аноним 14/04/17 Птн 05:10:23  396231
>>396211
В смысле у тебя не получается запихнуть KrutimYobu ky внутрь List<Actions>?
Аноним 14/04/17 Птн 06:03:57  396233
>>396166
Дениска, дай я тебя обниму. Ландшафт для целой планеты можно без тормозов сделать, например с подгрузкой? Пустыни/снег/етц есть?
Аноним 14/04/17 Птн 08:27:49  396235
creaated2.jpg (45Кб, 922x622)
Господа, очень странная проблема на androidе.

Использую PlayerPrefs
PlayerPrefs.GetInt("bestscore")
и если счет больше PlayerPrefs.SetInt("bestscore", bestScore);

На андроиде данные почему-то растут.
С каждым SetInt +20кб и может даже в других случаях прибавляет.

Что это такое? Поиграл 100 раз. получил 20мб данных.
Никих лишних Debug.Log не имею. Код правильный. лишний раз не сохраняет ничего.
Аноним 14/04/17 Птн 08:29:49  396236
>>396235
> 20кб
> Поиграл 100 раз. получил 20мб данных
Ты 20 килобайт умножил на 100 и получил 20 мегабайт?
Сомневаюсь что с такой математикой у тебя "код правильный".
Аноним 14/04/17 Птн 08:38:00  396238
>>396236
есть такое понятие как утрирование.
лучше бы потестил. проблема не только у меня. на 5.5-5.6 версиях актуальна.
на unity форумах пару людей писали про это, но им никто ничего не ответил.
Аноним 14/04/17 Птн 08:41:43  396239
>>396235
вроде как в developmental build все нормально. в релизе растет.
Аноним 14/04/17 Птн 08:45:30  396241
>>396211
Если ты наследуешь KrutimYobu от Action, то ты можешь обращаться к ёбе как к действию.
Аноним 14/04/17 Птн 11:29:29  396261
>>396217
> По времени... Долго, весьма долго. Полтора года.
> Но надо понимать, что на моих плечах был только код, графоний рисовали художники.
Вот здесь и кроется весь леденящий душу пиздец. На один только код столько времени. Количество контента для художников тоже, небось, сопоставимое.
Человеко-часы на миллионы рублей. Хорошо, если они окупились.
Так что останусь при своем мнении, что мультиплеер:
1) Сложно и долго.
2) В одиночку и контент и код потянуть нереально.
Аноним 14/04/17 Птн 11:52:59  396268
>>396118
Спасибо за совет, но он предполагает, что я знаю какие-то всем очевидные подводные камни. А я их не знаю.
Вот, например, я только что сообразил, что моя система хитшанса (т.е. отдельный от юнита класс, который показывает шанс попасть) создаётся каждый раз, когда юнит целится в кого-либо. А мне нужно хитшанс отдельным абстрактным классом выставить, чтобы можно было через наследуемые от него классы работать - потому что у меня есть разные механизмы прицеливаний, а не одна одинаковая для всех формула.
То есть заранее нужно знать какие-то узкие места, которые надо иметь в виду, и заранее код "в правильную сторону" строить.
Вот я читал про пример с использованием контейнера для пуль вместо создания новой пули каждый раз. Но ведь пули - это одинаковые объекты (только, может, поля разные), а разные типы хитшанса у меня наследуемые классы. Как это организовать вообще? Самый очевидный для меня вариант - сделать все хитшансы в одном классе через различающиеся методы, но это как-то по-нубски выглядит.
Аноним 14/04/17 Птн 12:18:23  396271
>>396241
>>396231
Не-не-не. Action — это интерфейс/абстрактный класс. В нем есть просто функция для проверки условий и функция для исполнения. Вызывать конструктор для каждого действия в каждом классе будет крайне ебливо, да и не уместно: эти классы вообще можно сделать статчиными, просто скармливая им переменные.
Собственно, идея была такой: вот у меня есть список, в который я могу ручками накидать все возможные для NPC действия, скрипт потом просто через foreach (Action action in actions){if (action.IsValid()){action.Execute()}} пробегается по этому списку.
FSM не подходит, это придется гуманоидам-мечникам писать свои стейты, магам свои, каким-нибудь волкам еще третьи. Либо брать один огромный FSM с лишними проверками, где я охуею в конец.
Аноним 14/04/17 Птн 12:29:45  396272
>>396268
> Самый очевидный для меня вариант - сделать все хитшансы в одном классе через различающиеся методы, но это как-то по-нубски выглядит.
Да не, вполне логично, зачем изобретать сложные велосипеды. Берешь статичный класс, передаешь в него объект(ы). Класс пускай сам определяет, что за оружие, что по параметрам у атакующего, у принимающего урон. Потом выдает тебе попадание или промах, потом проигрывается соответствующая анимация.
Аноним 14/04/17 Птн 12:30:53  396273
>>396272
а что делать, если одновременно нескольких бьёшь? Статичный класс жи
Аноним 14/04/17 Птн 12:36:30  396275
>>396273
Передаешь лист enemiesToHit, дальше передаешь в класс что-то типа ToHit(enemiesToHit, thisCharacter), в классе:
if (enemiesToHit.Count == 1) {SingleTarget(enemiesToHit[0];}
else if (enemiesToHit.Count > 1) {MultipleTargets(enemiesToHit);}
else {
return 0;
Debug.Log("yoba slomalsa");
}
Ну и там еще где-то определитель оружия, персонажа, хуё-моё.
Аноним 14/04/17 Птн 12:38:20  396276
>>396275
> Передаешь лист enemiesToHit, вызывая что-то типа
Быстрофикс.
Лист всегда будет один и тот же, просто по окончанию всех операций пишешь enemiesToHit.Clear.
Аноним 14/04/17 Птн 12:46:56  396280
>>396273
можно в каждом враге прописать шанс типа
evasion = 5;
а потом в просто вызываешь в нужном месте
CalculateChance(evasion);
а в другом месте хранишь функцию
CalculateChance(float chance){
if(random.range(0, 100) < chance)
return true;
return false;
}
Аноним 14/04/17 Птн 12:51:14  396282
>>396275
>>396276
Вроде бы выглядит разумно, но блин, чувствую, что это не то. Да и, допустим, если будет бить по 6 юнитам, то вылезет 6 подсказок с цифрами. Если делать по-твоему, то к одному классу обращаемся 6 раз, храня данные в 6 подсказках. По-моему же было бы логичнее, можно использовать для хранения данных, используемых только хитшансом, использовать 6 разных хитшансов.
В общем, спасибо за совет. Посмотрим, что можно сделать.
Аноним 14/04/17 Птн 13:02:24  396289
>>396282
> Если делать по-твоему, то к одному классу обращаемся 6 раз
Да нихуя же. К классу ты обращаешься один раз, отдавая ему список врагов, он тебе возвращает список с уроном для каждого врага, потом где-то держишь конструкцию:
for (int i = 0; i < enemiesToHit.Count - 1; i++)
{
enemiesToHit.health -= damage;
}
Аноним 14/04/17 Птн 13:05:48  396291
>>396289
Опять ошибся. enemiesToHit и damage, конечно же.
Хотя просто менять значение хп как-то зашкварно, можно сделать:
for (int i = 0; i < enemiesToHit.Count - 1; i++)
{
enemiesToHit.OnHit(damage);
}
А в OnHit() уже расчитывать урон, который пройдет через броню, уклонения и т.п.
Аноним 14/04/17 Птн 13:06:55  396292
>>396291
А, это макаба квадратные скобочки неправильно воспринимает. Рядом с enemiesToHit и damage указатель на ячейку, короче.
Аноним 14/04/17 Птн 13:21:43  396296
>>396289
>>396291
>>396292
У меня хитшанс используется в трёх ситуациях: два раза в подсказках и один раз в ролле на урон. Допустим, значение для ролла на урон можно использовать сразу, но подсказки-то в воздухе висят, в них нужно хранить значение. То есть мы должны создавать подсказку, которая будет хранить данные, использующиеся только один раз.
Ну ладно, допустим, сделаем такого типа хитшанс. Дальше у нас есть разные типы способностей, разные эффекты и т.п. Если переносить на них логику хитшанса, то на всё это нужно будет сделать по статичному классу с уймой методов внутри, каждый для своей ситуации, а потом к ним сверху присобачить классы-подсказки, в которых хранятся пропущенные через статичный класс данные. То есть это в любом случае создание множества элементов
Аноним 14/04/17 Птн 13:47:12  396299
>>396271
Да-да-да. В этом и суть.
Ты наследуешь, переопределяешь методы, но при этом можешь обращаться к дочернему классу по интерфейсу-родителю.
Например, у меня есть класс Shootable с методом MakeShot(), от которого наследуют EjectShoota, RayShoota и тд
После чего я могу стрелять как
current_shoota.GetComponent<Shootable>().MakeShot();это для наглядности, лучше кешировать Shootable bla_bla = current_shoota.GetComponent<Shootable>(), а не искать компонент каждый раз
Аноним 14/04/17 Птн 13:52:07  396300
>>394374 (OP)
3
Аноним 14/04/17 Птн 14:24:15  396309
>>396261
По поводу мультиплеера соглашусь, то что в одиночке пишется за 20 минут, по сетке написать и отладить займет два дня.
Но это все в рамках Юнити. Просто не надо его брать под проект среднего/большого объёма, тем более с сеткой. Этот движок вообще не под такие проекты создавался, а под мобилы прежде всего. Ну а то что его сейчас рекламируют как серебряную пулю под любой проект - маркетинг чистой воды. В теории на нем действительно можно создать что угодно, но не нужно, ибо охуеешь в процессе.

Алсо, нормальные игры не создаются за пару месяцев.
Аноним 14/04/17 Птн 14:29:53  396312
>>396261
P.S. а ты и не делай один, хиккан что-ли дохуя?
Аноним 14/04/17 Птн 15:37:39  396328
Screenshot12.png (109Кб, 638x388)
Screenshot13.png (8Кб, 409x190)
>>396299
Так, блядь, тогда придется прописывать инстанции класса, а это вообще не имеет смысла: алгоритм-то один и тот же, мне просто нужно вбрасывать в него персонажа с еще кучкой данных, получать выход, реализовывать этот выход уже ресурсами персонажа.
Мне нужно удобным образом говорить NPC, какими скриптами он может пользоваться. Чтобы вот он увидел игрока, проверил фракцию, понял, что Игрок будет противником, и начал шерстить возможные варианты поведения. Какой вариант первым выдаст true, в такой и будут закинуты данные. Типа:
1. NPC без лука/волыны, но есть меч. Меч с такого расстояния не дотягивается, надо подойти поближе.
2. Достаточно близко, есть меч в руках, пизди противника.
3. Противник надавал по щщам в ответ, слишком мало хп. Надо отойти, выпить зелье.
Вместо boolean можно, конечно, прикрутить более гибкую логику, где каждая возможная команда выдает int, потом они сравниваются, и выполняется алгоритм с наибольшим значением, но не суть.

Хуй знает, что там у FEAR'овцев за система, но в лекции показано это таким образом (пик). Т.е. для каждого типа NPC есть папка/раздел/хуйзнаетчто, в которую закинуты возможные действия. Вопрос, собственно, в том, как можно сделать что-то подобное в Юнити.

Пока печатал, понял, что можно делать префабы со скриптами и референсить их в списке. С наследованием у скрипта от Action по-идее будет нормально. (пик 2)
Аноним 14/04/17 Птн 15:53:40  396333
>>396309
>Алсо, нормальные игры не создаются за пару месяцев.
Это понимаю. Хочу попытаться работать в режиме "вечной" разработки, спонсируемой патреоном и другими подобными способами.
>>396312
Нормального кодера в команду взять - платить кучу денег за каждый час его работы, что я не потяну финансово. Дешевых кодеров не бывает, ибо спрос на код превышает предложение на рынке в отличии от арта, 3д, геймдизайна и сценария.
Взять новичка в партнеры работать "за опыт", будет означать что его говнокод не лучше моего и что он 99% съебет после пары недель труда, оставив после себя такой код, который невозможно будет прочитать.
Так что увы, приходится одному все. Просто серьезно упрощаю игровую механику, чтобы добиться ее близости к сандартным ассетам. Скорее всего вообще с playmaker работать буду, чтобы только меньше кода писать.
Аноним 14/04/17 Птн 16:17:19  396346
Screenshot14.png (27Кб, 833x434)
>>396296
> два раза в подсказках и один раз в ролле на урон
В одной подсказке у тебя же не висит точный финальный урон, который получит персонаж, там висит примерный дамаг, возможно шанс попадания. Точный урон ты будешь показывать уже во второй, просто бери значение из OnHit().

> у нас есть разные типы способностей, разные эффекты и т.п.
А нахуя их делать настолько разными? Всю разницу можно реализовать через один enum.

Аноним 14/04/17 Птн 16:37:57  396352
>>396328
Если твой скрипт прикреплён к гейобъекту, то экземпляр класса из него будет создан при старте.
Но я кажется понял о чём ты.
Можешь создать один гейобжект хранящий все правила, отдельным петушкам давать ссылку на это хранилище и список доступных действий обычным массивом айдишников.
Аноним 14/04/17 Птн 16:42:01  396353
>>396352
> экземпляр класса из него будет создан при старте
Отлично, главное, чтобы мне не пришлось прописывать в каждом NPC
Perekat perekat = new Perekat();
actions.Add(perekat);
Аноним 14/04/17 Птн 18:28:21  396363
Add
Аноним 14/04/17 Птн 19:36:54  396379
>>396333
Могу взять тебя в свою команду и дотянуть до среднего уровня, если ты готов ебошить по пять часов в день. Но о своем проекте можешь забыть.
Аноним 14/04/17 Птн 20:14:21  396381
>>396379
Что по условиям?
Аноним 14/04/17 Птн 21:01:53  396385
>>396381
Зависит от твоего уровня. Если ты ничего не умеешь, но быстро учишься - будешь хуярить за фитбек. Если навыки есть - будешь получать деньги. Если все будет ооооочень хорошо - станешь частью команды.
Аноним 14/04/17 Птн 21:13:33  396386
>>396385
Как насчёт удалёнки?
Аноним 14/04/17 Птн 21:30:26  396387
>>396386
Именно на ней и будет всё
Аноним 14/04/17 Птн 21:51:35  396389
>>396385
О. Раз такая тема, можешь рассказать, чем у вас занимаются кодеры, какие инструменты используют в работе? Любопытно, с каким навыком люди зарабатывают хотя бы на еду.
Аноним 14/04/17 Птн 22:01:11  396392
>>396387
Оставь контакты тогда.
Аноним 14/04/17 Птн 22:30:12  396394
>>396392
durarara11@gmail.com

>>396389
Кодеры кодят.

VS, source tree, tortoise SVN.
Аноним 15/04/17 Суб 00:59:13  396414
как убрать gimbal lock? камера с помощью quaternion.lookrotation смотрит в одну точку и вращается вокруг неё по орбите. Так вот какого хуя когда она приближается в координаты типа vector3.up её начинает косоёбить на 180 градусов
Аноним 15/04/17 Суб 05:42:16  396441
Подскажите как вызвать подсветку нужного обьекта без его выделения. Как когда тыкаешь на обьект в поле он подсвечивается в проекте, или в сцене, но не выделяется.
Аноним 15/04/17 Суб 08:36:57  396449
>>396346
В общем, решил "гибридно" сделать. Сохраню свои абстрактный класс и наследуемые классы его, но сделаю при инициализации по 1 инстанции каждого наследуемого класса. По сути тот же статичный класс получится, но разбитый на участки.
Аноним 15/04/17 Суб 12:52:07  396471
День в хату, юнити-господа. Можно ли на вашем движке пилить открытые бесшовные миры, или размер сцен очень ограничен? Заранее благодарен за ответы.
Аноним 15/04/17 Суб 12:57:14  396474
>>396471
можно.
правда с лодами возможно заебёшься, но стяпляпать своё бесчеловечное небо из перлина и водяной эрозии вполне посильно
как планируешь террайн то генерировать? процедурно или с карты читать?
Аноним 15/04/17 Суб 13:02:08  396475
318.jpg (50Кб, 604x470)
>>396474
> как планируешь террайн то генерировать? процедурно или с карты читать?
Руками.
Аноним 15/04/17 Суб 13:09:09  396476
>>396475
террайн сразу из башки выкинь, с ним не прокатит
Аноним 15/04/17 Суб 13:27:25  396479
Помогите новичку с движением, скажите где можно почитать\посмотреть.
Я нашёл либо взять готовое из стандартных, либо уже с анимацией скелета и физикой.
А мне нужно что бы объект просто двигался с кнопок на клавиатуре.
Аноним 15/04/17 Суб 13:57:50  396481
>>396479
float movex = Input.GetAxis("Horizontal");
float movey = Input.GetAxis("Vertical");
GetComponent<RigidBody>().velocity = new Vector3(movex, movey, 0).normalized * movespeed;

К объекту обязательно должно быть прикреплено RigidBody
Аноним 15/04/17 Суб 14:36:32  396484
>>396479
> где можно почитать\посмотреть.
Дуй смотреть уроки на сайте, а то с каждой механикой так ебаться будешь.
Аноним 15/04/17 Суб 14:56:49  396485
>>396484
Так на каком сайте?
Аноним 15/04/17 Суб 14:58:22  396487
>>396485
Unity3d.com
Аноним 15/04/17 Суб 15:41:52  396491
>>396474
Спасибо, анон, думал, это невозможно. А так я вообще диванный и в юнити пока ещё не разбираюсь, просто заинтересовало, стоит ли в него вкатываться, чтобы сделать в итоге игру мечты, или в конечном счёте столкнусь с ограничениями движка.
Аноним 15/04/17 Суб 17:27:07  396497
>>396491
>или в конечном счёте столкнусь с ограничениями себя
Аноним 15/04/17 Суб 17:42:42  396500
>>396491
До игры мечты ебать как далеко. Я вот начал делать РПГ дрочильню своей мечты с нуля, в итоге обосрамс на каждом компоненте, тысячи запросов в гугл, благо в код немного умел. Думаю заморозить нахуй, сделать платформер, чтобы хоть какое-то подобие законченного проекта было.
Аноним 15/04/17 Суб 20:05:10  396518
>>396500
Не жалуйся, а читай материалы. Чье-нибудь чужое творение найди и посмотри, как оно работает.
Аноним 15/04/17 Суб 20:20:50  396519
я делаю змейку которая может двигается по кубу. Нужно что бы куб становился к камере той стороной, на которой змейка. Не врублюсь как это сделать?
Аноним 15/04/17 Суб 20:36:49  396521
>>396518
А я и не жалуюсь. Просто масштабы я себе задал пиздецки большие, я скорее заебусь продумывать локации, а игромех ничего так пишется.
Аноним 15/04/17 Суб 23:00:34  396531
Есть объект, у него есть тело, ноги, руки. Как можно покрасивей ему вставить оружие в руки? Добавить еще один дочерний объект - оружие и включать его по мере необходимости? Но это очень неудобно, если оружий много, и их координаты на персонаже разные. Наверняка есть какой-нибудь простой метод.
Аноним 15/04/17 Суб 23:03:50  396532
>>396531
как ты хочешь что бы КОД сам определял нужные координаты оружий? ебанулся или че
Аноним 15/04/17 Суб 23:07:53  396533
>>396531
Есть метод, задавая в скрипте координаты, инстанеш или трансформируеш в них оружие, всё. Есст-но оружие должно быть дочерним обектом.
Второй метод задаёш точки на объекте с помощью маленьких сфер, убираеш у них меш, и так-же скриптом вешаем на места точек оружие по категориям, типо: Пистолет1,питсолет2 на точку у "бедра". Автомат1,автомат2,снайперка1 на точку "спина".
Возможно немного не понятно.
Аноним 15/04/17 Суб 23:23:45  396537
>>396533
Попробую вторым, вроде годно выходит.
Аноним 16/04/17 Вск 17:31:34  396608
>>396449
>>396296
Снова выхожу на связь.
Решил заняться ходами юнитов, а из-за этого принялся делать способности (команду на движение по доске через способность реализую), из-за чего мне понадобилось переделывать пасфайндинг, из-за чего я познакомился с удивительным миром массивов, листов и словарей. Таким образом я снова ищу совета.
Как мне с массивами совладать? Читал, что листы очень прожорливые, и поэтому нужно использовать словари. Глянул на свой прошлый код - шкала инициативы, например - так там всё на листах сделано. Самый простой способ замены - просто сделать словари с ключами-интежерами, которые заменят индексы как у листов.
Аноним 16/04/17 Вск 18:18:42  396615
>>396608
В пасфайндинг не умею, но, т.к. скоро будут более-менее бегающие NPC, нагуглил эту статью:
http://www.redblobgames.com/pathfinding/a-star/introduction.html
Поясняет за разные методы анимациями, в конце есть ссылка на гайд для шарпа, но там я уже хуй забил.
Аноним 16/04/17 Вск 18:50:14  396623
>>396615
Спасибо, но вопрос не о том.

Ещё одна проблема вылезла внезапно. Доска на Start() создаёт через new какой-то другой класс, в котором есть переменная, несущая в себе (в теории) ссылку на доску, создавшую этот класс. Когда же дело доходит до вызова функции из нового класса, в которой используется ссылка на доску, выдаёт нулл референц т.е. переменная после записи оказывается пустая. Её сборщик мусора обнуляет или что?
Аноним 16/04/17 Вск 20:05:02  396638
>>396623
Сообразил, в чём дело. Я дурак Дело было в пустом массиве, который я оставил как плейсхолдер
Аноним 17/04/17 Пнд 10:24:29  396717
>>396638
Обращайся.
Аноним 17/04/17 Пнд 16:47:41  396738
good+shit.+no+r[...].png (22Кб, 162x206)
>>396328
> можно делать префабы со скриптами и референсить их в списке
О, оно заработало. NPC кушает команды через префабы с действиями (господи, как же это костыльно звучит), хотя я пока не тестил ничего, кроме преследования игрока да и здесь я наебался, потому что NPC нихуя не поворачивается в сторону цели.
Аноним 17/04/17 Пнд 16:51:34  396740
Screenshot15.png (6Кб, 548x77)
>>396738
А, это я забыл один параметр приписать.
Аноним 17/04/17 Пнд 19:28:18  396776
>>396738
>NPC кушает команды через префабы с действиями
Можно сделать префаб всего NPC, и кастомизировать его через параметры. Или несколько префобов для каждого класса.
Аноним 17/04/17 Пнд 22:17:22  396800
Screenshot16.png (21Кб, 266x430)
>>396776
Ну это-то да, но это к командам не относится. Этот велосипед мне для того, чтобы не писать йоба-FSM для AI. Там выше где-то статья на эту тему, а еще выше совет от анона использовать общий интерфейс и такую схему.
Скрипт NPC пока что только для галочки, и из него берется только фракция (на кой-то хуй). Надо бы еще enum на класс добавить (милишник, кастер, т.п.), и через класс + уровень раскидывать автоматически статы. Но для начала надо бы с ними разобраться, лол, потому что я в душе не ебу, сколько характеристик брать и какие.
Аноним 18/04/17 Втр 08:54:16  396860
>>396623
>>396638
Сообразил способ искать клетки через словарь, но он почему-то не работает. Суть в том, что ключом выступает Vector2 gameObject.transform.position, т.е. только x и y. Я думал искать соседей добавляя к этому Vector2 вектор до соседнего гекса, который заранее определён во время строительства доски из гексов, но словарь упорно заявляет, что нет такого ключа. При этом словарь сам содержит в себе все kvp, которые я задавал, и по векторам клеток исправно эти клетки выдаёт, т.е. дело именно в векторе-расстоянии. Но вектор-то верен, это именно то расстояние, которое задавалось при строительстве доски. Здесь какой-то подводный камень, или я опять где-то в глаза проебался?
Аноним 18/04/17 Втр 10:51:01  396867
>>396800
Параметры лучше всего держать в ScriptableObject, иначе заебёшься с обычными префабами. Как правило - неизменяемые (во время жизни объекта) параметры в ScriptableObject, состояние - в MonoBehaviour.
Аноним 18/04/17 Втр 11:55:22  396877
Доброго дня вам, юнити-господа. Таки решился пилить свою 2д игрулю с блэкджеком и шлюхами, но встал вопрос о том где рисовать спрайты. Есть на выбор CorelDraw и Adobe Illustrator Что из этого выбрать?
Аноним 18/04/17 Втр 11:55:31  396878
>>396860
Может, дело в округлении? Внутри вектора лежат float'ы, я слышал, их значения могут не совпасть, если их сначала разделить на одно число, а затем помножить обратно. Может из-за этого быть?
Аноним 18/04/17 Втр 12:36:01  396886
>>396878
Если ты пишешь в студии, то поставь брекпоинт там, где сравниваются значения, нажми на кнопку attach to unity, запусти проект в юнити и посмотри, какие значения сравниваются.
А вообще да, с вероятностью, близкой к 100%, флоаты после сложения будут не совпадать.