Этого треда уже нет.
Это копия, сохраненная 17 августа 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
unity.jpg59 Кб, 750x422
Unity Thread 442120 В конец треда | Веб
Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности!

Прошлый тред: https://2ch.hk/gd/res/427717.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
2 442125
>>42120 (OP)

> лучшего 2D игрового движка современности!


пруфы или пиздаболы
3 442129
>>42125
Двачую. Уже чувствую, как простейшая двадэ головоломка уровня злых птиц лагает от космического количества слоёв абстракции. Гамак, заточенный чисто под 2д, передаёт привет. С ним годот, констракт и остальные.
4 442136
Делать систему HP/Damage через EventManager - нормальная практика? Простой платформер с быстрым темпом игры
5 442145
>>42136
Подробнее распиши
6 442151
У меня в игре допустим 5 экранов. Мне надо каждую реализовывать в виде сцены? А как перекидывать между ними геймобджекты с менеджерами? Ну и отсюда вопрос как делать экран с загрузкой и паузу в игре.
7 442152
>>42151
Ты тупой.
8 442153
>>42152
покажи хоть где не прав, чтобы исправился. Писал бы приложение на сях, создал бы где-нибудь в мейне обекты и хранил бы их. А тут как делать?
9 442154
>>42151
Dontdestroyonload()
10 442157
>>42151
Ну твою то за ногу, ну пройди ты официальные туториалы на сайте Юнити, поделай туториальные игры. Тогда не будешь задавать вопросы, которые в силу их безграмотности никто даже не может понять, не то что ответить. Что у тебя за пять экранов, пять мониторов чтоли, игра для биржевых аналитиков?

Если тебе нужно грузить сцену, при этом не уничтожая что-то что-то, есть Dontdestroyonload, есть LoadSceneMode.Additive; можешь что-то сохранять в ScriptableObject.
Экран с загрузкой - если я правильно понял, речь о SceneManager.LoadSceneAsync(додуешь или нагуглишь, как сделать индикатор загрузки).
Паузу можно ставить с помощью time.timescale = 0f Может это и не самый грамотный способ, но извините.
11 442158
>>42157
Аминь, братишка.
12 442160
Есть ли альтернативные физические движки, в которых все действующие на объект силы всегда доступны наружу, или они все как и дефолтный на черной магии работают и дают читать только конечный вектор?
13 442163
>>42151
Сразу про poolmanager погугли.
14 442166
>>42129
>>42125
Тот же римворлд, например. Работает быстро и чисто.
Годот - питоноговно, констракт примитивен и не имеет столько возможностей, сколько есть у юнити, гамак - ну это вообще несерьёзно. Можно на вашем гамаке или констракте сделать что-то уровня Heart of Iron 2? На юнити можно.
15 442169
Серега тут.
16 442171
>>42120 (OP)
Нахуй нужен движок разработчики которого даже не делают игры? Как они могут сделать хороший для разработчика движок?
17 442172
>>42125
>>42129
Так-то в юнити вообще нет настоящего 2D! Все на поверхность 3д плейнов выводится и снимается с камерой без перспективы.
18 442175
>>42172

>Все на поверхность 3д плейнов выводится и снимается с камерой без перспективы.


Будто что то плохое.
19 442176
>>42171
Пидор ты тупой, Максимка.
Разрабы, которые выбрали юньку постоянно хуячат фидбек, а юнитеки на основе фидбека добавляют фичи.

>>42172
Так-то нигде нет настоящего 2D, фуфел ты глупый. У тебя все движки ломятся в рендерер, который заточен под 3D.
20 442177
Как сделать поиск путей в 2d? Мне предлагал анон, чтобы враг просто шел к точке, в которой последний раз видел тебя, но проблема в том, что у меня также есть агр на шум.
21 442179
>>42166

> гамак - ну это вообще несерьёзно


Зачем ты судишь об инструменте, который никогда в глаза не видел?

> Можно на вашем гамаке или констракте сделать что-то уровня Heart of Iron 2?


Можно
22 442180
>>42166
Гамак - серьёзно. Хотлайн, hyper light drifter, 12 is better than 6, spelunky, nuclear throne и прочие кагбэ намекают. Годот - штука специфичная, в него вкатываться трудно пзц. За констракт не отвечаю.
23 442181
>>42177
Вообще не вижу проблем. Берёшь алгоритм A-star, ведёшь врага по пути, при появлении шума меняешь конечную точку на источник шума и заново строишь путь. Прафет.
24 442182
>>42180

>Хотлайн, hyper light drifter, 12 is better than 6, spelunky, nuclear throne


Это ты типа годные игры перечислил?
25 442183
>>42182
Да, это игры, хорошо принятые как игроками, так и прессой.
По делу-то есть что сказать?
26 442185
Подскажите, как можно сохранить для каждого скина, куплен он или нет через JSON. Просто создать для каждого кубика отдельную булевую переменную, а затем сериализовать класс?
Просто массив или Dictionary<> JSON не сможет реализовать, так как это ссылочные типы.
27 442186
>>42177
Посмотри, может вот эта штука сгодится https://docs.unity3d.com/Manual/NavMesh-BuildingComponents.html
28 442189
>>42177
для 2д я что-то типа того писал
https://pastebin.com/mYFUX78w
Работало
29 442190
>>42186
Навмеш не работает в 2d.
>>42189
Спасибо, приеду домой посмотрю.
30 442191
>>42182
Это -самые настоящие игры. Фэнтезийные, нереалистичные, аркадные и интересные. Игоры фаркраем не ограничены.
31 442192
>>42190
вообще-то работает
32 442195
>>42180
Да никто не спорит, что можно сделать неплохой экшн с видом сверху, рпг ил платформер. Но 2D этим не ограничивается. Ещё есть большие и сложные глобальные стратегии, с кучей графиков и расчетов, с огромной непрерывно обновляющейся картой. И тут юнити будет лучше.
33 442199
>>42195

> тут юнити будет лучше.


Чем именно? Перечисли.
34 442216
>>42195
Вычисления массивов данных можно проводить хоть в чистом си, всем насрать. Памятью чаще всего заведует ОС/виртуалка, нежели двигло, особенно в языках с мусоросборщиком. Тут как раз Юнити будет лишним.
35 442218
Нубский вопрос: в модельках из ассет стора кости рига торчат наружу под углом 90 градусов. А в туториалах в основном делают кости так, как они расположены у нас - вдоль конечностей. В чем здесь соль?
36 442238
>>42195

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


Которые ты никогда не сделаешь. Потому что помимо программиста и художника в команде должны быть несколько математиков и экономистов, которые допилят баланс до играбельного состояния. Без баланса хардкорные игроки скажут "фи" и все.

>>42218
Кости не должны торчать, лол. Если торчат, то кто-то что-то похерил при импорте модели и сетка не привязалась к костям.
Делают Т-позу потому что так проще моделлить и рисовать веса на модели при риге. Если по стойке смирно будет стоять, то очевидно, что заебешься из за близости рук к телу.
37 442253
>>42145
Уже не делаю, подумал что лучше в каждом объекте, что может получать урон, проверять в OnCollisionEnter2D() столкновение и через switch определять тип попавшего снаряда и снимать HP.
Хотя EventManager всё равно до конца не ясен
38 442281
>>42189
Можешь нубу объяснить че и как там работает?
>>42192
Значит это у меня не работало. Ну поищу рофлы.
39 442288
>>42253
Я ивенты как место связи использую. Туда помещаю всё, что происходит в самой игре (а не просто в коде) и от чего зависят много скриптов разом. Скажем, смена хода, удар, движение и всё такое, т.е. не банальности, а как бы комплексные действия.
40 442293
>>42192
С каких пор? На форуме только и говорят о костылях, в документации все по 3D.
41 442295
>>42293
с тех пор как в юнити новый навмеш положили
Sheena.jpg297 Кб, 1410x1398
43 442299
>>42199
Думаю, он говорит про кнопочки (которые хуёво устроены) и про панельки с текстами (которые тоже хуёво работают). Довольно просто настроить и значения туда-сюда подогнать. А с туториалами вообще можно целую игру запилить не погружаясь в дебри программирования. Мечта любого парадоксоёба-моддера, короче.

В общем, я не нашёл ничего про инпутфилды кастомные, поэтому придётся использовать встроенный. https://docs.unity3d.com/ScriptReference/UI.InputField.html
Я правильно понимаю, что могу сделать наследующий класс инпутфилда, взять любую функцию из списка, ебануть оверврайт, поставить base что-то там, чтобы выполнялось то, что выполняется в оригинале, и дописать своё поверх?
Что из этого отвечает за включение/выключение режима письма в бокс? Activate и deactivate?
Скажем, мне нужно в изменять вводимый текст, чтобы при введении какого-то слова оно окрасилось в какой-то цвет. Понятно, что нужно подменить текст. Что и куда менять надо из этих функций?
44 442301
>>42298
ну а что по твоему ещё? открой ссылку на гитхаб, там экзамплы лежат, посмотри.
45 442304
>>42288
Прикрутил EventManager описанный в "Искусство создания сценариев в Unity" Алана Торна (стр146). EventManager отсылает уведомление о событии всем подписанным на него объектам. Каким образом можно отослать уведомление конкретному подписавшемуся из нескольких?.
46 442305
>>42304
Я не помню точного кода, но ты подписываешь каждый объект отдельно. Там какая-то строчка с +=
47 442306
>>42304
спросить "ты ли это?" у каждого кто принял. но вообще если ты дошел до такого то ты не совсем правильно пользуешься этой штукой
48 442307
>>42304
А конкретному нельзя, это да
49 442312
>>42304
Ну, чисто технически, ты можешь конкретному отослать, но менеджер эвентов - это тот еще головняк и лучше используй его, когда у тебя есть события типа: пауза, на локации пошел дождь, тян серит вонюче. То есть, там, где тебя не ебет флоу.
50 442313
>>42304
Я для своей игры так делаю:
Отдельный объект урона, разные типы урона наследуют от основного урона. В основном объекте метод нанесения урона, в который заносятся параметры от участвующих юнитов. Удары случаются только от абилок, так что этот метод (ссылка на объект урона занесена в абилку как тип урона, также удобно на панельке абилки информацию об уроне выводить) вызывается из абилки, когда она используется. Всякие баффы тоже отдельными объектами, в них есть список подписанных на конкретный бафф юнитов, у юнита список наложенных баффов (для удобства, опять же), если есть баффы, их методы используются до абилки или после.
Через ивенты в принципе будет то же самое (я думаю), но ты будешь тот же самый метод вызывать из другого места просто. Может быть проще следить, но я что-то сомневаюсь, что в этом дерьме так уж много строк, чтобы не уследить.
51 442325
>>42306
>>42312
Спасибо, я понял что не правильно хотел его использовать.
52 442366
Подскажите, как можно сохранить для каждого скина, куплен он или нет через JSON. Просто создать для каждого кубика отдельную булевую переменную, а затем сериализовать класс?
Просто массив или Dictionary<> JSON не сможет реализовать, так как это ссылочные типы.
53 442370
>>42366
ты задал вопрос через жопу. опиши структуру того что ты пытаешься сериализовать. и отдельно опиши более детально что ты вообще пытаешься делать. желательно с картинками.
54 442373
>>42370
Уже сделал, спасибо
Untitled.jpg21 Кб, 404x150
55 442391
Блять, гдач, спасай.
Это либо юнити совсем охуел, либо я в конец даун отбитый:
Проставил галочки как на пикриле, собираю билд на ведро, но ебучая черная полоска с дебагом все равно всплывает сверху.
Галка девелопмент билд отключена.
Спасай, анон, что это за хуйня?
56 442404
>>42391
Какая еще черная полоска? Ты там какой нибудь ебучий ассет скачал чтоб он тебе полоски показывал.
57 442408
Анон, вот смотри. У меня создаются два одинаковых объекта. К каждому прикреплено по еще одному. При этом есть скрипт прикрепленный к префабу. В нем указанно, что если нажать на прикрепленный объект, то первый изменит местоположение.

У меня же получается, что когда я нажимаю на один объект, местоположение меняют оба. Почему так и как вообще лучше реализовать это?
58 442415
>>42408

>>первый изменит местоположение.


>>местоположение меняют оба.


Место где именно указывается какой объект меняет местоположение.
59 442422
>>42404
Не, дефолтная, но я уже рзобрался как отключить, спасибо.
60 442424
>>42422
Ты бы хоть для других написал как.
61 442426
>>42299

>Думаю, он говорит про кнопочки (которые хуёво устроены) и про панельки с текстами (которые тоже хуёво работают). Довольно просто настроить и значения туда-сюда подогнать. А с туториалами вообще можно целую игру запилить не погружаясь в дебри программирования. Мечта любого парадоксоёба-моддера, короче.


Это про юнити или констракт?
62 442428
Анон, а можно как-то осуществить проверку нажатия
RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
не по тегу или имени объекта на который нажали, а тому объекту, который я объявил в самом скрипте.
То есть я объявляю public GameObject Obj;
И мне надо совершить действие после клика на него. Но не через
if (hit.collider.gameObject.tag == "...") или name.
63 442431
>>42428
OnMouseDown
64 442432
>>42428
Создай компонент для идентификации.
65 442434
>>42431
>>42432
А есть какая-нибудь проверка, является ли объект дочерним к данному? Или наоборот родительским?
У меня в этом вся проблема.
66 442447
>>42434
Все. Я сам.
Сделал hit.collider.gameObject == Obj
Вроде заработало как надо.
67 442550
>>42428
>>42447
Вот собранный из говна и палок рейкастер. Правда, он для 3д. Суть его в том, что он видит одновременно и ГУИ, и сами игровые объекты.
https://pastebin.com/n2Q6iCRg
По умолчанию видит любые объекты, которые наследуют от IClickable, и берёт первый, в который упирается луч. Объект обязательно должен иметь image.
Добавляешь к объекту новый компонент RaycastFilter и используешь метод Initialize, чтобы рейкастер мог перестать замечать части изображения, которые за пределами коллайдера. Добавляешь компонент RaycastHidable и наследуешь от IRaycastHidable, ставишь в нём owner'а объект, к которому добавил RaycastHidable, и затем можешь переключать бул raycastHidden, чтобы рейкастер мог видеть/игнорировать этот объект
В переменной hovered лежит объект, в который упирается луч после фильтров. OnMouse*Custom'ы в видимых рейкастеру объектах вызываются в соответствующий момент.
68 442589
Скрипт движения пули (ДваДэ):

void Start (){
mousePosition = Input.mousePosition;
mousePositionGlobal = Camera.main.ScreenToWorldPoint(mousePosition);
}
void Update (){
transform.position = Vector3.MoveTowards(transform.position, new Vector3(mousePositionGlobal.x, mousePositionGlobal.y, 0.0f), speed * Time.deltaTime);
}

Пуля доходит до точки где был курсор в момент выстрела. Как заставить пулю лететь до упора?
69 442590
>>42428
>>42550
Вы блядь аутисты, про эвенты слышали вообще?
70 442592
>>42589

> Пуля доходит до точки где был курсор в момент выстрела


А схуяли она должна через MoveTowards лететь дальше координаты конца вектора? Вычти от mousePositionGlobal свой tramsform.position и внезапно получишь направление (геометрию в школе прогуливал что ли?), а по этому направлению уже пускай свою пулю по прямой.
71 442593
>>42590
А что это?
72 442594
Подскажите, аноны, как правильнее: игровой объект сам вызывает в менеджерах аудио, подсчета очков, считалке врагов на карте и прочих и прочих сециальные методы для воспроизведения реакции на событие (например, смерть); все менеджеры являются потребителями одного открытого делегата-события в классе игрового объекта?
73 442595
>>42590
Ты про OnMouseEnter/Exit? Если панелька в GUI будет висеть над объектом, то случится хрень полная. Мышка зашла на панель, мышка заходит на объект, но не вызывает OnMouseExit для панельки. С таким рейкастером не нужно придумывать охуительные системы вычисления, над чем же, бля, мышка висит.
74 442597
>>42592

>>Геометрию в школе прогуливал что ли?


Ага. Вместо уроков шел играть в вов в клуб. Даже не знаю что было лучше -полюбить игори или знать геометрию?
Спасибо, всё работает как нужно
75 442599
>>42595
Про EventSystem.current.IsPointerOverGameObject ты не слышал, да?
76 442600
>>42599

>EventSystem.current.IsPointerOverGameObject


Неа.
https://docs.unity3d.com/ScriptReference/EventSystems.EventSystem.IsPointerOverGameObject.html
В любом случае говноёбство. Велосипед с нуля логичнее работает.
77 442610
>>42594
Никак. Тебе решать, что лучше. И тот и другой подход имеют право на жизнь. В идеале заранее спланируй какие у тебя там менеджерв должнв быть и что они будут делать, а также подумай не избыточны ли они.
78 442613
>>42600
Удачи в написании велосипедов вместо игры.
14351710350981.jpg47 Кб, 500x485
79 442616
>>42597
Геометрии можно и сейчас научиться. А вот игровую импотенцию уже не вылечить.
asd1111zxc.png23 Кб, 1468x652
80 442617
Почему эта корутина выдает NullRreferenceException ? Эта какая-то очень глупая и очевидная хуйня, но я не могу понять какая именно.
98a4937b132ec170ef2dda037b488eb2ecdc5a6d.jpg415 Кб, 853x960
81 442618
>>42616
Нужно просто постараться.
82 442619
>>42617
на какой строчке выдает то блядь?
83 442620
>>42616
Игровая импотенция у геймдевелопера или у игрока? В первом случае это профессиональная деформация, второй случай у каждого по своему развивается.

Считаю что лично мне игровая импотенция не светит - за всю жизнь я прошел около 5-7% существующих игр. К тому же я каждый день повторяю мантру про охуеность геймдева Видео-игры - апогей современного творчества....
84 442621
>>42120 (OP)
Привет, как сделать кнопку интерфейса видимой только во время нажатия кнопки (E) клавиатуры?
То есть, какая команда отвечает в скрипте за это?
85 442622
>>42620

>игровая импотенция не светит


Так же она не светит любителям дотки, майнкрафта, ЖТА, лола, чо я еще забыл?
86 442623
>>42619
Там где вызываю корутину (19 строчка)
87 442624
>>42621
if (Input.GetKey (KeyCode.E))
hueta.enabled = true;
else
hueta.enabled = false;
88 442625
>>42624
Спасибо. Это можно на скрипт кнопки повесить?
89 442626
>>42622
Имхо, как раз именно сессионки становятся причиной игровой импотенции. Дрочить одно и тоже рано или поздно надоест, а осадок в виде рвотной реакции на все игры вообще, остается.
90 442627
>>42625
Да. Ты бы основы подучил.
91 442628
>>42625
Куда угодно, только не на хуету, которую прятать собираешься. И да, саму хуету в скрипт передать не забудь.
tumblrokps05WnAn1vq4yhoo11280.jpg97 Кб, 700x700
92 442630
>>42626
А меня только R6:S спасает. Всё ранее перечисленное вообще не заходит (а доту даже не пробовал).
93 442639
>>42617
бамп разочек
94 442644
>>42620

> В первом случае это профессиональная деформация


Профессия еще не началась, а уже деформировался.
5% игр точно не прошел, но много овощил в РПГ (500 часов в Скайриме благодаря модам), преимущественно из-за красоты и загадочности миров, интересного лора. Теперь вот пытаюсь сделать подобный рай для аутиста.
95 442653
>>42623
Хуйня какая-то, вставь текст ошибки лучше полный.
96 442655
>>42623
Понял в чем ошибка. Этого объекта нет на сцене, когда он пытается вызвать корутину.
1.jpg92 Кб, 640x960
97 442659
>>42120 (OP)
Аноны, хелп! Писал на юнити игру с февраля 2017, значит все собрал, все работает и решил я накинуть плагинов с рекламой и достижениями. Выбрал плагин от аподила и плагин от гугла с достижениями. И они вместе никак не хотят работать. Вылетает ошибка unable to convert java dex format. Проблема в том что в папке plugins слишком много плагинов и андроид не может собрать апк. Подскажите, может кто-то с таким сталкивался. Пытался собрать через градл, но там полетело еще больше ошибок. Хочется чтоб и ачивки были, и копеечка с релкамы.
98 442702
>>42655
Проблема была в этом:http://answers.unity3d.com/questions/745685/nullreferenceexception-on-startcoroutine.html

Я использую переменную в которую подгружаю ссылку на текущее оружие: currentWeapon = new Rocketshoot(); . Для стрельбы вызываю соответственно currentWeapon.Shoot() >>42617. В совете выше предлагается использовать AddComponent вместо new и я не понимаю как именно, ведь мне нужен весь объект а не какой-то его компонент.
99 442707
вопрос. делаю сетевое сессионное дрочево через unet. хочу инвентарь. есть где почитать про то как правильно сделать синглтон на сервере который бы контролировал все это дело?
100 442712
>>42702
Объясни что ты пытаешься сделать или иди нахуй.
101 442722
>>42707
Ни фига себе, у тебя headless server будет? На hlapi ваяешь что-то вроде авторитарной архитектуры? Unet так то фигня сырая, мало кому нравится.
Unity 2017-09-10 16-50-25-35.png117 Кб, 1116x796
102 442730
>>42722
я сорт оф сделал прототип с hlapi. на сервере болтается синглтон который сообщает клиентам всякие мелочи вроде какая карта выбрана, где текущий респавн и прочее. общий статус игры в общем. но внутри какая-то нелепая мешанина с делегатами. пару дней назад полез в llapi и меня устраивает, но туда проникать буду долго. теперь вот у двача решил спросить советов
103 442732
>>42730
Hlapi в основном для прототипов и советуют использовать. llapi смотрел, вроде можно работать, но это какой-то гемор. Есть же готовые решения. Мне например Photon понравился из п2п релейки. Вот про его отличия от юнета https://www.youtube.com/watch?v=Y1my5bKhKJY
Правда, родные скрипты вероятно придется переделывать/допиливать, PhotonTransformView и т.п.

Что касается клиент-серверной архитектуры(если ты ее делаешь), поспрашивай у других анонов. Для нее тоже есть готовые решения, Forge networking например, но я их не тестил.
104 442734
>>42732
спасибо за ответ, да.
да, я уже смотрел это видео и знаю. делаю клиент-серверную архитектуру, но чтобы сервер мог к себе присоединиться как клиент ещё.
ещё несколько дней посмотрю llapi, хочу попробовать сделать его вместе с hlapi. сделать чтобы общая информация передавалась через llapi и чтобы оно служило как метод синхронизации состояния, но с перемещением и прочими мелочами вроде и hlapi неплохо справляется. хотя все это выглядит сомнительным. потом наверно фотон посмотрю и Raknet планировал глянуть.
105 442735
Как поставить игру на паузу, и чтобы при этом работала корутина с WaitForSecond?
106 442739
>>42712
Перезарядку на выстрел корутиной
107 442740
>>42735
Нашел, WaitForSecondsRealtime
Screenshot31.png36 Кб, 700x851
108 442741
>>42702

> подгружаю ссылку на текущее оружие: currentWeapon = new Rocketshoot();


Нихуя не понял твоей логики. Ты из нихуя создаешь новое оружие в переменной, в которой оружие свапается постоянно.
На пике то, как твой шутан должен примерно работать, на видео примерно тоже самое описывается.
https://www.youtube.com/watch?v=bvRKfLPqQ0Q
109 442750
>>42741
Спасибо, сейчас попробую переделать.
110 442766
>>42741
Что должно быть в ShootingMechanic ? Пустой public virtual void Activate(int damage) и всё ?

Выдает NullReferenceExeption в 16 строчке (твой пик).
112 442774
>>42772
Ладно, ладно, сам разберусь я тормоз немного
113 442778
>>42774
Не, ну нахуй, я слишком туп что бы понять почему weapon.pistol == null. Пойду погуляю что ли
114 442781
>>42766
ShootingMechanic — это MonoBehaviour. В моем примере от этого класса наследуют типа механика стрельбы снарядами по прямой и механика стрельбы рейкастом. Можешь еще прикрутить гранаты и спавн взрывчатки на точке.
В ScriptableObject'е (который оружие) потом навешиваешь ту или иную механику. Только в оружие тебе нужно еще вписать префаб снаряда, иначе их хуй передашь.

> Выдает NullReferenceExeption в 16 строчке (твой пик).


Так допиши проверку на null, одной строчкой решается.
115 442785
>>42778
Лол, блядь, потому что конструктор арсенала просто создает пустые ячейки, все внутри него равно null. Тебе надо в префабе игрока в арсенал закинуть хотя бы пистолет. Шаблон под оружие у тебя есть, надо просто сделать вариант, который можно назвать пистолетом по урону и скорости стрельбы.
zda.png30 Кб, 536x510
116 442793
>>42785
Можно последний даунский вопрос?

>>надо просто сделать вариант, который можно назвать пистолетом


Это должен быть скрипт наследующий Weaponq? Или префаб? Ни одна хуйня не подходит.
117 442794
>>42793

>этот миллион полей

118 442795
>>42794
Доделаю оружие - приведу всё в порядок.
119 442799
>>42793
Подскажите и я съебу наконец.
120 442800
>>42793
27-ая строка позволяет пилить ассеты из этого класса. Т.е. отдельную инстанцию объекта. В браузере файлов Унити (ну или как он называется, ты меня понял) на ПКМ создаешь ассет, настраиваешь урон, кд, патроны, спрайт/модель.
Все, у тебя есть пистолет.
Только сериализуй struct Weapons, чтобы он появлялся в компоненте игрока и кинь пистолет туда.
121 442802
>>42800
Не создается.
Попробую сделать всё с самого начала. Всем спасибо за помощь.
122 442803
>>42802
Гугли ScriptableObjects и как они работают.
123 442811
Продолжаю неторопливо разбираться в инпут филдах.
Есть у меня, значит, девконсолька. Всё работает, гайд в интернете есть, открывается-закрывается, кнопки жмутся, проблем нет. А есть сам инпут филд с дитём-текстом. Инпут филд тоже работает, я к нему прикрутил почти всё, что мне нужно, но при тесте встала проблемка: похоже, инпут филд имеет свой набор быстрых клавиш, и при нажатии эскейпа он принудительно удаляет вписанное в инпутфилд.
Как и где это лечить? Всё, что я с этим инпутфилдом делаю, это вызываю Activate/DeactivateInputField(). Эскейп тоже вызывает в одном случае Deactivate, но аналогичный вызов через клик на пустую область экрана не стирает набранный текст
124 442812
Здарова, кабаны, почитал тут вашу шапку, воодушевился, да, решил тут свой инсайд запилить. Как я понимаю у вас здесь сотни таких появляются постоянно и затем так же закономерно исчезают?
125 442814
>>42734
>>42732
в итоге полез ещё дальше в llapi. вообще, теперь когда я узнал как оно примерно работает то код hlapi который в открытом доступе лежит стал заметно понятней. наверно можно и его будет напильником допилить.
но там такое чтиво что прямо зачитаешься.

>>42812
за пару лет зоонаблюдений в этом разделе и конкретно в юнити-треде я видел некоторое дерьмо. если достаточно упёртый и не тупой то и ты увидишь.
126 442815
Суп дроч, помогите мимокроку, решил с камрадами поиграть в survivors viy, у меня какой-то косяк с освещением, у камрадов все неплохо видно метров на 20-30 вперед, а я как слепой крот вижу только на 5 метров вперед и то с фонарем, без него просто черный экран, так вот, проблема в отсутствии каких-то библиотек на моей пекарне, или просто видюха говно? (В игре нет настроек гаммы или дальности прорисовки) заранее спасибо за ответ
127 442816
>>42811
Ну что, никто не знает?
128 442817
Нужны ли знания математики и алгебры при программировании в играх? Я просто дуб-дубом в точных науках.
129 442818
>>42817
Векторы, возможно захочешь запилить какие-нибудь формулы, например для опыта персонажа.
130 442819
>>42816
да знаем, просто проблема мелочная. на, почитай.
https://bitbucket.org/Unity-Technologies/ui/src/0bd08e22bc17bdf80bf7b997a4b43877ae4ee9ac/UnityEngine.UI/UI/Core/InputField.cs?at=5.2

>>42817
решай проблемы по мере их поступления.
131 442821
>>42819
Хотел пошутить про чтение 2к строк кода, но потом F3 и нашёл
protected EditState KeyPressed(Event evt)
и дальше
case KeyCode.Escape:
{
m_WasCanceled = true;
return EditState.Finish;
}

Как мне это исправить? Не оверрайтнуть же
132 442823
>>42821
зато чтение 2к строк кода всегда сработает!
а ты и не можешь, не виртуальная функция же. можешь просто скопировать весь код и переписать как тебе там надо. хотя вон единственная функция которая эту вызывает виртуальная. public virtual void OnUpdateSelected(BaseEventData eventData). оверрайдни её, скопируй её код и сделай проверку с кейкодом, например.
133 442824
>>42823
Спасибо за помощь.
Вон, выше в треде про велосипеды писали, мол, зачем, в юнити же всё есть. Конечно есть, но вот как какая-нибудь подобная хуетень вылезет, так всё равно всё копировать и переписывать
134 442825
>>42821
Парни, подскажите в двух-трёх словах, а там уже я подхвачу.
Есть NavMesh, на нём есть статичные преграды,в виде, например кубов с коллайдерами. Есть NavMeshAgent'ы, висящие на, допустим, капсулах. Скажите куда копать чтоб одна капсула, видя другую враждебную капсулу, скрывалась за ближайшим укрытием.
Каждая капсула рейкастит по враждебным капсулам, если есть контакт, то она так же рейкастит пути укрытия, так? Вот эти самые пути укрытия я не сильно понимаю.
135 442826
>>42825
Ссылка случайно приклеилась, пардон.
136 442827
>>42824
на здоровье.
да ладно, подумаешь какой-то ебучий UI, он в открытом доступе лежит. его же не просто так положили открытым. решать такие проблемы это не велосипеды делать.
другое дело когда тебе действительно надо писать велосипеды. когда понадобится хитровыебаная навигация, ИИ, процедурная генерация, собственные инструменты заточеные под проект и прочие интересные вещи. вот тогда начинается интересное.

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

но если очень хочется то можешь воспользоваться моим ассетом
https://www.assetstore.unity3d.com/en/#!/content/85181
он может тебе возвращать грид достижимых точек на навмеше в пространстве рядом и даже генерировать укрытия
https://www.youtube.com/watch?v=M3x9l-wWNJU смотри какую хуйню можно творить
137 442828
>>42827
надо будет кстати починить его уже. триангуляция очень уж далека от совершенства.
138 442829
>>42825
Первый костыль, который приходит в голову, это проверка наличия укрытий через коллайдер, затем смотреть на каждом укрытии, будет ли агент защищен.
139 442830
>>42827
Ох, братишка, спасибо.
140 442837
>>42830
на здоровье. учитывай что я не написал никаких крутых алгоритмов навигации, агенты даже не знают что рядом есть другие агенты и будут просто толкать друг друга. там ещё писать и писать, а ведь надо копать в другие стороны ещё.
с другой стороны можешь пользоваться двумя навмешами сразу. навмеш юнити тоже очень хороший.
https://www.youtube.com/watch?v=Cjf7QEJ4HCM вообще навмеш а самом деле может делать гораздо больше чем от него обычно ждут. когда у тебя на руках пиздилиард вокселей которые описывают всю геометрию вокруг и можно управлять ими как хочется то сразу столько возможностей.

вообще навигация в играх это большая и интересная тема. у тебя может быть и простое решение, зависит от того как у тебя устроен уровень.
141 442842
>>42659
Обратись в саппорт, там быстро ответят.

Гайс, как мне описать движение объекта(спрайта) чтобы объект двигался не тупо вперёд , а по направлению тела
142 442843
>>42120 (OP)
Анонусы, возникли вопрос.
1. Во-первых, существуют ли сайты с которых можно скачать платные ассеты?
Это ведь везде так — если есть что-то платное, то где-то на торрентах по-любому можно найти крякнутое. Но я перерыл всё что мог и нихуя не нашёл. Вообще пусто, даже каких-то устаревших ассетов платных не нашлось. Такого в природе вообще не существует и все прилежно покупают?
Даже на торрентах можно найти крякнутый Unity Pro максимум 5.2 версии, что примерно двухлетней давности.
2. Как привязываются покупки ассетов? То есть понятно, что к аккаунты. Но вот я зашёл на их сайт, залогинился, купил ассет.
А потом иду и логинюсь под этим аккаунтом в про версии. Мне пиздец или они это не чекают?
Можно ли на разных компьютерах пользоваться юнити под одной учёткой (и качать купленные ассеты)?
3. Третий вопрос более локальный к моей проблеме. Возникла задача заимпортить анимацию Point Cache. В инете либо устаревший скрипт, либо покупай за 35 бачей ассет для 5.6+ версии. Неужели все, кто сталкивался с такой задачей шли покупать ассет? А что если версия у меня старее? Мне уже никак не решить эту задачу тогда?

Надеюсь на ответы анончики.
143 442844
А можно ведь как-нибудь запечь карту укрытий, и агент будет выбирать воксель с наибольшим коэффициентом укрытия от всех видимых агентов.

мимокрок
144 442848
>>42842
двигать его по направлению тела? ну тоесь лол если же вычесть из позиции Б позицию А то ты получишь направление от А к Б.

>>42843
да. существуют. плохо искал, плохой пират. ищи лучше.

>>42844
можно сказать это и делает мой навмеш. вообще вокселей слишком много. чтобы это хорошо работало надо писать свой рэйкастинг чтобы он происходил на гпу быстро-быстро.
145 442859
>>42848

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


Погоди, у тебя рейкастинг постоянно идет? Я имел в виду, что можно отрейкастить один раз все статические укрытия.
146 442861
>>42859
нет конечно. укрытия являются побочным продуктом создания навмеша. у меня там нет рэйкастинга по моему нигде вообще. там магия линейной алгебры. но чтобы проверять валидность укрытия надо же делать рэйкасты. притом на нескольких высотах если есть перепады в них. если брать самплы точек вокруг то даже если точки каждые пол метра то выходит под добрую сотню точек если надо проверить хоть какое-то значимое пространство вокруг на предмет укрытия, притом количество проверок множится на каждого кто может это наблюдать. под этак и выходит по 2-3к рэйкастов в итоге, что пиздарики.
у меня вот есть понятие о укрытиях, пространстве которое находится только рядом с препятствиями. можно проверять не сотню точек, а десять и на гораздо большей дистанции. но опять же точка рядом которая находится в небольшой ямке может быть гораздо лучше.

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

вообще методы поиска укрытий сильно зависят от геометрии уровня. если они представляют собой коридоры из пары стен которые все на одном уровне то разумеется все заметно проще. а если у тебя лес с камнями то охуеть можно.
147 442895
>>42848
Не, я хуево сформулировал
Например есть спрайт стрелочки , как сделать так чтобы объект(этот спрайт) всегда двигался в направлении стрелочки , а не по Х например
148 442905
>>42895
Тут тебе нужна геометрия.
Как вариант - берёшь точку и берёшь точку с другой стороны объекта, меряешь расстояние между ними, затем берёшь другую точку рядом и противоположную ей, снова меряешь, и так повторяешь, пока не найдёшь самое большое расстояние между точками. Это расстояние будет означать самую большую ширину объекта, и по точкам от этого расстояния можно найти прямую.
Затем можно найти "вес", то есть с которой стороны спрайта больше точек закрашено, и по нему определить, в какую сторону смотрит стрелка.
149 442923
>>42895
Братан, ты походу шаришь. Расскажи как сделать вот у меня есть спрайт хуя, как сделать чтобы он все время двигался тебе за щеку, а не по Y например
150 442939
>>42895
transform.right или transform.up можно для этого использовать.
151 442952
>>42741
>>42800
Мудила снова на связи.

>>В браузере файлов Унити (ну или как он называется, ты меня понял) на ПКМ создаешь ассет


NullReferenceExeption выдает если в 28 строчке изменить класс с abstract на обычный, то хотя бы создается пустой объект Где я мог проебать ссылку?
152 442954
>>42952
Скорее всего автор пикчи обосрался и тебе нужно создавать не экземпляр абстрактного класса, а экземпляр наследующегося от него класса. Но вообще я нихуя не понял что там за решение.
153 442959
>>42954
О да, большое тебе спасибо, я вроде бы распутал этот клубок.
154 442963
>>42952
Я наебался и класс не должен быть абстрактным, конечно же.

> хотя бы создается пустой объект


Если он без полей в редакторе, прописывай [SerializeField] над private переменными.
155 442965
Ребятки, допустим делаю карточную игру.
Есть 4 ячейки сверху, 4 снизу, хочу перетаскивать карточки туда-сюда.

Написал реализацию через интерфейсы IdragHandler и пр. таскаются.

Есть два массива, для карт в верхних ячейках и в нижних.
Тип массивов лучше сделать ГОбджекты или Классом скрипта? Не могу решить как удобнее.

И главное, как проще реализовать изменение значений массивов этими перетасканными картами?

Или сначала менять значения, а от них уже таскать?

Сейчас пробую сделать свойство у карты, допустим CurrentCell, где сеттером присваивать значение нужному элементу статического массива из ячеек.
То есть допустим есть GameObject[] TopCells, я туда перетащил, ОнЕндДраг получил значение номера клетки, взятое из OnMouseOver клетки, присвоил его CurrentCell карты, дальше сеттер пихает gameObject в массив.

СЛОЖНО ВЫХОДИТ, совсем голова не варит, как проще сделат?
156 442966
>>42963
Бля, впизду. Твой уровень интеллекта не достижим для меня. Я разобрался на половину, но всё равно тут ещё слишком много копать. А мне нужна была всего лишь строчка if (toCd < Time.realtimeSinceStartup) toCd = Time.realtimeSinceStartup + cd;
157 442967
>>42966
просто ты валенок и пытаешься делать то что не соответствует твоему уровню знаний. делай более простые вещи.
158 442968
>>42965
Вот сдесь есть все что тебе нужно сумеешь раскопать все получится охуенно https://www.youtube.com/watch?v=KLaGkc87dDQ&list=PLX-uZVK_0K_7V8z0lfuC9680FnCWoYdbb
159 442970
>>42967
Угу, залез не туда. Хотя бы кд на выстрелы работает, не зря время проебал, лол.
160 442971
>>42970
простой тебе совет: если ты валенок то повторяй за другими. когда станет понятно что происходит то делай по своему.
вон видяшечки на ютубе посмотри кто как чё делает.
161 442972
>>42966
Я месяц назад нихуя не шарил. Сейчас тоже, но в меньшей степени. Смотри Live сессии, там один хуй половину основ объясняют, остальную половину догугливаешь если надо, к этому всему сверху еще и примеры работающей игры (ну или хотя бы механики).
162 442977
>>42971
Стараюсь так и делать. Просто не всегда очевидно что именно гуглить, а если что-то нагуглил, соответствует ли это твоему уровню знаний и не говно ли вообще.
>>42972

>Смотри Live сессии


Посоветуешь что-нибудь?
163 442980
>>42977

> Посоветуешь что-нибудь?


Появляется проблема — гуглишь — скорее всего находишь сессию — получаешь развернутое решение с плюшками.
Я тебе с самого начала кидал по ScriptableObject'ам сессию. Там очень хорошо описан вариант использования как раз для решения твоей проблемы.
164 442983
>>42977
ищи на ютубе длинные серии из видео, где кто-то делает что-то с нуля достаточно продолжительный срок.
мне например понравились старые видео этого бородоча. https://www.youtube.com/watch?v=YYqzz1dy3Ak&list=PLE5C2870574BF4B06 он там неебическое количество времени делал хуйню. играбельного он ничего не сделал, но как учебный материал более чем сойдет.
CanIAbandonAlcohol.jpg140 Кб, 1279x960
165 442987
Докладываю о ёбле с инпутфилдами.
Охуительная, блядь, система. С одной стороны, есть такая жуткая ненастраиваемая вещь, как private методы и булы внутри класса инпутфилда, благодаря которым хрен ты что поменяешь, не скопировав все 2к строк или не применив охуительные познания в порядке апдейтов. Не хочешь, чтобы при включении инпутфилда текст выделялся? Изволь сообразить десяток костылей! Не, оно понятно, что всю теорию и практику кто-то где-то уже сообразил, но честь-то знать надо. Мало этого, так ещё с инпутфилдами крепко переплетается инпутменеджер (тот экран с настраиваемыми клавишами) и анально внедряется во все области жизни всего игрового интерфейса. Отключить оси инпутменеджера нельзя, - посыпятся nullexception'ы, - чтобы private методы изменить нужно весь код копировать и надеяться, что у юнити какой-нибудь скрытой хуйни в каком-нибудь другом классе нет, из-за которой весь код на плаву держится. Ладно, хорошо, можно навигацию отключить, но так дело-то в том, что это говно запривачено по самое небалуй в коде. Люди на эту херь с 2004 года жалуются. Как это блядь вообще?!
Я давненько так не охуевал, если честно. Как вы с этим живёте?
Unity 2017-08-17 00-24-30-43.png284 Кб, 1380x980
166 442996
а делать синглтон для unet то и не надо было в итоге. у меня случилось просветление как же все сделать так как надо. надо было просто лучше прочитать документацию как всегда.

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

вообще если надо то не копируй весь инпут филд, всегда можно написать свои инпут филд с игрищами и блудницами взяв за основу код уже существующего. вот как я например с классом графа аниматора поступил. сделав все как надо тебе всегда получаешь ожидаемый результат. а тут за тебя и так уже почти все сделали.
167 442998
>>42996

>для меня загадочно нахуй ты вообще делаешь то что делаешь.


Вот представь обычную консоль на тильду. Вроде просто, из самых простых палок и говна нормально работать будет даже без дрочки, но если хочешь хотя бы минимального удобства, то приходится искать способ отрубить принудительное выделение всего текста при включении поля, искать способ менять взаимодействия клавиш в самом классе, чтобы в случайных местах не отрубалось и не прыгало, искать способы убрать инпутменеджер, чтобы нажатие на стрелку не переключало фокус, и всё такое подобное. Да, это не глубоко лезть, да, погуглишь, и всё будет, но блин, вы на поделки на юнити посмотрите, там везде одни и те же проблемы, и эти проблемы с самого начала юнити висят. Пишут функционал, который нужен в узких случаях, но для его работы нужно анально ограничить тот функционал, который нужен широко.

>всегда можно написать свои инпут филд с игрищами и блудницами взяв за основу код уже существующего


Ну, это выше моего поверхностного понимания юнити.

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


Звучит как "жри, что дают". Не пойми неправильно, я благодарен, но это жесть какая-то. На кой чёрт писать фичи, которые нужно самому пользователю вырезать, чтобы они ничего не портили?
168 443000
>>42998

>Вот представь обычную консоль на тильду.


лол сделай её на старом гуи, хули ты мучаешся. он гораздо лучше подходит для таких задач
169 443001
>>43000
Ты говоришь "старый гуи" так, как будто я его застал.
Погуглим, что поделать.
170 443002
>>43001
а, ты не знаешь. классы
https://docs.unity3d.com/ScriptReference/GUI.html
https://docs.unity3d.com/ScriptReference/GUILayout.html
на нем свои кастомные окошки сейчас пишутся, там ещё куча другой хуйни есть в этом случае. вот они делают только то что делают. ничего лишнего.
171 443004
>>43002

>The IMGUI system is not generally intended to be used for normal in-game user interfaces that players might use and interact with. For that you should use Unity’s main GameObject-based UI system, which offers a GameObject-based approach for editing and positioning UI elements, and has far better tools to work with the visual design and layout of the UI.


>вот они делают только то что делают. ничего лишнего.


Вижу. И как взаимодействие игрока с прямоугольниками делается? Смотрим, как широко раздвинули в коде прямоугольник, смотрим, влезает ли в эти координаты мышка, и от этого отталкиваемся?
Ну, я уже присобачился использовать панельки во всех ролях, но гуи действительно выглядит получше.
172 443006
>>43004
там своих интересных трюков полно. для того чтобы узнать расположение курсора в прямоугольнике там есть такая клевая хуйня как система эвентов, например. можно написать что-то в духе if(rect.Contains(Event.current.mousePosition)){} и узнать находится ли мышь в прямогульнике.
он хорош тем что он рисуется каждый раз с нуля, в нем не надо никакими эвентами менять значения, чтобы они обновились. для взаимодействия с твоим говном напрямую просто заебись. все происходит в одном месте.

ну а новый гуи хорош производительнотью, своими фичами с скейлом, системой делегатов, тем что он геймобжект, интерфейсами и прочими полезными вещами. для чего-то хорош старый, для чего-то новый. советую знать оба.
409.png271 Кб, 600x481
173 443028
>>42998
Даун не может зайти в гитхаб/ассетстор и написать в поиске unity console, спешите видеть
Screenshot32.png6 Кб, 673x57
174 443048
Ну это вообще пушка.
175 443057
>>42965
Делаешь три системы - логика, отображение, и инпут - они нихуя не знают друг о друге, и общаются только через ивенты.
176 443061
>>43048
С документацией там вообще забавная штука, бывает что в старой версии функция подробно задокументирована, а в новой - описание сокращается до ироничного void ComplicatedShit() - "do complicated shit".

>>43057
MVVM типа получается? Вообще насколько часто подобное юзается в геймдеве?
177 443066
>>43061
Чаще всего в геймдеве юзается индусский код и пластилин.
В теории надо ебашить ECS - но на практике все решения находятся в зачаточном состоянии уже 5 лет. Поэтому все ниасиливают и ебашат как получится, но хоть какой-то принцип разделения аспектов желателен.
178 443072
>>43061
Ты смотрел то что я кидал по инвентарю?
7cfbd885bd51826f495356e1b20f8e8e--sadhu-guru.jpg160 Кб, 481x720
179 443081
>>43072
Если я >>43061
, то нет, я крок. Но тоже делаю инвентарь, так что скоро гляну.

>>43066

>Чаще всего в геймдеве юзается индусский код и пластилин.


Это по мне!
180 443082
>>43061

>логика, отображение, контроллер


>MVVM


Серьезно? То есть даже посчитать что там три сущности, а не две ты не в состоянии? Это mvc называется.
181 443108
>>43082

> Это mvc называется


Этот пидор знает о чём говорит. В таком случае используется именно MVC.
182 443230
Возник вопрос - что лучше,в плане оптимизации и потребления ресурсов - анимация или реализация с помощью кода?
183 443242
>>43230
Разве это взаимозаменяемые вещи?
184 443243
>>43082
>>43108

>выучили какие-то там термины и радуются


Сколько игр-то написали, мастера?
185 443245
>>43243
Какие блять термины? Паттерны на втором курсе универа проходят, алё.
186 443246
>>43230
Господи, еще один оптимизатор. Взгляни на какой-нибудь Evil Genius, где под половину объектов отдельные анимации для рабов, и на одном экране у тебя 30 NPC занимаются чем-то своим. Ничего не лагает.
187 443248
>>43245

> Паттерны на втором курсе универа


Повезло.
188 443249
>>43246

> Господи, еще один оптимизатор


И не говори. Про стадии разработки бы хоть прочитали. А то поставят на сцену двух болванчиков с тремя анимациями и уже ОПТИМИЗИРУЮТ.
189 443252
Приветствую. Дайте совет, пожалуйста, как лучше реализовать остров? Точнее, не совсем нет. В общем, суть такова: создаю террейн, делаю остров, ставлю воду... И вижу где она заканчивается. Как сделать так, чтобы вода уходила бесконечно в горизонт? Делать огромную поверхность? Разве это не будет сильно загружать компьютер? Может есть какие-нибудь хитрые способы? (В своё время я считал карты нормалей очень хитрым изобретением, может тут есть похожий способ?)
goblintiny.png18 Кб, 16x16
190 443256
>>43252


туман
191 443258
>>43256
Как он делается? Через партиклы как-то? Или просто искать в магазине префаб готовый?
PostProcessing-Fog-0.png333 Кб, 850x345
193 443262
>>43259
Понятно, спасибо. Кстати красивый пример на пике
194 443263
>>43262
Как там в нулевых?
195 443264
>>43263
В смысле?
196 443267
Ещё один тупой вопрос. Какой инструмент посоветуете чтобы делать скриптовые события без самих скриптов. Слышал есть какие-то системы, где только перетаскивать дорожки
197 443273
>>43245
а нахуй тебе эти паттерны? сколько код ни пишу - так и не увидел смысл классифицировать используемый подход.

>>43264
тебя дураком назвали. спросили как тебе там, дураку который удивляется столь старой хуйне как туман в играх.

>>43267
руки чтоли отсохнут код писать? если ты из этих то лучше в UE иди.
198 443274
>>43273

> а нахуй тебе эти паттерны?


Ну у тебя и вопросы. Погугли что ли нахуя они нужны.
199 443277
>>43274
единственное для чего они реально нужны это чтобы сказать другим "моя хуйня работает вот так", или "делай хуйню вот так" более ёмко. на этом их польза заканчивается. но на этой доске они не адекватны реальности. потому что встретить тут проект над которым работает больше одного человека уже редкость, а чтобы эти оба человека ещё и код писали и им требовались такие термины так это вообще что-то невероятное. ну так нахуй паттерны? особенно тут? за пределами чего-то примитивного вроде "синглтон"?
200 443278
>>43277

> потому что встретить тут проект над которым работает больше одного человека уже редкость


Над мои проектом вот работает 4 человека. Я кодер, художник, моделлер и композитор.
Так что не такая уж и редкость.
201 443280
>>43273
Про туман в играх знал, не знал как его делать. Ибо нюфаг полный
202 443281
>>43278
удивительно. но вернемся к теме паттернов. вот ты используешь эти термины при общении с этими артистами? отличают ли они один от другого? часто ли они лезут в код?
203 443282
>>43281
Пардон, дружище, я с удовольствием завтра с тобой пообщаюсь, без шуток (а может и сегодня, если раньше вернусь), но надо по работе внезапно отъехать.
204 443283
>>43278

>Я кодер, художник, моделлер и композитор.


Человек и пароход. В хозяйстве очень полезный Тебе ещё редактор нужен, наверное.
205 443284
>>43283
Речь же была про четыре человека, ты там в глаза долбишься что ли?
206 443285
>>43284

>Я кодер, художник, моделлер и композитор.


>Речь же была про четыре человека


Я тебе и посоветовал ещё редактора. Чтобы русский язык твой правил.
207 443286
>>43283
а редактору директор.
а директору секретарша.
профессионалы узкого профиля
208 443287
>>43285
Я не он, лол.
209 443289
>>43287
А, так вас уже пятеро человек в одном теле. Кодер, художник, моделлер и композитор - и ещё "не он".
210 443290
>>43289
Нифига ты шизик.
211 443292
>>43290
Пять личностей у него, а шизик я.
maxresdefault.jpg27 Кб, 1280x720
212 443294
Может глупый вопрос, а есть какие-нибудь лекции, статьи, туториалы по "общему графону"? Вот есть шейдеры, всякие эффекты, свет, пост-процессинг, и т.д. А как это все это комбинировать вместе, чтобы походило на скриншоты из реальных современных игр, а не на васянские поделья - бывают такие туториалы? Если не по всему вообще, хотя бы как сочетать [штука 1] + [штука 2] = круто. Извиняюсь за великолепный литературный язык и безупречную ясность мысли.
213 443295
>>43294
конечно. https://unity3d.com/ru/learn/tutorials/s/graphics
вообще твой вопрос изначально не корректный. вопрос не в том как сделать заебись, а в том что ты хочешь получить.
214 443296
>>43295
Суть в том, что я вроде начал понимать разные вещи по отдельности, но как все объединяется вместе, для достижения желаемого визуального эффекта - тут не очень понятно. Хотелось бы какие-то примеры в этом духе. "Как сделоть красивую ААА игору", лол.

Меня вот удивляет, что даже платные туториалы в основном заняты всякой залупкой типа как поднять предмет, как лупить мобов. Но ведь все это тривиальные вещи, можно сделать как угодно - не принципиально, если не пилишь убийцу WOW. А вот такие вещи как
а) красивый производительный графон
б) подводные камни, засады, как не надо делать никогда
на удивление редко/мало затрагиваются.
215 443299
>>43296
да как бы не так и много вещей делают графон. ебани, посмотри, ебани того что не хватает / убери того что слишком много. графон же не код, в один прекрасный момент тебе не придется снести все к хуям, потому что где-то в начале говна наделал.

>а)б)на удивление редко/мало затрагиваются.


профайлер в помощь, хули. это и не должно затрагиваться.
216 443300
>>43296
Наверное, не продается. Все-таки геймплей можно сделать на говне и палках вместо фаерболов и мечей, что и привлекает людей, а графон надо еще кому-то рисовать.
Алсо, не понимаю, почему с многими туторами идет ассет пак, причем подается он как для тупых. Видимо, красивой финальной сценой завлекают.
2017-09-17.jpg165 Кб, 1277x719
217 443302
>>43296
Наверняка на таких лекциях и туториалах воду льют, в стиле обзора самых последних модных графических технологий, PBR-шэйдеров и процедурных карт.
На деле, для того чтобы сделать красивый ААА-графон нужно просто увеличить в 10 раз время на налаживание пайплайнов и само производство. Притом не только на модельки, но на сэтап и анимацию тоже, ведь не может быть дерганной анимации в ААА.
В основном нужно не средства движка задрачивать, а средства 3д-моделирования. Учишь там Zbrush скульпт, запекание текстур, текстурирование в Substance Painter, ретопологию 3D Coat, риг и анимацию в Maya. Современные пайплайны, короче. Это на деле не так-то сложно, просто в 10 раз больше учить чем для васянского графона.
218 443303
Сосоны где-то есть список 2д инди поделок, что бы я охуенно мог попиздить спрайтики?
219 443304
>>43302
о. творец добра пришел. расскажи чё сделал
220 443306
К слову, раз уж заговорили про моделлинг, вот годные уроки по скульптингу и анимации перса на русском - может кому сгодится:
https://www.youtube.com/channel/UCfTH1D7ajaVzzDERUY4GqHg/videos
221 443312
>>43277
Ебать ты долбоёб братишка.
Паттерны используются для достижения гибкости в разработке. Если ты хардкодер ёбаный и у тебя один класс отвечает за несколько задач, то у меня для тебя плохие новости.
Покажи парочку своих классов что ли, а то сложно судить, что у тебя там. Бывают случаи, когда люди и так пишут гибкий код, используя паттерны, только не знают, что они их используют.

мимодругойанон
222 443313
>>43267
Посмотри на PlayMaker что ли.
223 443314
>>43312
можешь вон навмеш мой скачать, почитать, хули. >>42827 написан конечно местами так себе, но так что я не испытываю проблем с его доработкой и даже если грохнуть кусок кода у основания то остальной не рассыпется, что я недавно и делал. я его правда никуда на гитхаб не заливал чтобы просто так почитать.
вообще я бы много чего мог показать, конечно. в моем проекте много интересных велосипедов. просто местами там дохуя понаписано и вряд-ли кто-то в своем уме будет это читать.

придумали там паттерны, слова какие-то. я вот самоучка, меня паттернам никто не учил и сам я их не учил. пока пишешь код думая о том как он будет работать в будущем тон будет работать в будущем.
224 443318
>>43283
Ну да, с пунктуацией чуток проебался, пардон.
>>43281
>>43282
Паттерны я использую сугубо потому что могу. То есть я ещё с универского курса их помню и как только становится какая-то цель — я сразу понимаю как её лучше реализовать.
Сейчас вот, например, юзаю медиатор, с ним всё намного проще. Но опять же — в именно моём проекте.
play.PNG114 Кб, 1096x477
225 443320
>>43304
Запощу сегодня новую демку. Переделал геймплей со швыряния предметов на швыряние + расстановку мин по путям перемещения девочек.
Моя продуктивность упала в разы по сравнению с TWG. Хз, почему так, нравное пропадает вера в гейминдустрию в возможность поднять в ней бабла по крайней мере.

>>43313
Onsen Rumble на нем практически полностью собран. Не рекомендую. Вкатиться легко, а вот вносить правки в кучу параллельных FSM - сложно. Хуи отследишь, какая из них ответственна за баг. До сих пор разобраться не могу, почему у меня девочки по полу скользят после смерти. Еще не хватает полиморфизма, что заставляет иногда заниматься обезьяньей работой.
226 443325
>>43320
А что за тулс у тебя на скриншоте? Впервые такое вижу в Юнити хотя я еще слишком туп, чтобы ковырять какие-то ассеты и инструменты.
227 443332
>>43325
Это Playmaker.
228 443333
>>43302

>подразумевает что на его пике не васянский графон

sadface dog.jpg113 Кб, 800x597
229 443334
>>43332

> 65 американских долларов


Зря спросил.
230 443335
>>43334
Говорят, можно купить на торрентах
231 443337
Копал кто-нибудь постмортемы или аналитику по платным ассетам в сторе?
А то я смотрю, даже у ебовых на тыщи человекочасов кода и смешной ценой в пределах сотки количество отзывов вообще ниочем - их вообще кто-нибудь покупает?
232 443340
>>43335
Тогда странно, что еще DRM не ввели.
233 443349
Как мне с лейаутами совладать?
Есть панель неопределённого размера с вертикальной лейаут группой и контент фиттером. В панель я динамически добавляю префаб из обжектпула, префабов может быть дохуя и больше.
Мне нужно растянуть префабы по ширине на всю панель, но сохранить свою высоту, и при этом чтобы первый префаб оставался закреплённым в углу, а новые вырастали снизу. У меня же выходит так, что префабы уезжают куда-то за пределы панели, не растягиваются и вообще.
234 443350
>>43349
нихуя не понел, пости скрин
235 443353
>>43350
Я только панель пустую запостить могу.
Строки (которые хуёво видны) находятся в контейнере-панельке. Высоту и ширину я сам могу исправить, это не проблема. Проблема в том, что они спавнятся в центре панели, а каждый последующий объект смещает первый объект вверх.
Да, использовать один большой текст будет проще.
236 443356
>>43353

> Да, использовать один большой текст будет проще.


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

>пришлось скриптами назначать координаты


Ну, я так и понял.
Удивительно сделано. "Пивот" выражает собой центр главной панели, и когда прибавляется какой-то объект, ширина и высота объекта становятся шириной и высотой главной панели. А когда добавляется второй объект, то главная панель расширяется на оба объекта, и после этого смещается в пивот, забирая с собой оба объекта.
Безымянный.jpg74 Кб, 779x349
238 443365
>>43361
А, я сообразил.
Нужно добавить Layout Element скрипт и анально задать минимальные размеры главной панели. Тогда волшебным образом всё центрируется в нужное место.
239 443386
>>43333
Я васян-графон как раз и демонстрировал. Только диффузные карты и unlit-шэйдеры, нет реальных теней.
Но при желании мог бы делать ААА потратив в 10 раз больше времени, только вопрос в том, а нахуя? Надо чтобы в игру увлекательно играть было и смотрелось достаточно убедительно для ЦА.
240 443389
>>43386

> при желании мог бы делать ААА


Ну то само собой. Хули там, берёшь и делаешь.
241 443398
>>43386

>Но при желании мог бы делать ААА потратив в 10 раз больше времени


хуя предьявочка
242 443399
>>43398
Ну а что, разве не так? Не в 10 раз больше времени, а в 100, но все же.
Мимокрок
243 443401
>>43399
да нет, всё правильно, и не в 100 раз, а в 10, просто этого никогда не добиться используя фототекстуры и качая модельки.
244 443412
>>43401

>используя фототекстуры


Так разве ААА не главные пользователи фототекстур? Ну ОК, они еще фотограмметрию юзают и сильно их обрабатывают и процедурные эффекты сверху кидают. В основе реалистичного графона всегда фото.

>качая модельки


Тут уж надо выбирать, или ты геймдевелопер или 3д-моделлер. Вот мне хочется в итоге увлекательную игру получить, а не реалистичную модель резиновой утки.
Cool Net Project.png466 Кб, 1680x977
245 443421
сделал простенький прототип где можно бегать, подбирать предметы, экипировать их. вроде попёрло, вроде понятно как делать дальше.

вообще unet на самом то деле не плох. когда я в него полез то обнаружил что там дают возможность пользоваться сразу несколькими слоями того клея что скрепляет базовый функционал и они плохо между собой совмещаются. и документация местами пиздец.
а так вроде норм.

>>43318
дааа вопрос то не в том что ты чем-то пользуешься. вопрос в ценности самих терминов.
отдельно конечно можно поднять ценность следования паттернам, но тут мне нечего сказать.

>>43320
стало лучше, да. вообще ты на процесс разработки неправильно смотришь. надо делать то что в первую очередь желаешь увидеть сам, тогда это желание и начинает двигать процесс в первую очередь.
я вот когда устаю делать свое говно, то я несколько дней дрочу в игры. и в один прекрасный день я смотрю на них и понимаю что пока я в них дрочу, проект лучше не становится. а так как в нем будет все что я ценю в играх то я понимаю что надо делать, там будет просто заебись! и делаю. недели на 2-3 хватает такой мотивации.

хотя учитывая что ты с PlayMaker страдаешь то у тебя наверно в процессе разработки большая битва с самим собой. может лучше шарпом расскажешь глупой машине что ты от неё хочешь?

>>43337
йеп. покупают. только их почти никто не коментирует и не ставит оценки, даже несмотря на то что юнити предлагает это делать спустя несколько дней после того как скачал. хотя там конечно несколько иной рынок. это все-же рынок инструментов, а не кинца.

>>43386
кстати а чего не ебанешь немного графона? сделал бы хоть водичку получше. в этой игре много водички.
qFl44WII1-I.jpg145 Кб, 1200x900
246 443435
>>43412

> ААА главные пользователи фототекстур


> сильно их обрабатывают и процедурные эффекты сверху кидают


толще, выше, сильнее!

> Тут уж надо выбирать, или ты геймдевелопер или 3д-моделлер


тут уж надо выбирать, или ты геймдевелопер который может делать игры, или кирюха, таскающий ассеты и мнящий себя игроделом
247 443452
>>43435
Либо ты девелопер
Либо ты моделлер
Либо ты левел-дизайнер (тот самый таскатель мышкой)
Пытаться делать все сразу = делать все хуево
248 443465
>>43452
либо ты неосилятор который не может уделить время и научиться делать всё хорошо.
всё это говно про "делать все сразу = делать все хуево" только в твоей голове, но ты продолжай оправдываться.
249 443466
>>43465
к несчастью это не так. человек-оркестр не является специалистом.
250 443467
>>43466
поучился скриптить на двикжках года три, потом ещё пять повазюкал модельки, а левелдизайнить может вообще любой васян который в жизни играл в игры и представляет всё интуитивно. но на дваче сказали что после того как выберешь себе класс, в другой класс даблспеком нельзя.
251 443474
>>43467
три года на погромизм и пять на модельки, да? куда лучший результат будет если потратишь 8 лет либо на погромизм, либо на модельки. сможешь хоть что-то делать хорошо. если конечно не планируешь в одиночку тащить проект много лет. как будто в игры не играл, субклассы нужны только ради стартовых скиллов.
body3.PNG93 Кб, 747x754
252 443504
>>43421

>надо делать то что в первую очередь желаешь увидеть сам


Какой идеалистический взгляд на геймдев. У тебя есть законченный и изданный проект своей игры мечты?
Не, я больше вижу геймдев как борьбу с временем, которого всегда не хватает, жизненными обстоятельствами, ленью и контрпродуктивными пайплайнами (вроде моих неудач с Playmaker). Основной движитель в том, что если не выпустить свою игру даже весьма убогую за пару месяцев то все, кончатся деньги и придется завязывать с геймдевом.

> может лучше шарпом расскажешь


Простые проблемы намного быстрее отладить в Playmaker, а не пердолиться с консолью. Нужно умело совмещать, как мне кажется. Вот этот https://www.youtube.com/user/mdotstrange ютубер неплохо умеет разделять код с визуалом.

>>43435
Я не траллю, а правда так думаю. Полностью процедурные текстуру очень трудоемки. Проще в Substance Painter фототекстуру спроецировать и обмазать всякими ржавчинами/царапинами.

>кирюха, таскающий ассеты и мнящий себя игроделом


Голословная предъява. Кто-то там говорил, что я из MMD модельки ворую, однако они даже по пропорциям тела другие, не говоря уже про морфы и текстуры.
То, что мне лень резиновую утку моделлить не считаю чем-то плохим.

>>43467
>>43474
8 лет учебы чтобы опубликовать первую инди-игрушку в стим и получить $1000-$5000 c продаж? Найс.
253 443506
>>43504

>8 лет учебы чтобы опубликовать первую инди-игрушку в стим и получить $1000-$5000 c продаж? Найс.


ну не все же ассетоворы. некоторые, например, делают свой контент для игры. дураки какие-то. особо глупые даже пытаются делать его качественно. зачем оно нужно, не понимаю. ведь можно хуяк-хуяк из готовенького.
254 443510
>>43504

> В основе реалистичного графона всегда фото.


> Проще в Substance Painter фототекстуру спроецировать и обмазать всякими ржавчинами/царапинами


безусловно, проще. теперь найди на пиках фототекстуры.
255 443514
>>43506
Творцы качественного контента имеют чуть больше шанса получить $5000 с игры, чем $1000. Если доведут разработку до конца, разумеется.
А вообще, покажи мне демку своей игры, которая на голову графонистее и оригинальнее моей.
15038140519780.gif516 Кб, 200x148
256 443518
>>43514

> покажи своё))) ты докажи))))


> не собираюсь тебе ничего показывать


> ты слился))))) значит пиздить надо)))))


ясн
257 443519
>>43510
Порезался об анчартед.
258 443521
>>43519
плойка же. диды за каждый полигон ваивали
Unity 2017-09-18 14-34-42-35.png407 Кб, 1256x954
259 443532
>>43504

>Какой идеалистический взгляд на геймдев. У тебя есть законченный и изданный проект своей игры мечты?


ноуп. но я долгое время делал велосипеды на благо моей идеи и проникал в интересующие меня темы (навигация, ИИ, процедурная генерация). недавно наконец настало время устроить autobots assemble моим велосипедам. из-за того что моя идея слабо изменилась за это время и я думал над ней пару лет и у меня есть прототипы/решения основных фич которые я желаю реализовать. сейчас я вижу свой путь весьма прямым.

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


хуёво тебе. у меня нет таких рамок с ограничениями и у меня куча свободного времени.

>а не пердолиться с консолью. Нужно умело совмещать, как мне кажется.


я в этом сильно сомневаюсь. нодовые редакторы слишком поверхностные, в нормальном коде больше средств отладки, в том числе визуальной, нет этой мешанины из лапши, половину времени в которой тратишь чтобы её распутать. я немного попользовался в UE, при небольших масштабах они работают просто отлично, но перестают быть адекватным решением при увеличении сложности проекта. очень плохо скейлятся.
Unity 2017-08-16 21-02-51-11.png163 Кб, 1612x970
260 443534
>>43532
кстати да, покажу клевое. когда думал над этим - целый вечер думал. о том как менять скейл карты высот. таких идей интересных придумал, ух!
261 443579
Поясните за изменение цвета изображения родителя. Правильно ли я понимаю, что если детей с изображениями два или больше, то нужно цвета их изображений мануально менять? Или я что-то упустил?
262 443590
>>43579
То есть я хотел спросить, у них альфа-канал общий или что?
263 443596
>>43590
Как может быть общий альфаканал? Наркоман что ли? Может у них ещё и синий канал общий?
264 443597
>>43596
Вот и я не пойму. У меня есть панель с дитём-кнопкой. Меняю только панели цвет на прозрачный - кнопка тоже становится прозрачной. Как добавил ещё одну кнопку, так теперь она цвет с панелью не меняет.
265 443651
Анон, помоги, есть переменная, которую нужно сохранить.
Я сделал так
playerprefs.setint("huy", penis);
playerprefs.save();

Но эту переменную мне нужно использовать в реальном времени. После ее изменения сразу же передать в другой скрипт. Если использовать playerprefs.getint, то смена переменной видна только перезапуска.

Тоесть. Есть два типа пениса, по умолчанию выбран первый тип. Я меняю тип пениса на второй. Выбор сохраняется, но переменная пенистайп изменяется только после перезапуска, что логично. Что делать?
266 443652
>>43651
Вопрос снят, присвоил значение переменной в апдейте.
Почему то весь день думал, что так не сработает
267 443653
>>42177
Двачую вопрос. Нихуя не могу сделать, пастебин мёртв.
12954478356138.png12 Кб, 446x412
268 443656
Ох, блядь. Стоило оторваться от классов для NPC и повернуться к Unity передом, к остальному задом, как начались сомнения, что все написано более-менее по уму.

Алсо, в Юнити реально делать open-world и подгружать чанки по мере необходимости? К единому NavMesh'у, смотрю, нельзя пришивать куски. Нормально ли держать довольно крупный запеченый NavMesh в памяти или зашквар?

>>42177
>>43653
NavMesh. Внезапно работает в 2D.
269 443666
>>43656

>К единому NavMesh'у, смотрю, нельзя пришивать >куски.


https://www.youtube.com/watch?v=n-RXnDGE72M&feature=youtu.be
1344138445945.jpg85 Кб, 634x385
270 443669
Посоны, нужна помощь.
2д.
У меня есть две точки, А и Б, (два вектора2), мне нужно найти штук 15-20 точек между ними расскиданных равномерно. По какой формуле это делать?
Untitled-3.png17 Кб, 16x16
271 443670
>>43669
lerp(a,b, i/20)
272 443671
>>43669
Пиздец, когда же вы научитесь вопросы формулировать?

> штук 15-20


Так 15 или 20?

> мне нужно найти


Что значит найти? С лупой будешь их искать что ли? Может быть не найти, а определить координаты?
273 443672
>>43670
Точняк. Затупил чет.
БЛАГАДАРОЧКА~
274 443673
>>43671
поддерживаю
275 443675
>>43671
Ты полностью прав.
Просто я на попехах. Извиняюсь. В следующий раз (если он будет) сформулирую вопрос лучше.
what a time to be alive.gif1,3 Мб, 626x462
276 443680
>>43666
Осталось только обновить документацию.
816950.1430048502.png211 Кб, 478x377
277 443681
>>43675

>Просто я на попехах.

278 443689
>>43681
ssaniy ruski yazik
279 443802
>>43675

>я на попехах


Вначале подумал, что у тебя секс.
280 443807
>>43656

>NavMesh. Внезапно работает в 2D.


Там надо что-то докачивать для этого?
281 443861
Как предложите вывести в инспекторе List<List<int>>?
Работать с кастомным EditorWindow также как с игровым окном? Мне просто надо кучу прямоугольников вывести как содержимое массива.
282 443862
>>43861
//Serializeable
public struct Rectangle
{
Vector3 ...
}
public class Yoba
{
//SerializeField
List<Rectangle> rects = new List<Rectangle>();
}
квадратные скобки вроде как здесь проебываются, заменил на "/"
283 443969
Здравствуйте. Юнити2Д.
Есть 40 точек выстроенных в линию. Из каждой точки мне нужно кастовать рей. Как мне сделать так, чтобы реи кастовались перпендикулярно линии вне зависимости от того в какой позиции и под каким углом находится линия?
Никак не могу разобраться.
284 443970
>>43969
Линяя прямая? Точки загнаны в массив? Рейкаст должен светить в одну сторону или в обе? Если в одну, то в какую?
285 443971
>>43970
Линия прямая. Точки в аррее. Я не очень понимаю что значит в какую сторону, ну типа это же относительно. Ну допустим влево, если линия А Б перпендикулярна "земле", точкой А вверх.
286 443972
>>43971

> Я не очень понимаю что значит в какую сторону


Ну у точки, лежащей на линии есть два варианта луча, который будет перпендикулярен этой самой линии.
287 443973
>>43972
Ну я понимаю. Я просто не знаю как описать эту сторону. Попытался описать как мог сообщением выше.
288 443974
>>43971
Линия статична или в процессе игры может менять своё направление?
289 443975
>>43974
В этом то и суть. Линия привязана к объекту и крутится вокруг него. Как будто объект держит селфи палку и передвигается и крутится с ней. И линия в данном случае айфон на селфи палке, который должен кастовать из себя лучи перпендикулярные себе же в сторону объекта.
bandicam 2017-09-20 10-14-57-942.webm873 Кб, webm,
1432x700, 0:04
291 443977
>>43976
Или так понятнее.
292 443979
>>43975
Помогу разобраться с твоей хуйней за 500р, в дальнейшем тоже сможешь обрашаться. Если интересует, оставляй контакты.
293 443982
>>43976
да, вот так.
294 443983
>>43982
Упорядочиваешь все точки на линии, чтобы их rotation был одинаковый. Заранее ручками или в коде (я сделал в коде). И отбрасываешь луч на 90 градусов, но локально, а не глобально. Потом все эти точки прячешь под пустой геймобджект "палка" (хотя скорее всего так оно у тебя и есть) и всё, как ты эту палку не крути, в локальных координатах у точек ничего не изменится и они всегда будут светить куда надо.
295 443985
>>43983
Спасибо. Правда, я надеялся без пустых геймобджектов обойтись, но так тоже сойдет. Спасибо.
296 443988
>>43985

> я надеялся без пустых геймобджектов обойтись


40 одинаковых точек в корневом уровне иерархии держишь что ли? Зачем, если можно их свернуть под пустой объект?
Что ж вы за любители засирать иерархию? Потом же глаза сломаете.
297 444008
>>43988
А что конкретно ты имеешь ввиду?
Типа создать 40 пустых гейомбджектов, приделать к ним рейкаст, и всех эти 40 геймобджектов сделать чайлдами еще одного геймобджекта?
Ну я очень неопытный в этом всем, но мне казалось что всякое такое делать это типа НЕХОРОШО и неаккуратно. Я делаю все такие вещи через уровнения. И все не так сложно, все эти 40 точек и рейкастов определяются лупов из пары строчек.
298 444020
>>42120 (OP)
Пропиертарное говно не нужно.
299 444021
>>42175
Это не канон.
300 444022
>>42176

>постоянно хуячат фидбек


так говоришь, как будто только у говнюнити есть фидбек.
301 444047
Подскажите годные платные курсы по юнити в интернетах, чтобы давали в конце сертификат.
302 444048
Ребят, есть ли какой-то толк чтобы в FixedUpdate домножать значения на Time.deltaTime?
303 444052
>>44008

> Типа создать 40 пустых гейомбджектов, приделать к ним рейкаст, и всех эти 40 геймобджектов сделать чайлдами еще одного геймобджекта?


Нет. Твои 40 геймобджектов, которые составляют прямую, спрятать под один обджект "прямая". Большего тут не требуется.
sage 304 444053
305 444054
>>44047
Сертификаты по курсам в интернете — это бумажка для вытирания жопы. Она стоит ровно нихуя.
Хочешь бумажку, которую можно приложить к резюме — иди на курсы ИРЛ.
306 444065
>>44048
еще бы, да
умножай на Time.fixedDeltaTime
307 444066
>>44065
Так в чём будет различия Time.fixedDeltaTime от Time.fixedTime? И ещё вопрос, что использовать в корутинах?
308 444073
>>44066
В том кто из твоих родителей будет шлюхой.
309 444076
>>44066

> Time.fixedDeltaTime


Время итерации для физики. deltaTime — это время, за которое прошел один кадр. Первое статично, второе зависит от железа, выполняемых процессов, хуе-мое.

> Time.fixedTime


Это вообще сколько времени прошло с начала запуска приложения.

> что использовать в корутинах?


WaitForSeconds(); ? Что тебе еще нужно?
310 444080
>>44066
Пиздец, ну у вас и вопросы.

> в чём будет различия Time.fixedDeltaTime от Time.fixedTime?


Если ты в гугле забанен, то открой справку хотя бы.

> что использовать в корутинах?


Как разбанят в гугле — почитай для чего они вообще нужны. Вопрос сразу отпадёт.
Аноним 311 444081
>>44065
Time.fixedDeltaTime
Other Versions
public static float fixedDeltaTime;
Description

The interval in seconds at which physics and other fixed frame rate updates (like MonoBehaviour's FixedUpdate) are performed.

For reading the delta time it is recommended to use Time.deltaTime instead because it automatically returns the right delta time if you are inside a FixedUpdate function or Update function.

Note that the fixedDeltaTime interval is with respect to the in-game time affected by timeScale.
312 444095
Можно ли как-то вручную задавать navmesh? Например, кисточкой рисовать, как текстурками по террейну.
А то нужно чтоб навигация была только в определённом месте на плоскости, а запекается вся плоскость.
Можно, конечно, все ненужные места обложить статичными объектами, потом запечь карту и убрать объекты, но это ж шестиколёсный велосипед.
Unity 2017-09-20 18-22-46-95.png1,6 Мб, 1208x796
313 444098
>>44095
https://docs.unity3d.com/Manual/class-NavMesh-ModifierVolume.html
можно например этим делать то что ты хочешь. но рисовать до сих пор не дают.
314 444099
>>44098
О, спасибо. Кажись то что надо.
70fdc820b90b7c9846e5db89a87ef357.png15 Кб, 290x508
315 444100
>>44098

> GameObject > AI


Что-то тут не так.
316 444102
>>44100
https://github.com/Unity-Technologies/NavMeshComponents на, качай. официальная хуйня которую по неизвестной причине так и не сунули до сих пор. как и много других интересных вещей.
317 444103
>>44102

> которую по неизвестной причине так и не сунули до сих пор


Наркоманы блять.
Спасибо.
318 444112
>>44098
Нифига не понял как этим говном пользоваться. Может надо просто поспать.
Вот я поставил этот куб на walkable поверхность, ставлю самому кубу что он not walkable, перезапекаю, и нихуя не меняется.
FoodDistribution.jpg995 Кб, 1500x2100
319 444119
Это я, долбоёб с консолью
Неожиданно выросла ещё одна проблема. У меня есть вертикальный лейаут, в который я динамически добавляю объекты определённой высоты. Родитель лейаута содержит скроллрект и дитя скроллбар (чтобы прокрутка работала). Всё это работает так-то, но есть одна проблема - в тот самый момент, когда добавляется 9ый элемент, он "съедается" и не показывается вовсе, хотя он существует и является элементом этого вертикального лейаута. Потом я догадался отключить маску и нашёл этот элемент за пределами поля, т.е. лейаут сам по себе съехал на какую-то величину вниз, когда ему пришлось расшириться.
С хуя бы он это сделал и как это исправить?
320 444134
>>42120 (OP)
Уточню. Кому-нибудь еще ключ DevX Upacker'a еще нужен? Почти доломал его.
321 444161
>>44134
Прогу ломаешь? Вкидывай сюда, спасибо скажем
322 444190
>>44134
Даже если не захочешь делиться, выложи скринов что получилось с какой-нибудь настоящей игры.
skinnedprob.JPG133 Кб, 1883x509
323 444239
Анон, почему не получается привязывать дополнительные 3д-объекты со skinned mesh renderer к старому персонажу?
Я сохраняю новую модель вместе с костями, кости абсолютно идентичны старой модели. Встраиваю новую модель в старую иерархию, выставляю RootBone ссылку на старую кость.
Unity 2017-09-21 21-21-22-29.png931 Кб, 1168x818
324 444250
>>44239
Собственно, что сломалось то? аватар не забыл поменять?
325 444251
>>44119
У меня такое чувство сложилось, что либо я дурак неправильно вопросы задаю, либо здесь в треде никто панельки не ковыряет и с моими проблемами не сталкивается.
Инпутфилдами, значит, все довольны, кнопками все довольно, панелями довольны - что вы там вообще кодите, что вас это говно не смущает совершенно?
326 444256
>>44251
у меня искреннее непонимание твоей проблемы. ты сказал "хочу хуйню в которую можно сунуть больше чем оно само", а потом жалуешься на то что элементы интерфейса сьезжают? разве это не то что должно было произойти? ты может схему нарисуешь че ты вообще получить то хочешь?

я лично пишу код базовых механик. чтобы дамаг между персонажами синхронизировался, чтобы был менеджер патрон который бы за ними следил, чтобы ИИ пользоваться инвентарем мог, чтобы командовать можно было. чего с UI то возится когда игры нет?
327 444259
>>44256

>"хочу хуйню в которую можно сунуть больше чем оно само"


Вертикальный лейаут динамически увеличивается в размере, если в него вставляется новый элемент. Можешь попробовать в редакторе добавить новый элемент несколько раз. Самое забавное же то, что после одного единственного съезжания лейаут затем нормально расширяется, без прыжков. То бишь так, как надо. Вот мне и непонятно, откуда взялся этот прыжок, если дальше всё норм идёт.

>чего с UI то возится когда игры нет?


Потому что УИ отражает на себе все базовые механики, и если поочерёдно делать УИ то всё равно над механиками работаешь. Вот сейчас, например, я закончил консоль (почти), а теперь делаю разные скрипты для генерации сцены, призыва юнитов и т.п. К тому же без УИ жизни нет, УИ имеет тот же вес для геймплея, что и вся совокупность механик.
328 444260
Ребята, я уже не человек нахуй.
Уже два часа сижу на ровном месте и просто охуеваю.
Суть проста: есть "пушка", которая с помощью Physics.OverlapSphere получает массив коллайдеров, которые находятся от неё на определённом расстоянии. Из всех этих коллайдеров она должна найти ближайший.
Вот, собственно, сам код и как это работает на примере 1-го видеорилейтеда:

public Collider[] targets; // все коллайдеры вблизи пушки
public Transform curTarget; // трансформ объекта, который будет ближайшим
public float distance = 2f; // радиус обнаружения коллайдеров

void Update () {
targets = Physics.OverlapSphere (transform.position, distance, 1 << LayerMask.NameToLayer ("Enemies")); // загоняем в массив все коллайдеры поблизости из нужного слоя
float minDist = distance; // ближайшее расстояние

foreach (Collider target in targets) { // начинаем перебирать элементы массива
RaycastHit hit; // готовим хит
Ray ray = new Ray (transform.position, target.transform.position - transform.position); // готовим луч
if (Physics.Raycast (ray, out hit) && hit.distance < minDist) { // кидаем рейкаст, смотрим ближе ли объект нашего радиуса обнаружения
curTarget = target.transform; // если да, то этот объект назначаем ближним
minDist = hit.distance; // дистанцию до объекта назначаем минимальной, чтоб если следующий объект окажется ближе - это отловить
}
}
Debug.DrawLine (transform.position, curTarget.position); рисуем в дебаге лучи до ближайшего объекта
}

Как видите на 1-ом видео, всё нормально. Светит куда надо.

А вот теперь начинается магия, в рот её ебать.
После последней строчки я добавляю всего одну. Теперь это выглядит так:
Debug.DrawLine (transform.position, curTarget.position); // эта строчка уже была
transform.LookAt (curTarget.position); // смотрим на ближайшую цель

То есть добавилось всего то, что "морда" пушки будет смотреть на ближайший объект. И, нахуй блять, смотрите какая анальная клоунада начинается на втором видео.
Почему так? Я уже все волосы на голове вырвал, я нихуя не понимаю почему это происходит.
Если что, в инспекторе в обоих случаях видно что обе капсулы в массиве, то есть во втором случае он тоже ловит обе.
328 444260
Ребята, я уже не человек нахуй.
Уже два часа сижу на ровном месте и просто охуеваю.
Суть проста: есть "пушка", которая с помощью Physics.OverlapSphere получает массив коллайдеров, которые находятся от неё на определённом расстоянии. Из всех этих коллайдеров она должна найти ближайший.
Вот, собственно, сам код и как это работает на примере 1-го видеорилейтеда:

public Collider[] targets; // все коллайдеры вблизи пушки
public Transform curTarget; // трансформ объекта, который будет ближайшим
public float distance = 2f; // радиус обнаружения коллайдеров

void Update () {
targets = Physics.OverlapSphere (transform.position, distance, 1 << LayerMask.NameToLayer ("Enemies")); // загоняем в массив все коллайдеры поблизости из нужного слоя
float minDist = distance; // ближайшее расстояние

foreach (Collider target in targets) { // начинаем перебирать элементы массива
RaycastHit hit; // готовим хит
Ray ray = new Ray (transform.position, target.transform.position - transform.position); // готовим луч
if (Physics.Raycast (ray, out hit) && hit.distance < minDist) { // кидаем рейкаст, смотрим ближе ли объект нашего радиуса обнаружения
curTarget = target.transform; // если да, то этот объект назначаем ближним
minDist = hit.distance; // дистанцию до объекта назначаем минимальной, чтоб если следующий объект окажется ближе - это отловить
}
}
Debug.DrawLine (transform.position, curTarget.position); рисуем в дебаге лучи до ближайшего объекта
}

Как видите на 1-ом видео, всё нормально. Светит куда надо.

А вот теперь начинается магия, в рот её ебать.
После последней строчки я добавляю всего одну. Теперь это выглядит так:
Debug.DrawLine (transform.position, curTarget.position); // эта строчка уже была
transform.LookAt (curTarget.position); // смотрим на ближайшую цель

То есть добавилось всего то, что "морда" пушки будет смотреть на ближайший объект. И, нахуй блять, смотрите какая анальная клоунада начинается на втором видео.
Почему так? Я уже все волосы на голове вырвал, я нихуя не понимаю почему это происходит.
Если что, в инспекторе в обоих случаях видно что обе капсулы в массиве, то есть во втором случае он тоже ловит обе.
329 444264
>>44250
Не могу добавить новый skinned mesh объект к костям своего персонажа.
Не, аватар не трогал, я ведь никак не вмешиваюсь в структуру костей. Кости не добавляю, только сетку.

Не понимаю логики Меканима, ведь в любом 3д-редакторе можно легко сделать привязку к существующему персонажу новых объектов, можно даже перенести веса со старых. А тут уперся в такую элементарную фигню.
Можно, конечно, сохранить fbx с новым персонажем и импортировать его с нуля, а потом копировать на него все коллайдеры, системы частиц и прочее, но это путь какого-то мазахиста.
3.webm685 Кб, webm,
1432x700, 0:04
330 444266
>>44260
Заменил

> transform.LookAt (curTarget.position);


на

> transform.LookAt (new Vector3 (Random.Range (0, 360), Random.Range (0, 360), Random.Range (0, 360)));


чтобы его пидарасило по полной и исключить возможность того, что проблема именно из-за движения "башни".
Результат на видео.
Короче, юнька меня затралила, у меня уже пена изо рта идёт.
331 444268
>>44260

>public float distance = 2f; // радиус обнаружения коллайдеров


float minDist = distance; // ближайшее расстояние

А с этим никаких проблем не будет?
332 444269
>>44268

> А с этим никаких проблем не будет?


Нет, здесь всё нормально. Сначала задаю минимальным расстоянием максимально возможное, чтобы с ним сравнивать.
На первом и третьем видео с этим всё нормально, как видишь. Проблема начинается только когда прописываешь

> transform.LookAt (curTarget.position);

333 444270
>>44260
ты 2 часа не можешь задампать в консоль все свои переменные?
334 444271
>>44269
Выведи в дебаглог переменные-то.
А ещё у тебя lookat в теории может ссылаться на нуль.
15051613510690.jpg222 Кб, 1280x744
335 444273
>>44266
Суукаааа. Я смотрю на это и ахуеваю. Сам ньюфаг, только вкатился. Уже думаю идти в анриал. Юнити часто таким образом троит?
336 444274
>>44271
>>44270

> А ещё у тебя lookat в теории может ссылаться на нуль


Лол, как раз таки если его заставить смотреть на v3.zero, то всё нормально. Как и на любой другой v3, отличный от координаты капсулы.
Там полторы переменные, на что там смотреть?
В любом случае держите. Как видите, расстояние до правой меньше, но светит всё равно в левую
337 444275
>>44274
А если позицию curTarget'а перевести в новый вектор и скормить его LookAt'у?
338 444277
>>44275
Пробовал, та же херня. И целиком переводил и по координатам.
339 444278
>>44275
>>44277
Тааак. Перебил ручками позицию curTarget по y из -0,2 в просто 0,2 и оно работает.
Кажется он не жрёт отрицательные координаты.
Теперь ищем почему.
340 444279
>>44278
Ты точно новый вектор делал? Ну, чтобы new и всё такое?
341 444281
>>44279
transform.LookAt (new Vector3(23.1f, -0.2f,30.9f));
Это координаты капсулы, как ты видишь в дебаге. И так он светит через жопу.
Ставлю
transform.LookAt (new Vector3(23.1f, 0.2f,30.9f));
То есть по y минуса уже нет. И светит оно как надо.
342 444282
>>44281
Так, новый факт.
Если по Y поставить -0.1, а не -0.2 (как в координатах капсулы и есть), то светит как надо. Возвращаю 0.2 - глючит.
Буду шагами перебирать переломное значение.
343 444284
>>44282
Итого.
Сама позиция капсулы по Y -0.2
Распознавание перестаёт глючить в диапазоне от -0.3265 до -0.1236. То есть между этими числами — мёртвая зона.

Как и почему это работает — понять не могу. Как это чинить — тоже. Разве что костылями.
344 444286
>>44284
От update'а быть не может? Фреймов в секунду стабильно?
bandicam 2017-09-22 00-46-40-749.webm2,3 Мб, webm,
1432x700, 0:18
345 444287
>>44286

> Фреймов в секунду стабильно?


Вполне.

> От update'а быть не может?


При других высотах капсул работает же.
Вот, смотри на этот цирк.
346 444288
Короче, в пизду.
Будет у меня не пушка, а какая-нибудь вышка, которой не нужно будет вертеть "головой".
Я до сих пор нихуя не понимаю почему это происходит, но одно знаю точно — без LookAt всё работает как надо.
347 444289
>>44288
У меня тоже такая непонятная херь есть - рейкастер упорно видит одну особенную кнопку на другом конце экрана, хотя она находится на этом, и её можно нажимать там. Причём эта баженная область начинается ближе к центру и становится шире к краю экрана, т.е. как будто сектор на радаре. Я не знаю, как работают апдейты и рейкасты, но если область такая ровная, то, наверное, во время выполнения рейкаста в апдейте что-то отсекается случайно.
Что-то вроде этого?
http://answers.unity3d.com/questions/1141633/why-does-fixedupdate-work-when-update-doesnt.html
348 444290
>>44287
>>44288
Обновился до бэтки и всё заработало.
Ох уж эта юнька.
349 444303
>>44259
нет, я по прежнему не вижу что ты имеешь в виду. у лэйаут групп есть разве что эта нелепая проблема с тем что в редакторе к первому добавившемуся элементу не применяется лэйаут, но эта проблема только в редакторе.

>>44264
помоему рут бон в редакторе это рид онли, его изменение ничего не делает. вроде если имена костей и иерархия те-же то должно работать, но может настройки импорта какие особенные должны быть. я бы с радостью помог но я никогда особо не пердолился с тем чем ты. разве что один раз все перестало работать после того как переименовал кость.
но кстати да, посмотри ка на всякий случай в старте веса костей.
void Start () {
SkinnedMeshRenderer meshRenderer = GetComponent<SkinnedMeshRenderer>();
Mesh mesh = meshRenderer.sharedMesh;
Transform[] bones = meshRenderer.bones;
BoneWeight[] weights = mesh.boneWeights;
Vector3[] verts = mesh.vertices;
Vector3 tPos = transform.position;

for (int i = 0; i < weights.Length; i++) {
BoneWeight w = weights;
Vector3 pos = verts + tPos;
Debug.DrawLine(pos, bones[w.boneIndex0].position, new Color(1, 0, 0, w.weight0), 100f);
Debug.DrawLine(pos, bones[w.boneIndex1].position, new Color(0, 1, 0, w.weight1), 100f);
Debug.DrawLine(pos, bones[w.boneIndex2].position, new Color(0, 0, 1, w.weight2), 100f);
Debug.DrawLine(pos, bones[w.boneIndex3].position, new Color(1, 1, 1, w.weight3), 100f);
}
}

>Потому что УИ отражает на себе все базовые механики, и если поочерёдно делать УИ то всё равно над механиками работаешь.


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

>>44260
для начала обнуляй curTarget в начале цыкла.
вообще нахуй ты рэйкаст делаешь для нахождения ближайшего то?

>>44273
что у тебя там троит, наркоман?
349 444303
>>44259
нет, я по прежнему не вижу что ты имеешь в виду. у лэйаут групп есть разве что эта нелепая проблема с тем что в редакторе к первому добавившемуся элементу не применяется лэйаут, но эта проблема только в редакторе.

>>44264
помоему рут бон в редакторе это рид онли, его изменение ничего не делает. вроде если имена костей и иерархия те-же то должно работать, но может настройки импорта какие особенные должны быть. я бы с радостью помог но я никогда особо не пердолился с тем чем ты. разве что один раз все перестало работать после того как переименовал кость.
но кстати да, посмотри ка на всякий случай в старте веса костей.
void Start () {
SkinnedMeshRenderer meshRenderer = GetComponent<SkinnedMeshRenderer>();
Mesh mesh = meshRenderer.sharedMesh;
Transform[] bones = meshRenderer.bones;
BoneWeight[] weights = mesh.boneWeights;
Vector3[] verts = mesh.vertices;
Vector3 tPos = transform.position;

for (int i = 0; i < weights.Length; i++) {
BoneWeight w = weights;
Vector3 pos = verts + tPos;
Debug.DrawLine(pos, bones[w.boneIndex0].position, new Color(1, 0, 0, w.weight0), 100f);
Debug.DrawLine(pos, bones[w.boneIndex1].position, new Color(0, 1, 0, w.weight1), 100f);
Debug.DrawLine(pos, bones[w.boneIndex2].position, new Color(0, 0, 1, w.weight2), 100f);
Debug.DrawLine(pos, bones[w.boneIndex3].position, new Color(1, 1, 1, w.weight3), 100f);
}
}

>Потому что УИ отражает на себе все базовые механики, и если поочерёдно делать УИ то всё равно над механиками работаешь.


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

>>44260
для начала обнуляй curTarget в начале цыкла.
вообще нахуй ты рэйкаст делаешь для нахождения ближайшего то?

>>44273
что у тебя там троит, наркоман?
Unity 2017-09-22 07-48-03-40.png1,1 Мб, 1124x746
350 444304
>>44303
не того процитировал не там. ну в общем и так все понятно.
351 444305
>>44303

> для начала обнуляй curTarget в начале цыкла


Обнулял, нихуя.

> нахуй ты рэйкаст делаешь для нахождения ближайшего то?


Потому что мне нужна ближайшая цель, которую видно, а не которая за камнем стоит.

В любом случае, при обновлении до бэтки всё заработало.
352 444306
>>44305
у меня не бета, у меня 17.1.0f3. дай посмотреть на сломанное. мне интересно что у тебя там не так было.

>Потому что мне нужна ближайшая цель, которую видно, а не которая за камнем стоит.


а нахуй ты всех то рэйкастишь тогда? отсортируй по квадратной дистанции и потом уже рэйкасть начиная с ближайшего.
353 444307
>>44306

> дай посмотреть на сломанное


Код есть, видео тоже. Смотри дальше по треду.

> а нахуй ты всех то рэйкастишь тогда?


Чтобы определить ближайшего видимого же.

> отсортируй по квадратной дистанции и потом уже рэйкасть начиная с ближайшего


Зачем, если и так работает теперь?
354 444308
>>44307

>Код есть, видео тоже.


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

>Чтобы определить ближайшего видимого же.


смари, я тебя сейчас трюку научу. то что ты делаешь делать будешь часто. можно написать так:
static IOrderedEnumerable<T> OrderByDistance<T>(T[] array, Vector3 point) where T : Component {
return array.OrderBy(x => (x.transform.position - point).sqrMagnitude);
}
и получать уже сразу отсортированные по дистанции элементы.
и писать уже не эту ебурду с дистанцией, а сразу
foreach (var item in OrderByDistance(Physics.OverlapSphere(transform.position, 2f), transform.position)) {
//проверка видимости
}

можно ценой генерации мусора немножко сделать твое говно читабельней.

>Зачем, если и так работает теперь?


чтобы знать чё как и почему и узнать что-то новое как всегда.
355 444309
>>44308

> коллайдер где-то в который луч утыкался


Без lookat почему-то не утыкался, а с lookat утыкался. Причём при lookat только в районе объекта, при рандомнои направлении всё нормально было.

> я тебя сейчас трюку научу


Благодарю, буду дома — потестю.
356 444310
>>44309
дык, может, у тебя там коллайдер ориентированный по направлению обьекта. луч натыкался на небольшое слепое пятно, или ещё чего в этом духе. надо же проверять куда там все это тычется и все значения которые имеешь. хуй же знает что у тебя там в сцене, то что ты там в сцену сунул это как контекст в беседе.
357 444311
>>44310

> луч натыкался на небольшое слепое пятно


Ну в любом случае в бэтке не натыкается.
358 444318
>>44303
Троит не у меня, а у анона с башенкой. У меня не юнити троит, а я трою
359 444336
>>44303

>помоему рут бон в редакторе это рид онли, его изменение ничего не делает.


Печально, если так. Не понимаю, как тогда редактор определяет привязку к костям. Берет skinned mesh, извлекает из него имена костей и ищет те же кости в иерархии?
Не, у меня так не работает и никакие кости не находятся. Вообще нет деформации меша при анимации костей.
За код спасибо, попробую.
360 444338
>>44336
вроде как да, имена костей в иерархии относительно компонента с аниматором. но тут я совсем не уверен и могу говорить хуйни.

>>44318
мне кажется у тебя что угодно троит

>>44311
по моему это говорит о том что там что-то не работает, или произошло то что ты не заметил.
361 444339
>>44338

> по моему это говорит о том что там что-то не работает, или произошло то что ты не заметил


Возможно. Хотя у меня один раз была одна херня, которая была точно глюком самой юньки. Как раз таки на бэтке, только на старой.
Элемент UI не отображался ни в сцене ни в игре. Контур есть, в инспекторе всё норм, а его не видно. Перезапускаешь юньку - всё нормально. До второго запуска.
Плюнул, окатился до стабильной версии - всё нормально.
Вечером, наверное, опять до стабильной версии откачусь, посмотрю остался ли тот глюк со сферами. Если да - скину, поиграешься, если хочешь.
362 444367
2ch, получается что все объекты классов в unity уже созданы? Т.е. такие классы как input, debug и т.д.
363 444368
>>44367
лол а что по твоему в движки ложат то?
364 444371
>>44367
2ch, получается что все инструменты в набор инструментов уже вложены? Т.е. такие инструменты как шуруповёрт, перфоратор и т.д.
365 444372
>>44368
А ты не особо умный я смотрю, движков сотни и все они имеют разную архитектуру. Попробуй переформулировать свой вопрос на мой вопрос.
366 444446
>>44367
Ты тупой.
367 444508
>>44367
c# language reference -> static keyword
368 444520
Анон, начал читать Unity in action и там говорят добавить фаерболу Rigidbody путем добавления компонента в инспекторе, но там его нет. Как быть? Начал гуглить, а там ответы вроде "Он тебе и не нужен", но он нужен мне, без него не робит.
369 444521
>>44520
Блядь, вот всегда так, тыкался час, гуглил и как только написал куда-то вопрос - сразу нашел блядь. Через поиск в add component не находило physics, а так он в списке есть, ахуенно.
370 444551
Двач, я видимо даун-аутист, но я не могу сделать такую элементарную вещь, как анимированный прогресс бар.
То есть, я слайдером тяну маску, все заебись, но как мне зациклить блядский спрайт? С текстурами обычно просто ебашил тайлинг и плюсовал оффсет, но со спрайтами такую хуйню не получается провернуть. И что самое стремное - гугол практически молчит. Спасай анон, чувствую себя умственно неполноценным.
фывчяя.png7 Кб, 820x503
371 444554
Сап. Есть два объекта с circle collider 2d. Большой и маленький, один над другим(пирог). На большом висит OnMouseExit() вырубающий всю ветку элементов. На маленьком висит OnMouseEnter() включающий дополнительную ветку элементов.

Каким способом можно сделать оба одновременно активными? Ебля с осью Z (2д же) приводит к двум результатам: маленький коллайдер над большим и на нём срабатывает OnMouseExit() большого, или маленький коллайдер под большим и соответственно вообще не работает. В идеале нужен первый вариант только без срабатывания OnMouseExit() большого коллайдера.

По сути это меню с выпадающими окнами. Из-за нестандартной планировки (не списком) приходится велосипедить
372 444558
>>44551
Пока что изъебнулся с quad-ом, натянув на него текстуру, но это реально говно какое-то, пришлось все дергать по z, разъебывая весь ui.
Надеюсь на знающих анонов.
goblintiny.png18 Кб, 16x16
373 444560
>>44558
у текстуры выстави full rect и укажи края в редакторе спрайта. потом в элементе интерфейса с прогресс баром добавь компонент sprite и выбери там tiled, всё
Untitled.jpg132 Кб, 379x763
374 444562
>>44560
Я видимо чего-то не понимаю, но в спрайт рендере нет tiled, а если ставить в компоненте image, то там нет никаких параметров скейла и оффсета
image.png14 Кб, 329x190
376 444566
>>44562
так, я понял, ты в спрайте не настроил границы
377 444567
>>44566
>>44565
Все, разобрался, draw mode завезли только в 5.6, вот я его и не видел.
Жаль, что не получается сделать через ui, но спасибо анон, всяко лучше, чем натягивать текстуру на quad.
378 444569
Такой вот вопрос, может быть не по теме немного, но все же. Делаю я модель для юнити. И хочу сделать одну текстуру для него. Например, дом. Какой оптимальный размер текстур для юнити? Делаю обычно 4096х4096 Какой формат лучше подходит? Юзаю png
379 444583
>>44508
Один умный на трёх даунов, уже не плохо для двача.
380 444585
>>44554
Попробуй использовать различные слои и проверять рейкаст по слоям.
Либо, если тебе достоверно известна форма меню (круг), то ты можешь посчитать отдельно для каждого элемента входит в него курсор мыши или нет.
381 444615
>>44569

> Какой оптимальный размер текстур для юнити?


чет ты da. у каждой модельки свой размер текстур, и зависит он от пространства и времени, занимаемым моделькой на екране в процессе игры.

> Какой формат лучше подходит?


максимум da. любой формат. юнети всё переконвертит за тебя, исходники из папочки ассетс в релиз не попадают
382 444617
>>44569

> Какой оптимальный размер текстур для юнити?


Какой нужен. Хочешь чтоб было оптимально - ебошь размеры в степени двойки. Остальное похуй. Хотя и это по большому счёту похуй
383 444619
>>44569
Ты ведь книгу из шапки даже не открывал, да, ленивый уёбок?
384 444644
>>44619
ты ведь юнети даже не открывал, да, ленивый уёбок?
4ed072a96dc041e6c39f9091cc2cf4b2.png2 Кб, 73x77
385 444662
>>44644
А что, надо было?
386 444664
>>44585
Спасибо. Во сне пришла мысль - вообще не делать пересекающиеся коллайдеры. Так и сделал.
387 444684
Как скачать новый навмеш в юнити?
388 444689
>>44684
Берёшь и без задней мысли скачиваешь.
389 444690
>>44689
Ну у меня комплексов много, чтобы так сделать. Мне бы знаешь, вот всё продумать, везде почитать, посмотреть там видосы, а так просто я не могу, ну стесняюсь шоле хз.
390 444694
>>44619
Спасибо. Нет, не открывал. Даже не видел. Выходит правильно делал, что пнг использовал. А то что он и псд съест, для меня приятная новость.
391 444696
>>44694
Ну вот, я тебя ленивым уёбком обозвал, а ты мне спасибо говоришь.
Даже как-то стыдно что ли.
392 444697
>>44617
Я о том, что если я сделаю размер, например 16000х16000, все будет нормально? Или лучше не делать подобных вещей?
393 444699
>>44696
Да то что я ленивый это правда. А то что уебок, ну так это же двач, ты ещё относительно ничего обидного не сказал. Да и вообще по жизни стараюсь не обижаться на субъективное мнение других. Вот видишь, я тебя в ответ не обосрал, а поблагодарил за ответ, тебе и стыдно стало) ты меня лично не знаешь так что уебок я или нет, знать не можешь
394 444700
>>44697

> 16000х16000


Лучше всё таки добавь/убавь до степени двойки. А то NPOT это не есть хорошо.
395 444703
>>44700
Хорошо. Я наверное не правильно выразился, так что лучше узнаю путем тыка. Спасибо) Про кратность двойки знаю, я имел в виду очень большой вес такой текстуры...
396 444704
>>44697
Максимальный размер текстуры в юнити ограничен 8192х8192, формат не имеет значения так как при импорте картинка конвертируется.
b101228aeb703cd5156ca848a98844f9.png8 Кб, 265x256
397 444707
>>44703

> так что лучше узнаю путем тыка


Я тебе помогу.
398 444709
>>44704
>>44707
Хм, спасибо большое. Как я сам не нашел, странно
399 444740
>>42120 (OP)
Как в юнити повернуть отдельный компонент?
Мне конкретно надо повернуть NavMeshAgent по оси X на 90 градусов и по оси Z на 90, не поворачивая при этом 2D спрайт, вот.
400 444741
Какого хуя каждый раз при перезапуске unity, половина скриптов теряет ссылки?
ячсфцй.png130 Кб, 1064x660
401 444743
>>44741
Отклеилось
402 444744
>>44741
Назначь их в редакторе и не будут теряться. Они у тебя инициализируются при запуске, все что произошло после запуска в редакторе не сохраняется.
krokodil-5.jpg40 Кб, 660x440
403 444745
>>44743
Чего у тебя теряется, наркоман, ты в Awake ссылки получаешь при запуске скрипта. Можешь их private сделать чтобы в диспетчере не маячили.
404 444747
>>44745
Естественно я заскринил после того как нажал play.
>>44744

>Назначь их в редакторе и не будут теряться


Угу, так и сделал.

>Они у тебя инициализируются при запуске, все что произошло после запуска в редакторе не сохраняется


Это не объясняет почему они терялись. Хотя уже и не важно.
405 444748
>>44747

>Это не объясняет почему они терялись


Ты искал по тегу. Тег меняется там где на MainButton в выпадающем меню выбрано untagged. Если такого тега нет то функция возвращает null, то бишь обнуляет твою переменную. Искать по названию объекта надо через GameObject.Find("...")
406 444750
>>44748
Естественно все теги я развесил. Искал по тегу потому, что GameObject.Find("...") тяжелее.
Скорее всего дело было в том, что нельзя получить ссылку на объект если он .SetActive(false).
407 444754
>>44743
Бля, надо будет монодевелоп тоже в тёмный перекрасить. А то бывает глаза болят.
408 444755
>>44704

> формат не имеет значения


Если есть альфа канал, то имеет. А так да, один хуй будет DDS.
Аноним 410 444759
>>44758

>> windows 8.1


>> Substance painter


>> Substance designer


>> Notepad ++


>> Unity 3d


>> aimp


>> Tor (vidalia bridge)


>> Photoshop CC 2014 (так как 15cc ну устанавливается)


>> 3ds max 2012


>> google browser



- Эталонный говноед. Иди выпелись сука ебучая, пидр блять, сука блять, ёбаана блять.
plate2.jpg690 Кб, 1920x1080
Аноним 411 444760
>>44758
Low - Poly
Как раз для долгостроя.
Делаю симулятор совковой борщеварки.
plate3.jpg686 Кб, 1920x1080
Аноним 412 444761
>>44760
блэд, снова мудак.
Быстро фикс
413 444764
>>44758
Ты б ещё в автокаде рисовал.
414 444765
>>44759

> google


> browser


Тут что-то лишнее.
415 444770
>>44755
ДДС? Помню в сталкере ещё текстуры были в ддс
Аноним 416 444775
>>44764
В автокаде рисовал, экспортнул в 3ds
417 444777

>>>>44770


Надо же как тебе повезло.
Аноним 418 444778
>>44569
Нормальное разрешение сейчас 1024x1024/2048x2048
Если ты делаешь дом атласом, то ты - долбаёб.
419 444779
>>44778
Как лучше текстурить дома? Нуфаг же
Аноним 420 444780
>>44569

>> Какой формат лучше подходит?


>> Юзаю png


Юзай дальше, тут нет что - то плохого.
Сам его юзаю.
Аноним 421 444783
>>44779
Окна - отдельно.
Кирпичи - отдельно.
Двери - отдельно.
Если у тебя к примеру 4 двери - делай их атлосам.
Окна около 4 штук - тоже атлас.
Пример:
423 444786
>>44785
Вот чёрт!
14205117567140.jpg106 Кб, 707x682
424 444787
>>44783

> атлосам

Аноним 425 444788
>>44787
Знаю, я -мудак :(
426 444801
Давно так не семёнили тут.
427 444807
>>44783
Спасибо за совет, попробую переучиться
428 444869
Анон, выручай, есть:
_rigidbody.MovePosition(_rigidbody.position + _movement * Time.deltaTime);
Почему MovePosition игнорирует задание направления мышью. Как задать направление?
429 444870
>>44869
Скажи честно, вы все из одной пробирки? Или вы все ходили на один и тот же курс по хуёвой постановке вопроса?
Где, блять, в твоём коде хоть намёк на направление мыши? Знаешь ли, хрустальный шар давно уже сломался от таких вопросов, так что давай конкретизируй.
430 444874
>>44870
В общем есть скрипт - моуселук, в котором берется трансформ капсулы и присваивается ротейшон.
Есть второй скрипт - мувмент, привязанный к капсуле. В котором:

_movement.Set(Horizontal, 0, Vertical);
transform.Translate(_movement);

Так все работает, как надо. Но если вмесно transform.Translate использовать rigidbody.MovePosition, то направление уже не задается. И вопрос в том, как задать направление для rigidbody.
431 444899
>>44870
>>44874
https://www.youtube.com/watch?v=eToUMPUkZ4Q
вспомнил и прослезился
thoneick 433 444912
>>44807
И да, если ты собираешься делать здания более детализированным, то делай отдельными частями.
Ну там... Рама от окон - отдельно. Забор - отдельно.
Старайся что бы в одном mesh -е было не больше 15.000 Tris (Треугольников)
И названия материалов тоже давай правильное.
Кстати, если ты собираешься делать для UE (Unerial Egine) то коллизию тоже сделай. Всё вместе экспортни.
Пример:
434 444923
>>44874
Таки нашел в чем дело. Нужно добавить transform.TransformDirection
>>44902
Ты совсем мудак?
435 444927
>>44912
Вау, это реально красиво. Про текстуры понял, буду пробовать. Пока что я только осваиваю юнити, она коллайдер ставит. На анреал позже может перейду, посмотрим
436 444940
>>42120 (OP)
Сап, а в unity можно где-то найти исходный код NavMeshAgent?
437 444950
>>44927
Ах да. Пробуй ещё текстурировать/рисовать текстуры в substance painter/designer
Сейчас все перешли на pbr material.
Но ты должен не плохую развертку тогда мастерить. Без mix вообщем.
438 444997
>>44912

> Unerial Egine


Ponyatno
439 444998
>>44940
Про наследование не слышал? Бери и ковыряй.
Аноним 440 445012
Сап, аноны. Я тут пытаюсь сам сделать передвижение персонажа на си шарпе, вот что язапихнул в Update:
float x = Input.GetAxis ("Horizontal");
float xPos = x moveSpeed;
float z = Input.GetAxis ("Vertical");
float zPos = z
moveSpeed;
float y = Input.GetAxis ("Jump");
float yPos = y;
obj.transform.position = new Vector3 (xPos, yPos, zPos);
И столкнулся с проблемой, заключаювшейся в том, что зона передвижения ограничена(квадрат от 10 до - 10).
Хелп ми.
441 445013
>>45012

> transform.position = new Vector3


Поехал что ли?
Аноним 442 445015
>>45013
абъясни, я пытаюсь катиться в юнити и многого не знаю
443 445016
>>44998
Я не шарю, можешь разъяснить, пожалуйста? Я думал, все эти скрипты в опен доступе.
444 445025
>>45015
Катись на https://unity3d.com/ru/learn и делай туториалы.
445 445053
>>45012

>float y = Input.GetAxis ("Jump");


>float yP = y;


>float yPos = yP;


>float yPosition = yPos;


>float yObjectPosition = yPosition;


transform.position не является функцией. Читай документацию внимательно https://docs.unity3d.com/ScriptReference/Transform.html
446 445105
>>45053
Тебе объяснить сложно?
Нужно transform.position += или что писать?
447 445107
>>45105

>transform.position не является


>Нужно transform.position


Не нужно setpositionandrotation, только кватернион вручную не пытайся задавать
448 445108
>>44940
Вбей в поиске в монодевелопе.
449 445110
>>45107
Тогда зачем transform.position можно задавать напрямую?
>>45012
Разве ты не определяешь положение по текущему значению осей? Ось же ограничена 10 и -10, нет?
450 445117
>>45110
Я обосрался. Не обращай внимания.
Вопрос про простую генерацию уровней. 451 445189
Сап, двощ, помоги.

Надо поставить перед игроком выбор уровня. Допустим, ему показывают три варианта 1 - простой сложности, 2- средней, 3- сложной. У каждого уровня будет определенное количество врагов, свой террэйн, допустим еще каке-то свойства.

Как я вижу: делаем класс УРОВЕНЬ в нём в конструкторе задаем метод Генерируй( сложность ){генерирует количество/вид монстров, в зависимости от _коэффициентов}. От класса УРОВЕНЬ наследуем классы террэйнов (прим. пустыня, тайга, казематы Путина), в наследниках переназначаем коэффициенты.

Игрок видит варианты, делает выбор, играет.

Все правильно делаю, или можно как-то проще и я зря тут фигню с классами и наследованием развёл?
452 445191
>>45189
ой, нет , фигню написал. Мне же надо зарандомить террэйн, и его нельзя рандомить в конструкторе базового класса.

Значит метод Генерируй() будет в менеджере, и он будет возвращать объект класса УРОВЕНЬ, который внутри медота будет рандомить террэйн, вызывать конструктор(), который в свою очередь будет определять количество мобов и прочие свойства.

Короче, двощ, я сдулал уже крутой инвентарь, отчасти благодаря тебе, помоги и с этим.
453 445192
>>45191
алсо, есть телеграм канал местный по юнити?
454 445195
И еще,может вы видели крутые мануалы или туториалы по темам:

Простые кривые сложности для левелов мобов/героя.
Реализация дроп рейта предметов.

Алсо, поделюсь винами: http://aushestov.ru/шрайбер/

https://youtu.be/ZW6RCKVnqT4
455 445199
>>45195

> Реализация дроп рейта предметов


В класс Item добавь поле dropRate и рандомь число от 0 до 100. Чем ниже этот самый рейт, тем меньше шансов что он выпадет.
Во всяком случае я так делал, проблем не было.
456 445200
>>45199
это понятно

Вопрос как лучше сделать:
-- В базе айтемов на каждый айтем указать вероятность выпадания на определенном террейне.
--- или в каждом террейне создать свою базу выпадающих айтемов со своими рейтами. Ну как словарь, например.

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

Хочется пример, где есть реализация дропа в зависимости от чего-то.

Вот еще идея:
я для террэйна создаю массив айтемов[100], который заполняю :

Редкий_предмет вероятность_выпадения редкого_предмета
Другой_предмет
вероятность выпадения
остальное заполняю обычными предметами.

потом беру случайный индекс массива и таким образом монтекарлю себе рандомный айтем из текущего террэйна. Взлетит?
457 445214
>>45200
Ты ведь понимаешь, что это совершенно не принципиально?
В варкрафт 3 ковырялся? Вот так и делай.
458 445216
Аноны, читаю unity in action и там есть такая функция -
private IEnumerator CheckMatch() {
if (_firstRevealed.id == _secondRevealed.id) {
_score++;
Debug.Log ("Score: " + _score);
} else {
yield return new WaitForSeconds (.5f);

_firstRevealed.Unreveal ();
_secondRevealed.Unreveal ();
}

_firstRevealed == null;
_secondRevealed == null;
}

Юнити ругается :
only assignment call increment decrement and new object
в конце функции. Может подскажете в чем дело?
459 445218
>>45216
Форматированный код : https://pastebin.com/mtdNBPKS
460 445220
Аноны, может кто-нибудь знает бесплатные реализации физики автомобиля? Неужели за столько времени никто не сделал какой-то шаблон?
461 445221
>>45214

>Ты ведь понимаешь, что это совершенно не принципиально?


не понимаю. Просто уверен придется что-то менять и добавлять, поэтому охота посмотреть на эталонный велосипед и реализовать "как положено".
Во-первых: не придется переписывать.
Во-вторых: минимум ошибок.
В-третьих: приучу себя к грамотным реализациям дефолтных задач.

>В варкрафт 3 ковырялся


а он опенсорс теперь чтоли?

Пока нагуглил паттерн фабричный метод. Вроде оно.
462 445222
>>45218
фигурные скобки с новой строки делай
463 445223
>>45222
это не решение, если что. Зато поможет не отпугнуть тех, кто знает ответ.
464 445230
>>45200

>как лучше сделать


Это самый обычный двухсторонний мэни2мэни релейшн с доп полем.
465 445241
>>45230
сучка, заставил нуба гуглить.
Нет, (насколько я понял), я как раз стараюсь отвязаться от мэни-ту-мэни.
466 445245
>>45241
Ты от него не можешь "отвязаться", это блять определение твоей ситуации.
Если ты имеешь в виду, что ты боишься промежуточной таблицы - любая нормальная орм будет следить за связями в бд за тебя, так что не ссы (но только не поленись сразу разделить методы, которым нужно о конкретной орм знать, и собственно логику).
467 445248
>>45245
Антош, потрать на меня еще немного времени.
Я правильно понимаю, что м2м это когда айтем знает на каком террэйне у него какой дропрейт и каждый террэйн знает, какой дроп рейт у него для каждого предмета?

Мне всегда это знать не надо, связь в обе стороны тоже не нужна. Достаточно один раз узнать это при генерации. Напимер при генерации террэйна, посмотреть в поле этого террэйна с масиивом айтемов и дропнуть что-то оттуда, или пробежаться один раз по внешней базе всех айтемов и дропнуть оттуда все с ненулевым дропрейтом.

Выше я уже декларировал свой инсайт, что скажешь, покатит?

>(я для террэйна создаю массив айтемов[100], который заполняю :



Редкий_предмет вероятность_выпадения редкого_предмета
Другой_предмет вероятность выпадения
остальное заполняю обычными предметами.

потом беру случайный индекс массива и таким образом монтекарлю себе рандомный айтем из текущего террэйна. Взлетит?)

как вариант, если мне надо будет добавить дополнительный предмет в список дропа, я добавлю его в этот массив с его вероятностью, но чтобы не оверспавнить крутые предметы, перед этим увеличу количество элементов в массиве.

Сорри за потоки сознания.
Unity 2017-09-26 00-55-11-86.png944 Кб, 1112x818
468 445253
>>45189
как бы всё это целиком зависит от того как ты структурируешь свой генератор. если хочешь захардкодить всю генерациию, то ебись с наследованием. я так делал, но после пятнадцатой закрывающей скобки я решил что нахуй и в пизду.

>>45216
_firstRevealed == null;
_secondRevealed == null;
оператор == проводит сравнение.
469 445275
>>45253

>после пятнадцатой закрывающей скобки


Что ты там так нахардкодил, что аж 15 скобок?
470 445302
Парни, я хочу сделать возможность редактировать статы и т.п. извне юнити. Я нашёл, как использовать File I/O и всё такое, вопрос не в этом. Там просто делаешь текстассет, при загрузке игры смотришь, есть ли нужный файл в нужном месте, если есть, грузишь его, если нет, грузишь внутренний текстассет и создаёшь его копию в нужном месте
Мне нужно сообразить, как лучше всего сделать парсинг данных из внешнего текстовика. Пока что у меня сделано это через сплит с разделителем по \n и затем с разделителем по ;, но это получается синтаксис текстовика очень требовательный. Да и метод для работы с этими текстовиками очень не-общий.
Как нормальные люди такое делают? Пока что склоняюсь к созданию общего метода, который смотрит на заданный разделитель и ищет заданное количество элементов (которые выдаст наружу), если не находит их столько, то дополняет нулями. Но допустим, что есть 4 элемента, как определить, что пропущен 3ий, а не последний? Нужен специальный синтаксис опять.
471 445312
>>45302
Я даже хз, что тебе сказать. Есть куча бд любых видов, которые специально для этого предназначены, и имеют хуилион человекочасов вложенных в них - нет блять хочу изобретать велосипед. Ты бы еще предложил хранить в джипегах фотки узелковой вязи и тренировать нейросеть распознавать их.
472 445314
>>45312

>качай ассет качай ещё один ассет и ещё раз


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

Сделал. Нормально?
Главный вопрос, я же смогу в будущем безе проблем работать методом родителя класса (который не переопределяется) с полями наследников класса?

https://pastebin.com/gd5efWP1

<iframe src="https://pastebin.com/embed_iframe/gd5efWP1" style="border:none;width:100%"></iframe>
474 445324
>>45323
поясните ньюфагу как вставлять нормальный отформатированный код?
Unity 2017-09-26 14-20-25-82.png1,2 Мб, 1024x818
475 445325
>>45275
это года три назад было, я так навскидку и не помню. вроде пытался в одну итерацию по главной маске сгенерировать шумы. в итоге на каждой развилке приходилось открывать новые скобки. получилась ебанистическая функция на 700 строчек. но зато лол, генерировала карту только через код. но было абсолютно нечитабельно.

>>45302
может просто воспользуешся XML сериализацией? оно читабельно и уже делает все за тебя.

>>45323
сначала генерацию ебани, потом эти вопросы сами найдут ответ.
476 445326
>>45325
И чё?
477 445327
>>45326
че и чё?
478 445329
>>45325

>генерировала карту только через код. но было абсолютно нечитабельно


Играл в Зевса-Посейдона? Там была охуенная система генерации зданий-монументов. Банально был текстовик, в котором указывался начальный "камень", а затем параметрами материалы и т.п. и ещё направление, в котором поставится следующий камень. Если направления нет, то считается, что камень последний. Такая охуительная задумка - просто делаешь два метода, один читает, другой создаёт новый камень в нужном месте с нужными параметрами. Нужен рандом? Делаешь третий метод с генерацией параметров по какому-то алгоритму.
Это я так, к слову. Поделиться увиденным хотелось.

>может просто воспользуешся XML сериализацией?


Спасибо, почитаю, как это работает.
Ещё вспомнился метод парадоксодрочилен - берётся таблица csv, и из неё всё нужное выдирается.
479 445330
>>45327
Я не знаю.
Как дела?)
480 445340
Парни, а как можно воспользоваться навмешем без навмешагента? Ну т.е., вот я создал эту карту путей и хочу просто добавить в скрипт передвижение по ней, че там писать то надо?
481 445343
>>45340

> а как можно воспользоваться навмешем без навмешагента?


Примерно так же, как водить грузовик без грузовика.
482 445346
>>45343
Бля, а хуле у них так всё неудобно? Этому агенту даже сторону, в которую он будет идти нельзя назначить, да и вообще он пиздец какой-то неудобный.
483 445350
>>45340

> добавить в скрипт передвижение по ней


destination что ли?
484 445352
>>45329
ноуп. не играл. в актуальное время не слышал про неё.
методов генерации то можно придумать много, но как правило более интересная задача как структурировать это месиво. можно на коленке сделать красивую мешанину, но когда задумаешься "как сделать из этого уровень? где тут должны быть места интереса?" вот тут то и начинается генерация.

>>45340
на самом деле раньше был метод чтобы получить меш навмеша. но ты хочешь хуй знает что. что получить то хочешь?
485 445353
>>45352
Ну я хочу, чтобы мой енеми искал путь до игрока по навмешу. У меня проблемы с поворотом, просто. Игра 2D и с навмешагентом, мои боты колбасятся, пытаются идти по неиспользуемой оси и т.д.
486 445354
>>45353
ты ещё что-ли один из тех кто не смог повернуть навмеш из плоскости XZ в плоскость XY?
487 445355
>>45352

>"как сделать из этого уровень? где тут должны быть места интереса?"


В случае с Зевсом всё просто: сложно предоставить в 2д-текстовике возможность моделировать 3д, поэтому вместо того, чтобы каждому камню просто задавать 3 координаты, сделали задачу координат относительно предыдущего камня. К тому же в самой игре здание не сразу ставилось, а его нужно было строить, и строители по заданной последовательности его возводили.

>"как сделать из этого уровень? где тут должны быть места интереса?"


Имхо, лучше всего заранее сделать определённое число кусков ландшафта, которые друг к другу прилепляешь. Какой бы рандом охуенный не был, он всё равно надоест, а так можно совместить рандом с ручной работой.
488 445356
>>45353

> Ну я хочу, чтобы мой енеми искал путь до игрока по навмешу


agent.destination = player.transform.position
Не пойму с каким там поворотом у тебя проблема. Angular speed повысь, если агент поворачивает как полено.
489 445358
>>45354
Да, а как это сделать?
>>45356
Ну он поворачивается так, чтобы двигаться по оси Z в сторону игрока. Из-за этого спрайт поворачивается на 180 градусов и его просто не видно в игре.
490 445360
>>45355

>Имхо, лучше всего заранее сделать определённое число кусков ландшафта, которые друг к другу прилепляешь.


А чалленджи, паззлы или что там для уровня задавать именно через куски ландшафта. Вот, например, есть игра на ПС2 Makai Kingdom, или ещё забавнее, на ПСП Valkyria Chronicles 3: там есть ограниченное количество кусков ландшафта, они присоединяются друг к другу от балды, но в каждом из кусков свой чаллендж есть, не зависящий от всего уровня, а входы и выходы в кусках расположены таким образом, чтобы общий чаллендж уровня воплотить.
491 445361
>>45354
Кстати, если есть, готовое решение по этому вопросу, то может еще можно нормально сам навмеш делать? А то я, для того, чтобы сделать навмеш добавляю кучу кубов, т.к. из 2д коллайдеров он не делает непроходимый путь.
492 445363
>>45361

> то может еще можно нормально сам навмеш делать? А то я, для того, чтобы сделать навмеш добавляю кучу кубов


https://github.com/Unity-Technologies/NavMeshComponents
493 445365
>>45358

> Да, а как это сделать?


Полторы секунды в гугле.
https://github.com/Unity-Technologies/NavMeshComponents/issues/31
494 445370
>>45355
куча вариантов, большая тема. можно просто делить карту на связанные зоны, можно соединять карту из заготовок в гриде, можно написать нейросеть чтобы она тебе из мешанины уровни генерировала "вот тут на камне отличное место для вышки потому что рядом ещё камень" и прочее-прочее. очень уж сильно сами варианты зависят от контекста.
>>45360
я не настолько консолота чтобы знать такие примеры. но про Valkyria Chronicles ты что-то страшное рассказал, первая часть была замечательной, а теперь похоже ничего не осталось от положительных качеств.

>>45358
ссылку тебе только что дали. несколько раз, лол. скачай, посмотри, там есть экзампл где ось навмеша крутят. покрути ось.
и в следующий раз ставь вопрос правильно "я хочу так. как получить?".
scrin - копия.jpg37 Кб, 508x315
495 445373
>>45370
Я дико извиняюсь за свой долбоебизм, но где тут крутить ось?
И самое главное: Я хочу, чтобы навмеш строился по 2D коллайдерам, как сделать?
496 445401
>>42120 (OP)
Господа, я ничего не понимаю в серверном программировании и поэтому спрашиваю тут. Подойдет ли Photon PUN для несложной ммо с онлайном максимум 1000?
497 445415
>>45401
Нет, это комнатки.
498 445416
>>45415
Писать сервер самому? Что почитать на эту тему для начала?
499 445418
>>45416
Единственные, кто обещают сделать заебись из коробки - спатиалос, но какие там подводные - не знаю, и сам давно жду хоть каких-нибудь постмортемов. Есть еще всякие подозрительные серваки в сторе и на гитхабе, но это совсем кот в мешке.
Свой сервер, если тебе не нужна авторитарная физика, можешь хуярить на чем угодно, хоть на плюсах хоть на пхп.
Почитать как сделать заебись нигде нет, только копать известные эмуляторы и те же подозрительные поделки.
500 445468
>>45373
Вопрос отклоняется, я наконец-то сумел сам написать кривой А-стар.
501 445476
>>45468>>45373
ты совсем тупой чтоли? там экзампл в папке лежит как наклонять, тебе >>45365 даже более детальную ссылку дали, а ты все равно хуйнёй страдаешь.
502 445655
Ребятки, нубо-кун опять на связи.
Короче я почти все реализовал.
Есть генерация трех уровней разной сложности на выбор, каждый с рандомным террейном и своим рандомным набором мобов. Лист мобов для каждой локации публичный, я натаскивал туда префабы через инспектор, в ходе генерации их оттуда случайно вытаскивают.

Но с выпадающим за прохождение локации шмотом так не сделать. Запарюсь перетаскивать.

Как сделать проще? В идеале мне надо к каждому классу локации прифигачить словарь с (шмот, вероятность выпадания). Сама база шмота у меня в json.
Как лучше сделать? Запилить для каждой локации еще json файлик? Или быстрее все-таки в инспекторе натаскать?
Словари сериализуются вообще, если будут (ГО, инт) или (стринг, инт)??

Хочу быстрое наполнение руками.
503 445689
>>45302
Снова я
Запилил жонглирование текстассетами и текстовиками, с этим, как и думал, проблем нет. Но вот начал читать про xml и csv и прихуел чутка.
Мне нужна таблица, которую может редактировать сам игрок, то есть она должна быть достаточно простой, чтобы в ней можно было просто менять значения в полях, и при этом позволять вводить новые строчки со стандартными полями.
CSV как работать будет мне понятно, есть пример парадоксодрочилен, а вот XML тёмный лес какой-то. Как оно будет выглядеть вообще? Есть какой-нибудь пример подобной таблицы? Методы для работы с ней тоже бы желательны
Или вот захочу папку с картами, где каждый xml будет отдельной картой с последовательностью шагов постройки, как в монументах-зданиях в Зевсе-Посейдоне. Как это будет на xml выглядеть?
504 445700
>>45689
И ещё кое-что.
При загрузке я заношу в один большой словарь все-все-все тексты из текстассетов и внешних текстовиков. Собственно, а не охуел ли я, и не трачу память впустую?
Может, можно как-то заблокировать изменение внешних текстовиков во время выполнения программы? Чтобы никто не мог в них что-либо изменить.
505 445732
>>45689

>таблица, которую может редактировать сам игрок, то есть она должна быть достаточно простой



XML не слишком для этого подходит. Почему не сделать текстовый конфиг? Я диванный, но скорее всего юнити умеет с чем-то подобным работать.

<objects>
<item id="1">
<param1>Значение</param>
<param2>Значение</param>
</item>
<item id="2">
<param1>Еще значение</param>
<param2>Другое Значение</param>
</item>
</objects>

XML это не таблица, то есть не двухмерная матрица, в нем доступна большая вложенность и редактировать неподготовленному человеку может быть сложновато.

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

Это как бы тебе ликбез краткий.

Так что думаю лучше смотреть в сторону текстовых конфигов.

Что-то вроде:

Fog = On
Difficulty = Hard
StartLife = 14
505 445732
>>45689

>таблица, которую может редактировать сам игрок, то есть она должна быть достаточно простой



XML не слишком для этого подходит. Почему не сделать текстовый конфиг? Я диванный, но скорее всего юнити умеет с чем-то подобным работать.

<objects>
<item id="1">
<param1>Значение</param>
<param2>Значение</param>
</item>
<item id="2">
<param1>Еще значение</param>
<param2>Другое Значение</param>
</item>
</objects>

XML это не таблица, то есть не двухмерная матрица, в нем доступна большая вложенность и редактировать неподготовленному человеку может быть сложновато.

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

Это как бы тебе ликбез краткий.

Так что думаю лучше смотреть в сторону текстовых конфигов.

Что-то вроде:

Fog = On
Difficulty = Hard
StartLife = 14
506 445733
>>45700
Если ты скажешь зачем тебе это нужно и чего ты хочешь добиться, то проще будет подсказать решение.
507 445734
>>45732
Спасибо примерно так я это и понял
>>45733

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


Моддабельность для игры хочу. Ну, и чтобы можно было ручками без вхождения в юнити фиксить разную ерунду вроде баланса.
Тут вопрос в том, сколько памяти будет жрать загрузка всех текстовиков в условленной папке внутри папки с игрой. Вон, парадоксоигры грузятся довольно долго, потому что они все текстовики (в форматах txt для скриптов и csv для локализаций) грузят до запуска игры и, похоже, постоянно их держат в памяти. Объём всего текста там несколько мегов, но больше 20, хотя я не считал. Вроде бы звучит не страшно, но я не профи же Из-за того, что всё заранее загружается в игру, можно во время самой игры текстовики менять, как только вздумается.
Есть альтернативный вариант - подгружать данные из текстовиков только по запросу, но тогда эти текстовики нужно либо как-то безопасно обустроить, либо заблокировать их изменение во время работы программы. Блокировка звучит гораздо лучше.
508 445745
>>45734
Я не совсем понимаю все-таки в чем твоя проблема. Почему так важно, чтобы текст нельзя было изменить во время игры? Кто вообще станет таким заниматься в теории?

По поводу загрузки в память ты обсчитался имхо. Средний роман на 300 страниц весит 1,2мб в fb2 и это с обложкой в base64. Значит на деле будет 600кб. У тебя будет в игре текста на целый роман?
509 445746
>>45732
[
{
"id": 0,
"title": "Steel Gloves",
"value": 6,
"stats": {
"power": 1,
"defence": 4,
"vitality": 2
},
"description": "Gloves made from steel",
"stackable": false,
"rarity": 2,
"slug": "steel_gloves"
},
{
"id": 1,
"title": "The Great Stick",
"value": 543,
"stats": {
"power": 56,
"defence": 2,
"vitality": 45
},
"description": "It's a stick that's pretty great.",
"stackable": true,
"rarity": 2,
"slug": "the_great_stick"
}

json не пойдет?
довольно читабельный даже для юзера, есть редакторы, где еще проще.
509 445746
>>45732
[
{
"id": 0,
"title": "Steel Gloves",
"value": 6,
"stats": {
"power": 1,
"defence": 4,
"vitality": 2
},
"description": "Gloves made from steel",
"stackable": false,
"rarity": 2,
"slug": "steel_gloves"
},
{
"id": 1,
"title": "The Great Stick",
"value": 543,
"stats": {
"power": 56,
"defence": 2,
"vitality": 45
},
"description": "It's a stick that's pretty great.",
"stackable": true,
"rarity": 2,
"slug": "the_great_stick"
}

json не пойдет?
довольно читабельный даже для юзера, есть редакторы, где еще проще.
510 445747
>>45746
ай, тебе именно таблица нужна.
511 445748
>>45745

>Кто вообще станет таким заниматься в теории?


Кто-нибудь да будет. А от такого воздействия будут серьёзные ошибки.

>По поводу загрузки в память ты обсчитался имхо


Может быть. Я ж не специалист. Везде пишут экономить на foreach, меняя их на for везде, где можно, а проку от этого крупицы. Что же тогда делать с 600 килобайтами мёртвого груза, которые нужны очень-очень редко?
>>45746
>>45747
По сути, это та же таблица, только визуальное представление другое. Как и xml. Надо обмозговать это всё
512 445755
>>45748

> от такого воздействия будут серьёзные ошибки.


Это уже, по-моему, вообще не твои проблемы.
513 445760
>>45748
Не нужно пытаться все заранее оптимизировать. Когда у тебя будет билд уже готовый и ты поймешь, что памяти действительно не хватает, тогда и будешь заморачиваться. На мой взгляд ты выдумал проблему себе.

Олсо, этот анон >>45755 прав.
514 445777
нашел на хабре

Как уже заметили, проще для дата-классов использовать ScriptableObject. Урок от Unity как им пользоваться как раз для таких задач.
Вообще, в больших проектах дизайнерам проще работать с Excel'ем. Забивать туда сотни и тысячи item'ов, высчитывать по странным формулам цену, графики рисовать и прочее. Потом всё это экспортится в xml или json. Хотя можно прямо из xls читать. Некоторые вообще по сети из google spreadsheet конфиги тянут.

https://youtu.be/PjvMrJDiH-U
515 445784
>>45777
Дрочую этого, сам впендюривал в проект на аутсорсе поддержку гуглтаблиц со кучей стат айтемов, которые через жусон в скриптабл обджекты запихивал.
Ну и собственно статы подгружались каждый запуск, пока ребалансили.
516 445785
>>45784
что почитать по теме? пока ушел смотреть юнити туториал по СО.
517 445799
>>42120 (OP)
Парни, можно ли проверить есть ли объект с тэгом на пути луча?
У меня идёт луч от эмени к игроку и проверяет, касается ли луч тэга "wall". Я решил сделать стекло в игре, через которое враг может игрока увидеть, но не может пройти соответственно. Так вот прикол в том, что если стоит враг, потом стекло, потом стена, за которой игрок, то враг сагрится и побежит искать игрока.
518 445801
>>45799

> можно ли проверить есть ли объект с тэгом на пути луча?


if (hit.transform.tag == "hueta")
519 445802
>>45799
Ещё один магистр по формулировке вопросов.

> можно ли проверить есть ли объект с тэгом на пути луча?


Можно.
520 445803
>>45799
Я не знаю как ты там делал, но ты явно велосипедишь. Вынеси стекло в отдельный слой, который будет игнорироваться рейкастом, и свети себе в сторону игрока. Упрётся луч в стену и никуда твой моб не побежит.
521 445805
>>45802
ти забыл что ти в юнете-треде
522 445809
>>45760

>Когда у тебя будет билд уже готовый и ты поймешь, что памяти действительно не хватает,


Тогда будет слишком поздно. Вон, соседний тред глянь: >>411195
Эта игра выдаёт 30 фпс максимум. ЭТА ИГРА ВЫДАЁТ 30 ФПС МАКСИМУМ
У меня от этого Яндере-дев только он ещё 8 часов на разбор почты тратит Он ещё жаловался, что на проверку каждого нового изменения в игре ему надо по 10 минут новый билд компилировать.

Нужно сразу по уму делать (насколько ум тебе позволяет), а не то будешь сидеть баготестить каждую переменную по полчаса

>>45755
>>45760
В общем, послушаюсь вас. С одной стороны буду хранить не словари с книжного объёма стрингами, а пути к текстовикам внешним и/или название текстассета, с другой стороны буду иметь словарь с преобразованными стрингами, чтобы много раз одну и ту же стрингу не преобразовывать, который к тому же буду периодически подчищать. Благо, после моей ёбли с поисковиком путей у меня охуенный PriorityQueue скодился, можно по тому же принципу сделать подчищалку
523 445812
>>45809

> Тогда будет слишком поздно


Не совсем понял что именно будет "поздно". Оптимизация — это последний этап игропроизводства. Шлифовка, так сказать.
Очень многие так нихера и не выпустили, потому что не игру делали, а рисовали три сосны и потом ебали себе мозг как бы их оптимизировать.
524 445813
>>45812

>Очень многие


Всё время говорят про этих очень многих, но почему-то никогда их не показывают.
525 445815
>>45813
А потому что и показывать нечего.
Ошибка выжившего, знаешь ли. Те игры, что выходят, это результат очень маленького процента тех, кто садился за разработку.
526 445817
>>45813
По-моему еще в этом треде кто-то спрашивал про оптимизацию анимаций. Нахуя — непонятно. До нас и так оптимизировали что могли.
Unity 2017-09-28 22-33-36-56.png2,6 Мб, 1528x910
527 445818
>>45809

>Тогда будет слишком поздно.


что за чуш. этап разработки надо делать как можно быстрей, а не оптимизировать. за время разработки свое говно по пять раз перепишешь, прежде чем продвинешься. одно дело поменять имплементацию какого-то метода, другое дело когда придется сносить весьма приличный кусок кода, просто потому что он устарел.
528 445820
>>45817

> По-моему еще в этом треде кто-то спрашивал про оптимизацию анимаций


В этом, да
>>43230
529 445836
>>45803

>в отдельный слой, который будет игнорироваться рейкастом


Вот. Про слои я знаю, а как сделать, чтобы слой игнорировался рейкастом? И можно ли проверять только один слой?
530 445838
>>45836
в функцию с рэйкастом лэермаск же можно сунуть. угадай что он делает.
531 445839
>>45836
Про перегрузку функции не слышал, не?
532 445841
>>45839
Не, я нуб.
533 445854
Хочу в юнитях запилить небольшой двухэтажный дом внутрь которого можно зайти. И тут два вопроса.
1)Пилить здание стоит одним мешем или каждую комнату отдельно + отдельно внешние стены?
2)Как пилить коллизию? Меш колайдера достаточно или нужно самому растягивать боксы? Есть ли возможность запилить коллизию в максе/блендере?
Unity 2017-09-29 02-08-00-88.png2,8 Мб, 1660x974
534 445856
>>45854
1 советую пилить отдельно, меньше мороки. особенно если Occlusion Culling ебанешь
2 если дом статичный то хули, ебани меш коллайдер
535 445857
>>45785
Я просто покупал плагин бачей за 15 или 20, спредшит 2 что-то там. Можешь просто его спиздить, там скрипт под гугловский апи, который заливается на драйв, и который под себя несложно адаптировать, и несколько скриптов с примерами для самой юнити.
536 445866
Как проверить нажатие кнопки "Назад" на андроиде?
Пробовал if (Input.GetKey(KeyCode.Escape)), не работает
537 445868
>>45866
http://answers.unity3d.com/questions/25535/android-back-button-event.html
А здесь говорят, что работает.
Ты в апдейте нажатие проверяешь или где? Точно код до места, где проверяется инпут.геткий, доходит?
538 445869
>>45868
Тестил через Remote Unity, надо будет скомпилировать и посмотреть, мэйби Remote врет
539 445880
>>45869

> Тестил через Remote Unity


У него вообще очень странное поведение. Например, мой персонаж бегает по клику ПКМ, но через Remote ПКМ вполне себе заменяется тапом двумя пальцами. Хотя я коде я ввод под ведро вообще не писал.
540 445896
>>45854

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



Экстерьер - отдельно.
Интерьер - отдельно.
Можно одним mesh-ем, но следи за треугольниками. Делай до 15/20 тысяч треугольников.

> 2)Как пилить коллизию?


Можешь в самом 3d пакете делать коллизию. Но сетка должна быть упрощена (У вазы или люстры, к примеру)

> Меш колайдера достаточно или нужно самому растягивать боксы?


Достаточно mesh collider

> Есть ли возможность запилить коллизию в максе/блендере?



- Да.
Но вот я лично хз на счет unity. Я всегда ставлю mesh collider.
В UE можно и mesh использовать в качестве коллизий.
541 445897
>>45896
Я тоже всегда ставлю меш коллайдер
542 445898
>>45896
>>45897
Адепты оптимизации говорят, что меш коллайдер это не труЪ, а надо обкладывать меш примитивными коллайдерами.
543 445899
>>45898

>Адепты оптимизации говорят


>> 445896


> 2)Как пилить коллизию?


> Можешь в самом 3d пакете делать коллизию. Но сетка должна быть упрощена (У вазы или люстры, к примеру)



Читай мудень.
544 445900
>>45898
Оптимизация это да, но этот геморрой стоит того только тогда когда очень много полигонов или большая сцена
sage 545 445907
Почему рекомендуют С# и JS, если можно и python, но

>But I Would Not propose to use Python...ответ на буржуйском юнити форуме Хочу попробовать в гейдев, но впадлу учить новые языки, знаю Python/C++

546 445908
>>45907
И тут сагу случайно зацепилкукла, все дела...
547 445910
>>45907
>>45908

>кукла


>самоирония


>питон


Почему-то я не удивлён
548 445921
>>45907

> Почему рекомендуют С# и JS, если можно и python


Ну ебашь на питоне, в чём проблема? Тебе наше благословение нужно?
549 445922
>>45921

> Тебе наше благословение нужно?


Бляя, как же я проорал с этих слов ;)
550 445927
Анон, я вот тут начал ковырять юнити, до этого работал искал работу на asp .net mvc/core. И планирую работать дальше, просто по вечерам ковыряясь. Очень доставил геймдев, причем сразу. Буквально за пару глав "Unity in action" втянулся, такая-то душа. Так-вот, вопрос о чем, вы тут выше думаете над оптимизацией одного блядского дома, а на юнити можно понятно что можно, играбельно будет? запилить около опенворлд или просто большие локации полноценные, город там фентезийный с лесом вокруг него, парочкой пещер ну и в таком духе? При этом будет ещё какая-никакая боевочка ну все как всегда.
551 445928
>>45927

>а на юнити можно запилить около опенворлд или просто большие локации полноценные


Даже если нельзя, можно из темноты спавнить новые места, деспавня из мест, откуда вышел, старые
552 445929
>>45928
А есть мануалы на эту тему, типа как в клевых играх - дальний фон грубо-говоря в скайбокс улетает и прогружается по мере приближения, а тот что прошел - упиздошивается в скайбокс (если я правильно понимаю как работает скайбокс, надеюсь ты поймешь).
553 445934
>>45927

> вы тут выше думаете над оптимизацией одного блядского дома


Это свежий оптимизатор подошел, сейчас хотя бы вопросы более-менее адекватные.

> запилить около опенворлд


Смотри выше NavMesh Surface. Десять из десяти, самое то для опенворлда, потому что подгружать нормальный мир вместо LOD не звучит как что-то проблематичное, а вот болванчиков бегать между чанками хуй знает как еще заставить.
Для примера пиздатых больших локаций можешь посмотреть какой-нибудь Tyranny (хотя там по-моему приемущественно 2D). Также на канале Unity на YouTube можешь глянуть на йобу из Unity 2017.

> При этом будет ещё какая-никакая боевочка ну все как всегда.


Пока пытался сделать хоть какое-то подобие РПГ системы, к Юнити не притрагивался вообще. Прицепить это к движку вообще не сложно, но там начинается период дерганья ползунков и дрочинга чисел, чтобы была DOOSHA.
06d61e423fcc6e74b919038b9ba8cece1498072671.png3,4 Мб, 2560x1440
554 445942
>>45934
Спасибо, ещё вопрос:
планы у меня как у всех просто неебательские, дженерик/некст ген вотэтовсе. У самого с финансами не все прям хорошо, поэтому по началу до альфы точно планирую выезжать на фри ассетах. Стилистика гигантика очень доставила - есть шансы найти хотя-бы в 2 раза хуже халявные ассеты в таком стиле пикрил ? Алсо хочу ММО хотя-бы человек на 20, может посоветуешь что после "Unity in action" можно почитать/посмотреть?
555 445956
>>45927
>>45942
Сделать можно что угодно, об оптимизации думать будешь когда будет что профилировать.
Халявные ассеты кроме каких-нибудь общих текстурок - говно, платные - часто тоже, советую на этапе разработки бессовестно пиздить левые ассеты, а перед релизом взять кредит на нормального дезигнера. Любой левый код, кстати, включая сами дефолтные юнити компоненты, тоже советую оборачивать в свои прокси - потому что вполне может быть придется их менять к релизу.
556 445962
>>45956

>об оптимизации думать будешь когда будет что профилировать.


Не совсем так. Об оптимизации будешь думать, когда увидишь 5 фпс на конфигурации, которая без проблем тянет гта 5 или ведьмака, и осознаешь, что нихуя с этим не поделать, кроме как резать графон/кол-во объектов в кадре, ибо движок оказался говном, а доступа с сорцам для оптимизации нет.
557 445963
>>45962
Плохому танцору сцена мешает.
558 445965
>>45963
Ну если сцена состоит из двух стульев, сам знаешь каких, и задача танцора балансировать на них, чтобы сберечь анальную девственность, тот тут уж как хорошо не танцуй, ничего хорошего не выйдет.
559 445966
>>45965

>моя сцена - это два стула


Господа, вы сначала всякое говно кодите, а потом через пару месяцев достаёте напильники. Как бы хорошо говно не обтесать, всё равно говно будет, и движок тут не при чём, его сразу укрощать надо было.
560 445973
>>45956
Нахуя дефолтные-то менять? Пример приведи, если не трудно. Алсо на ютубах смотрел чувака, он там по чуть-чуть что-то рассказывал и как-то показывал пару платных сцен - вполне ничего вроде были.
561 445975
>>45962
Не суть важно. Оптимизировать шкуру неубитого медведа по чужим словам - это всегда выходит въебать кучу времени на какую-нибудь дающую 0.02% хуйню, и упустить дающую 40%.

>>45973
Что угодно - энтити системы, альтернативный физ движок или уи, надстройки над любыми дефолтными компонентами.
562 445976
Господа, неспешно пилю игорь своей мечты и у меня возникла проблема с анимацией. Например я хочу чтобы гг мог подойти к любому нпс и выебать его в жёпу. Собственно как реализовать сей процесс. Нагуглил я только инверсную кинематику и если я правильно понял она только для статичных объектов. Типо стен, рычагов и др. Прошу хотя-бы пните меня в нужном направлении. В юнити вкатился недавно.
563 445978
>>45976
Нет, IK можно пилить к любому объекту, как именно это устроено я не знаю, но на этом строится большое количество анимаций. Судя по всему она выебет в жопу тебя и не раз, пока будешь разбираться.
https://m.youtube.com/watch?v=o3bYZbbRVq4
564 446003
>>45978

> как именно это устроено я не знаю


По маске группы гуманоидных костей, ёбаный в рот, как ещё это может быть устроено?
565 446004
Сап. Как реализовывается многослойный фон в 2Д платформерах? Например, статичное небо, медленный лес сверху и кусты, которые будут двигаться вместе с землёй
566 446005
>>46004
Одну группу спрайтов двигай с одной скоростью, другую группу — с другой.
А вообще это всё потом, сначала игру сделай.
567 446006
kopeikinn140.jpg361 Кб, 800x791
568 446031
>>45976
Смотри все функции с IK в названии.
https://docs.unity3d.com/ScriptReference/Animator.html

Вот в этом коллбэке
https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnAnimatorIK.html
ставишь таргеты и веса для своих рук/ног и головы, при помощи вышеуказанных функций. Позиция - любой Vector3, то есть хоть жопа персонажа, хоть статика, что хочешь. Там даже пример есть, посмотри. В общем-то все значительно проще, чем могло показаться.
569 446042
Аноны, скажите плз. Допустим я хочу создать убийцу маинкрафта (просто для себя). Будит ли юнити оптимизировать рендер мира? Допустим не выделять ресурсов на рендер блоков, которых не видно и всё в таком духе. Или может там какие-то удобные инструменты есть для оптимизации. Или же всё ручками придётся делать?
571 446063
>>45956

>бессовестно пиздить левые ассеты



а где принято это искать?
572 446072
Мимонуб в треде
Адепты js, не поскпжете как сделать побуквенный вывод текста? Шот с корутинами ебался безрезультатно
573 446073
Анон, пытаюсь по тутору реализовать подтягивание данных из инета о погоде и в зависимости от погоды - менять скайбокс. Так вот, создал пустой объект, добавил в него 2 скрипта и при старте юнити виснет наглухо.
WeatherManager
https://pastebin.com/Szsw0U8A
NetworkService
https://pastebin.com/1Rq4X2Yj
Подскажите где трабл? По идее вызываю в WeatherManager Startup>GetWeatherXML>CallAPI>IsResponseValid>OnXmlDataLoaded и даже если оно что-то плохо возвращает - там проверки есть. Алсо если ссылку копирнуть и в браузер вставить - он отдает валидный xml.
574 446074
>>46073
Добавлю что сцена стала странно себя вести, иногда бывает что я в сцене не могу камеру (свою, не сценовскую) двигать или двигается рывками, если двигаюсь в сторону середины сцены. Хз как описать.
575 446084
>>46078 (Del)

>но можно же и только непосредственно в момент изменения хп обновлять


Делай так. Скажем, в классе интерфейса есть метод сбора хп, мп и прочей херни, который вызывается через ивенты или прямой вызов, случающиеся во время изменения информации. Сами ивенты вроде получения урона или чего там делаешь ручками, но ивенты вроде встречи коллайдеров и дёргания мышкой в юнити изначально есть.
576 446086
>>46078 (Del)
>>46084
а не проще просто сделать свойство HP , где в сеттере запустить изменение хада, или что там у тебя.
577 446089
>>46073
Короче, есть пустой объект, на который я навешиваю Managers и WeatherManager, в первом скрипте должны инициализироваться все менеджеры и мы в цикле ждем пока все менеджеры примут статус Started, я закоментил этот цикл и юнити не виснет, причем в логах выводится xml. Т.е. колбек срабатывает, статус присваивает, но из цикла не выходит.
Managers
https://pastebin.com/gmV89AiS
578 446090
>>46089
>>46073
Разобрался, проблема была в Managers, в строке yield return null; хуй знает зачем она там вообще, без неё работает.
Unity 2017-09-30 21-50-08-04.png3 Мб, 1656x984
579 446092
пока тестировал одну важную фичу случайно поставил не то значение не там. получил забавную страну тупиков.

>>45976
ИК то чтобы ручки и ножки вставали куда надо, чтобы ручки вот за жопу хватали, а не за воздух рядом.
сделай две анимации, где кто-то трахает кого-то, сделай чтобы две модельки подъезжали на нужное расстояние когда это должно случится и запускай анимации синхронно.

>>46078 (Del)
ну напиши чтонибудь типа
public void ChangeHealth(float healthDelta){
health += healthDelta;
if(health <= 0)Die();
UpdateUI();
}
внутренние поля же все равно не должны меняться ничем кроме подобной хуйни.

>>46089
ты же из цыкла не выходишь.
580 446095
>>46094 (Del)
а много ли систем вообще к ХП обращаются? UI, может ИИ, что ещё то?
если хочется то можешь через делегаты например сделать подписку на события с ХП, чтобы когда ХП менялось то оно заодно инвокнуло все делегаты из списка.
например как тут
http://wiki.unity3d.com/index.php/Advanced_CSharp_Messenger
или воспользоваться тем что юнити нагородило. есть например такое
https://docs.unity3d.com/ScriptReference/GameObject.SendMessage.html
или чуть посовременней
https://docs.unity3d.com/Manual/MessagingSystem.html
хотя у них свои недостатки.
581 446096
>>46073
проверяй Timeout подгрузки и вообще то, что там грузицца блеат
582 446132
В общем, сделал я импорт данных из csv и инициализацию юнита из этого csv. И, кажется, я совсем ебанулся.
Чтобы юнит мог принять в себя вообще абсолютно любые данные, я соорудил отдельный класс СТАТЛАЙН, в котором лежит словарь с стрингой в ключе, T в вэлью и методами для работы с этим. И этих статлайнов для каждого юнита несколько штук для интежеров и стринг и всего подряд. Когда юнит инициализируется из csv, он берёт в себя любое написанное там говно, сортирует по интежерам-флоатам-стрингам, а затем, когда нужен какой-то стат (который выбирается по ключу-стринге), открывает его из статлайна, но если стата нет, то он находит базовый csv файл для юнитов в текстассетах и присваивает в словарь внутри статлайна нужный стат из базового файла.
Так вот. Я обезумел? Где-то тут говорили, что нужно по возможности не плодить лишние ходы для кода и использовать одни и те же методы, и такие статлайны (я думаю) сработают лучше и, чсх, выглядят лучше, чем вручную переписывать для каждого отдельного стата-переменной имя (это заменено string[] {все нужные стринги-ключи}; for i от 0 до string[].length, ну вы поняли).
583 446161
>>46094 (Del)
Блядь сделай ты эвент менеджер, сделай в нем эвент OnPlayerDamage или еще какую хуйню, подпишись туда нужной хуйней и вызывай из другой хуйни, какого хуя тебя всему учить надо?
584 446181
Объект с Fade материалом перекрывает UI элементы, при чем не важно на какой позиции по z они расположены. Ребят, кто знает как енто фиксить?
585 446263
Еще вопросы про инвентарь. Видели где нибудь гайды, где делают инвентари для разных персонажей в одном экране? Ну как у олдовых рпг. Как там лучше реализовать все?

Суть такова, есть экран общего инвентаря, есть панельки с квик-слотами(ну типа пояс), есть инвентарь перса. По клику на перса меняется панелька с его инвентарем, остальное не меняется.

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

Вообще как такие вещи делаются проще? все на уровен бэкэнда, типа несколько массивов, потом операции с циферками и на выходе уже отрисовка, или можно всю"физику", перемещения предметов и прочее делать геймобжектами и их компонентами, а-ля фронтенд?

не суди строго, опух, поехал.
586 446278
>>46263
Ты как-то всё усложняешь.
Окно инвентаря просто отображает массив айтемов. Лично у меня они в List загнаны. Разные персонажи - разные List'ы. Как и у лутабельных объектов.
587 446293
>>46263
В предметах есть метод ShowMe, в инвентаре есть лист предметов. Когда открывается инвентарь, он вызывает ShowMe во всех предметах листа, и каждый предмет показывает через этот метод только свою иконку. Тебе же не нужно сам предмет выключать, только отображать его, верно?
588 446314
>>46293
а зачем делать всем предметам ShowMe() ри открытии, если они дочерние к инвентарю и мы когда закрываем инвентарь, они и сами появляться/убираться буудут.
589 446320
>>46314
У тебя предметы только в инвентаре существуют? Никакого влияния на статы и т.п. не оказывают? Я думал, они объекты в большом мире, которые могут существовать в разных обличьях и имеют влияние на мир.
590 446323
>>46278

>Окно инвентаря просто отображает массив айтемов.



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

айтем у тебя это Геймобжект, или просто класс, описывающий поведение, с циферками, который ты вешаешь на ГО?

Просто у меня есть получается такая картинка, есть Item, который объект, часть базы из json, эти объекты хранятся в массивах инвентаря и пр. Это циферки, грубо.
Есть физическое представление этих циферок, класс, который реализует дропы, драги и проч. Наследуется от монобих. И есть геймобжекты, на которые вешается последний класс.

не нагородил ли я лишнего?
591 446324
>>46320
влияние на персонажей оказывают. На мир не оказывают. Обычный лут, короче.
Немного не понял твою мысль.

повторю реквест, не видели гайдов, где не один инвентарь реализован, а несколько окон, для разных персонажей. Или, например магазин, думаю тоже подойдет.
592 446337
>>46323

> ну их же еще и перетаскивать надо из окошка в окошко


Реализуется элементарно.

> айтем у тебя это Геймобжект, или просто класс, описывающий поведение, с циферками, который ты вешаешь на ГО?



Айтем у меня это префаб, который по сути пустой геймобжект, с навешенным классом. В классе прописано имя, вес и тип предмета. А уже по имени подсасывается спрайт, который отображается в инвентаре.

> img.GetComponent<Image> ().sprite = Resources.Load<Sprite> ("Sprites/" + it.iName);


Инвентарь открыл - из листа всё заполнил. Закрыл - удалил.
593 446342
>>46324
Гайдов не видел, но можешь посмотреть на реализацию в Divinity: Original Sin 2. Торгует один играбельный персонаж, но можно быстро переключаться, чтобы получать плюшки с навыков/репутации. Все инвентари сделаны обычной сеткой в одном окне, только разделены по именам.
594 446351
>>46337

> В классе прописано имя, вес и тип предмета.


а как база данных со всеми предметами реализована?
595 446352
>>46351
Лежат себе в папочке Resources, откуда загоняются в лист.
Для моих нужд пока такого более чем достаточно.
596 446353
>>46352
то есть на каждый предмет по префабу в папке ресурсов?
597 446354
>>46353
Именно так. В каждом префабе прописаны все свойства.
У меня всего 22 предмета, так что проблемы нет.
598 446390
Господа, есть предложение.
В целях повышения квалификации, я буду по вечерам заводить стримы и помогать решать ваши проблемы.
Шо думаете?
599 446395
>>46390
как ты это видишь, ответы на вопросы? ревью кода?
600 446396
>>46390
Готов отвечать на вопросы вида "что такое нулл эксепшн" и "где скачать ассет инвентаря как в ММОРПГ"?
601 446401
>>46396
ну раз ты шаришь, называй время и собирай вопросы.
602 446402
>>46401
алсо, давно пора конфочку запилить в слаке или телеграм.
603 446403
>>46402

>конфоблядствовать на полумёртвой борде


Элита из элит
604 446404
>>46403
ладно, соглашусь, хуйню сказал.
605 446409
>>46390
По вечерам по московскому времени? Тут люди со всех кругов ада присутствуют, не только с первого
606 446410
Я тут уже спрашивал вопрос по поводу лучей, но у меня дополнение возникло:
В общем-то, рейкаст врага теперь игнорирует стекло и видит сквозь него. Но у меня лучи еще служат для того, чтобы определять стену, в состоянии патруля. Ну и теперь вражина упирается в стекло. Как сделать так, чтобы стекло игнорировало одни лучи, но другие нет?
607 446411
>>46410

>Ну и теперь вражина упирается в стекло.


Дай вражине модельку мухи и сделай вид, что так и надо
Петросян.жпг
608 446415
>>46410
Два разных рейкаста. Один для визуального определения, другой физического. Ну я бы так сделал.
illust6516959520170930130359.jpg3,4 Мб, 2067x1461
609 446416
>>42120 (OP)
Сейчас, компилируя новый билд игры, после обновления югити, уже около 15 минут идёт этап
"Packaging assets - 8ce0a54f...",
почему? (и как можно исправить,конечно)
Снимок.PNG289 Кб, 1591x839
610 446424
>>42120 (OP)
Аноны хелп. При приближении к объкетам они урезаются. Всё началось после добавления модели машины спи3женой с инета. Что посоветуете?
611 446425
В настройках камеры есть параметр, который отвечает за это
612 446426
>>46425
Знать бы ещё какой именно параметр
613 446427
>>46425
Ух, всё анон. Разобрался. Не в этом трабл был. Сори за беспокойство, просто я ебан сразу в нескольких расширениях одну и ту же модель закинул и такая хуита получилась
614 446437
>>46427
Та я тебе не особо то и помог, но если что, всегда рад)
shadows.jpg43 Кб, 432x394
615 446455
Тредик, у меня всрато.
Есть сфера, на которую натянута текстура и карта нормалей (обе две dds) из интернета. При этом освещается это почему-то в обратную сторону, и впуклости выглядят как выпуклости.
Как пофиксить?
Инвертировать нормали пробовал, выглядит еще всратее.
616 446458
>>46455
ты тупой
617 446459
>>46458
Конструктивно.
618 446463
>>46455

>При этом освещается это почему-то в обратную сторону, и впуклости выглядят как выпуклости.


Лол, а если реальную впуклость осветить лампой с другой стороны она станет выглядеть как выпуклость?
Ну ты и тупой.
goblintiny.png18 Кб, 16x16
619 446464
>>46455

> Инвертировать нормали пробовал


инвертировать нужно только зеленый
620 446465
>>46455
Отзеркаль текстуру.
621 446471
Быстрый вопрос.
Я генерирую карту из csv и задаю каждому созданному гексу высоту в -34F, потому что это та высота, на которой у меня расположен начальный гекс. Однако, когда гексы таки генерируются, они падают ещё на 34F. Почему? Это нормально?
623 446474
>>46471
И ещё. Я собираюсь при генерации гекса в месте другого гекса заменять старый гекс новым. Destroy() будет для этого подходить? Я ещё собираюсь все упоминания старого гекса из всех словарей и листов удалять мануально
624 446475
>>46474
у юнити есть сборщик мусора, не беспокойся.
625 446476
>>46475
И что это значит? Он что, сам полезет по вызову Destroy() во все мои листы и словари и сам всё удалит?
626 446478
>>46476

> во все мои листы


ну это твои листы, он в них не будет лезть потому что они твои. но из своих подчистит. не понимаю вопроса короч.
627 446480
>>46478
Ну, на мой вопрос ты ответил, так что спасибо
>>46473
Там написано буквально по строчке на Space, Self и World. Что я должен был из этого понять?
628 446483
>>46480

>строчке на Space, Self и W


ну смотри, в трансформе указываешь в конце перегрузку Space.World и у тебя обжект генерится в мировых координатах, а если Space.Local то относительно координат создающего объекта.
да, доки у юнити та еще дыра, приношу извинения.
629 446484
>>46474
подходить то, конечно, будет. но зачем такие подозрительные манипуляции, если гекс уже есть?

>>46480
тебе надо понять что все в этом мире относительно. вообще хули с тобой в шарады играть. напиши как спавнишь и мы скажем как надо и в чем ты обьебался.
630 446485
>>46484

>зачем такие подозрительные манипуляции, если гекс уже есть?


у него же там СВОИ_ЛИСТЫ. вероятно ему проще удалить старый и создать новый чем пердолиться с заменами
631 446491
Объект с Fade материалом перекрывает UI элементы, при чем не важно на какой позиции по z они расположены. Ребят, кто знает как енто фиксить?
632 446492
>>46483
Ясно, спасибо.
>>46484

>подходить то, конечно, будет. но зачем такие подозрительные манипуляции, если гекс уже есть?


Я сделал генерацию через csv, где каждый следующий генерируемый гекс строится относительно предыдущего Зевс-посейдон и всё такое. Можно, конечно, старый гекс оставлять, но имхо логичнее, что если новый гекс хотят поставить поверх старого, то нужна замена. А если так, то нужно все ссылки на старый гекс подтереть.
633 446493
>>46492

>где каждый следующий генерируемый гекс строится относительно предыдущего


И это очень дезориентирует, как оказалось, лол. Тут без хоть какого-то взаимодействия со старыми гексами, если конфликтует позиция нового шага и старого, не обойтись.
634 446494
>>46491
это разные системы. расскажи, зачем тебе фейд материал в гуи?
635 446495
>>46485
а вдруг нет? вдруг он делает что-то удивительное? например удаляет гекс под курсором чтобы вместо него заспавнить подсвеченный гекс! мы не знаем. надо узнать. а заодно узнать на какую платформу ориентируется, что делает, украсть код, идею, душу, ключи от квартиры.

>>46491
порядок орисовки UI элементов же зависит от их положения в иерархии в канвасе, не?
хотя я фейд не трогал, может он особенный.

>>46492
ну тогда дестрой, да. кстати почитай про то как юнити интересно дестроит. обьект не исчезнет из твоих листов, но если ты будешь спрашивать у него нулл ли он то он будет говорить что он нулл.
636 446497
>>46495

>например удаляет гекс под курсором чтобы вместо него заспавнить подсвеченный гекс!


Я меняю цвет одного из материалов - пока что. Когда начну корутины грызть, хочу испробовать их на подсветке сначала.

>обьект не исчезнет из твоих листов, но если ты будешь спрашивать у него нулл ли он то он будет говорить что он нулл.


занятно
637 446498
>>46495
Пробовал, порядок в Иерархии неважен.
>>46494
Куб в игр имеет Fade material, и есть кнопки(UI элементы, картинки UI). Так вот этот куб перекрывает их.
638 446499
>>46495

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


мое утро сделано, спасибо
639 446500
>>46498
Я тоже с рейкастером ебался по этому поводу. Тебе нужно собрать своё говно из палок, в котором сначала будешь смотреть на УИ элементы через один рейкастер, потом смотреть 3д объекты через другой рейкастер.
Вот моя версия:
>>42550
640 446501
>>46498
что, прямо из сцены поверх UI чтоли рисуется? какая охуительная проблема. а хуй знает че там тогда, я не пробовал. ну, если у тебя UI только в камере будет, а не в мире, то можешь решить эту проблему основательно. сделай отдельно камеру которая рендерит только UI и поставь у неё Depth побольше.
641 446503
>>46500
Мне не рейкаст важен, а то, что игровой куб перекрывает интерфейс.
642 446522
>>46503
Верно, ступил я. Но я всё равно уверен, что причина в том же самом.
http://answers.unity3d.com/questions/1242578/ui-stays-behind-game-objects.html ?
643 446528
>>46498
Попробуй canvas render mode поставить overlay
2178translation90s.jpg78 Кб, 604x453
ВОПРОС ПО РЕСУРСАМ 644 446529
Посоны, есть одна игра на юнити и мне очень хочется попробовать её перевести.
Собственно вопрос в том, где в этих ваших юнити играх лежат ресурсы, т.е картинки, текст, шрифты? Папка resourses весит как-то подозрительно мало.
Алсо вопрос номер два: чтобы их достать, нужно ли что-то кроме движка? Знаю, что по крайней мере в ue3 разработчик мог как угодно упаковать ресурсы, чтобы ни одна собака ничего не достала. С юнити аналогично или всем похуй и можно ковырять?
14205117567140.jpg106 Кб, 707x682
645 446531
646 446551
>>46424
Нормальную модель скачай.
647 446615
>>46424
Колесико мыши покрути, аутист
648 446626
>>46395
Ответы на вопросы, только в РИАЛТАЙМЕ показывать что как делается и т.д.

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

>>46409
Да, по МСК. Где-то в 20:00. Ну а так да, мой косяк, не учёл того, что с часовыми поясами трабла.
649 446627
>>46529
Гугли всякие Unity Asset Explorer

>>46491
ZWrite On в шейдере ебани
650 446643
>>46626
круто. Если реально готов заняться, то веди трансляцию на ютубе, там и чатик, и потомкам будет что оставить со списком вопросов. Ну и в шапку можно добавить, если годнотой окажется.
651 446677
>>46643
Ну, я не шибко большой спец, но всё равно. Я считаю, что стоит попробовать.
652 446712
Ребят, кто знает как можно сделать подобное?
https://www.youtube.com/watch?v=f2OdrPBgOyY
Верх легко можно сделать через Cloth, я его уже сделал, но вот как сделать низ жидкости?
409.png271 Кб, 600x481
653 446716
>>46712

>через cloth

654 446717
>>46716
Не, бля, как сделать саму жидкость, а не её уровень
655 446728
Сколько времени нужно, что бы с нуля вкатиться в юнити и зарабатывать?
656 446732
У кого-нибудь есть Third Person камера с нормальной коллизией? Чтобы камера не попадала за пределы стен/пола.
658 446778
Суп двощ
Такая проблема: мне нужно создать аи для игры, взял книгу Unity 5.x Game AI Programming Cookbook но когда запускаю пример из книги мне выбивает ошибка
NullReferenceException: Object reference not set to an instance of an object
Как фиксить хз, что делать
http://dl.dmkpress.com/978-5-97060-436-6.zip
659 446795
Сап. Есть скрипт, который включается и отключается другим скриптом. Пользовался функцией enabled, но мне надо, чтобы при включении скрипт откатывался к ванильным настройкам, т.е. заново запускал все функции и считал все значения. Как сделать это?
660 446798
>>46795
Даже не так. Надо, чтобы он запускал заново все функции с ванильными настройками, кроме awake.
661 446799
>>46778

> Object reference not set to an instance of an object


Тебе ж, блять, всё написали, не тупи.
662 446802
>>46795
void Reset()
void OnEnable()
Выбирай что тебе больше под твои костыли подходит.
663 446815
Пришел в Unity из .NET и теперь не могу сообразить.
Вот есть у скриптовый файл, в котором описан класс wheel с интересными мне полями. Я хочу их изменить в другом скриптовом файле, где описываю совсем другой класс. При чем изменить я хочу все объекты, к которым приписан этот скрипт (обозначил их все одним тегом). Как это можно сделать?
664 446816
>>46815
Пример кода кинь, а то нихуя не понятно.
кроме то6о, что ты со школьной скамьи пришел, а не с .net
665 446818
>>46816

Как я пытаюсь сделать сейчас: https://ideone.com/YcqyHz
666 446821
>>46818
Ты какой-то велосипедист.
667 446823
>>46815

>При чем изменить я хочу все объекты, к которым приписан этот скрипт (обозначил их все одним тегом).


Заносишь объекты в лист и меняешь.
668 446824
Привет, геймдевач! Я в юнити буквально пару месяцев как, еще не до конца освоился. Реализовываю двадэшный платформер. Возникла необхоимость выводить имена объектов непосредственно над ними, когда ходишь по локации(да, как в Life Is Strange), то есть например вижу будильник - над ним надпись соответствующая и дергаящаяся, которая слегка увеличивается в размере, если на нее навести курсор, а по клику мыши уже возникает диалоговое окно с определенным текстом, имя объекта пропадает. Думаю, принцип понятен.
Реализовал что-то подобное через tooltips, но беда в том, что сами эти подсказки по какой-то причине юнити анимировать не дает. Вторая мысль была сделать это с помощью кнопок, но через gui как это сделать, чтобы кнопки были прикреплены к какому-то определенному месту? (у меня камера следует за персом).
Если некорректно/неясно сформулировал, могу как-то попытаться изобразить, что имею в виду и кинуть скрины с наработанным, чтобы было понятнее. я лишь прошу натолкнуть в реализации своей идеи
670 446828
>>46824
Создай отдельный Canvas. Задай Render Mode = World Space. Внутри уже размещай нужные тебе элементы.
671 446836
>>46818
Значит так.
Берешь и в VehicleAssist прописываешь поля public Wheel leftWheel и т.д.
Потом просто перетягиваешь геймобджекты со своими колёсами в свой ассист и работаешь через эти поля без каких-либо поисков компонентов.
А ещё лучше не паблики везде хуячить, а использовать аттрибут SerializeField на приватных полях
672 446852
>>46836

> А ещё лучше не паблики везде хуячить, а использовать аттрибут SerializeField на приватных полях


Кстати, почему? В книге из шапки вон тоже советуют делать так.
673 446855
>>46852
Потому что пабликами делаются поля, которые безопасно можно модифицировать и не сломать ничего. В этом же вся соль ООП, что по сути ты меняешь состояние объекта не зная, внутренней реализации.
674 446857
>>46855
Не, это понятно. Но если программирую только я, и я точно знаю, что ничего ломать я не буду и лишний раз паблики дрочить не собираюсь?
Понятное дело, что если делать по канону, то паблики отдельно, приваты отдельно. Но в большинстве случаев это вроде не критично.

Там, кстати, в книге автор ещё так советует писать.
Например:

private int _id;
public int id {
get {return _id;}
}

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

Наверное, надо будет привыкать писать так, чтоб потом не краснеть если занесёт к приличным людям.
675 446863
Я делаю rendererComponent.material.color = color; Цвет - зелёный, т.е. 0 1 0 1 Однако юнити на экране упорно рисует предварительно заданный ранее белый цвет, хотя в дебаге пишет, что цвет зелёный. Так бывает вообще?
676 446865
>>46863
Убрал предварительную задачу белого цвета - стал рисовать зелёный. Блядь, как так-то
677 446866
>>46863

> Цвет - зелёный, т.е. 0 1 0 1


Ещё один велосипедист.
Юзай Color.green
678 446867
>>46857
Знаешь, полезно писать код так, чтобы не замусоривать его комментариями типа "ЭТА ТОЛЬКА ДЛЯ РИДАКТОРА, НИТРОЖЬ". Вообще, в идеальном мире, код пишется так, что если ты смотришь на него спустя полгода а то и больше, то тебе не надо вспоминать, что он делал.
В общем, правильно мыслишь.
Ещё можешь почитать статьи на рефакторинг-гуру и совсем упороться "правильным" подходом к разработке, но мой тебе совет всё, что там описанр, не стоит воспринимать как 100% истину во всех инстанциях
679 446868
>>46866
Я его и юзаю. Дело не в этом.

>>46863
>>46865
Всё, сам решил. Белый цвет задавался в Start(), и по какой-то причине из-за этого он задавался ПОСЛЕ задачи зелёного цвета. Как так-то?
680 446870
>>46868

> Белый цвет задавался в Start()


А зачем ты задавал в коде один цвет, а потом в другом участке кода его менял? У меня вот стартовый цвет задаётся тупо материалом в инспекторе, а потом уже я его меняю в коде и всё норм.
681 446871
>>46870
Я уже разобрался, в чём дело. У меня был старт для главного контроллёра, где зелёный цвет и делается, и были старты для разных раскрашиваемых хуёвин. До этого момента я, видимо, всегда трогал только те хуёвины, которые стартились до главного контроллёра, и поэтому их цвета нормально работали.
682 446873
>>46867
Вот, кстати, на комментарии я тоже часто забиваю, надо отучиваться от этой лени.
Но даже без комментариев если открываю код трёхмесячной давности (не пол года, но всё же), чтобы посмотреть как я там делал вот ту вот залупу, то всё предельно понятно.
Опять же, сказывается тот фактор, что никто кроме меня мой код не читает, поэтому и комментарии писать лень. Хорошо хоть приучил себя к правильному форматированию и не называю переменные lampochka, а методы — VertimHuevinu, за такое ещё в универе монтировкой по ебалу били.
683 446875
>>46873

> к правильному форматированию


Точнее не "к правильному" (стандарты MSDN я хуй помню), а скорее "к единому". Это как свой почерк, даже если писал в темноте и бухой в слюни, то всё равно потом прочитаешь.
684 446884
>>46828
Да, я натыкался на это вчера, но при этом текст блюрится и делается четче только в том случае, если его сильнее увеличить. Как поправить?
c1ab9191e815bc524d336de35c8406b9.png64 Кб, 345x232
685 446888
Посоны, чем такие метки ставятся?
686 446889
>>46888
около имени обьекта в инспекторе выбираешь
6d6b51bf2497d6ce09d84a213a642b8d.png13 Кб, 301x183
687 446890
>>46889
Может я в шары долблюсь, но в инспекторе возле имени объекта я вижу только статик, слои и тэги.
688 446891
>>46890
на кубик цветной жми
689 446894
>>46891
Вот я слепой, земля мне пухом.
Спасибо, братишка.
690 446895
>>46884
У тебя есть в канвасе настрой dynamic pixel per unit или что-то в этом роде.
Покрути их.
691 446906
Котаны, поясните за popup-кнопки.
Суть такова: есть статичная камера, которая смотрит на карту. Камера охватывает всю карту и не движется вообще.
На карте есть, например, кубики. Я хочу чтобы при клике по кубику над ним (кубиком) всплывала кнопка (а может и не одна).
Короче, хочу чтоб было вот так https://www.youtube.com/watch?v=zd5CvQm1TZI но на видео у него позиция всплывающих кнопок статична, так как камера бегает вместе с персонажем. Мне же нужно чтоб кнопка привязывалась к позиции кубика, над которым всплывает.
Не спал 22 часа, так что если объяснил как еблан — не серчайте.
692 446907
>>46906
А, всё, я идиот.
Разобрался.
694 446946
>>46908
Благодарю, изучил. Но сделал всё же иначе.
695 446948
Что-то я конкретно охуел.
У меня есть словарь с двумя ключами Team0 и Team1 в виде стринг. Я ввожу текст Team0, проверяю через дебаг.лог - это действительно Team0 - но сучий словарь отказывается этот текст принимать, говорит, что нет такого ключа. Как это возможно вообще? Русского текста там нет, только английский. Никаких невидимых символов.
696 446949
>>46948
Код выложи, мало ли что ты там нахуевертил.
697 446960
>>46949
Дело скорее всего в csv файлах, из которых я текст беру. Такое чувство, что одинаковый текст из монобихевиора и из csv по-разному воспринимается. В 99 случаях нормально работает, а вот в этом ну никак, блядь.
Может, кодировка как-то влияет? Я уже охуел тут.
698 446993
>>46960
Нет входных данных - нет ответа.
699 447002
>>46993
Я распечатал посимвольно (через char[]) входной текст, и хуле я вижу? Один из символов ЁБАНОЕ НИЧТО
Это как вообще?
s[0] - это строка из текстовика
700 447003
>>47002
И это не \n, я проверил
701 447004
>>47002
>>47003
/0 или /r? Что так трудно вывести код этого символа? Да выше по коду можно отследить откуда он взялся, хотябы добавив кавычки в debug.log("\"" + xyz + "\"")

Внимание! А теперь вопрос:
Как заставить ScrollView скроллить по тачу только когда элемент не помещается во viewport (тогда же и скролбары появляются).
702 447008
>>47004
\r, оказывается. Спасибо большое.

Собственно, я разделяю строки по Split('\n') Нужно как-то по-другому, выходит, их разделять? Да ещё и в зависимости от системы?
703 447009
>>47008
Environment.NewLine - конец строки на активной системе (но файлы то могут и на другой быть созданы)
Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries) - разделителей можно несколько указать
System.IO.StringReader.ReadLine() - Split медленный и не подойдёт для больших файлов, StringReader быстрее и не жрёт много памяти
704 447078
Есть ли какое-нибудь пошаговое, грамотное руковдство по Юнити на любом языке, чтобы стать Юнити экспертом (очень нужно, для приёма на работу)?
705 447085
>>47004
Исходники UI открой и посмотри, когда активируются скроллбары.

>>47078
Таких нет, учи базу. Дальше уже сам догонишь.
706 447113
>>47078

>стать Юнити экспертом


Аххахаха. Экспертами по руководствам не становятся.

>(очень нужно, для приёма на работу)?


Для первой работы, чтобы взяли в норм проект, достаточно изучить документацию с офф сайта и прочитать пару базывых книг по архитектуре юнити-приложений или чем ты там заниматься хочешь. А дальше после каждого проекта вписываешь его название в резюме и увеличиваешь цифру в графе "желаемая зарплата".
707 447128
Кодеры, помогите разобраться. Есть 3Д игра, и UI в ней. Ловлю событие onClick в UI элементе, всё обрабатываю, всё отлично, но onClick также срабатывает на игровом поле, сцуко. Есть ли правильный способ отключить событие в игре, если оно произошло на UI элементе?
708 447132
>>47128
Посмотри в сторону CanvasGroup. Там что-то было, что блочит последующее прохождение рейкаста.
710 447143
Решил попробовать побаловаться с юнити, какой язык лучше осваивать - шарп или юнитискрипт?
711 447145
>>47143
шарп. но учитывая твою цель то давай сразу Boo, точно веселья полные штаны будут
712 447146
>>47145
повеселился с этого
713 447157
импорчу модельку из блендера, почему-то при импорте скейл остается как в блендере, а не становится равен единицам. Соответственно при нажатии на ресет, все сбрасывается.

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

Блендер только установил, не кидайте тряпками, лучше помогите.
714 447158
>>47157
Ссу на ебло тупому, бездарному, зачуханному чмырю-дегенерату, который даже не способен своими дряхлыми, немощными ручонками, измазанными по локоть в говне и сперме собак, открыть гугл и вбить пару слов. Псссссссс

Object > Apply > Visual Transform
715 447160
>>47157
Ты совсем отбитый? Окно импорта модели видел?
716 447161
>>47158
Чашку чая тебе с валерьяночкой
717 447168
вопрос. а пытался ли кто делать рут моушен через unet?

>>47157
применяй трансформ в блендере перед импортом, хули ты.
718 447169
>>47168
Предлагаешь каждый кадр анимации синхронизировать? Нормальные пацаны делают рендер отдельно от просчета, а потом анимации подстраивают под движение на клиенте уже.
719 447173
>>47169
да пока ничего особо не предлагаю, просто интересно. например как сделать перемещения когда персонаж побегал-побегал, а потом ему например надо после удара по ебалу красиво как-то покорячится в анимации и выйти из неё в другом месте отшатнувшись. синхронизировать позицию/ротацию, включить рутмоушен на время этой анимации? как сделать хитро экстраполяцию анимаций, если например геймплей предполагает что удар регистрируется через коллизии мужыка который медленно размахивает бревном накручиваясь в рутмоушене? вроде довольно предсказуемо. или например посадка в транспорт с анимацией, как это было в первом PlanetSide.
720 447176
по клику на кубик надо превратить его в шарик.
Подозреваю что в OnPointerClick на кубике убивать кубик дестроем и на его месте инстанциировать префаб шарика не очень хорошая идея. Есть ли варианты лучше?

Можно ли просто меш менять с коллайдером или это лишние заморочки и проще поменять префаб?
721 447179
>>47176
а что не так в этой идее то? как бы, зависит от того как часто ты это собираешься делать.
всегда можешь лезть в MeshFilter и менять меш там. но вообще нахуй ты задумываешься о таких проблемах то? ты главное делай. просто сделай этот процесс так чтобы его потом поменять можно было безболезненно, если оптимизировать захочется.
722 447182
>>47179
да, нужно пояснить:
кубики, это клетки на сетке поля в игре. При клике будет меняться не только цвет, а и моделька. Условных кубиков много.

Вот если бы не надо было меняь модельку, а только спрайт, или цвет, я бы сделал для всех клеток стейт от енум и менял бы просто его по клику, а дальше подменял текстурку или что там. Но если надо менять модельку без изменения положения Г-обжекта и прочего, стоит ли его убивать и спавнить новый? или это дурной тон?
723 447196
>>47182
А моделька чо, богоизбранная?
724 447207
У меня есть лист префабов. При их инстанцировании, хочу навесить на них компонент скрипта, который потом навесит на префаб другие компоненты через RequiredComp. Как можно навесить скрипт на префаб?

Я знаю варианты:
перетащить на каждый префаб в инспекторе.
навесить при спавне через AddComponent

еще есть какие?
1431952895333.jpg16 Кб, 385x387
725 447217
>>47207

>При их инстанцировании, хочу навесить на них компонент скрипта, который потом навесит на префаб другие компоненты через RequiredComp

726 447222
>>47207
AddComponent ебашь.
Только ты это, префаб не очень правильно используешь, если потом компоненты навешиваешь.
727 447223
>>47222
ну иначе мне на каждый префаб (штук 10) придется по несколько компонентов руками вешать.

спасибо, посоны.
728 447224
>>47207
Юнити им блядь сериализатор дала. Бери, пользуйся. Не пиши код, сериализуй в редакторе.
Не хочу блядь! Хочу говно жрать по-старинке всё хардкодить.
СУКИ! ГОВНО СОБАЧЬЕ!
729 447230
>>47224

>Не пиши код


А что тогда делать? Ассеты воровать?
730 447234
посоветуйте годный бесплатный шейдер для выделения объектов. Аутлайн, или легкое закрашивание.
3614035[1].png68 Кб, 500x281
731 447236
732 447237
Делал генерацию карты, заодно юнитов, заодно локализацию их имён и прочего текста. Очевидно, нужен свитч для языка, и похоже, удобнее всего использовать статический класс. До этого я как-то лепил только в одной сцене, и задумываться над межсценным не особо нужно было. Это не принципиально, но всё же вопрос: как лучше всего делать всякие менеджеры ГУИ и переключатели языков? Какой-нибудь статический класс или же подгружать и удалять отдельные версии для отдельных сцен?
733 447247
Как остановить вращение объекта, которое задано через transform.Rotate()?
734 447249
Подскажите туториал, в котором для тупых разжевываются принципы ортографической камеры. Все эти pixels per unit и тд.
А то я нихуя не понимаю. В том же гамаке у камеры есть ширина, высота. У спрайтов размеры в пикселях. И все понятно.
А тут какие-то PPU у камеры, спрайтов, неба и аллаха.
735 447257
>>47237
Гугли IoC.

>>47247
if (krutitsya) transform.Rotate()

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

>>47249
Насколько помню, то если ОТКРЫТЬ ДОКУМЕНТАЦИЮ ЮНИТИ, то там все расписано за единицы измерения. Я бы за тебя погуглил, но я на мобиле сижу.
Если нихуя, тогда на пальцах поясню. В юнити 1 единица пространства равна 1 метру. Когда ты импортируешь спрайт в юнити, то по умолчанию размеры спрайта становятся 100 пикселей спрайта=1 метру. Например, если у тебя спрайт 100х100 пикселей, то когда ты его кинешь на сцену, то увидишь, что спрайт у тебя займет пространство ровно 1х1 метр (1х1 единицу пространства сцены)

Алсо, аноны, я пока в больнице кисну, думаю есть ли заинтересованные в том, чтобы я в прямом эфире поотвечал на вопросы про юнити? Если есть, пожалуйста, напишите сюда в какое время (по мск) вам удобно бы было, чтобы я стрим запускал? Я с работы прихожу в 19:00 по мск
736 447258
>>47257

>Гугли IoC.


То есть не статические классы? Ясно, забавно.
5.jpg12 Кб, 196x206
737 447259
>>47257

> В юнити 1 единица пространства равна 1 метру. Когда ты импортируешь спрайт в юнити, то по умолчанию размеры спрайта становятся 100 пикселей спрайта=1 метру. Например, если у тебя спрайт 100х100 пикселей, то когда ты его кинешь на сцену, то увидишь, что спрайт у тебя займет пространство ровно 1х1 метр (1х1 единицу пространства сцены)



Cложна.
Окей, тогда так. Допустим, я делаю игру под разрешение 1920x1080.
Размер ортографической камеры я выставляю в 10,8 получается (она ж там по высоте выставляется)? 100 пикселей в 1 единице = 1080 пикселей.
Потом выставляю аспект в 16:9 и все в шоколаде? То есть потом после компиляции игра будет выдавать картинку в 16:9 с черными полосами если юзер выбрал другой аспект?
15042527996740.jpg226 Кб, 2559x1079
738 447264
>>47259
Про 2560х1080 и шире не забудь
739 447271
>>47259
Чисто технически да, если у тебя все спрайты будут иметь PPU 100, и всё, что с UI связано тоже.
740 447273
>>47271
А если не все спрайты PPU 100? Или надо всю графику делать под единый PPU?
Просто ща смотрю курс по юнити для нубов, там чел пихает объекты в игру и играется с PPU по ходу дела.
741 447274
>>47273
PPU можешь ставить какой угодно, хоть 1, чтобы все единицы юнити у тебя были в пикселях спрайтов. Только потом не сосни, когда у тебя float начнёт пидорасить.
742 447275
>>47274
Про физику я прочитал уже, что не стоит 1 к 1 делать, если используешь физику.
Я больше про архитектуру сейчас. Нужно ли все спрайты пилить под единый PPU, чтобы потом делать нормальные отображения разных аспектов без черных полос?
743 447283
>>47259
Ты показываешь соотношение сторон в редакторе, соотношение сторон в билде в другом месте ставится, но так и должно быть, да. Никто тебе не запрещает сбилдить и посмотреть.
744 447284
>>47249
Когда ж вы научитесь шапку читать? Там же есть название книги, лень скачать что ли? В книге за всё это говно расписано.
745 447286
>>47284

> научитесь шапку читать?


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


Нассал тебе на ебло
746 447287
>>47286
Понятно, читать научился, но книги кажутся слишком скучными, да?
1379883362041.jpg24 Кб, 200x186
747 447289
>>47286

> и по мере разработки гуглить непонятные моменты


> гуглить


Лол, ну так и шёл бы гуглить, а не тут спрашивать.
748 447290
>>47287
Я загуглил непонятный момент ИТТ. У тебя с этим проблемы?
749 447291
>>47289
Тут мой гугл.
750 447292
>>47290
Проблемы только у тебя, раз ты сел дрочить движок, не разобравшись с его основами.
751 447293
>>47292
Я пришел с другого движка. И по опыту знаю, что темы с разрешениями идут во всех книгах/туториалах не сразу. Поэтому я хочу заранее прояснить некоторые моменты по архитектуре.
Алсо, я обложился курсами с юдеми.
001c9503b2a621399cb21679585cc3bb.png29 Кб, 795x207
752 447296
>>47293

> И по опыту знаю, что темы с разрешениями идут во всех книгах/туториалах не сразу


Ёлы палы, а оглавление для кого придумали? Что ж это у тебя за опыт такой, который не позволяет его открыть?
Да, не сразу, потому как "сразу" там написано куда вообще надо нажимать чтоб движок завёлся. А уже со второй части оно внезапно "сразу", буквально первая же глава.
753 447297
>>47296
Там сразу расскажут как правильно планировать игру таким образом, чтобы облегчить ебатню с разными аспектами и девайсами?
754 447298
>>47297
Извиняй, как замутить кнопку "сделать пиздато" не расскажут, но если IQ не двузначное, то книга даст неплохой буст.
Тем более что осваивается максимум за три вечера. Это если одной рукой листать книгу, а второй чесать яйца.
755 447299
>>47298
Поэтому я и спросил сразу блядь советы по архитектуре. Хуле ты такой тупой?
756 447300
>>47299
Я ж тебе и говорю — советы-то тебе дадут, но надо понимать что советы это не панацея и не заклинание, а ими нужно уметь пользоваться. Если умеешь, то бог навстречу.
757 447301
>>47300
Мне достаточно было пояснения с вершины опыта насчет тех же PPU, дальше я сам разберусь.
c4ddf73b56f8bf0fa9948c7a97fb6039.png112 Кб, 818x541
758 447302
>>47301
Ну открой, полистай. С тебя-то не убудет.
759 447304
>>47302
Да я уже скачала.
1377093407092.jpg36 Кб, 368x435
760 447307
>>47304

> скачала

761 447335
>>47332 (Del)
Я и написал, что это не критично.
У меня в коде и так везде "раскрываются" модули с initialize и задачей параметров, которые затем свои модули задают, но у меня начальный модуль для всего по логике вещей не начальный, а просто генератор карты. Если переделывать нормально, то нужно будет ГУИ на две части делить (общая и конкретно для этой сцены), ивенты делить, генераторы делить, всё делить, короче. Либо же сделать статические классы для всего и хитро переключать состояния, либо же иметь загружаемые отдельно для каждой сцены "полные" версии ГУИ, ивентов и т.п., которые будут заменять собой версии из предыдущей сцены. Деление, имхо, лучше будет, ведь по логике вещей меню, консолька и т.п. в любой части программы должны быть доступны.
5.jpg19 Кб, 573x415
762 447341
А как сделать чтобы сцена имела 0, 0 в левом нижнем углу, а не как сейчас в центре?
763 447345
>>47275
Ну, все можно и не пилить. Это же просто масштаб твоего спрайта по отношению к пространству.
Представь себе картину, что какой-нибудь васян рисовал арт в сантиметрах, а другой в метрах. И чтобы другой васян не переконверчивал арт в нужные масштабы есть ppu.

>>47335
Я хз, мож IoC зря посоветовал, но я вот что еще вспомнил, юньку можно заставить запустить код тупо раньше всех через
[RuntimeInitializeOnLoad(BeforeSceneLoad)]
static void MyInit() {}
764 447346
>>47341
Передвинь камеру.
765 447348
>>47346
И правда. Спасибо.
766 447359
>>47335
Я вообще не пойму о чем ты, шизофазия какая-то.
Сцена - это просто рут для геймобжектов, никакого отношения к консоли или к локализации или к чему угодно кроме иерархии геймобджектов она иметь не должна.
Статику нормально юзать когда ты код один раз написал и забыл. А чтобы 100 раз не переписывать код каждый раз, когда ты что-то решил переделать, и придумали иок/ди.
767 447365
Юнити не открывает шарп скрипты по клику, как пофиксить? Запускается монодевелоп и все, а скрипт не открывает.
768 447366
>>47365
Монодевелоп из коробки или с сайта качал?
769 447368
>>47366
С сайта. У меня в линуксе. В проводнике по клику все открывает.
770 447369
>>47368

> С сайта


Юнька очень плохо дружит с версиями монодевелопа, которые не из коробки.
771 447372
>>47368
>>47369
Косяк монодевелоп какой то. Пути с пробелами не может осилить, когда по клику пытаешься открыть. Через меню если самому открывать все нормально.
Погуглю может есть что.
772 447374
>>47372
Я на пингвине давно не сидел, но может туда студия встанет? Там-то вроде без проблем всё.
773 447375
Как быстро юньку освоить, что бы на масло с хлебом хватало?
774 447376
>>47374
Студия может и встанет, но под вайном.
А так просто попробовать решил версию юнити под линукс, чтобы все нативно было.
775 447379
Анонсы, у кого-нибудь есть электронные книги по мобильной разработке на Юнити? Что-нибудь из более-менее свежого, типа "Android Game Development with Unity3D".
776 447380
хочу создать игру с палочным человечком. Так же хочу чтоб анимации не были заскриптованными, хз как правильно назвать, процедурными, рагдолл? Возможно ли это сделать на юнити? Нормально ли это все будет работать если таких человечков будет 10-20 на уровне? Программировать писать быдлокод умею.
777 447381
>>47380
Поясню. Например человечку надо взять предмет, который может быть разных размеров, как анимировать его руки так чтобы они прицепились за края предмета? еще пример, за ручку двери, кнопку?
778 447386
>>47375
Можешь за щеку освоить быстро.
779 447387
>>47381
Anima2D, там вроде IK есть.
maxresdefault.jpg60 Кб, 1280x720
780 447388
Существует вменяемый туториал для тупых по работе со Spine анимацией в юнити?
В гейммейкере все просто, там человеческий экспорт без лишних приблуд и удобные методы.
А тут что-то какой-то пиздец судя по спайновским докам.
781 447392
>>47381
Для этого не быдлокод писать надо, а обучать нейросеть. В открытом доступе нихуя юзабельного естественно нет, можешь только ролики посмотреть как они учатся ходить с произвольным строением тела, траверсить любые препятствия, итд.
Обычный рэгдолл просто включает физику для конечностей блендом к записанной анимации.
782 447395
>>47381
Инверсная кинематика.
783 447399
>>47359

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


Поэтому я собираюсь отрезать от нынешнего ГУИ, который имеет в себе методы для работы и с текстом, и с меню, и с прочей чушью, и методы для работы конкретно со сценой, половину и перенести в новый ГУИ, который будет подгружаться только со сценой.
784 447412
>>47407 (Del)
Сама по себе нейросеть простая как бревно, чтобы ее написать математики начальной школы достаточно (или ты легко можешь скачать самую пиздатую готовую).
А вот как ее обучать - тут тебе никто оптимального рецепта не даст. Человеческий моск тупо брутфорсит все что есть, ибо может себе позволить. А компьютерную ты так или иначе ограничиваешь, и тут тебе кроме личного опыта нихуя не поможет.
785 447422
>>47402 (Del)
очень интересно, спасибо. Только я в 3д хочу, но я думаю что это мне поможет.
786 447423
>>47392
на нейросеть я не расчитываю, не для одного человека работа. Думаю несколько функций написать, а для предметов поставить точки за которые и нужно браться.
787 447426
>>47412
>>47423
А что, нейросети новый тренд уже? Много где их используют?
788 447429
>>47426
когда придется писать слишком сложную функцию, тогда лучше сделать нейросеть. Анимации тому пример. Посмотри анимации в ГТА на ютубчике.

Еще используют для распознавания образов.
789 447432
>>47423
И как ты себе представляешь то же открытие двери в "несколько функций"?
Твин культяпки к ручке? А если не дотягивается? Ну посчитать заранее сектор и переместить в него тушу, хуле? А как тушу перемещать? Ну астар типа в анимации движения, потом твин культяпки к ручке, и бленд в айдл для всего остального? Поздравляю, ты сделал обычную записанную анимацию +- 5 пикселей, только непонятно зачем проебался с ней в 10 раз больше.
791 447437
>>47432
Попрошу сильно не придираться, мне важен сам подход, такие анимации я буду использовать не для каждого движения.

Тушку будет двигаться игроком, а вот ручки нет.
5 пикселей записанной анимации это когда дверь стоит четко в одном месте всегда. А если нет? А если она сверху или снизу? Под углом как нибудь?
Наверное будет как ты и написал, спасибо.
792 447441
>>47426
джва года уже тренд.
793 447455
>>47429
Блядь, ну какой же ты дебил.
Где ты там нейросети в анимациях разглядел, пудель?
794 447456
>>47423
Придурок, тебе дважды написали, что есть IK, или инверсная кинематика, но тебе же лень почитать.
Ослоёбина ты тупая.
14213204966240.jpg135 Кб, 800x1136
795 447563
Сап, Мэйлач-Геймс.
Есть одна клиент-серверная дрисня. Данные (положение в пространстве и прочее) отсылаются всем клиентам по имеющемуся списку.Все ок, все красиво.
Задача - сделать так, чтобы данные отсылались только об объектах вокруг персонажа.
И тут я меня рвет на части моя собственная необучаемость: что быстрее: OnTriggerEnter(создали стороннего персонажа)\Exit(удалили стороннего персонажа),
или OverleapSphere, и его поэлементный !List<БылиВПрошлыйOverleap>.contain(List<ЕстьВЭтотOverleap>) (получили ушедшие слишком далеко персонажи, ручками удалили) и потом еще раз сравнивать !List<ЕстьВЭтотOverleap>.contain(List<БылиВПрошлыйOverleap>) (получили всех новых, ручками добавили)?
Как делают большие мальчики? Как принято?
796 447579
ребятки, откуда качать арт и модельки? opengameart знаю, но он лежит. Где еще брать, кроме ассет стора.
797 447664
>>47579

> качать арт и модельки


тут таких не любят
798 447670
>>47395
>>47456
только для про версии((
Юнити свою написать позволит?
799 447672
>>47563
Формулировка вопроса у тебя пиздец.
В ммо делают тупо зону интереса - квадрат, близко к ребру - 2 квадрата, близко к углу - 4 квадрата.
В танчиках на серве включена физика, и на изменение любого позишна пересчитывают двухсторонний m2m кто кого видит.
Чистится все и там и там на клиенте без участия сервера.
800 447678
>>47670

> только для про версии


Поехал что ли? Я на своей халявной версии эту хрень юзаю.
801 447684
>>47678
читал документацию и незаметил, что она для версии 5.3
802 447739
Посоны, а вы пользуетесь SerializeField для чистоты кода? Или просто юзаете public?
15052923291403.jpg20 Кб, 336x448
803 447775
>>47672
Благодарствую, добрый человек: твоя мать достойная женщина а отец - настоящий мужчина.
Я, примерно, понимаю то, о чем ты говоришь, и даже могу несколько дополнить список примерами реализации из Battlefield (которыми все уже хз сколько обмазываются).
Вопрос именно в реализации расчета кто именно вошел в "зону внимания", а кто вышел. Поясню: предполагая, что OverleapSphere (который вроде бы даже легче чем CastSphere) вызываемый нифига не каждый фикседСтеп, должен меньше нагружать, я сделал через него. Но сравнение массивов, чтобы понять кто "новенький" в зоне внимания, убивают все что только можно. Тогда как очевидно более медленный OnTriggerEnter\Exit (более сложный в плане как рассчетов, так и обработки), тормозит на порядок меньше. Подобное несоответствие моего мировосприятия и результата и вызвало вопрос: как детектить вошедшего и вышедшего из зоны внимания.
804 447783
вопрос из любопытства на который я не знаю ответа. юнити же дает вызывать StartCoroutine имея ссылку на объект наследуемый от monobehaviour. я, конечно, могу сам сделать метод который бы сохранял активные корутины в лист, смотрел там все. но я же могу запускать корутины без всяких вопросов и они за три пизды могут крутится без моего ведома. как узнать список активных корутин? как узнать в какую ногу я себе выстрелил?
805 447798
>>47775
А обязательно сферы оверлипить или кастовать? Нельзя, скажем, задать габариты объектам, посылать эти габариты + координаты объекта всем другим объектам, и если расстояние между объектами + габариты меньше радиуса обнаружения, то считать, что объекты друг друга видят.
806 447810
>>47798
Я сожалею, но ты только что описал OverleapSphere().
807 447813
>>47810
Я в эти ваши сферы ещё не вникал, мало ли как оно устроено, если вон человек жалуется, что медленно это работает.
808 447818
>>47739
Я пользуюсь. И как я уже неоднократно объснял, тут суть в том, чтобы ты сука своими кривыми руками не писал код, который в тысяче мест знает какая у тебя реализация конкретного класса.
Например,
batya.kokushekList.Add(goveha);
В этом примере у тебя любой класс будет знать, что у бати 100% есть список с говёхами. Потом, по мере разработки, тебе не понравится List и ты решишь перейти на HashSet и если кто-то будет в отдельной ветке писать всё под тот же самый List соснёт хуев при мердже, т.к. ты сменил реализацию и новый код уже не сможет встать на текущие рельсы. Также при смене реализации, тебе придётся выебать себя в очко и руками обновить тонну классов, которые перестали быть совместимы с изменениями.
А вот если бы ты, изначально сделал список приватным, а на любой чих-пых завел бы отдельные методы, то ты бы мог менять внутренюю реализацию класса как угодно, не боясь, что у тебя сотни классов тупо сломаются.
Думаю, что объяснил понятно.
809 447820
>>47783
Я бы на твоём месте использовал профайлер в ГЛУБОКОМ РЕЖИМЕ.
810 447829
>>47783
Гугл предлагает к каждой корутине ручками реализовывать обозначение активной корутины. Можешь добавлять в глобальный словарь (типа, <GameObject, string>) элемент, потом перед окончанием корутины его вытаскивать.
811 447831
>>47775
Либо я все еще тебя не понимаю, либо ты меня. Еще раз:

Для ммо:
у игрока изменился позишн: переслать всем кто в квадратах интереса игрока ивент что он переместился, посчитать текущие квадраты
если появились новые квадраты: передать игроку все определения из этих квадратов, которых у него еще нет в кэше, на клиенте почистить все кроме кеша в уже неакутальных квадратах

вся хуйня проиcходящая в квадрате рассылается всем игрокам, у которых этот квадрат в текущих
Все. Никаких оверлапов, никаких диффов массивов.

Для танчиков:
определения для всех загружаются в начале матча, многие ивенты транслируются вне зависимости от зоны видимости.

у игрока изменился позишн: посчитали кого он видит (тут можешь оверлап юзать если устраивает), заменили м2м на сервере, на клиенте почистили тех, кто выполз из поля зрения.
вся хуйня, совершаемая игроком, транслируется всем игрокам, которые его видят, через обратный конец м2м.
Все. Снова никаких диффов.
812 447834
>>47820
это, конечно, вариант. но вдруг корутина безобидная? например прикинь как было бы здорово выводить рядом с объектом список активных корутин. чтобы дебажить какие-то короткие события сделанные с помощью корутин. или чтобы видеть вообще что я, или кто-то, какую-то хуйню натворил а она чето там делает.

>>47829
дааа, это конечно вариант и я предположил его своем вопросе и я сам так делаю в критичных местах. но другие так не делают и мне самому лень эту хуйню творить каждый раз, но иногда она бывает полезна и когда она полезна то экономит кучу времени. можно конечно написать что-то вроде MonoBehaviourExtended и делать все свое говно наследуясь от него. но чёт не понравился мне этот подход, решил на дваче спросить.
15060209473412.jpg38 Кб, 604x296
813 447857
>>47831

>ивент что он переместился, посчитать текущие квадраты


Как? Главный вопрос - "как именно".

>посчитали кого он видит


Как? Как видит?
Главный вопрос обоих моих сообщений (сорян, я кривоумный) - каким образом реализовывать это "видит", "находится в текущем квардате" и прочее. Как сделать "видит"? Как сделать "вошел в зону"?
Точнее, ок, по квадратам я могу попробовать тупо описать сетку Х и Y координат, и потом каждые 0.1f секунд сравнивать. Криво, некрасиво, откровенно геморойно в плане дизайна, но имеет право на существование.
Что делать в боле продвинутом, описанном тобою случае?
814 447903
вопрос от пользователя гамака по 2д
во всех туториалах предлагают перемещать объекты используя физический движок, то есть задавать вектор силы и прикладывать его к объекту
в гамаке я привык к тому, что перемещаю объект просто прописывая ему кол-во пикселей по x и y

что-то типа
player.x += horizontal_speed;
player.y += vertical_speed;

в юнити так же можно или не стоит выебываться и просто юзать физический движок для перемещений?
815 447908
>>47904 (Del)
А почему так?
Некоторые предлагают просто делать что-то вроде
transform.position += new Vector3(hsp, vsp, 0);
Это правильно?
816 447915
>>47908
ноуп. если будешь говорить трансформу позицию то он будет игнорировать физон. трансформ отдельно, физон отдельно. юзай физон.
817 447916
>>47915
Благодарю
818 447918
>>47818
А в каких случаях юзаешь public поля? Или используешь только свойства?
819 447922
>>47918
В системе статов для персонажей использую свойства где только могу. Очень удобно, особенно потому, что в get можно выводить хуевины типа
return _thisPrivateVar + (var1+var2)*0.05;
Хочешь выводить приватные поля в редактор — используй [SerializeField]. А так думай, что делает переменная, нужно ли ей быть публичной, и не будет ли удобнее написать две-три функции на три строчки, которые с ней работают.
Мимокрок.
820 447925
>>47903
Можно сделать тело кинематическим и таскать за трансформу, если тебе не нужно физически реалистичное поведение. Силы на него действовать не будут.
14646135784850.jpg20 Кб, 448x336
821 447930
Производительность на мобилках
В прошлом году один мой друг пробовал устроиться мобильным разработчиком на Юнити. Так вот, на собеседовании он выполнил тестовое задание и они его отругали за то, что он использовал foreach вместо for. Типа это сказывается на производительности, и вообще НИЗЯ ТАК ДЕЛАТЬ, плохой погромист!

На мобилках действительно всё так плохо с производительностью? И нужно использовать только for, забыть про свойства и стараться запихнуть побольше логики в один метод? Мне почему-то казалось, что по-настоящему на производительность может повлиять только графика, а всё остальное - микро-оптимизации, которые нахуй не нужны.
822 447932
>>47930
Это уже неактуально. Старые версии mono в foreach всегда создавали объекты, даже если GetEnumerator() возвращало struct. Шизики боялись что из-за этого будет срабатывать сборщик мусора и их матч-3 будет тормозить.
823 447936
>>47908

> transform.position += new Vector3(hsp, vsp, 0);


Ну ты пиздец. Для таких объёбаных наркоманов transform.Translate придумали.
824 447964
>>47930
В любом программировании доебы до любой конкретики при рекрутинге - признак днище-конторы и синдром вахтера. Тебе блять в любом случае придется его переводить считай с нуля под свои практики, никто придя с улицы не будет писать ровно так, как ты хочешь.
825 447965
Создал префаб, хочу инстанциировать его без драг энд дропа. Как это сделать?

С драг энд дропом я так понимаю просто.
public Obj obj;
Перетаскиваем префаб в паблик поле и создаем в скрипте.
Instantiate(obj, new Vector3(0f, 0f, 0f), Quaternion.identity);

Как сделать без драг энд дропа? Просто указав нужный префаб в коде. Погуглил, там какие-то костыльные решения из 2010 года
var instance : GameObject = Instantiate(Resources.Load("enemy"));

Есть ли человеческий способ?
826 447966
>>47965

>var instance : GameObject = Instantiate(Resources.Load("enemy"));


GameObject go = Instantiate(Resources.Load("enemy"));
827 447967
>>47966
то есть все равно надо делать папку resources, пихать в нее префаб и потом загружать таким образом?
просто по имени префаба не найти?
828 447969
>>47965
У меня такие костыли но я вообще донный

//Присваивает объект по названию из папки Resources
public GameObject huita = Resources.Load<GameObject>("Huita");

Instantiate(huita, new Vector3(0f, 0f, 0f), Quaternion.identity);
829 447976
>>42120 (OP)
Сап господа геймдевы, возник вопрос, в каком виде хранить диалоги и описания объектов, какие БД лучше использовать? Или лучше парсить самому из txt файликов, или собирать json'ы?мб плагины какие есть для разрабов диалогов?
830 447977
>>47967
Используй ScriptableObject. Или тупо префаб, который внутри хранит другие префабы по имени.

У меня есть префаб Weapons. Там, где мне нужен список все префабов оружия, я задаю ссылку на него и уже из него по имени получаю нужный мне префаб.
bg.mp4668 Кб, mp4,
854x480, 0:03
832 447980
Пытаюсь сделать скроллящийся бэкграунд.
Запилил объект, который себя двигает и ресетит позицию когда уехал за край.
Потом создаю оба объекта рядом друг с другом (зазора нет).
И получается просвет пикрелейтед. Как чинить?

Создаю рядом
Instantiate(background, new Vector3(0f, 0f, 0f), Quaternion.identity);
Instantiate(background, new Vector3(8f, 0f, 0f), Quaternion.identity);

Двигаю и ресечу
void Update () {
transform.position += Vector3.left speed Time.deltaTime;
if (transform.position.x < -8f) {
ResetPosition();
}
}

void ResetPosition() {
transform.position = new Vector3(8f, transform.position.y, transform.position.z);
}
}
833 447982
>>47980
Не знаю как это сделать в Юнити (там есть спрайт пакер свой). Но вот как я это делал используя TexturePacker на другом движке:
Extrude repeats the sprite's pixels at the border.
https://www.codeandweb.com/texturepacker/documentation

Либо ты можешь использовать только целые числа для позиции бекграундов.
834 447985
>>47980
один боооольшой с повторяющейся текстурой слабо сделать?
835 447987
>>47985
слабо, я пока еще не знаю как
но проблему решил
float xx = transform.position.x + 8;
transform.position = new Vector3(8f + xx, transform.position.y, transform.position.z);
836 447988
>>47980
В нахлест накладывай в пару пикселей.
837 448006
>>47988
Костыль
838 448026
>>47987
И как это что-то меняет?
839 448027
>>47969

> new Vector3(0f, 0f, 0f)


Если что, есть Vector3.zero
840 448048
>>48026
Компенсировал небольшой съезд перемещаемого задника
841 448050
>>48048
Ты сделал х+16. Я не понимаю, как это могло что-то компенсировать, если у тебя оба изображения по 8 в длину, и ты в резете делал х+8
842 448052
>>48050

> Ты сделал х+16


нет, я сделал 8f минус нимношка
843 448056
>>48052
А, ну ясно. Один раз 16f не равно два раза по 8f. Классика.
844 448058
>>48027
Это не пример товарища который спрашивает
но за инфу спасибо
845 448059
>>47980
Вот за эти вот 8f в приличном обществе лопатой по ебалу бьют.
Запомни: чем меньше у тебя магических чисел в коде, тем больше посоны уважают, быдло боится, а тянки текут.
846 448061
>>48059
Дядь, я второй день изучаю юнити, а не проект пилю.
847 448062
>>48061
Ну я тебе просто сразу говорю, чтоб потом не переучиваться и не привыкать заново.
Стиль вырабатывается как раз в первые дни и недели.
848 448063
>>48062
Да я знаю, я на гм до этого пилил.
Просто ща я смотрю как работают те или иные методы и не заморачиваюсь для скорости.
849 448064
>>48062
Блэд, похоже я выработал привычку делать все переменные public. Похоже, пора резко переучится, пока не стало поздно.
к теме про SerializedField
850 448065
>>48064

> SerializedField


аштоэта и почему не надо делать паблик?
851 448066
>>48064
Сам не так давно переучился. И даже те public-переменные, которые другие классы должны только читать, но не должны менять, делаю через посредника и ебошу get{}
852 448068
>>48066
У меня ментальный ступор на свойствах. Простая хуйня, но я постоянно путаюсь в этих трех соснах и в итоге нихуя не работает. Ух, чувствую "выебу себя в очко"(С), когда буду убирать public и ставить свойства. Хотя для моего "проекта" можно оставить всё в виде велосипеда из костылейи слава б-гу.
853 448069
>>48066
Ну и нахуя?
Одно дело, когда в переменной хранится ссылка, а другое, когда какой-нибудь интежер. Делать гетсеты для интежеров случайных, когда тебе не нужно каким-то образом их реобразовывать - нахуя?
854 448071
>>48068

> У меня ментальный ступор на свойствах


Может просто опыта мало.
>>48069

> Делать гетсеты для интежеров случайных


Для случайных и не надо. А если у меня в объекте уникальный айдишник, который если поменять — всё наебнётся, то нехуй мне его менять из другого класса. Как говорится, смотреть можно, но руками не трогать.
855 448073
>>48071

>>Может просто опыта мало


Конечно мало. До сих пор в коде юзаю около 30% херни которую не до конца понимаю. Но мне и не надо, я и не хочу бы программистом
856 448074
>>48071

>нехуй мне его менять из другого класса.


А зачем у тебя всё на айдишнике завязано? При создании класса задаёшь айдишник, и больше его не трогаешь.

>Для случайных и не надо


Сам говоришь пабликов бояться, сам говоришь, случайные в покое оставить.
857 448077
>>48074

> При создании класса задаёшь айдишник, и больше его не трогаешь


Естественно не трогаешь. Как раз потому через посредника его и расшариваю, чтоб никто не трогал. Но если надо будет его прочитать — всегда пожалуйста.

> Сам говоришь пабликов бояться, сам говоришь, случайные в покое оставить


Никого бояться не надо. Если число нахуй не нужно другим классам — private. Если нужно в полном доступе — public. Если нужно в ограниченном доступе — посредники.
Вот и вся кухня.
858 448078
>>48077

>Как раз потому через посредника его и расшариваю


Нахуя его расшаривать вообще? В идеале классы должны лезть только в те классы, которые были из первых классов созданы. Так тебе вообще морочиться с доступом не нужно. А раз ты создал из первого класса второй, то второй безопасно может обращаться в первый, как первый безопасно обращается во второй.
859 448079
>>48078

> Нахуя его расшаривать вообще?


Ну например, у меня есть много объектов, среди которых есть пары, определяющиеся одинаковым айдишником. И контроллер как раз для определения пары сравнивает айдишники. Читать для этого он их должен, а вот менять — не должен.
860 448085
>>48079
Ну например, я для подобной херни заебошил Dictionary<ID, List<Obj>> Одинаковые объекты суются в один и тот же лист под один айдишник.
861 448087
>>48085
Ну это замечательно. А я вот заебошил иначе.
862 448098
>>47930

> на собеседовании он выполнил тестовое задание


А не в курсе что за задание хоть было? А то я б тоже куда-нибудь пристроил свою жопу, но понятия не имею что там спрашивают и какие задания дают.
863 448129
спрошу и тут
Такая беда: Два монитора, 4к и фулл хд. Если перетащить окошко спрайт эдитора на второй фуллхд монитор, то он сваливает из сраного низкого разрешения, спиздив сраное окошко. Вернуть его не получается, тк это не отдельное окно в винде и перемещение не работает.
Работает сброс лейаута на заводской, но не буду же я каждый раз так делать, он и мои настройки трет. Знает кто-нибдуь решение?
864 448138
>>48129
С такими проблемами пиши лучше сюда: https://issuetracker.unity3d.com/
865 448182
>>48129
У тебя окно спрайт эдитора не помещается на 4к мониторе?
866 448216
>>48182
нет, если перетащить с 4к на хд, то окно сваливает за границы, откуда его не достать.

Решил проблему, прицепил эдитор во вкладки панелей.
867 448228
Пацанва, вопрос по рейкастам. Мне, надо узнать не точку, в которую попадает луч, и пересекается ли он с определенной коллизией. Поставить к другим коллизиям игноррейкаст не подходит, т.к. они используются для других рейкастов.
Собственно есть ли возможность у луча определить пересекается ли он с конкретным объектом или, хотя бы, выдать все объекты, которые он пересекает. Если есть, то как сделать? Если нет, то что можете посоветовать?
868 448234
>>48228
layer mask, RaycastAll.
869 448235
>>48228
>>48234
https://docs.unity3d.com/ScriptReference/Physics.RaycastAll.html
Casts a ray through the scene and returns all hits. Note that order is not guaranteed.
870 448349
Встретил проблему, мыкался туда-сюда около часа, решил спросить в треде. Пока формулировал вопрос по самым строгим критериям местных unity-богов, нашел решение. Телепатическая помощь. Секнс.
871 448354
>>47980
https://www.youtube.com/watch?v=HrDxnMI7pCc
не благодари.
если сам уже не нашёл
GetComponent<Renderer>().material.mainTextureOffset = offset; для унити 5
872 448370
>>48235
>>48234
Я правильно понимаю, что лучше использовать layer mask в моём случае? В плане производительности.
873 448374
Можете подробнее пояснить за awake и start? Они вызываются каждый раз, когда активируется скрипт или только когда это сделали первый раз?
874 448375
>>48374
Старт при первом фрейме, авейк при первом фрейме после создания обекта.
875 448376
>>48065

> почему не надо делать паблик


Кто то делает игры, а кто то занимается анальным фистингом называя это инкапсуляцией.
OhBoyHereWeGo.jpg50 Кб, 490x769
876 448377
>>48370

> В плане производительности

877 448379
>>48370
Ты в любом случае рейкастишь, но в случае без слоёв используешь свой собственный фильтр. Если несколько миллиардов подсчётов в апдейт не суёшь, то даже не заметишь, что что-то там подсчитывается
878 448380
>>48376
этот дело говорит. повылезают из каменного века со своим программированием, какими-то модификаторами доступа. в 2к18, лол.
качаешь ассеты, хуяришь их на сцену и заебись. ну можно ещё тумана пиздануть чтоб края замылить. и всё, готово.
879 448404
>>48349
в следующий раз ещё схему нарисуй в пэйнте. почти всегда помогает.
https://en.wikipedia.org/wiki/Rubber_duck_debugging
у меня вот на столе аниме-фигурка для таких целей!
880 448406
>>48404

> в пэйнте


Я карандашом на бумаге рисую. Блок-схему ебанёшь и уже считай проблема решена.
881 448422
>>48380
ти так говоришь будто это не так
эти охуевшие потом своё говно на фуллассетах на сторы льют, потом говорят что они начинающие инди игродел каманды

нет, серьёзно, пока ты, я, анон, кирилл, серега, вот мы все — пока мы сидим на дваче в юнетитреде беспокоиться о чистоте кода, да и вообще качестве своих поделий мягко говоря рановато. делай хуяк хуяк, чтобы было хоть что-то, выдумывают тут блять себе проблемы.
882 448453
>>48376
Я вот не могу спокойно программировать, если код мне не нравится.
image.png137 Кб, 1640x916
883 448455
Анон, либо я полный долбаеб, либо я под кислотой. Эта ебучка не хочет двигаться по велению зажатого курсора, какого хуя? Я не знаю. Спасай крч.
884 448456
>>48455

>This function is called on Colliders marked as Trigger if and only if Physics.queriesHitTriggers is true.

885 448457
>>48456
Так, блджат, что мне сделать???77
886 448458
>>48457
IsTrigger включи на бокс коллайдере.
887 448459
>>48458
Дык нихуя. Тото и оно.
888 448463
>>48459
Пригорает с хуйни, что в двух строчках кода ничего не робит.
image.png306 Кб, 1600x900
889 448465
Анончик, подскажи. Есть у меня 3 одинаковых плитки, на них висят триггеры. Во всех случаях их коллайдеры должны пересекаться, но OnTriggerEnter срабатывает только когда я встаю в ту, которая расположена выше всех (пикрил). Что я делаю не так? Хочу чтобы плитка лежала на полу и срабатывал триггер.
Если увеличить коллайдер на плитке то всё работает, но это какая-то хуйня и смахивает на костыль.
890 448480
Как прервать выполнение всех оставшихся функций через другую?
891 448483
>>48480
Через булеаны и если?
892 448486
>>48465

> OnTriggerEnter


> Notes: Trigger events are only sent if one of the Colliders also has a Rigidbody attached


Есть риджидбади на плитках?
893 448487
>>48455
Что это за куб и что он символизирует?
894 448501
>>48486
Не слушай этого, ригидбоди только на игроке должен быть (если конечно они неподвижны)
895 448556
>>48501

> ригидбоди только на игроке должен быть


Схуяли? Риджидбади должен быть на любом из объектов, которые будут реагировать на OnTriggerEnter, OnTriggerExit и т.д. На каком именно — вообще похуй.
А так как на игроке, судя по скрину, риджидбади нет, то я потому и спросил есть ли он на плитках.
896 448564
Почему Resources.FindObjectsOfTypeAll и Object.FindObjectsOfTypeAll не ищет мои инстансы скриптабл обжектов?

выдает пустой массив.
Как правильно искать объекты не в сцене?
Или лист со скриптабл обжектами лучше сразу дополнять при инициализации каждого экземпляра?
897 448585
>>48564
Лучше положи эти объекты на сцену.

=ДА-ДА, НЕ НАДО УДИВЛЯТЬСЯ!!!=
Хочешь научу класть любой объект на сцену? Просто впихни ссылку и сериализуй её в сцене и хуяк, юнити САМА ВСЁ ЗАГРУЗИТ!!!11111111

РАЗБЕРЁМ НА ПРИМЕРЕ:::

Сначала ПИШЕМ РУКАМИ, ВОТ ЭТА::
class SerGAYsexSIMONOV : MonoBehaviour
{
[SerializeField]
myScriptableObject my33cmDIeCK;

void Awake()
{
my33cmDIeCK.Suck();
}
}

Потом СОЗДАЁМ НА СЦЕНЕ GAYmObject, вешаем скрипт SerGAYsexSIMONOV и в инспекторе просто перетягиваем наш ScriptableObject в поле скрипта SerGAYsexSIMONOV.

ГОТОВО!!!!!11111111)))))

И такое можно проворачивать с ЛЮБЫМ ОБЪЕКТОМ. Все ссылки, которые видит юнити на сцене, она автоматом загрузит.

Только долбоёбы в 2017 году пишут свои загрузчики ассетов. Ровные пацаны ебашут референсы.

На самом деле можно ещё через ассетбандлы, но для тебя сложно будет скорей всего.

======ДОБРА И СВЕТА, ВАШЕМУ ДОМУ!!!======

Какой же я уебан.
897 448585
>>48564
Лучше положи эти объекты на сцену.

=ДА-ДА, НЕ НАДО УДИВЛЯТЬСЯ!!!=
Хочешь научу класть любой объект на сцену? Просто впихни ссылку и сериализуй её в сцене и хуяк, юнити САМА ВСЁ ЗАГРУЗИТ!!!11111111

РАЗБЕРЁМ НА ПРИМЕРЕ:::

Сначала ПИШЕМ РУКАМИ, ВОТ ЭТА::
class SerGAYsexSIMONOV : MonoBehaviour
{
[SerializeField]
myScriptableObject my33cmDIeCK;

void Awake()
{
my33cmDIeCK.Suck();
}
}

Потом СОЗДАЁМ НА СЦЕНЕ GAYmObject, вешаем скрипт SerGAYsexSIMONOV и в инспекторе просто перетягиваем наш ScriptableObject в поле скрипта SerGAYsexSIMONOV.

ГОТОВО!!!!!11111111)))))

И такое можно проворачивать с ЛЮБЫМ ОБЪЕКТОМ. Все ссылки, которые видит юнити на сцене, она автоматом загрузит.

Только долбоёбы в 2017 году пишут свои загрузчики ассетов. Ровные пацаны ебашут референсы.

На самом деле можно ещё через ассетбандлы, но для тебя сложно будет скорей всего.

======ДОБРА И СВЕТА, ВАШЕМУ ДОМУ!!!======

Какой же я уебан.
898 448586
>>48487
На кубе я ловлю касание мышки и передаю коорд. Икс в car.position
899 448587
>>48586
Ну начинай отлавливать где что не так.
Попробуй повесить в тот же скрипт
void OnMouseDown () {
print ("yoba");
}
Если по клику мышкой тебе в консоле что-то выдаст - уже хорошо. Если нет, то проблема не в тех твоих двух строчках.
daunich2.png147 Кб, 1448x952
900 448588
Два дэ. На player висит неактивный Laser. По нажатию кнопки он должен становится активным.

Не понимаю почему выдает NullReferenceException, если я добавил Laser в инспекторе. Поиск по тэгу приводит к тому же результату. Где я проебался?
image[1].jpg16 Кб, 315x360
901 448590
902 448592
>>48587
"Еба это ты?"-нихуя. Молчит как рыба.
903 448593
>>48592
Собери своё говно для определения, зажата ли кнопка мыши. Если мышка двигается во время зажатия, то двигай это говно.
904 448594
>>48588
А если вместо

> laserWeapon.SetActive(true);


влепить
this.transform.GetChild (3).gameObject.SetActive(true);
тогда норм?
905 448595
>>48592
Ну если у тебя даже OnMouseDown не прокатывает, то тут одно из следующего (переводить впадлу):

Make sure the script is attached to the game object you want to be clickable.

Make sure you have an enabled collider

Make sure you have not resized or changed the position of the collider

Make sure there are no other colliders in the way. OnMouseDown() works just like a Raycast()...the first thing hit is what gets the OnMouseDown().

If everything looks okay and it still does not work, delete the object and start over by adding the new object, adding the script...
906 448596
>>48588
Нулл референц на лазере или на трансформе возникает? Какая строчка у ошибки?
907 448597
>>48594
Тоже самое :(
908 448598
>>48596
На лазере (26):
laserWeapon.SetActive(true);
909 448599
>>48556
Потому что игрок будет двигаться, а плитки скорее всего нет (но если да, то и на них надо). А на статичных объектах ригидбоди лишний
910 448601
>>48588
Судя по ошибке, он у тебя жалуется на LaserWeapon.Shot (shotSpawn), а не на сам laserWeapon. в ту сторону ковыряй. Может он shotSpawn и не видит.
911 448603
>>48599
В принципе поебать, если на префаб плиток повесить риджидбади и хуйнуть isKinematic.
Но по-хорошему да, лучше вешать на игрока. Только вот там висит CharacterController, так что на игроке риджидбади будет так же лишним.
912 448605
>>48601
В данном случае shotSpawn мне не нужен и я его не использую. Я не могу понять что с ним нужно сделать что бы он мне мозг не ебал.
913 448606
>>48605
Либо убери, либо всовывай туда default(shotSpawn).
914 448615
>>48606
Первое делает метод не рабочим, второе тоже не работает. Блятьчтозанахуйсукаятупойблять.
915 448617
>>48615
Наговнокодил, чо. Бывает.
916 448622
>>48615
Мне вообще кажется странным, как у тебя это устроено. В курсе, что если скрипт прикреплён к объекту, то геймобжект можно по gameObject вызывать?
Как варианты: ты забыл сохранить скрип, нужно перезагрузить юнити, возможно, ты всунул не тот лазер.
917 448625
>>48585
так, падажжи, емана

то есть я не смогу собрать себе лист ассетов, если на них нес ссылки из сцены чтоли?
918 448629
>>48622

>>В курсе, что если скрипт прикреплён к объекту, то геймобжект можно по gameObject вызывать?


Как это правильно загуглить?
motto.jpg209 Кб, 1024x1022
919 448630
>>48629
А похуй. Просто поменяю логику игры. Будет у меня спецабилка на Q.
920 448632
>>48629
http://docs.unity3d.ru/ScriptReference/GameObject.html
https://docs.unity3d.com/ScriptReference/Component-gameObject.html
Если у тебя есть объект на сцене, и ты лепишь к нему скрипт (через AddComponent, например, или же если скрипт заранее прикреплён), то через transform и gameObject можно вызвать те Transform и GameObject, к которым прикреплён скрипт.
921 448635
>>48603

> вешать CharacterControlle


ор
922 448637
>>48635
Ор ором, но на скрине >>48465 именно он.
923 448639
>>48632
Благодарочка
924 448744
Скажите, как Юнити сочленяется с Гудини?
925 448788
Есть 2 объекта. Один создает второй и хочет получить от второго его высоту используя публичный метод.
Получаю ошибку

>unity object reference not set to an instance of an object



Скрипт родителя.

public Slot slot;

void Start () {
Slot s = Instantiate(slot, new Vector3(0f, 0f, 0f), Quaternion.identity);
print(s.GetHeight());
}

Скрипт детеныша

public Sprite[] icons;
private SpriteRenderer spriteRenderer;

void Start () {
spriteRenderer = GetComponent<SpriteRenderer>();
spriteRenderer.sprite = icons[Random.Range(0, icons.Length)];
}

public float GetHeight() {
float height = spriteRenderer.bounds.size.y;
return height;
}

ЧЯДНТ?
925 448788
Есть 2 объекта. Один создает второй и хочет получить от второго его высоту используя публичный метод.
Получаю ошибку

>unity object reference not set to an instance of an object



Скрипт родителя.

public Slot slot;

void Start () {
Slot s = Instantiate(slot, new Vector3(0f, 0f, 0f), Quaternion.identity);
print(s.GetHeight());
}

Скрипт детеныша

public Sprite[] icons;
private SpriteRenderer spriteRenderer;

void Start () {
spriteRenderer = GetComponent<SpriteRenderer>();
spriteRenderer.sprite = icons[Random.Range(0, icons.Length)];
}

public float GetHeight() {
float height = spriteRenderer.bounds.size.y;
return height;
}

ЧЯДНТ?
926 448791
>>48788
Засунь детёнышу в Start() print или Debug.Log и посмотри, когда он будет выполняться
927 448792
>>48635
>>48637
Риджидбади нет нигде, на персе висит чар контроллер я нуфак и читаю unity in action, не бейте лучше обоссыте. Пробовал вешать и туда и сюда, ничего не меняется.
Суть-то в том что плитки все одинаковые, но на одной триггер не срабатывает, а на другой которая расположена например на 10 пикселей выше - срабатывает, хотя коллайдеры должны пересекаться в обоих случаях.
928 448817
>>48791
Да, видимо не успевало создать там че-то.
929 448881
Псоны, нубский вопрос.
Вот есть у меня класс Pushka, в котором есть поле (или свойство?) private damage. И вот создаю я класс OhuennayaPushka и наследую его от Pushka, а не от MonoBehaviour. Правильно ли я понимаю, что пока я не сделаю damage публичным (а не приватным, как он сейчас) моя OhuennayaPushka не будет знать что это за дамаг такой?
930 448882
>>48881
protected будет "видно" в наследуемых классах, public видно отовсюду, private только из самого класса.
931 448883
>>48882

> protected


Точно. Спасибо, братишка.
933 448928
>>48927
Что, пацаны, аниме?
934 448934
>>48928
Чмо, пацаны, аниме.
935 448993
Наконец-то закончил (почти) генерацию карты, и теперь нужна камера. Стрелочками и мышечкой запилил, но теперь нужно сделать границы движения камеры.
У меня есть карта, состоящая из отдельных гексов, которые сами из чего-то состоят. Как мне весь размер карты найти, чтобы камера не могла сбежать из определённого радиуса от ближайшего гекса?
Unity 2017-10-12 07-06-46-47.png268 Кб, 1168x772
936 449044
>>48993
что за странный вопрос. ты же сам свою карту генерировал, сам и знаешь как из неё извлекать что-то.
937 449052
>>49044
Что странного-то? Мне нужно как-то слепить все гексы на карте в одну фигуру и забрать из этой фигуры габариты. Это вообще возможно? Можно, конечно, искать ближайший гекс к текущей позиции камеры, но как-то по-нубски это выглядит.
938 449059
>>49052
сам факт вопроса. как будто твой генератор генерирует пустоту, или белиберду в которой ты сам ничего понять не можешь. просто взять минимальные и максимальные позиции вертексов по нужным тебе осям тебе не нравится что-ли?
939 449062
>>49059
Это предполагает, что карта прямоугольная. В общем-то так сделать тоже вариант, но я много в каких играх видел, как камера привязана к ближайшей "твёрдой" точке, а не к минимуму и максимуму.
bandicam 2017-10-12 17-47-12-727.webm1,1 Мб, webm,
1432x700, 0:06
940 449066
Юнитаны, что это я сломал? Освещение?
941 449081
>>49066
мож у террайна дубликат?
942 449095
>>49081
Та не, один-одинёшенек.
943 449106
>>48927
Ой, иди на хуй отседова.
Сегодня ты не позаботился о чистоте кода, а завтра городишь проект из костылей, которыми управлять становится невозможно.
https://ru.wikipedia.org/wiki/Технический_долг
944 449165
>>49106
Каким образом private или protected чище, чем public? Я-то думал, они разное количество байтов занимают или что-то вроде.
945 449179
>>49165
Мать твою ебал.
947 449210
>>49165

> Я-то думал, они разное количество байтов занимают или что-то вроде


Велики познания твои, странник.
948 449213
>>49165

>разное количество байтов


Ты вообще хоть час уделил ООП в шарпе?
949 449214
>>49213
Нет, я просто по наитию ебошу.
>>49210
Так что, это всё просто затем, что великие умы постановили так делать?
950 449215
>>49214

> Так что, это всё просто затем, что великие умы постановили так делать?


Тебе выше уже давали ссылку на статью про инкапсуляцию. Если ты не можешь её осилить, то у меня для тебя плохие новости.
951 449217
>>49215
Ты сам-то понимаешь, нахуя это нужно, ммм? А то сдаётся мне, что ты просто как все делаешь без понимания сути.
952 449218
>>49217

> Ты сам-то понимаешь, нахуя это нужно, ммм?


Для защиты данных, прикинь.
Но ты не задумывайся об этом, смотри дальше уроки на ютубчике и двигай ассетики по сцене.
953 449221
>>49218

>Для защиты данных, прикинь.


Для защиты от кого, от тебя самого? Ты что, настолько себе не доверяешь, что тебе нужна инкапсуляция, чтобы по соседним классам методы для работы с этим классом не распихивать? Серьёзно?
1379883362041.jpg24 Кб, 200x186
954 449222
>>49221
Это траленг тупостью?
955 449224
>>49221
Ты небось оголённую проводку изоляцией тоже не обматываешь, да? Ну а чё, не доверяешь себе что ли?
956 449225
>>49217
Ну ты и кретин. Тебя носом ткнули куда пойти почитать чтобы не завадавать дебильных вопросов. Твое предположение про байтики - вообще оскара стоит. Можно ради лулзов в шапку добавить. Модификаторы доступа нужны для (внезапно) модифицирования доступа. Если ты хочешь унаследовать свойство - protected, если свойство нужно только этому классу или на нем завязано поведение класса - private, если тебе нужно использовать свойство из других классов - public. Место в памяти занимает само свойство, а не модификатор доступа к нему. Опять таки, я описал очень поверхностно и не совсем правильно, пиздуй читать основы блядь программирования, а не строй из себя идиота, но можешь и построить, это-же двач.
957 449226
>>49225
Да он тралит просто.
958 449227
>>49221

>от тебя самого


Внезапно - да. Ну в том числе и себя.
959 449229
>>49222
Ооо, мемасы пошли.
>>49224
Тут вопрос не в том, уебёшь ли себя током, а в том, не пойдёт ли ток не по тому проводу. Даже с изоляцией риск будет, так-то.
>>49225
То есть это разделение не несёт прямой практической пользы, а только косвенную (и весьма сомнительную). Всё ясно с вами. А сколько гонору-то, спрашиваешь, тут же начинают "ыыы бля да у нас на раёне за такое убивают!" Вообще охуеть. Лепят и не задумываются, нахуя оно надо.
960 449230
Ребят, перетащил инвентарь из Джейсона на скриптабл обжекты. Прикольно, офигенно.
Но можно ли как-то сделать, чтобы если ты редактируешь объект в кастомном эдиторе, при изменении одного значения, можно было бы автоматом менять и другие, не выходя в плей мод? Пока что я вижу вариант только через кнопку, типа ApplyChanges, нельзя ли как-то на лету? Например я добавляю элемент в лист, и в другом листе у этого-же объекта добавляется определенный другой элемент.
961 449231
>>49229
Понятно.
Как я уже говорил — двигай себе ассетики по сцене и не отвлекайся.
962 449232
>>49230
есть там что нибудь типа OnValueChanges() или подобная хурма?
963 449233
Представляю за сколько секунд этот грамотей сломал бы движок, будь в монобехэвиоре и далее по цепочке все переменные публичными.
964 449235
>>49231
Ага, не признаёт авторитет стариков непререкаемым - значит, ассетики двигает. Да ты совсем тут зажрался. Небось, по 300к в секунду зарабатываешь, да? Молодой успешный специалист в молодой динамично развивающейся компании?
965 449236
>>49235
Не не, тут тебе ничего не обломится.
Говорю же — проходи, не задерживайся. Ты не на лекции.
966 449237
>>49182
Что ты мне тут своей библией размахиваешь. Лучше прочитай как люди делают игры на самом деле.
https://godotengine.org/article/how-actually-make-your-dream-game
967 449238
>>49237

> I didn't become rich (yet :D) making games


Авторитетно.
968 449239
>>49233
Наоборот, вопрос в том, насколько бы всё было проще. Ты пробовал нормальные кнопки в юнити сделать? Это же кошмар просто. Или эти рейкасты, которые просвечивают сквозь УИ всё под УИ? Вот и лепишь велосипеды с костылями, только бы подальше от стандартного набора фич отбрехаться.
969 449240
>>49239

> Вот и лепишь велосипеды с костылями


А ты не лепи, а документацию читай. Методы есть на любой случай жизни, просто о них не знают даже те светлые умы, что на ютубах свои "уроки" ебошат, а сами кроме трансформ и ротейт нихуя не знают.
970 449241
>>49240

>А ты не лепи, а документацию читай.


В соседнем треде (или вообще на политаче) про собеседования программистов было такое. Мол, не знаешь хуйни, которой в жизни вообще ни разу не пользовался и не воспользуешься, ведь другие способы и роднее, и лучше - значит, плохой, плохой программист! Зазнались вы, батенька. Вот объективно - плохие ли стандартные фичи юнити? Ну, понятно, что хоть что-то лучше, чем ничего, но всё же.
971 449242
>>49238

>Despite being the lead developer of Godot, I have almost 20 years of experience developing and shipping games, and a decade of experience as technical consultant.

972 449243
>>49241

> плохие ли стандартные фичи юнити?


А я только про стандартные и говорил. Их до сраки, просто не на поверхности лежат.

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


Ну собеседования — то отдельная тема. Тут смотря на кого попадёшь. Бывший одногруппник говорил что ему замечание сделали из-за того, что он фигурную скобку с новой строки в коде открывает.
973 449244
>>49243

>А я только про стандартные и говорил.


А что, ещё и продвинутые есть? Я как бы про не модифицированные самим пользователем (или велосипеды) фичи говорил.

>Их до сраки, просто не на поверхности лежат.


Например?
974 449245
>>49238
Разве НИИ пердуны в 90-х придумавшие анально огораживаться от всего мира инкапсуляцией богатые?
Гора денег на твоем творении никак не выставляет тебя как опытного разработчика а во времена говностартапов это должно быть особенно очевидно. Автор статьи создал опенсорс движок, создал вокруг него сообщество, сделал десяток игр и имеет огромный опыт в игровой индустрии и смежных направлениях. Но для кириллов итт критерием профессионализма программиста конечно являются деньги.
975 449247
>>49244

> плохие ли стандартные фичи юнити?


> А что, ещё и продвинутые есть?


Тебе виднее, ты же спрашивал.

> Например?


Недавно вон кто-то (может ты, лол?) лепил здесь велосипед, чтобы обработчик клика мышки срабатывал только тогда, когда курсор не перекрывает UI. Пердолился с рейкастом, определял во что рейкаст упрается, пыхтел и пыжился, а мог бы всего лишь прописать EventSystem.current.IsPointerOverGameObject () и готово. Узнал он об этом слишком поздно, велосипед выбрасывать было уже жалко.
Или вот ещё один тут целый трактор изобрёл для сортировки геймобджектов по расстоянию относительно объекта. Там такое нахуевертил, что глаза болели.
А можно было сделать
IOrderedEnumerable<T> OrderByDistance<T>(T[] array, Vector3 point) where T:Component { return array.OrderBy (x => (x.transform.position - point).sqrMagnitude); }
и пиздец.
Много чего удобного зарыто.
976 449248
>>49245

>сделал десяток игр


Если ты не поленишься и решишь загуглить, что он сделал, то увидишь, что он по сути был КОНСУЛЬТАНТОМ ПО ТЕХНОЛОГИИ, а не разработчиком какого-нибудь говна.
МАМ, Я АПИ НАИЗУСТЬ ЗНАЮ, МАМ
977 449249
>>49248
Если ты сможешь в пару глав статьи, то будешь менее похож на умственно отсталого.
978 449250
>>49247

>обработчик клика мышки срабатывал только тогда, когда курсор не перекрывает UI


Я такой велосипед собрал ещё полгода назад и очень счастлив, что сделал его. Никакой ёбли с юньковским сумасшествием. И весь пердолинг заключался в гугле - и это для меня, который в жизни раньше не программировал. Предпочитать своё удобство юньковским заводским костылям - ну уж извините.
https://docs.unity3d.com/ScriptReference/EventSystems.EventSystem.IsPointerOverGameObject.html
Посмотри внимательно на это и скажи, кто и в каких условиях мог придумать такой дизайн для определения, UI это или нет под мышкой.
979 449251
>>49250

> Никакой ёбли с юньковским сумасшествием


Аж целая одна строчка, какая жестокая ебля.
980 449253
>>49251
Ну, может быть и не жёсткая, но в целом удобнее воспринимать и УИ, и объекты на сцене, как предметы одного класса.
981 449255
>>49253
Ну то уже такое. Ты просил пример, я его привёл. То, что оно тебе не нужно и не привычно — это уже твоё дело.
983 449347
Антоний, поясни что за дичь ебаная!?

Делаю простые вроде бы вещи:
Есть некий WeaponBehaviour : MonoBehaviour

И есть вот такое, чтобы сделать мини-БД привязки пребафа с этим WeaponBehaviour к строковому ID

[Serializable]
public struct WeaponPrefabConfig // похуй, что struct, что class делал
{
public string Id;
public WeaponBehaviour Prefab;
}

[CreateAssetMenu(fileName = "WeaponPrefabsConfigAsset", menuName = "Beehit/WeaponPrefabConfig", order = 1)]
public class WeaponPrefabConfigSO : ScriptableObject
{
public WeaponPrefabConfig[] Weapons;
}

После я в редакторе создаю из этого WeaponPrefabConfigSO ресурс, заполняю его (пока что всего 2 элемента) и делаю на него ссылку еще в одном моно. И вот к моменту ссылки на этот ресурс он УЖЕ может стать каким-то "поломанным"/не валидным и ссылку на него дать нельзя. Возвращаешься к нему в ресурсах, а инспектор при его выделении ничего не показывает. А может и все будет работать пока не запустишь игру и только тогда все слетит. Какой-то полный рандом в этом отношении.
Есть предположения что за..?
984 449349
>>49347
быстрофикс:
пробовал на 2017.1 и 2017.2
985 449366
>>49347
Попробуй Save Project сделать.
Я нихуя не понял, что у тебя слетает.
986 449397
>>49263
это понятно, а как в кастомном инспекторе подхватывать изменения на лету?
Там же только OnEnable есть. Для того, чтобы запустить метод какой нибдуь, надо или туда пихать, или кнопки городить.
987 449398
>>49397
можно ли как-то свойство или индексатор сериализовать в кастомном инспекторе?
988 449421
>>42120 (OP)
Нуу всё, можно вкатываться. Наконец-то хоть что-то нормальное добавили
https://youtu.be/Fi9dHD7TTpY
989 449476
>>49421
Обновился, пошёл обмазываться.
990 449519
Есть спрайт оружия на персонаже для анимации. Хочу из него сделать иконку для инвентаря, для этого надо сдвинуть рамки у спрайта( сделать меньше).
Ручками для каждого предмета делать не хочу, хочу программно.
Есть инспектор скриптабл обжекта с предметом, есть два спрайта, начальный(для анимации персонажа, то что пойдет ему в руку) и тот, который хочу получить, на него в инспектроре превью прилеплено.
Пытаюсь создать второй спрайт от первого так:
SpriteIcon = Sprite.Create(SpriteOnPlayer.texture, new Rect(0, 0, SpriteOnPlayer.textureRect.width, SpriteOnPlayer.textureRect.height), new Vector2(v1, v2), 100, 0, SpriteMeshType.FullRect, new Vector4(border1,border2,border3,border4));

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

все
991 449533
>>49519
Сделай отдельный спрайт-превьюшку и не еби сам себе мозг.
992 449542
Эй, девелоперы, свеженький курс плюраслайта(лежит на персии) полная хуйня или для вкатывания норм?
993 449545
>>48993
>>49052
А вот и смежный вопрос подъехал.
Допустим, я хочу подсветить границы какого-то поля из гексов, причём только внешние. Как взрослые дядьки это делают? Первая мысль - разделить гекс на 6 "стенок", собрать подсвечиватель, который будет высчитывать, граничит ли гекс стенками с другими гексами из группы, и если нет, то подсвечивать не граничащие стенки.
994 449588
>>49545

> Первая мысль - разделить гекс на 6 "стенок"


Правильная мысль.
995 449607
Перекатывайте тред, геи.
sage 996 449630
Перекат >>449619 (OP)
997 449678
>>48788

>Есть 2 объекта.

image.png220 Кб, 1920x1037
sage 998 451487
>>48595
Ебаная хуйня не хочет видеть нажатие, што не так анон.
sage 999 451494

>хуюнити


>лучший


У моего друга Шалфея есть возражения
1000 452750
>>51487
Функцию в апдейт вызови.
1001 452752
>>51487
Я долбаеб, здесь дело в onMouseDown(), должно быть OnMouseDown().
>>52750-кун
1002 461347
Посоны, у меня такой вопрос.

Делаю мобильную игру по классической схеме с выбором уровней, которые различаются лишь декорациями/набором противников/доступным оружием (примерно как Angry Birds).

Разумеется нелогично было бы на каждый уровень делать отдельную сцену.

Как лучше организовать сам проект? Я так понимаю, что у меня будет 3 основных сцены: стартовый экран, экран с выбором уровня и сам уровень.

Соответственно, в сцену с уровнем мне нужно будет подгружать параметры: доступное оружие, фоновый спрайт, время и место появления врагов. Как это правильно сделать? Можно ли хранить набор параметров в отдельном массиве в контроллере (или в файле конфига) и при клике передавать в загружаемую сцену? Есть в Юнити какие-то нативные возможности?
Тред утонул или удален.
Это копия, сохраненная 17 августа 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски