Gamedev

Ответить в тред Ответить в тред
Unity thread # 12 Аноним 15/09/20 Втр 09:57:27 6988431
u1.png 268Кб, 673x768
673x768
u2.jpg 47Кб, 516x389
516x389
u3.png 14Кб, 240x240
240x240
u4.jpg 245Кб, 1950x1300
1950x1300
Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности!

Прошлый тред: https://2ch.hk/gd/res/659486.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
Аноним 15/09/20 Втр 11:00:37 6988492
image.png 13Кб, 401x200
401x200
Аноним 15/09/20 Втр 13:12:41 6988683
>>698832 →
Ну там-то вроде и курс по шарпу(а потом по юнити, если ты про полный), поэтому вроде нормально, что там погромач. Но то, что чел просто зачитывает - это печально. Хотя может это просто введение, а потом будет подкрепление с примерами. Я вот думал взять первый месяц за 5к посмотреть, но как-то хз. Я не особо хочу становиться программистом c# со знанием юнити, у меня вообще был план сделать парочку гиперказуалок просто потому что скучно. Решил чекнуть инфоцыган местных и увидел этого странного чела.
Аноним 15/09/20 Втр 13:25:14 6988694
15997395522240.jpg 3Кб, 225x225
225x225
Как лучше работать с данными в юнити?
Например, я хочу иметь что-то типа базы данных абилок, где у меня будут храниться все их параметры, название, иконка, стоимость, кулдаун, и т.д.
Таких абилок может быть много, десятки, сотни, с ними должно быть легко и удобно работать через инспектор, поэтому просто в коде в массивчике хранить не хочу.
Но и префаб на каждую абилку городить не хочу, это кажется неправильным, все-таки это не геймобжект, размещаемый на сцене, а именно набор данных.
Думал про табличку в экселе, и потом импортировать, но тоже не очень удобно, хочется все-таки иконки через инспектор драг н дропом кидать, а не просто прописывать путь.
Есть что-то из коробки в юнити, или надо смотреть в сторону ассетов?
Databox выглядит похожим на то, что мне нужно, но неужели до сих пор нет из коробки похожего функционала?
Аноним 15/09/20 Втр 13:44:07 6988745
15834138583181.png 129Кб, 921x495
921x495
Что будет, если я куплю ассет, использую его в проекте, потом скину проект другу, у которого этого ассета нет, у него он не будет работать? Или когда добавляешь ассет в проект, он копируется в него целиком, и после этого можно запускать этот проект на другой версии юнити без купленного ассета?
Аноним 15/09/20 Втр 13:56:48 6988766
6a96da07172fba0[...].png 113Кб, 499x595
499x595
>>698874
Ассеты импортируются в проект, проблем быть не должно.
Аноним 15/09/20 Втр 15:24:46 6988857
15834138583170.png 68Кб, 658x384
658x384
>>698876
Даже ассеты, которые состоят только из кода, без моделек/текстур/префабов?
Сейчас же даже убрали браузер с ассет стором из юнити, чтобы облегчить редактор, и перевели на package manager, это не значит, что в проекте подключенные ассеты будут качаться через него при первом запуске?

И еще вопрос ко всем в треде, есть ли список must have ассетов, которые стоит по дефолту использовать в любом проекте?
Имею ввиду не ресурсы для игор, а именно полезные расширения редактора или утилиты, которые упрощают и ускоряют разработку.
Например, odin крутая штука, но дорогая, может есть что-нибудь в таком духе, но бесплатное?
Или не бесплатное, но хотя бы не очень дорогое, что стоит купить и потом использовать во всех проектах.
В общем, пишите ваши любимые ассеты, что стоит посмотреть.
Аноним 15/09/20 Втр 16:56:14 6988918
>>698885
Ну я такой ассет и юзал и он импортируется.
Угадай с какой игры спиздил механику Людвиг 15/09/20 Втр 17:02:28 6988929
2020-09-15 17-2[...].mov 6829Кб, 1280x720, 00:00:20
1280x720
2020-09-15 02-0[...].mov 4653Кб, 1280x720, 00:00:16
1280x720
Делаю игру, в которой разными предметами персонажи пользуются по особенному. В планах сделать так, чтобы предметы позволяли пользоваться механиками из ретро игр. Сегодня допилил функционал лопаты. Кто играл в эту игру в детстве?
Аноним 15/09/20 Втр 17:58:00 69889610
1.jpg 69Кб, 600x330
600x330
>>698892
Если бы это были плейсхолдеры, то ты бы не заморачивался на анимацию... Надеюсь этов сё же плейсхолдеры. Иначе мне даже подумать страшно, что у тебя в голове.
Аноним 15/09/20 Втр 18:12:54 69889811
>>698869
ScriptableObject + твой интерфейс ISkill например.
Так ты сможешь переиспользовать свои скилы и менять их параметры через инспектор.

>>698874
Ассет это zip архив, встречал ассеты которые просят тебя регаться на емейл - такие НАВЕРНОЕ не будут работать без твоей учетки, но 99% ассетов просто "вот тебе пара .cs файлов"

Аноним 15/09/20 Втр 18:24:36 69889912
>>698892
>Угадай с какой игры спиздил механику
Изи, Duck Tales
Аноним 15/09/20 Втр 18:26:21 69890113
15749985410790.jpg 7Кб, 217x217
217x217
>>698898
>ScriptableObject
Спс, то что нужно.
Только у меня в голове не укладывается, почему он называется ScriptableObject, если это объект для хранения данных, почему не DataObject, например. Он же не скриптуется, почему scriptable?
Аноним 15/09/20 Втр 18:54:04 69890414
image.png 314Кб, 800x700
800x700
>>698892
Это не плейсолдеры. Я программист а не художник
Аноним 15/09/20 Втр 18:56:08 69890515
>>698896
Кстати, если интересно посмотреть что у меня в голове, предлагаю чекнуть мои посты по разработке. https://pikabu.ru/@Peregon
Аноним 15/09/20 Втр 18:58:45 69890616
>>698905
Всё понятно с тобой.
Аноним 15/09/20 Втр 18:59:38 69890717
>>698905
Тащемта, анимации неплохие, ты всё сам делал?
Где анимировал, спайн или прямо в юнити?
Они у тебя процедурные, завязанные на физику?
Мне только кровищи не хватает на твоих гифках, хотелось бы крови и угара в такой игре, а не просто всплывашку в стиле детских мультиков
Аноним 15/09/20 Втр 19:08:34 69890818
2020-09-15 22-0[...].mov 2459Кб, 1280x720, 00:00:16
1280x720
>>698907
Всё делал сам, анимировал в юнити, часть анимаций процедурные, на физику анимаций не завязано. Есть и кровища. Но пока только в одном из захватов.
Аноним 15/09/20 Втр 19:12:05 69890919
>>698908
Бля, аж взвизгнул с происходящего.
Как монетизировать планируешь?
Думаю, такая игра зашла бы всяким стримерам, которые стримят треш-игры.
Аноним 15/09/20 Втр 19:13:46 69891020
>>698909
На текущий момент ебашу ради процесса, мой изначальный ориентир - Duck game. Поэтому и монетизацию наверное стал делать бы как там, просто пэй ту плей. Одноразовая выплата. Но, в теории, здесь легко клепать скины и всякие элементы кастомизации.
Аноним 15/09/20 Втр 19:27:45 69891121
Аноним 15/09/20 Втр 19:37:05 69891222
>>698911
Я из Казахстана, если вопрос об этом
Аноним 16/09/20 Срд 07:56:36 69897223
>>698901
Наверное под scriptable понимается, что его можно скриптовать, но по факту этого объекта не будет в игре как GameObject-а. Юнете оч старая и скорее всего над неймингами долго не думали, потом так и оставили.
Аноним 16/09/20 Срд 14:09:32 69901324
image.png 2396Кб, 1920x1280
1920x1280
Хочу сделать FOW в topdown игруле. Как в Darkwood. Куда посоветуете копать? Гугл выдает только ассет за 60$, да и всё...
Аноним 16/09/20 Срд 14:14:04 69901525
>>699013
На хабре стетье 10 лет, а это значит что на гавно-мобилках будет 60фпс выдавать в наше время
https://habr.com/ru/post/350396/
Вообще загугли: "habr unity3d 2d shadow", там много результатов и выбери реализацию, которая тебе больше всего нравится/подходит.
Удачи
Аноним 16/09/20 Срд 14:27:15 69901926
>>699013
>FOW
FOV
>быстрофикс

Вот я дебил. Ошибся тут, и ошибся в гугле, введя вообще FOG.
>>699015
Спасибо!
Аноним 16/09/20 Срд 17:10:15 69906027
Привет аноны, в процессе создания игры на мобилки возникла такая проблема: я создал сцену, накинул на нее канвас с кнопками и обработчиком событий. По-моему замыслу при нажатии по экрану в любом свободном месте должна начинаться сама игра, а при нажатии на кнопки соответственно должны срабатывать кнопки. Так вот, в редакторе все работает как надо но при портировании на телефон оно работает через жопу и либо работают кнопки, либо работает тап по экрану для начала игры, а вместе они работать не хотят. Как быть?
Аноним 16/09/20 Срд 17:11:49 69906128
>>699060
> По-моему замыслу при нажатии по экрану в любом свободном месте должна начинаться сама игра
И как это реализовано?
Аноним 16/09/20 Срд 17:15:05 69906429
>>699061
через вот этот if в update
if(Input.GetMouseButtonDown(0) && cubeToPlace != null && allCubes != null && !EventSystem.current.IsPointerOverGameObject())
Аноним 16/09/20 Срд 17:17:36 69906730
>>699064
> cubeToPlace != null && allCubes != null
Хуй знает что это у тебя за условия такие, но что будет если их выкинуть из конструкции?
Аноним 16/09/20 Срд 17:21:32 69906831
>>699064
Что за хуйню ты наговнокодил?
Делаешь обьект картинку на весь экран, поверх ставишь кнопки, эвент тригер при нажатию на картинку->начать игру, при нажатие на кнопки вызвать функции кнопок.
Аноним 16/09/20 Срд 17:23:02 69906932
>>699064
> EventSystem.current.IsPointerOverGameObject()
> в редакторе все работает как надо но при портировании на телефон оно работает через жопу
Может быть, потому что на телефоне нет указателя мышки?
Аноним 17/09/20 Чтв 19:16:05 69930733
>>698912
Бро, здесь все из Казахстана.
Это казахстанская доска на самом деле, но об этом не принято говорить вслух.
Аноним 18/09/20 Птн 00:43:09 69934134
>>698849
Слейте на трекер
>/thread
Аноним 18/09/20 Птн 01:18:11 69934335
33cb33bca42f8ec[...].png 1043Кб, 794x798
794x798
для тех кто не очень часто читает ченджлоги оповещу, что в новой бете (2020.2) Camera.main теперь стала пизже и работает не как раньше аля GameObject.FindWithTag. теперь это почти бесплатная функция:

Scripting: Camera.main is much faster to query.

Camera.main used to be a performance costly function to call. With this optimization a dedicated list of objects with the main camera tag is maintained, and searching this list is almost instantaneous.

так что если ты долбоёб и используешь Camera.main, то теперь ты не долбоёб. принимай поздравления анон
Аноним 18/09/20 Птн 02:20:23 69934536
>>699343
>то теперь ты не долбоёб
Человек, опередивший время.
Аноним 18/09/20 Птн 11:28:06 69939237
>>699343

Заебись, пошли на поводу у школьников-говноделов, найс.



Это как майкрософт пихала кучу костылей в ядро NT что бы какой-то там Sim City, эксплуатирующий недокументированное поведение своим говнокодом шёл.
Аноним 18/09/20 Птн 14:01:34 69943238
>>699392
в данном случае это не костыль и, честно говоря, я рад введению. но когда читал, то деда включил и примерно так же жаловался
Аноним 18/09/20 Птн 15:04:54 69944939
>>699392
>Это как майкрософт пихала кучу костылей в ядро NT что бы какой-то там Sim City, эксплуатирующий недокументированное поведение своим говнокодом шёл.
Подробнее, пожалуйста. Интересно было бы почитать.
Аноним 18/09/20 Птн 15:27:44 69946040
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов