Gamedev

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

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

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

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

FAQ

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

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

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

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

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

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

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

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

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

Обучение

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

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

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

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

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

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

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

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

Scripting: Camera.main is much faster to query.

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

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

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



Это как майкрософт пихала кучу костылей в ядро NT что бы какой-то там Sim City, эксплуатирующий недокументированное поведение своим говнокодом шёл.
Аноним 18/09/20 Птн 14:01:34 69943238
>>699392
в данном случае это не костыль и, честно говоря, я рад введению. но когда читал, то деда включил и примерно так же жаловался
Аноним 18/09/20 Птн 15:04:54 69944939
>>699392
>Это как майкрософт пихала кучу костылей в ядро NT что бы какой-то там Sim City, эксплуатирующий недокументированное поведение своим говнокодом шёл.
Подробнее, пожалуйста. Интересно было бы почитать.
Аноним 18/09/20 Птн 15:27:44 69946040
Аноним 19/09/20 Суб 22:08:30 69966441
aa1.jpg 7Кб, 600x400
600x400
aa2.jpg 23Кб, 600x400
600x400
Почему в нормальных играх cutout антиалиасится, а в юнити нет?
Аноним 20/09/20 Вск 10:09:23 69969442
huyunity.jpg 10Кб, 560x159
560x159
Зачем я только обновился с LTS до 2020.1 (даже не бета 2020.2), теперь в случайные моменты редактор зависает и только убийство процесса помогает.
Господи, почему в юните с каждым патчем появляются более жуткие баги...
Аноним 20/09/20 Вск 18:42:09 69981443
Как нужно делать карты для 2д игры?
Grid, Tilemap, все дела. по 1 размеру, никаких доп настроек. Заливка отключена в настройках. Стоило в 2 слоя покрасить 100x100 клеточек примерно(очень маленькая область), как все начинает дико зависать, то есть не не в процессе игры, а именно становится невозможно дальше оперировать редактором с этой сценой, на которой только один Grid с Tilemap-ом.

Я, конечно, знаю много альтернативных решений, по типу генерации карты в реальном времени, прогружая кусками, можно как-нибудь напердолиться, но я думал раз уже все придумали до меня, раз есть редактор и такая возможность, то значит надо нарисовать всю карту, и там уже плясать от этого, активуруя объекты и двигая камеру. Все таки 100х100 и так лагать мне не дает покоя, я что-то не так понимаю, объясните плиз.
Аноним 20/09/20 Вск 22:08:53 69983844
Юнитач, хочу сделать так, чтобы в конце уровня игрок мог выбрать 1 из 3 случайных улучшений. Т.е в конце раунда на экране появляется UI на котором три кнопки - игрок нажимает одну из них и загружается следующий уровень.

Как сделать так, чтобы улучшения, которые предлагаются игроку, выбирались рандомно из пула?
Есть идея просто добавить их все как отключённые кнопки в UI и включать через foreach child'ы этого UI, пока их не включится 3. Но мне кажется есть вариант получше
Аноним 21/09/20 Пнд 05:47:30 69985645
>>699838
var getRandomIndex = UnityEngine.Random.Range(1, 3) -> вернет тебе индекс твоего улучшения. Потом: IEnchants[] enchants = заполняешь свой массив улучшений.
Потом: var randomEnchantment = enchants[getRandomIndex];
Потом: Передаешь на UI инстанс своего улучшения, для 3х на угад проделай это всё через цикл for.
>>699664
Вроде в редакторе он и не должен работать, нужно билд делать + с последними пайплайнами эту настройку вообще куда-то в другое место вынесли, в Players Settings что-ли.
>>699694
Оказалось я вместо if написал while и получил это из-за бесконечного цикла
>>699814
Честно - не понял, у тебя в редакторе тормозит или в игре?
Может на обоих слоях есть коллизия и там физика с ума сходит?
Если в игре - включи deepProfiler и глянь, че там жрет все мощностя твоего пеки.
У меня в 2019.4 1024х1024 на старом ноуте работало,выдовало больше 30 фпс во всяком случае
Аноним 21/09/20 Пнд 08:22:52 69986146
>>698843 (OP)

Ну че там, этот ваш дата ориен тированный подход в прод уже выкатили? Как там оптимизаторный гений из сонибляди наоптимизировал, летать стало?
Аноним 21/09/20 Пнд 08:33:34 69986347
>>699856
Редактор, говорю же. На сцене ничего кроме этого нет.
Никакой физики вообще, вообще ничего.

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

>1к на 1к на ноуте
На это буду ориенироваться, сяп.
Аноним 21/09/20 Пнд 21:33:13 69997648
>>698843 (OP)

18 сентября компания — разработчик движка Unity вышла на фондовую биржу. За первый день торгов она привлекла $1,3 млрд, а ее общая стоимость выросла до $18,1 млрд. Это на один миллиард больше, чем капитализация Epic Games.

Изначально разработчики Unity планировали выходить на рынок с ценами на акции по $34-42 за штуку, но позже повысили их стоимость до $44-48. Утром первого дня торгов акции были доступны к покупке за $52, а к вечеру выросли в цене примерно до $68.

Unity — движок, который может использоваться для создания игр в 2D, 3D и виртуальной реальности. На нём сделаны Fall Guys, ККИ Legends of Runeterra от Riot Games, платформер Ori and the Will of the Wisps, Subnautica, Escape from Tarkov, The Forest и другие популярные тайтлы. Компании, доход которых не превышает $100 тыс. в год, могут использовать Unity бесплатно.

Вот пидары, могли бы асетстор сделать бесплатным.
Аноним 21/09/20 Пнд 22:26:20 69998149
image.png 80Кб, 1015x602
1015x602
Сосонг, что такое Editor Loop?
Аноним 21/09/20 Пнд 22:37:18 69998250
>>699981
Рендер редактора юнити.
, 22/09/20 Втр 01:53:53 69999851
Где можно почитать, посмотреть пример годной архитекторы не совсем простой 2D игры? Делаю игру, но мучает ощущение, что путаюсь в сущностях и есть некоторая неконсистеность
Аноним 22/09/20 Втр 12:49:20 70000952
ананасы! последнее время страдаю каким-то ебаным декаплингом и разбиением на кучку скриптов и не знаю нужно ли так делать. начну с того что в основном всё что я делаю это 2д. привожу пример:

2д платформер
есть персонаж, он должен уметь ходить и прыгать

делаю скрипт с инпутом. он отслеживает нажатие кнопок и вызывает свои события например так:

>PlayerInput.cs
public event Action onJumped;
private void Update() {
if (Input.GetKeyDown("space")) {
onJumped?.Invoke();
}
}

этот скрипт вешается на песонажа и создаётся обработчик событий, например

>PlayerActions.cs
public void onJumped;
private void PlayerInput _input;
private void Awake() {
_input = GetComponent<PlayerInput>();
}
private void OnEnabled() {
_input.onJumped += Jump;
}
private void Jump() {
if (_isGrounded == false) {
return;
}
_rigidbody.velocity.y = 5;
onJumped?.Invoke();
}

как вы могли заметить тут есть точно такое же событие onJumped, но нужно оно для того чтоб к нему мог подключиться другой скрипт это событие уже вызывается после проверки, в данном случае _isGrounded; (стоит ли персонаж на земле)

и третий скрипт у меня отвечает за анимации

>PlayerView.cs
private void PlayerActions _actions;
private void Awake() {
_actions = GetComponent<PlayerActions>();
}
private void OnEnabled() {
_actions.onJumped += Jump;
}
private void Jump() {
GetComponent<Animator>().SetTrigger("Jump");
}

Отсюда вопрос: не слишком ли я всё усложняю? с одной стороны я могу добавить ещё скрипт который будет отвечать за стрельбу и он будет отдельным небольшим файлом, а с другой у меня получается очень дохуя мелких скриптов. не знаю стоит ли так дробить. и возможно делать такие связи через event Action не самая лучшая затея? есть у кого соображения на эту тему?
Аноним 22/09/20 Втр 14:34:34 70001653
>>700009
Оо, таким же шаблоном реализую логику, задаюсь теми же вопросами.
Как альтернатива смотрел https://m.habr.com/ru/post/281783/ - тип любой скрипт можно дёрнуть через дерево appkication>controller>...
Проще отследить, что на что завязано, но все как-то гвоздями прибито. Я ещё думал о dependency injection, но тут сложности с инъекцией конструктора у monobehavior из-за особенностей инициализации
, 22/09/20 Втр 16:56:06 70003454
>>700009
Ещё, как вариант, отдельный класс для рассылки сообщений. Оба класса чарактера подписываются на событие с конкретным названием, а плееринпут его бродкастит - все это происходит через Мессенджер. Мессенджер содержит список всех методов, которые подписались на это сообщение и вызывает их всех. И в итоге тебе не нужно отдельно из чар контроллера ещё вью дергать
Вот, кажется, пример реализации http://wiki.unity3d.com/index.php/Advanced_CSharp_Messenger
Аноним 22/09/20 Втр 19:25:30 70005355
OnCollisionEnter2D, как и Stay и Exit не работают
тот же Trigger работает идеально
Я rigidbody есть и там и там, тестировал разные типы, галка стоит\не стоит, область коллайдера нормального размера(иначе бы trigger не работал).
И тем не менее, OnCollision не работает, я уж думал он Deprecated, но нет.
Всегда обходился без него, а тут понадобилось сделать стенки, нужна информация о стороны с которой произошло столкновение, Collision.GetContacts то бишь. Но я не могу получить данные потому что сообщение OnCollision не работает.
Ломаю голову как определить сторону столкновения с OnTrigger. Сталкивался кто?
Аноним 22/09/20 Втр 20:17:48 70006356
>>700053
on trigger enter дает же коллайдер other со ввсей хуйней не?
Аноним 22/09/20 Втр 20:31:56 70006757
>>700063
Нет. \\This collider is attached to the Collision2D.otherRigidbody.
Trigger оповещает что дескать есть столкновение с чем-то, но он не надет данных о самом столкновении. Только само столкновение, логично, дает данные о столкновении.
https://docs.unity3d.com/ScriptReference/Collision2D.GetContacts.html
А для этого надо получить сообщение которое не работает ><.
Аноним 22/09/20 Втр 21:02:24 70007258
>>700067
я тож с on collision не работал
хуй знает, проверь чтобы ригибади был не кинематик

если тебе надо просто сторону с которой пришло столкновение то
vector3 direction = (other.transform.position - this.transform.position).normalized;
Аноним 22/09/20 Втр 21:57:45 70007459
Аноним 23/09/20 Срд 02:38:44 70010060
>>700074
рейкастик пульни тогда и получи точку, как чувачок там и предлагает
Аноним 23/09/20 Срд 06:28:49 70010561
>>700100
О, дошло, премного благодарен!
Аноним 23/09/20 Срд 06:56:25 70010662
>>700009
Чеб нет, но мне кажется сложно, обычно лучше делать ДЕКОМПОЗИЦИЮ вместо ДЕКАПЛИНГА т.к. композиция была был такой:
components = new IComponents[new OnJump(this), new OnShoot(this)];
и в update: components.ForEach(com => com.Update());
Плюсы: легко добавлять и удалять компоненты без анальной event += -=, придется использовать интерфейсы, а не реализацию, а значит эти же компоненты сможешь использовать для врагов (переиспользование короче)
>>700016
Я юзал DI, есть специальные для юнете, нашел на хабре заготовку и допилил под свои нужды.
>>700034
Медленно работает, так же как и GetComponent
Аноним 23/09/20 Срд 07:13:37 70010763
>>699976
Это ты пидор тупой, все юнитивские ассеты и так всегда бесплатными были, за бабки продаются аутсорсные авторские ассеты, это стимул независимым разрабам и художникам делать контент и высталвять его на продажу.
Аноним 23/09/20 Срд 09:34:07 70011464
UNET по дефолту выпилен из Unity 2019. И планируется быть замененным. Значит я зря сейчас читаю про мультиплеер в оф доках. Что сейчас использовать для создания мультиплеерной игры в юнити, аноны?
Аноним 23/09/20 Срд 09:45:45 70011665
>>700072
>>700100
Кстати нашел еще способ решения проблемы. Просто к объекту добавлять еще 4 объекта на каждом из которых будет по коллайдеру.
Аноним 23/09/20 Срд 10:08:33 70011966
>>700106
Почему медленно? Просто лист с ссылками на конкретные методы дергается
Аноним 23/09/20 Срд 10:12:37 70012067
>>700106
Про Di и хабр - это где инъекция свойства? Там ж все вручную?
Аноним 23/09/20 Срд 12:24:52 70015368
есть задача сохранять кучу мелких спрайтов в текстуру. на пол проливается много кровищи и после того как я спрайт лужи растянул хочу сохранять его в текстуру пола и сам спрайт удалять ибо память надо экономить. подскажете в какую сторону смотреть?
Аноним 23/09/20 Срд 12:44:13 70016569
>>700119
Ты же про Broadcast(string, object[] args)?
У нас тут конвертация CLR в C++, вызов нативных методов, потом обратная операция C++ в CLR, потом CLR.PInvoke, большая цепочка для "простого" метода.
По сути гет компонент делает тоже самое, только yourComponent.GetType().Name ищет в своих внутренностях, из-за этого и медленно.
>>700120
я взял https://github.com/yaroslav-gurilev/UnityDI за основу и дописал его под свои нужды (все классы поменял на структуры, убрал всю рефлексию, может еще что-то делал) .
Автор этой репы советует взять https://github.com/Cryofortress/CryoDI его уже не пробовал.
Есть еще забугорная DI Zenject, но лично я не люблю брать оргмоные фреймы и использовать их в слепую, иногда вылазят проблемы из-за которых весь проект потом переделывать приходится.
>>700153
Это всё динамически должно происходить?
Просто так менять спрайт нельзя, UV остается тем же.
Если я правильно понял тебя - тебе нужно mesh.GetVerticies() - считать расстояние между точек, чтобы понять размер нужной тебе текстуры. Создаешь эту текстуру через new Texture(width,height), у этого же объекта есть методы setPixel и рисуешь.
Так же у юнете есть стандартные методы а ля getPointPositionOnTexture что может упростить тебе жизнь
>>700114
Тоже думал, взял colyseus, из минусов - встречаются баги т.к. пилится парой бразильцев.
Можешь взять фотон (как, видимо, делают все), а можешь подождать пару лет и возможно выйдет что-то новое для сети (но что они могут придумать? все уже придумано)
Аноним 23/09/20 Срд 15:19:21 70019970
>>700165
>Тоже думал, взял colyseus, из минусов - встречаются баги т.к. пилится парой бразильцев.
>Можешь взять фотон (как, видимо, делают все), а можешь подождать пару лет и возможно выйдет что-то новое для сети (но что они могут придумать? все уже придумано)

Я в интернете увидел советы использовать Mirror. Colyseus и Photon лучше?
Аноним 23/09/20 Срд 15:27:56 70020171
>>700165
>Просто так менять спрайт нельзя

мне спрайты менять не надо. надо их запекать в текстуру чтоб у меня не было огромного кол-ва спрайтов луж крови на сцене. наверное стоит добавить что сцена вся 2д
Аноним 23/09/20 Срд 18:02:52 70021072
Двощ спасай. Делаю мобилку, в эдиторе всё выглядит нормально, а на телефоне качество картинки очень сильно падает.
Аноним 23/09/20 Срд 18:39:11 70021773
>>700210
Это была проблема Unity Remote, скачал АПК, установил - картинка нормальная.
Другой вопрос - как сделать так, чтобы спрайты растягивались под разрешение экрана?
Аноним 23/09/20 Срд 19:58:14 70022074
150635-annotati[...].jpeg 35Кб, 550x449
550x449
кто знает как в URP сделать чтоб камера себя не очищала в каждом кадре? мне нужен Don't Clear на скриншоте, только для URP
Аноним 23/09/20 Срд 20:11:43 70022175
>>700220
ну или что-то в том духе. у меня есть текстура на которую рендерится одна из камер. там система частиц выдаёт частицы разного цвета и они должны намазываться на предыдущие создавая относительно психоделический эффект
Аноним 23/09/20 Срд 20:27:49 70022276
Аноним 23/09/20 Срд 20:32:53 70022577
>>700222
>Зачем тебе URP?
испльзую shader graph и vfx graph
Аноним 23/09/20 Срд 22:04:48 70023178
Посоны, подскажите с вопросом. Есть NavMeshAgent в сцене, двигается в точку нажатия мышкой. Как детектить его прибытие в точку назначения? Мне нужно, чтобы после остановки проигрывался звук и менялся цвет, но я не могу понять, как прописать завершение движения.
Аноним 23/09/20 Срд 22:40:49 70023479
image.png 30Кб, 557x409
557x409
Юнитач, есть сцена пикрелейтед. По нажатию кнопки корабль должен устанавливать таблетку под собой в центре условной клетки, если эта клетка пустая. Функционал установки таблетки должен быть реализован через работу с координатами коллайдеров астероидов, находящихся вокруг корабля. (пересечение коллайдеров)

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

да, юнитач, это ТЗ, с меня тонны нефти
Аноним 23/09/20 Срд 22:45:22 70023580
>>700234
> как это
способов много, начни делать монолитно, как станет тяжело читать сразу начнешь разгребать функционал
Аноним 23/09/20 Срд 22:58:57 70023781
>>700235
>способов много
Ну, мне нужна наводочка хоть на какой, потому что голова уже вообще не варит.
Аноним 23/09/20 Срд 22:59:39 70023882
>>700234
а нахуя тебе знать координаты коллайдеров если ты просто можешь округлять положение таблетки?

типа:

Vector3 spawnPosition = new Vector3(Mathf.Round(ship.transform.position.x), Mathf.Round(ship.transform.position.y), 0f);

Instantiate(pillPrefab, spawnPosition, Quaternion.identity);
Аноним 23/09/20 Срд 23:03:16 70023983
>>700238
По условиям ТЗ нужно сделать именно так, если бы не это я бы уже давно закончил
Аноним 23/09/20 Срд 23:06:54 70024084
>>700239
я просто не пойму, типа корабль может залетать на астероиды и тогда нужно делать проверку? или таблетка может быть установлена только между двумя астероидами?
Аноним 23/09/20 Срд 23:10:20 70024185
>>700240
На астероиды корабль залетать не может, таблетку как я понимаю можно установить только рядом с астероидом
Аноним 23/09/20 Срд 23:14:02 70024286
Аноним 23/09/20 Срд 23:35:01 70024487
>>700242
Нужно чтобы таблетка ставилась ровно посередине в центре условной координаты, даже если корабль стоит чуть сбоку. И нужна проверка не стоит ли уже на этой координате таблетка.
Аноним 23/09/20 Срд 23:40:44 70024588
>>700244
ну тогда делай как я выше писал
Vector3 spawnPosition = new Vector3(Mathf.Round(ship.transform.position.x), Mathf.Round(ship.transform.position.y), 0f);

это округлённая координата твоего корабля.

и делай Physics2D.CircleCast на этой же координате. только не забудь исключить слой с самим кораблём. тебе Physics2D.CircleCast сообщит были ли там коллизии и если их нет, то ставь таблетку
Аноним 23/09/20 Срд 23:45:13 70024689
>>700245
Проблема в том, что все астероиды стоят с небольшим смещением по X координате, поэтому каждый из них чуть правее\левее и при округлении таблетки ставятся не на нужную координату, а со смещением На пике этого не было видно, я проебался чутка
Аноним 23/09/20 Срд 23:57:06 70024890
16008900507630.png 27Кб, 557x409
557x409
>>700246
а зачем так сделано? сделай верно. как тебе ещё вычислить координату Х? например в этом положении у тебя рядом только один коллайдер и тут в лучшем случае можно получить Y ко коллайдеру
Аноним 23/09/20 Срд 23:59:55 70024991
>>700248
Ну я же говорю, такое ТЗ, нужно чтобы они стояли со смещением. Если хочешь дай ТГ - скину тебе его полностью, чтобы понятней было.
Аноним 24/09/20 Чтв 00:03:01 70025192
>>700249
а сюда кинуть нельзя чтоль? хуле мне тут свой тг палить
Аноним 24/09/20 Чтв 00:14:47 70025593
image.png 34Кб, 739x393
739x393
>>700251
Как-то так. + все астероиды смещены в сторону, пикрил.
При нажатии на правую часть экрана, корабль должен устанавливать таблетку. (DONE)

Таблетка может быть установлена только в пустую клетку

Таблетка должна быть установлена в середину клетки.

Функционал установки таблетки должен быть реализован через работу с координатами коллайдеров камней, находящихся вокруг корабля (пересечение коллайдеров)
Аноним 24/09/20 Чтв 00:29:45 70025794
16008956888860.png 36Кб, 739x393
739x393
>>700255
если я верно понял, то пустые клетки это те что я отметил красным. тогда делается следующим образом:

тебе нужно сделать Physics2D.CircleCast из положения своего корабля с радиусом который может захватить 4 астероида, но не больше (синий круг). тут нужно не забыть, что нужно использовать contactFilter чтоб игнорировать сам коллайдер корабля, иначе корабль будет возвращаться в результате коллизий тоже

CircleCast возвращает int значение с кол-вом коллайдеров с которым он взаимодействует и ещё заполняет массив RaycastHit2D[] всеми хитами.

тебе нужно чтоб CircleCast вернул 4 и чтоб все коллайдера были астероидами. для нубского варианта прокатит и по тегу проверка.

таблетку ты будешь ставить по координатам хитов (x1 + x2 + x3 + x4) / 4 и (y1 + y2 + y3 + y4) / 4 и тогда она будет точно там где красная точка
Аноним 24/09/20 Чтв 00:39:40 70025895
>>700257
Завтра уже как проснусь попробую, спасибо.
Аноним 24/09/20 Чтв 05:41:36 70026296
>>700199
Колизеусом я сейчас пользуюсь и он мне нравится больше чем стандартное юнете решение.
На фотоне уже тонна игр сделана и туториалов, будет легко разобраться.
>Mirror
Ага, видел что советуют, сам не пользовался, можешь попробовать

>>700201
Я хотел сказать, что если ты создашь спрат с размерами 1,1,1 и отскейлишь его до 2,2,2 тебе нужо будет посчитать world distance т.к. текстура будет мылиться
Аноним 24/09/20 Чтв 07:01:21 70026697
>>700153
DECAL
E
C
A
L

https://docs.unity3d.com/ru/530/Manual/shader-NormalDecal.html

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

Перезаписывать текстуру через интеграцию спрайта еще больше говна поешь, т.к. сначала придется спрайт переводить в текстуру, потом перезаписывать саму базовую (фоновую) текстуру. Охуеешь от того как это ресурсоемко, особенно если фоновая текстура имеет большое разрешение.
Аноним 24/09/20 Чтв 07:03:50 70026798
>>700217
Screen.width даст ширину экрана, под него подгончешь спрайт.
Аноним 24/09/20 Чтв 07:07:41 70026899
>>700231
Вешаешь скрипт на объект который двигается, в нем запоминаешь ссылку на объект NavMeshAgent, в скрипте в апдейте сравниваешь NavMeshAgent destination с положением объекта с каким-то округлением, если положение совпало делаешь свои грязные вещи. Ну еще как-то нужно фильтровать что объект не сдвинулся с последней точки которой он достиг, думаю сам придумаешь.
Аноним 24/09/20 Чтв 08:11:12 700271100
>>700231
if(navAgent.remainingDistance < 0.1){
navAgent.stop();
PlaySound();
}
Аноним 24/09/20 Чтв 11:53:01 700274101
Аноним 24/09/20 Чтв 12:46:53 700276102
>>700257
Можно как-то через ContactFilter игнорировать все, кроме астероидов?
Пробовал сделать через filter.layerMask = AsteroidLayerMask, но дебаг всё равно показывает коллизию и с игроком, и с границами поля. Не совсем понимаю как ContactFilter работает, а мануал не спасает
Аноним 24/09/20 Чтв 12:53:53 700278103
>>700276
Только написал и сам разобрался
Аноним 24/09/20 Чтв 16:23:06 700295104
image.png 14Кб, 380x191
380x191
Сосонг, как установить поддержку Android 4.2+?
Или я что-то не понимаю и Android 4.4 будет поддерживать и меньшие версии?
Аноним 24/09/20 Чтв 16:49:20 700297105
Два вопроса юнити господам. У меня прила на юните. То есть полный аналог андроид материала, только на юнете. Меня волнует
1)Почему фпс падает при переходе с 2019.2 на более новые версии? Рили печёт с этого.
2)Кто-нибудь уже работал с on demand rendering api? Как оно? Я делал тесты, и не скажу что батарея очень сильно экономится.
Аноним 24/09/20 Чтв 17:08:42 700299106
Аноним 24/09/20 Чтв 17:35:01 700300107
>>700257
>таблетку ты будешь ставить по координатам хитов (x1 + x2 + x3 + x4) / 4 и (y1 + y2 + y3 + y4) / 4
Почему-то вычисляются пивот поинты, не могу понять как изменить на центр. Бтв работает, спасибо.
Аноним 24/09/20 Чтв 17:43:46 700301108
>>700300
>Почему-то вычисляются пивот поинты
вроде пивотпоинты обычно и являются центрами, но если тебе нужен центр коллайдера, то в массиве RaycastHit2D[] у каждого элемента ты можешь взять .collider.bounds.center
Аноним 24/09/20 Чтв 22:40:16 700340109
у меня на сцене много юнитов, ну например 5000, и они идут в сторону башни. башня должна атаковать ближайшего юнита. 5000 опросов дистанции в кадре это очень тяжело для мобилы. есть клёвые варианты решения этой проблемы?
Аноним 25/09/20 Птн 05:25:28 700355110
>>700340
Если у тебя все 5000 солдат в массиве или листе - нет, не сложно, твой компик миллиард таких операций делает в секунду.
А если очень хочется, можешь посмотреть на Unity.Jobs - звучит как то, что тебе нужно - будет паралельно на всех потоках считать дистанцию
Аноним 25/09/20 Птн 08:25:11 700358111
>>700340
У башни очевидно есть дальность стрельбы? Значит делаем радикальный таргет и опрашиваем только тех кто в него вступил. Если юниты движутся с одной скоростью то ещё лучше, просто записываем по очереди всех юнитов которые старгетились и по этой же очереди потом их расстреливаем.
Аноним 25/09/20 Птн 12:43:52 700368112
>>700340
Сортированый список, от ближайшего к дальнему
Аноним 25/09/20 Птн 18:11:23 700580113
>>700355
к сожалению это не так. собери простой проект, сделай инстансы спрайтов и считай между ними расстояние. ты удивишься как быстро начнёт загибаться приложение

>>700358
что такое радикальный таргет? юниты движутся не с одной скоростью

>>700368
мне этот список сортировать же постоянно надо, следовательно в каждом кадре нужно замерять расстояние

пока что я сижу читаю про quadtree, но похоже что и этого мало. есть вариант с расчётом дистанции внутри compute shader, но это на данном этапе слишком сложно

Аноним 25/09/20 Птн 19:23:48 700604114
>>700580
Для дохуища объектов как раз и придумали всякие ECS и Jobs. Или используй их, или терпи слайд-шоу. Никаких заклинаний не существует.
Аноним 25/09/20 Птн 19:26:14 700605115
>>700340
мне кажется можно разбить на клетки игровое поле
так збс и столкновения находить, и для твоей задачи тоже ок
Аноним 25/09/20 Птн 19:42:10 700606116
Сколько платят за 30 секундный рекламу без скипа за снг пользователя?
ПРОБЛЕМКА Аноним 25/09/20 Птн 22:50:26 700617117
Безымянный4.png 24Кб, 721x544
721x544
Безымянный5.png 147Кб, 1323x673
1323x673
Сап двач, почему у меня Unity обратно не меняет размер объекта? По логике же всё отлично вроде как
Аноним 26/09/20 Суб 00:05:55 700618118
>>700617
Добавь else перед вторым if'ом.
У тебя он выполняется сразу же после первого if'а
Аноним 26/09/20 Суб 15:18:43 700658119
>>700618
Так странно, вчера пробовал с else, и тоже ничего не работало. А сейчас решил перепроверить, перед тем как тебе написать, и вдруг внезапно всё заработало

Люблю программирование. Спасибо всё равно
Аноним 26/09/20 Суб 15:26:27 700660120
>>700618
Но почему с if не работает? По идее он же должен одно из этого выполнять, так как они противоположны
Аноним 26/09/20 Суб 16:27:13 700665121
>>700660
в первом иф устанавливаешь значение в true, и во втором сразу же проверяешь
Аноним 26/09/20 Суб 17:30:54 700674122
>>700665
Но ведь если в первом if будет true, то во втором if будет false по условию. И наоборот: если в первом false, то во втором true

Разве не должно в таком случае выполняться только одно из условий?
Аноним 26/09/20 Суб 18:20:30 700676123
>>700617
Поясняю -

if(cubeisbig)
{
Если bool - true выполняем эти действия
}
else
{
Если bool - false эти
}

Всё, тут нечего ебаться, одновременно они никак не могут выполниться даже если во время тика произойдёт изменение этой самой bool.
Боже хотя бы основы программирования изучили, или хотяб уроки с ютуба поделали, основы основ же.
Аноним 26/09/20 Суб 18:20:57 700677124
>>700674
В первом if ты ставишь cubeisbug = true, после него сразу выполняется второй if, который принимает твое cubeisbug = true и возвращает к cubeisbug = false.

Если во втором добавишь else if (или просто else) - оно не будет выполняться, если выполнилось действие до него

прим.
if (оп = хуй)
{
оп != хуй
}
else if (оп != хуй)
{
оп = хуй
}


Если оп у нас хуй, то выполнится первое действие, а второе - нет. Если же тут будет if + if, то выполнится сначала первое, потом второе.



Аноним 26/09/20 Суб 21:02:49 700693125
Не очень понимаю, как корректно организовать взаимодействие сущеностей. Как лучше организовать архитектуру, чтобы норм было? Есть какая-то обучающая инфа по архитектуре всего проекта?
Аноним 26/09/20 Суб 21:05:15 700694126
1026061260.jpg 279Кб, 838x1200
838x1200
>>700693
SOLID тебе в помощь.
И пикрилейтед.
Аноним 26/09/20 Суб 21:12:28 700696127
Аноним 26/09/20 Суб 21:43:01 700698128
>>700674
ты в первом ифе условие меняешь а
саму переменную меняешь, которую потом проверяешь
Аноним 26/09/20 Суб 21:46:21 700699129
Аноним 27/09/20 Вск 07:03:07 700736130
Анончик, тут назрел такой вопрос

У меня есть нерабочий скрипт foo.cs (на самом деле у меня там сотни таких скриптов - это древний ассет, который на новой юньке не работает - но там много того что мне подходит, куда я смотрю).

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

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

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

Я просто заебался два проекта юнити запускать. Ноут, неудобно, да еще и тормозит.
Аноним 27/09/20 Вск 07:34:38 700738131
>>700736
В самое начало скрипта пишешь "#if false", а в самый конец "#endif"
Аноним 27/09/20 Вск 08:25:34 700741132
>>700736
Если файлов много, то можно попробовать добавить в начало названия папки, где они лежат добавить "~" или ".", тогда юнька их будет игнорировать
Как убрать шлейф за синим прицелом? Аноним 27/09/20 Вск 16:49:42 700786133
x.mp4 7448Кб, 1840x1024, 00:00:09
1840x1024
Как убрать шлейф за синим image? ничего не гуглится.
Аноним 27/09/20 Вск 17:03:43 700788134
>>700786
думаю это твой ебучий монитор
Аноним 27/09/20 Вск 17:09:45 700789135
>>700788
Я же видео записал на компе а не с монитора
Аноним 27/09/20 Вск 17:10:43 700791136
>>700789
дык у меня шлейфа на твоём видео и нет
Аноним 27/09/20 Вск 17:12:09 700792137
>>700791
ну проскакивает слева справа от синих штук - видно же
Аноним 27/09/20 Вск 17:13:38 700794138
>>700792
у меня на экране ничего не проскакивает, потому я и думаю что это твой ебучий монитор
Аноним 27/09/20 Вск 17:19:13 700796139
>>700792
Бля, да походу монитор ебучий - посмотрел на паузе
Аноним 27/09/20 Вск 19:14:30 700823140
Аноним 27/09/20 Вск 23:38:56 700844141
transparent.png 798Кб, 2141x1232
2141x1232
Почему материал с прозрачной текстурой не отбрасывает тень?

У юнити уже имеется такая встроенная фича?
Аноним 28/09/20 Пнд 02:37:26 700849142
hdrp.png 902Кб, 1963x742
1963x742
Короче это работает только в HDRP режиме с флажком Alpha Clipping
Аноним 28/09/20 Пнд 11:31:16 700886143
>>700340
ECS + JOBS. Со столь объемным массивом объектов только так, придется изучать эту область. Но работать будет заебись.
Аноним 28/09/20 Пнд 11:51:02 700887144
Есть три класса: Incel, Listva, Sich, которые наследуют от общего класса Dvacher, который наследует от монобихевиора.

Класс двачер имеет открытые поля и абстрактный метод PuknutVTred().

Каждый из трех классов имеет свои уникальные поля и методы.

Реализуемый метод PuknutVTred вызыватся во всех экземлярах классов инцел, листа и сыч через цикл по списку типа Dvacher.

Вопрос - как из списка объектов Dvacher получить ссылки на объекты инфела, листвы и сыча?
Аноним 28/09/20 Пнд 12:24:05 700888145
>>700887
Загугли что такое интерфейсы, скорее всего это то что тебе нужно.
Аноним 28/09/20 Пнд 18:26:56 700938146
image.png 22Кб, 480x332
480x332
Аноним 28/09/20 Пнд 21:03:31 700979147
01.png 20Кб, 412x779
412x779
02.png 11Кб, 599x337
599x337
03.png 7Кб, 979x512
979x512
>>700887
Не сильно понял что тебе нужно. Это?
Аноним 28/09/20 Пнд 21:35:37 700982148
>>700979
нужно получить ссылку на объект, как там написано было. Т.е., я так понимаю, что речь идет о том, чтобы из листа dvachers по вызову индекса, например, dvachers[0] можно было вернуть экземпляр не родительского класса, а именно экземпляр класса Incel, т.к. он имеет индекс 0; по dvachers[1] получить экземпляр Listva и т.д.

Аноним 28/09/20 Пнд 23:09:09 700991149
>>700982
Ну в примере так оно и есть. Так как ты не знаешь, какой именно наследник находится по данному индексу, нужно делать проверку через is.
Аноним 29/09/20 Втр 06:01:20 701006150
>>700991
В примере не возвращается экземпляр класса, а вызывается метод в нем.
Аноним 29/09/20 Втр 06:14:22 701007151
>>701006
Так у тебя есть ссылка на него, делай с ним что хочешь, хоть метод вызывай, хоть в рот еби.
Аноним 29/09/20 Втр 12:39:11 701087152
image.png 357Кб, 600x337
600x337
как сделать такую яркую картинку?
Аноним 29/09/20 Втр 14:26:13 701133153
>>701087
Использовать такие яркие цвета.
Аноним 29/09/20 Втр 17:58:02 701300154
01.png 12Кб, 1073x638
1073x638
У меня есть условная платформа, которая рандомно скейлится на Instantiate(). Я хочу, чтобы она использовала тайлящийся спрайт, но изменение скейла объекта в трансформе растягивают его, а не тайлят, даже если в спрайт рендере включет тайлинг.
Вопрос: как можно имплементировать скейлозависимый тайлинг спрайтов?
Желательно легковесный на ресурсы, это гиперказуалка на мобилки.
Аноним 30/09/20 Срд 00:36:56 701383155
Привет, двач. Сегодня начинаю изучать юнити и постепенно делать на нем небольшую 2D стратегию. Eсли что, поможете? Я знаю C# более-менее, но игры на нем никогда не писал (только "змейку" в System.Drawing).
Аноним 30/09/20 Срд 13:23:09 701416156
>>701383
>Сегодня начинаю изучать юнити и постепенно делать на нем небольшую 2D стратегию
И ты уже обосрался с масштабом.
Если уже делал змейку, то сделай её ещё раз, но на юньке. А ещё лучше понг. А потом простенький платформер или раннер. А потом тетрис.
Стратегии это невъебенно сложный жанр требующий понимания движка которое приходит спустя месяцы дроча.
Аноним 30/09/20 Срд 13:46:10 701420157
>>701416
Понг только что закончил делать, по туториалу. Моя "стратегия" - это игра наподобие Plants vs Zombies, по которой тоже есть туториалы, причем даже не высокого уровня (180 строк кода).
Аноним 30/09/20 Срд 18:56:47 701476158
>>700886
я написал quadtree и моя проблема ушла. поднял фреймрейт с 20 до 110
Аноним 30/09/20 Срд 19:58:24 701483159
Есть годные туториалы которые учат делать менюшки? Желательно с кучей вкладок и сменяймых окон
Можно на английском
Аноним 02/10/20 Птн 06:56:02 701695160
У меня есть юниты и соответственно компонент их характеристик. Статы у юнитов различаются. Это нормальная практика, когда изменения в характеристиках прописаны в самой иерархии объектов?
Я просто не представляю как это сделать скриптово. Разве что сделать один компонент уникальный для каждого юнита, а второй, общий, будет перенимать из него статы. (Сам задал вопрос, сам ответил)))) Но все равно хочу услышать ваше мнение по поводу практики и как лучше делается это.
Аноним 02/10/20 Птн 09:00:00 701698161
>>701695
Создаётся скрипт база всех юнитов(характеристики), при создании юнита от туда по его id назначаются нужные характеристики, это самое лучшее решение. Если же у каждого юнита свой скрипт с назначение, это тоже решение но намного хуже оптимизированное, и сложнее отлаживаемое.
Аноним 02/10/20 Птн 09:21:56 701701162
>>701698
Я правильно понимаю, если у меня на один юнит примерно 30 характеристик, всего юнитов 10, то в скрипте-базе должно быть 300 строчек характеристик?
Аноним 02/10/20 Птн 09:27:02 701702163
>>701701
>создаешь один скрипт с хар-ками через [serializedField]
>вешаешь на всех юнитов
>настраиваешь через инспектор
>сохраняешь префабы
>???
>Profit
Аноним 02/10/20 Птн 09:46:59 701704164
>>701702
А, то есть все таки через инспектор\иерархию.
Ладно, спасибо, главное не запутаться.
Аноним 02/10/20 Птн 09:52:54 701705165
>>701704
Ну это самый простой вариант. Можешь конечно сделать один скрипт не совсем понимаю что тебе пойдёт, но думаю подойдёт скорее интерфейс, чем монобехейвер и в скрипте каждого юнита задавать ему в старте через ID юнита (который ты тоже сам ему присвоишь) его хар-ки, но как по мне это куда геморней и проще и быстрей уже будет через инспектор
Аноним 02/10/20 Птн 10:04:37 701707166
Аноним 02/10/20 Птн 12:05:15 701742167
Аноним 02/10/20 Птн 13:01:06 701773168
Анон, как вы дебажите под iOS? Это ж пиздец гемор по сравнению с ведром, или я что-то не то делаю?
Аноним 03/10/20 Суб 11:59:30 701958169
Аноним 03/10/20 Суб 13:07:15 701969170
>>701133
Чёт кекнул с ответа.
Аноним 03/10/20 Суб 17:45:57 701990171
>>701958
Нахуй ты мне это говно скинул, дебик?
Аноним 03/10/20 Суб 18:06:42 701992172
у меня пена ротом уже идёт. это вообще возможно нарисовать свой растровый шрифт и использовать textmesh pro? я нарисовал в фотошопе буквы и цифры которые мне нужны, а как впердолить это в tmp я ниебу. вроде там можно генерить шрифты из ttf, но как сгенерить ttf из изображения тоже нихуя не пойму. помогите аноны
Аноним 03/10/20 Суб 20:31:44 702009173
Посоны, совет нужон. Есть scriptable object класс модификация, он содержит тип слота в который ставится и массив характеристик, а также некоторые другие параметры, но не суть. Этих модификаций предвидится большое количество, и надо как-то их организовать в нечто вроде картотеки, чтобы например мастерская первого уровня могла просто и без индусского кода получить все модификации первого уровня и показать их игроку например.

Можно конечно вручную создать класс базы данных модификаций и заносить туда лапами каждую по одной, но это пиздец! А если я удолю одну, то надо будет и лезть в базу и там выпиливать вручную ее упоминание. А если будет сто модификаций, а если 500? Надо как-то автоматом закидывать модификацию в массив в базе при создании и выпиливать ее оттуда тоже автоматом если она удаляется, ну и апдейтить, когда я меняю ее характеристики. Можно как-то такое организовать?
Аноним 03/10/20 Суб 22:54:29 702012174
>>702009
Ну да, организовать такое как-то можно
Аноним 04/10/20 Вск 11:18:16 702031175
Я правильно понимаю, что порядок вызова Awake и OnEnable сохраняется только для конкретного скрипта на объекте?

Если на одном объекте 2 скрипта с Awake и OnEnable. То после активации объекта сначала в одном скрипте вызовется Awake->OnEnable, а потом в другом Awake->OnEnable.

Но как быть, если в Awake происходит инициализация скриптов и при этом один из скриптов зависит от другого? Хули эти пидорасы из юнити не сохранили порядок вызова на уровне объекта.
Аноним 04/10/20 Вск 11:32:06 702032176
>>702031
неправильно понимаешь
Awake при создании обьекта, OnEnable перед первым кадром
Аноним 04/10/20 Вск 11:39:55 702033177
>>702032
Сейчас вот такой порядок вызова:
Script_1.Awake()
Script_1.OnEnable()
Script_2.Awake()
Script_2.OnEnable()
Script_3.Awake()
Script_3.OnEnable()

Script_1.Start()
Script_2.Start()
Script_3.Start()

Но что, если Script_1 зависит от Script_2. И Script_1 в OnEnable ожидает, что Script_2 уже инициализировался. Но на деле же, в Script_2 метод Awake всё ещё не был вызван. Поэтому придётся делать инициализацию по запросу, что неудобно.
Аноним 04/10/20 Вск 11:43:29 702035178
>>702033
а, перепутал OnEnable со Start, но что мешает использовать старт в таком случае?
Аноним 04/10/20 Вск 11:47:04 702036179
>>702035
Это относится к интерфейсу. Игрок нажимает кнопку, включается окно с его инвентарём. То есть задаётся Active объекта, а далее скрипты через OnEnable отображают контент.
Аноним 04/10/20 Вск 12:27:19 702038180
image.png 56Кб, 628x527
628x527
Аноним 04/10/20 Вск 12:34:20 702039181
изображение.png 9Кб, 578x643
578x643
изображение.png 39Кб, 729x279
729x279
Уже несколько дней ломает, как сделать UI по макету пикрил. Есть область вывода записей. Каждая запись это объект UI с названием и областью для вывода записей потомков. Каждая вложенная запись также имеет область вывода записей-потомков. Я им ставлю vertical layout group, и потомки нормально выводятся лесенкой, но записи одного уровня вложенности выводятся неправильно. Они должны учитывать размер друг друга, а они лепятся поверх вложенных, на расстоянии, определенном в vertical layout group - spacing.

Как сделать так, чтобы вложенные элементы каждого элемента включались в расчет его высоты?
Аноним 04/10/20 Вск 12:40:42 702040182
>>702039
Посмотри компонент ContentSizeFitter.
Аноним 04/10/20 Вск 12:55:45 702041183
А, и LayoutElement, если ты его не заметил.
Аноним 04/10/20 Вск 14:33:22 702048184
Такой вопрос:
Есть класс для разных уровней mvc:
- В модели храню данные
- В контроллере описываю логику
- В вью пытаюсь иметь только связь с геймобъектами и, возможно, анимацией.

Как взаимодействовать слоям между собой? Как взаимодействовать разным игровым объектами между собой?

Контроллер должен хранить ссылку на экземпляр модели и вьюхи?

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


Аноним 04/10/20 Вск 14:41:53 702050185
>>702048
И более того - как взаимодействовать со всякими контроллерами\менеджерами ui, звука и тп?
Аноним 04/10/20 Вск 14:42:56 702051186
>>702048
>MVC
Ты уверен, что тебе нужны все эти извращения из Веба? Как по мне, так они только усложняют проект, усложняют отладку.

Тебе нужно почитать про Dependency Injection в реалиях юнити. Посмотреть аналог Service Locator'a для юнити.

- Model: какой-нибудь интерфейс, через который ты получаешь данные. Реализовывать его может ScriptableObject.
- Controller: скрипт, который запрашивает интерфейс репозитория через сервис локатор и потом получает нужные данные.
- View: ещё один скрипт, который привязан к геймобджектам на сцене. Контроллер ему говорит, у игрока 10 HP, а скрипт вьюшки выводит его уже на конкретный Text компонент и изменяет Progress Bar.
Аноним 04/10/20 Вск 14:55:26 702054187
>>702051
>Ты уверен, что тебе нужны все эти извращения из Веба?
Честно говоря, нет, ищу что-то оптимальное. По началу было, норм, сейчас уже есть какая-то путаница и неконсистентность.
Есть какой-нибудь пример\статья по адекватному построению в юнити?

>Тебе нужно почитать про Dependency Injection в реалиях юнити. Посмотреть аналог Service Locator'a для юнити.
Есть ли примеры? Я слышал, что специальные DI контейнеры для юнити такие себе.

Спасибо!
Аноним 04/10/20 Вск 15:10:49 702057188
>>702054
>Есть какой-нибудь пример\статья по адекватному построению в юнити?
Посмотри многочисленные видео по запросу "unity architecture". Есть много докладов от самих разработчиков Unity. Посмотри "Unite Austin 2017 - Game Architecture with Scriptable Objects" и "Unite 2016 - Unity Architecture in Pokémon Go".

Ещё чужой код полезно смотреть.

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

Может если ты приведёшь конкретные примеры для которых нужно продумать архитектуру, то я смогу что-нибудь посоветовать.
Аноним 04/10/20 Вск 16:31:41 702066189
изображение.png 51Кб, 1040x663
1040x663
>>702057
Спасибо большое за помощь!

Вкратце вот пример:
Есть игровой персонаж. Есть комнаты, в одной из комнат находится телевизор. Игрок может его включить.тогда тв издает звук. Если Тв включен, но находится не в одной комнате с игроком, тогда тв звучит тише.

Сейчас реализовано так:
Есть базовый класс Interactable, все производные классы от него(например, включение тв или переход в другую комнату) бродкастят сообщение, о том, что действие возможно и передают в сообщении экземпляр класса, который соответствует конкретному действию (переход в другую комнату, включение тв и тп).
Подписчики - это, как правило, ui(который, отображает игроку, что действие доступно) и ActionExecutor, который управляет действиями. Как только ActionExecutor получает сообщение, он сохраняет его у себя и проверяет в update, была ли нажата кнопка , требуемая для этого действия (она хранится в самом классе действия).
Если да, то там большой ActionExecutor дергает нужные классы и инициирует действие. Вот тут и начинается путаница(См скрин 1), как он дергает остальные. Сейчас есть объект app, который содержит ссылки на остальные объекты (а остальные на него), часть через него. еще часть -через мессенджер.

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





Аноним 04/10/20 Вск 17:00:09 702068190
>>702066
На первый взгляд могу предложить такое решение.

1) Логика телевизора хранится в скрипте Televisor : MonoBehaviour. У него будет один метод внешний Turn(). Внутри нужно хранить ссылку на текущую комнату, которая владеет телевизором и ссылку на игровой мир. Игровой мир будет представлен синглтоном. Ссылку на комнату телевизора можно задать через инспектор, либо найти как-то так:
tvRoom = World.FindRoomOfObject(gameObject);

В методе Update делаем проверку:
if (tvRoom == World.CurrentPlayerRoom)
SetHalfVolume();
else
SetFullVolume();

2) На объект телевизора вешаем скрипт, который реализует интерфейс IInteractable.Interact(Character character). Скрипт должен содержать UnityEvent. Внутри Interact пишем:
onTrigger.Invoke();

Далее через инспектор вешаем на onTrigger вызов метода Televisor -> Turn().

3) Для взаимодействия игрока с объектом нужно запросить компонент:
var interactable = targetObject.GetComponent<IInteractable>();
interactable.Interact(this);
Аноним 04/10/20 Вск 18:00:01 702069191
Аноним 04/10/20 Вск 18:52:10 702074192
>>702068
Все-таки еще вопрос:
На смену комнаты завязано несколько событий:
1) Включение следующей и выключение текущей комнаты
2) Регулировался звук разных объектов (рассчитывается в зависимости от расстояния комнаты от текущей - т.е. метод должен дергаться каждый переход). Объекты могут менять по ходу игры.

Каждый объект должен сам заниматься этим всем или имеет смысл подписаться на сообщение, после которого будет запускаться соответствующий процесс?

Просто получается не единообразно, что все действия у меня резолвает ActionExecutor, а переход по комнатам - каждый по своему.
>В методе Update делаем проверку:
>if (tvRoom == World.CurrentPlayerRoom)
>SetHalfVolume();
>else
>SetFullVolume();

Есть ли смысл каждый апдейт дергать, если менять звук по факту нужно только при переходе из комнаты?
Аноним 04/10/20 Вск 19:40:38 702081193
Application.LoadLevel или SceneManager.LoadScene?
Аноним 04/10/20 Вск 20:30:06 702090194
>>702074
>Есть ли смысл каждый апдейт дергать, если менять звук по факту нужно только при переходе из комнаты?
Смысл в том, что это гибкое решение. Ты можешь легко его изменять или дополнять. Вдруг ты захочешь динамически изменять громкость в зависимости от дистанции. Или в зависимости от препятствий. А если игрок временно оглох? Ты ещё одно событие добавишь на этот случай? Или игрок зайдёт в звуконепроницаемую комнату. Ты всеми этими событиями связываешь себе руки.
Аноним 04/10/20 Вск 20:30:44 702091195
>>702081
>Application.LoadLevel
Уже устарел давно. Используй SceneManager.
Аноним 04/10/20 Вск 21:16:42 702092196
>>702090
Это аргумент, спасибо!
Аноним 04/10/20 Вск 23:50:26 702108197
Где и какие примеры готовых и адекватных игр в плане архитектуры можно посмотреть? Интернет выдает статьи с "make your first game"
Аноним 05/10/20 Пнд 15:00:42 702259198
>>702108
затрахался с этим вопросом, везде лепят в духе brackeys от балды и так что хуй потом добавишь новый функционал без батхёрта, НО! пришёл к выводу что куда полезней чем трахаться с этим вопросом в лоб, просто делать мелкие игры и через процесс приходит понимание куда и чего вставлять. за последний год код и архитектура стали в разы чище и лучше, но всё ещё есть пробелы
Аноним 05/10/20 Пнд 15:27:12 702267199
Аноним 05/10/20 Пнд 19:37:14 702333200
Inspirational g[...].mp4 20032Кб, 1280x720, 00:01:15
1280x720
Аноним 06/10/20 Втр 09:59:16 702381201
Аноним 06/10/20 Втр 11:35:07 702386202
>>702381
Почему это говно завирусилось? Интернет настойчиво мне кидает это название. Чем больше кидает тем больше я не хочу иметь дело с этим.
Аноним 06/10/20 Втр 12:04:52 702393203
trADzhldbj8.jpg 818Кб, 1920x1080
1920x1080
>>702386
Зря, очень аддиктивная гриндилка.
Похуй что клон ботвы, зато какой. Даже не клон, а развитие идей. Мне вот стилистика зельды не зашла, а тут прям то что надо, и вайфу есть, и боёвка продуманнее. Кое-что кастрировали конечно (физических паззлов например почти нет), но в угоду чему-то другому.
Настораживает что она фритуплей, но я наиграл 30 часов, каких-то пейволлов пока замечено не было. К тому же на старте дают до жопы кристаллов за регистрацию и последующие активности, за которые я выбил пару 4 персов, одного 5 и несколько пушек 4*. В принципе весь контент спокойно проходят и ф2п персами не юзая кристаллы вообще, но всё может поменяться в будущем.
Аноним 06/10/20 Втр 12:31:39 702401204
Аноним 06/10/20 Втр 15:04:56 702433205
>>702393
>Даже не клон, а развитие идей.
Какое же это развитие идей, если физон вырезали?
Аноним 06/10/20 Втр 15:46:29 702444206
>>702386
>Почему это говно завирусилось
Китайцы деньги блогерам и стримерам отсыпали
Месяц пройдет, все забудут
Аноним 06/10/20 Втр 20:29:12 702504207
Аноним 06/10/20 Втр 20:51:13 702505208
>>702386
>Чем больше кидает тем больше я не хочу иметь дело с этим.
Зря, постарайся избавиться от мыслей "мейнстрим параша, а я - нитакойкакфсе с уникальными вкусами", а то много хорошего и интересного пройдет мимо тебя.
Я в соседнем треде отписывался, почему это важная игра для юнити >>702406 →
Думаю, на сегодняшний день это самая технологически продвинутая и высокобюджетная игра на юнити, демонстрирующая на практике потенциал движка, до этого такого масштаба еще никто не делал.
Поправь меня, если есть более продвинутые/высокобюджетные игры на юнити.
Аноним 07/10/20 Срд 01:01:01 702533209
>>702505
>парашная китайская анимедрочильня с фирменным китайским бекдором "античитом"
>интересное
Ботнет залогинся.
Аноним 07/10/20 Срд 09:23:00 702554210
Destroy или DestroyImmediate?
Аноним 07/10/20 Срд 09:37:19 702555211
Аноним 07/10/20 Срд 09:43:07 702556212
>>702259
Лол, а ты чтотли был из тех долбаебов, которые без опыта разработки от а до я, пытаются сделать убийцу скайрима?
Аноним 07/10/20 Срд 10:10:58 702560213
>>702504
Охуительный подход к архитектуре. Надо чаще использовать скриптаблеобжект.
Аноним 07/10/20 Срд 10:28:21 702562214
>>702554
Второе в документации не советуют использовать.
Аноним 07/10/20 Срд 14:45:22 702598215
>>702554
Destroy убивает обьект только в самом конце кадра, когда все соотв. калбеки прилетели, т.е. на момент дестроя обьект все еще не нулл.
DestroyImmediate форсит флаг что обьект убит сразу на момент вызова, но может приводить к багам и не рекомендуется типо.
Аноним 07/10/20 Срд 20:02:23 702649216
Аноним 07/10/20 Срд 22:51:05 702681217
>>702555
на вики доступная статья есть. по сути ты разбиваешь объекты на группы в каждом кадре и опрашиваешь только нужные тебе группы тем самым очень сильно уменьшая кол-во запросов
, 08/10/20 Чтв 10:19:13 702719218
Какие обычно взаимоотношения у MVC классов?
Контроллер имеет ссылки на инстансы модели и вьюхи? В какой момент(и где) создаётся контроллер и модель? Как другие классы получают данные из какой-то модели или тригерят контроллер?
Аноним 08/10/20 Чтв 12:40:39 702735219
1.png 89Кб, 1440x900
1440x900
2.png 24Кб, 276x420
276x420
3.png 24Кб, 279x418
279x418
4.png 32Кб, 978x695
978x695
Аноны, ньюфаг нуждается в помощи.

Есть комната, состоящая из тайлов стен и пола. Каждой координате соответствует только один тайл, где нет тайлов геймобджектов нет вообще, это все я уже проверил - пик 1.

Настройки слоев, тагов и коллайдеров тайлов стены и пола на пиках 2 и 3.

На персонаже висит код, пик 4. В инспекторе для GroundFloor я выбрал соответствующий слой.

Но возникает ситуация, что персонаж не останавливается перед стенкой, а входит в стенку, но при этом когда он в стенке в следующий тайл стенки (слева или справа) он войти уже не может, только вернуться на тайл пола. Что я делаю не так?
Аноним 08/10/20 Чтв 12:41:46 702736220
5.png 90Кб, 1440x900
1440x900
>>702735

Пик с тем, как персонаж зашел в стену. При этом когда он уже в нее зашел все вроде как работает корректно, на другой тайл стены он не может сдвинуться, в область где тайлов нет вообще тоже, вернуться на тайл пола может.
Аноним 08/10/20 Чтв 13:11:59 702737221
>>702735
Если я не ошибаюсь, то условие для начала движение у тебя содержит проверку, что персонаж столкнулся с объектом с тагом walkable. Ну так на начало движения, если он находится не в клеточке со стеной, он и будет collision с объектом, у которого есть таг walkable. Мне кажется, нужно проверять, что он не сталкивается с объектом с тэгом notwalkable или что-то ьакое
Аноним 08/10/20 Чтв 13:13:16 702738222
>>702737
В смысле если он начинает движение в клеточке с полом
Аноним 08/10/20 Чтв 13:19:07 702740223
>>702737

Добавил стене тег unwalkable, сделал проверку tag. != "unwalkable", теперь он входит в стену и не двигается больше никуда.
Аноним 08/10/20 Чтв 13:21:20 702742224
>>702740
Так убери проверку с волкебл
Аноним 08/10/20 Чтв 13:23:10 702743225
Он сейчас у тебя двигается, только если волкебл касается
Аноним 08/10/20 Чтв 13:29:50 702745226
>>702743

Убрал. В общем как я понимаю, в чем проблема. Луч кастится и проходит через две клетки, клетку на которой есть персонаж, и клетку рядом по направлению движения. И если хотя бы на одной из этих двух клеток есть тайл с тегом волкабл, он позволяет движение. Именно поэтому можно зайти в стену, потому что перед этим ты стоишь на волкабл клетке. И именно поэтому нельзя двигаться внутри стены, потому что обе клетки получаются без тега волкабл. То есть нужно сделать луч, который и начинается и заканчивается на клетке рядом, не задевая клетку, на которой стоит персонаж.
Аноним 08/10/20 Чтв 13:33:06 702746227
>>70274
Зачем тебе проверка волкабл?
Ты ее убрал и после этого работает ожидаемо или нет?
Аноним 08/10/20 Чтв 13:34:39 702747228
>>702746

Не-а, доходит до стены, застревает в ней и даже не может вернуться.
Аноним 08/10/20 Чтв 13:42:10 702748229
>>702747
Можешь полное условие показать?
, 08/10/20 Чтв 13:50:57 702750230
Вощем, я бы предложил перенести проверку, что тэг не notwalkable в ты с проверкой, нажата ли кнопка
Аноним 08/10/20 Чтв 13:55:49 702755231
А вы какой порядок публичных полей для скриптов используете? Сначала у вас идут ссылки, а потом параметры, или наоборот?
Аноним 08/10/20 Чтв 14:29:39 702758232
Как в стандартном FirstPersonController сделать так, чтобы игрок когда останавливался, двигался еще какое-то время вперед. Не предлагайте Rigidbody Controller использовать, он вообще неудобный. Перепробовал все, продолжал движение игрока по таймеру, после отпускания W, но все это как-то убого и рывками выглядит, нужна ваша помощь.
Аноним 08/10/20 Чтв 14:35:43 702760233
>>698843 (OP)
Как создать копию лайтмапы в озу?
В случае Texture2D ltluma = LightmapSettings.lightmaps[0].lightmapFar получается ссылка на лайтмапу в видеопамяти. Соответственно, меняя содержимое ltluma, меняется и лайтмапа в видео. А надо иметь независимую копию, с каждым кадром которая будет складывается с мапой/текстурой самописного динамического света и только после этого записываться в видеопамять по адресу оригинальной лайтмапы. Эдакий динамический свет для видеокарт без пиксельных шейдеров, как было в первохл/ку/ку2.
Аноним 08/10/20 Чтв 14:43:21 702765234
>>702758
Ябысделол так. Принцип, надеюсь, поймешь, копипастить несоветую - дроч памяти. А вообще имхо хуёвая фича, создается ощущение симулятора катания на льду.

public float CharSpeed = 10.0f;
public float BrakeSpeed = 3.0f;
protected float acceleration = 0.0f;
Update()
{
if (Input.GetKey)
{
acceleration = CharSpeed;
}
if (acceleration > 0.0f)
{
move(dirrection,acceleration Time.deltaTime);
acceleration -= BrakeSpeed
Time.deltaTime;
}
}
}
Аноним 08/10/20 Чтв 15:14:58 702769235
>>702765
>А вообще имхо хуёвая
Дрочь какая-то получается, проще наверное будет повторять действия игрока какое-то определенное время, но у меня не получается, кто может посмотреть FirstPersonController из Standard Assets и скинуть сюда решение, буду благодарен.
Аноним 08/10/20 Чтв 16:54:03 702780236
>>702769
тебе скинули самое простое и стандартное решение
повторение намного сложнее и получится говно
Аноним 08/10/20 Чтв 17:17:50 702784237
15992110057821.png 346Кб, 600x398
600x398
>>702719
Бамп вопросу. Покажите какой-нибудь пример из вашей архитектуры, если кто может, плз
Аноним 08/10/20 Чтв 19:24:22 702798238
>>702780
Где можно почитать все фишки языка C#, которые используются в Шилдте, нет времени все это читать, нужно каждую фишку быстренько изучить, делегаты, ну и прочую полезную залупу, помогите плз.
Аноним 08/10/20 Чтв 19:26:13 702799239
>>702765
>копипастить несоветую - дроч памяти
Почему дроч памяти? Делаю примерно так же.
Аноним 08/10/20 Чтв 20:04:09 702801240
Нашествие кирила?
Аноним 08/10/20 Чтв 20:04:40 702802241
>>702801
Кирилла правильнее.
Аноним 08/10/20 Чтв 23:00:34 702822242
~пару сотен достаточно простых объектов, физика жрет ~30фпс
Обычные триггеры и кинематика, никакой статики-динамики.
Как фиксить?
Аноним 08/10/20 Чтв 23:43:40 702827243
>>702822
1)Объектов оказалось было чуть больше, раза в 2 или 4, то есть ~500...
2)Отключил Vsync. Жизнь хороша!
Был бы рад услышать еще предложения.
Аноним 09/10/20 Птн 01:08:07 702840244
CpCqbKiWcAAcvm7[...].jpg 47Кб, 604x411
604x411
Сделал подобие сервис локатора, но не понял, зачем

Короче, есть класс, производный от monobehavior. Назовем Zalupa.
У него есть [SerializeField] LIst, в который можно впихнуть все менеджеры -хуенеджеры, которые производные от ScriptableObject.
Этот класс имеет метода Get<T>() where T : ScriptableObject - выкидывает инстансы этих классов по типу.

Как дальше сделать по -человечески: чтобы не в каждом классе дергать эту залупу, а какую то логическую прямую получить?
Аноним 09/10/20 Птн 08:48:35 702861245
>>702822
1 - В настройка Project.Time - fixedDeltaTime поменяй с 0.02 на 0.04, будет буст 50% от физики (т.к. она будет считаться реже в 2 раза)
2 - там у ригидбодей есть метод определения столкновений, заметил что descrete (или как-то так) жрет меньше всего, но тогда через него могут объекты проходить на высокой скорости
>>702827
Даа, vsync портит жизнь всем и на всех платформах, странно что эта хреновина так плохо работает

>>702840
Вообще не понял.. тип ты идешь по своим InterfaceZalupa делаешь .Get<SmallZalupa>() просто чтобы скастить объект?
Попробуй так:
switch(zalupaInstance){
case SmallZalupa smZalupa:
smZalupa.MakeHugeCock();
break;
}
>>702798
К сожалению "быстро" не получится, я перечитал оч много книг и ковырялся в clr чтобы понять это всё на "нужном" уровне.
А если просто то делегат это ссылка на метод, например:
void CockMethod(){ / empty / }
в другом методе или как переменная:
Action methodLink = CockMethod;
methodLink();
Ну и типов делегатов несколько, я взял самый простой, а они могут принимать параметры и возвращать результаты и тд
>>702784
У всех свои велосипеды, если смотреть средне-сложные проекты - черт ногу сломит.
Рекомендовал бы держать все данные в "доступном слое" т.е. MonoBehaviour должен ссылатся на какой-то объект, но не быть главным объектом (как это делается во всех туториалах ютуба или самой юнете).
Рекомендую посмотреть сурсы HL1 т.к. там идет глубокое взаимодействие NPC с миром и при этом у всех типов NPC разные триггеры и условия.
После знакомства с сурсами халвы станет сразу понятно откуда у всех ECS и DOTSов ноги растут (только растут как-то криво)
Аноним 09/10/20 Птн 09:06:04 702863246
>>702861
>поменяй fixedDeltaTime 50% буст
Ты няша
Аноним 09/10/20 Птн 09:53:50 702873247
Аноним 09/10/20 Птн 10:26:02 702877248
>>702861
Спасибо! А как в случае 2д игры всё-таки обычно:
Вью висит на конкретно объекте и является производной от monobehavior. Какая обычно связь с контроллером, который либо просто класс, либо скриптабл обжеккт? Он находится и создаётся во вьюехе или где обычно?
Аноним 09/10/20 Птн 10:41:39 702879249
>>702877
2д так же как и 3д работает.. или я вопроса не понял.
Ты MVC или MVVM хочешь сделать?
Самый простой способ (как мне кажется) держать ссылки на основные классы в синглтонах (GameManager какой-нибудь) и из твоей вьюхи можешь дернуть через евенты инспектора GameManager.YourStaticMethod, но думаю лучше дергать не напрямую а из вьюхи.
Аноним 09/10/20 Птн 10:43:46 702880250
>>702879
Во, норм варик. Спасибо!
Аноним 09/10/20 Птн 13:58:54 702895251
Аноним 09/10/20 Птн 16:00:04 702901252
Стоит ли переходить с 2019.2 на 2019 lts или 2020.1?
Аноним 09/10/20 Птн 16:29:10 702903253
>>702901
Ну когда я перешел с 2019 lts на 2020 у меня пропал баг перетаскивания окна (если менял размер внутренних окон, весь редактор становился черным и вылетал с ошибкой стабильно)
Аноним 09/10/20 Птн 18:31:42 702920254
Аноним 09/10/20 Птн 19:24:12 702930255
image.png 252Кб, 1158x1170
1158x1170
image.png 17Кб, 407x335
407x335
image.png 92Кб, 676x798
676x798
image.png 67Кб, 715x959
715x959
Аноны, помогите, пожалуйста, разобраться в чем проблема. Я создал простенький таймер обратного отсчета. Он считает от 10 до 0.

1. Таймер запускается после нажатия на кнопку Start/Restart.
2. Если время обратного отсчета еще не истекло и нажать Start/Restart, то отсчет пойдет по новой.
3. Если время обратного отсчета истекло и нажать Start/Restart, то отсчет тоже пойдет по новой.

Проблема:
Когда во время отсчета я нажимаю на кнопку, то все работает, как надо. Но когда время истекает и я нажимаю на кнопку, то таймер больше не запускается и отображается цифра 1.
Аноним 09/10/20 Птн 20:59:52 702945256
>>702930
Ты нихера неправильно сделал. Могу за 500 р. сделать тебе правильно.
Аноним 09/10/20 Птн 21:08:46 702948257
>>702945
>Могу за 500 р. сделать тебе хорошо.
исправил
Аноним 09/10/20 Птн 21:10:43 702950258
>>702948
Бля. Ну ладно тогда.
Аноним 09/10/20 Птн 21:57:35 702954259
>>702945
Эх, жаль. У меня нет денег
Аноним 09/10/20 Птн 23:36:38 702981260
image.png 44Кб, 1240x538
1240x538
Вкатываюсь с абсолютного нуля в эту вашу решетку. Чому он кириллические строки не розумиет? Что сделать чтоб кириллицу можно было юзать?
Аноним 10/10/20 Суб 00:06:45 702987261
image.png 52Кб, 1384x527
1384x527
>>702981
А впрочем похуй, уже сам нашел
Аноним 10/10/20 Суб 00:30:17 702992262
Всем привет. Делаю свой клон хотлайн миами, нужно сделать подбор, кидание, хуяние оружия. В голову приходит только скрывать оружее которое я поднял, а потом в момент броска спавнить перед игроком, ну или может прятать на слой ниже и делать то же самое. Но мне кажется что это костыль хуйня говно какоето, как это можно реализовать нормально?
Аноним 10/10/20 Суб 01:07:10 702995263
>>702930
Короче. Я реализовал данный функционал без корутин и все работает должным образом. Но может кто-то знает в чем тут у меня ошибка? Это может быть баг у Юнити?
Аноним 10/10/20 Суб 01:58:27 702998264
Как организовать архитектуру, чтобы в каждом менеджере не приходилось делать GameObject.FindObjectOfType<CharacterController>();
Аноним 10/10/20 Суб 08:40:08 703010265
>>702998
Добавить методы Initialize или Fill (или другое "заполняющее" слово) и заполнять эти менеджеры самому

>>702930
Когда вызываешь StartCoroutine(YourMethod()) - оно возвращает ссылку на коротину, которую нужно отменить, нет?
Аноним 10/10/20 Суб 10:17:32 703012266
>>702992

Наверное ремув геймобжект оружия, в момент подъема, с добавлением в переменную типа ArmedWeapon значения, соответствующего этому оружию. А по нажатию на кнопку броска ты спавниш перед игроком оружие соответствующего переменной типа, а саму переменную приравниваешь к нулю.
Аноним 10/10/20 Суб 11:01:48 703013267
>>702998
Если ты повсюду ищешь контроллер персонажа, значит у тебя изначально кривая архитектура.
Аноним 10/10/20 Суб 12:22:28 703016268
>>703013
Ну пока в одном месте, но уже напрягло.
Наверное, для таких взаимодействий, луче сообщения
Аноним 10/10/20 Суб 12:44:19 703018269
>>702998
Например через синглтоны. На Awake в CharacterController заполняешь статическое поле Instance, в остальных классах пишешь CharacterController.Instance для взятия экземпляра.
Аноним 10/10/20 Суб 18:31:11 703058270
Короче, такая проблема:
Есть класс, производны от monobehavior. Все менеджеры приклепляются к нему как ScriptableObjectы, а их "апдейты" прикрепляются к эвенту этого класса, который дергается раз в Update().

Внезапно, в какой-то момент Updatа. Один из методов одного менеджера прерывается на update другого класса. Это возможно?
Аноним 10/10/20 Суб 18:35:26 703059271
>>703058
А даже не так, гораздо проще.
Метод дергается эвентом, который завязан на столкновение персонажа с объектом. Метод начинает выполняться и в какой-то момент внезапно начинается апдейт другого объекта. МОжет быть такое?
Аноним 10/10/20 Суб 18:59:14 703063272
>>703059
Чегоо..
В юнетях обработка скриптов идет линейно пока ты не подключишь новые потоки, так вот, ответ- ДА ты можешь вызвать апдейт одного менеджера из другого по своему желанию и работать оно будет как ты сделал.
Аноним 10/10/20 Суб 18:59:40 703064273
>>703059
Все, разобрался. Если кому-нибудь интересно, то былая такая ситуация:

В ходе выполнения метода я дергал list для которого нет экземпляра. В итоге должен вылететь эксепшн - но он не вылетает, а просто вся цепочка прекращается и происходит переход к следующему апдейту
Аноним 10/10/20 Суб 22:00:58 703075274
image.png 47Кб, 624x727
624x727
image.png 55Кб, 661x727
661x727
image.png 19Кб, 353x216
353x216
почему оно не выводит стринг в лог?
Аноним 10/10/20 Суб 22:29:26 703076275
>>703075
а если инт ставлю то выводитса, объясните в чем проблема?
Аноним 10/10/20 Суб 23:00:31 703081276
>>703075
Всё оно верно выводит, ты в Start объект создал, присвоил wen - стринг этого объекта, потом в конце Start этот объект разрушается вместе с тем полем, в итоге в wen лежит теперь непойми что, поэтому он тебе это и выводит в лог.

Сделай PlayerWeapons pw глобальным: объяви его под "public string wen;"
Аноним 11/10/20 Вск 00:45:20 703089277
>>703081
Хуйню несёшь. Встретились два шарписта от бога, блеать.

>>703075
pw.currentWeapon - string? Или там есть свойство / метод, который возвращает строку, вроде .ToString() или .Name?

>>703076
> а если инт ставлю то выводитса
Где именно ты ставишь int? Как тип wen?
Аноним 11/10/20 Вск 01:58:25 703093278
>>703089
Там два скриншота.
>>703075
Видимо, на момент, когда дергается Start() класса weapon, для класса player он ещё не дёргался. Перенест содержимое из метода Start в метод Awake.

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

Аноним 11/10/20 Вск 02:28:03 703095279
>>703093
> Перенест содержимое из метода Start в метод Awake.
То есть ты намекаешь, что wen == null?
Аноним 11/10/20 Вск 05:12:09 703096280
>>703075
ПОРЯДОК ОБРАБОТКИ
В юнете можно указать приоритеты скриптов в твоем случае PlayerWeapons.Start может выполниться ПОСЛЕ Weapon.Start и из-за этого строка будет null.

int выводит (скорее всего 0?) т.к. int wah; даже без прямой инициализации будет иметь default value, а точнее 0.

Аноним 11/10/20 Вск 10:30:42 703111281
>>703075
>почему оно не выводит стринг в лог?
Потому что ты даже базовые туториалы не посмотрел, лалка.
Аноним 11/10/20 Вск 11:45:43 703123282
>>70309>>703093
Почему тогда не выводится пустая строка, как в нормальных шарпах?
Аноним 11/10/20 Вск 11:56:01 703130283
>>703123
Дебаж и посмотри что там лежит
, 11/10/20 Вск 12:04:21 703133284
Посоны, на скок плохо иметь много монобихейвиоров?
Лучше ли по возможности переносить из них все скриптабл оьжекты или ещё лучше в стандартные C# классы, которые не будут иметь дубликаты на стороне юнитовского c++?
На сколько тогда плохо пользоваться юнити эвентами?
Аноним 11/10/20 Вск 12:07:58 703134285
>>703133
Что значит плохо? Решай проблемы по мере их поступления.

Насчёт скриптабле обджект. Если у тебя есть shared data, то её стоит хранить в СО. Смотри доклады от команды Юнити. Там у них много полезного.

Видео по теме
https://www.youtube.com/watch?v=6vmRwLYWNRo
Аноним 11/10/20 Вск 12:50:45 703149286
>>703134
>Что значит плохо?
В плане перформанса, т.к. для каждого юнитивского класса есть класс в С++ , а у монобихейвиара еще и постоянно дергающийся коллбек в виде апдейта.
>Решай проблемы по мере их поступления.
Тогда нужно будет все готовое переделывать жи

>Видео по теме
Я смотрел, потом и задался таким вопросом
Аноним 11/10/20 Вск 13:15:59 703155287
>>703134
Посмотрел все-таки в профайлере, пока все норм. Буду тогда действительно походу решать
Аноним 11/10/20 Вск 13:55:22 703162288
Как лучше связывать управление персонажа и движение?
1) Персонаж имеет экземпляр класса управления и получает от него инструкции, если нужно двигаться
2) Управление - синглотон и публичным эвентом. Персонаж подписывается и в случае нажатия дергается соответствующий метод
Аноним 11/10/20 Вск 15:42:17 703183289
>>703162
Двигайся от частного к общему.
1) InputSystem. Надстройка над дефолтным инпутом Юнити. Знает, нажал ли игрок кнопку Стрелять или направление движения, и т.п.
2) CharacterMotor управляет движением персонажа. У него есть публичные свойства, которые указывают хочет ли персонаж прыгнуть или направление движения.
3) CharacterController передаёт из InputSystem команды в CharacterMotor.

Какие ивенты, какие синглоты. Что-то ты городишь за ебанутую, сложную систему.
Аноним 11/10/20 Вск 16:22:25 703198290
>>703183
> CharacterController передаёт из InputSystem команды в CharacterMotor.
Так вот как они связаны? Композиция, ассоциация или что?
>Какие ивенты
Если по нажатию, кроме действия персонажа, должно еще что-то происходить?

Аноним 11/10/20 Вск 16:55:35 703208291
1.jpg 121Кб, 800x600
800x600
>>703198
Объект 'Character' хранит три синих компонента с изображения. Ссылки на друг друга они получают через GetComponent.

UI узнаёт о состоянии персонажа через компонент CharacterState. Как UI получит ссылку на объект этого компонента? Например, пускай её хранит тот, кто создаёт персонажа. Компонент World. Как к нему обращаться? Через статическую переменную, но пускай это будет не синглтон. У него будет статическая переменная Current. Она задаётся в методе OnEnable и стирается в методе OnDisable. Более того, UI напрямую знать о персонаже не обязательно. Будет ещё один контроллер, который хранит ссылку и на персонажа, и на UI, и обновляет состояние интерфейса в зависимости от состояния персонажа.

Это как я вижу. Но что тебе на самом деле подойдёт - чёрт знает.
Аноним 11/10/20 Вск 17:26:46 703222292
>>703208
Спасибо! У меня один класс вместо двух Character Controller и motor. Сейчас понял, что хорошая затея разделить, если захочется переиспользовать для движения не через инпут.

> но пускай это будет не синглтон
Почему, какая разница?


Аноним 11/10/20 Вск 17:42:47 703229293
>>703222
>Почему, какая разница?
Синглтон должен быть доступен всегда и везде. В данном же случае World будет доступен только во время игры и нигде больше. В меню его уже не будет, например. Если ты обратишься к нему в меню, ссылка будет null.
Аноним 11/10/20 Вск 17:49:42 703232294
То есть в данном случае ты создашь объект уровня сцены, но с глобальным доступом.

Держи код:
https://pastebin.com/igL6WwsU
Аноним 11/10/20 Вск 18:18:47 703240295
>>703229
Так и синглтон же тоже нулл будет до первого обращения? Ну лан, спасибо, надо посмотреть!
Аноним 11/10/20 Вск 18:22:40 703241296
>>703240
>Так и синглтон же тоже нулл будет до первого обращения?
Синглтон всегда доступен. Иначе это не синглтон. И его статическая ссылка Instance никогда не будет null.
Аноним 11/10/20 Вск 18:23:55 703242297
Есть еще такая проблема( я писал где-то выше. но лучше не стало), схожая с той, что выше:
Игрок подходит к объекту, у него отображается, что он может провести действие. Если он нажимает кнопку, происходит действие, которое может затрагивать разные классы (звук, окружение, UI, инвентарь, самого персонажа).
Как лучше сделать - один класс, который будет дергать все, что нужно, в зависимости от типа действия(например, воспроизвести текст, если персонаж хочет что-то сказать\прочитать) или действие само нотифицирует все классы и по эвенту дергауются нужные методы подписчиков?

Аноним 11/10/20 Вск 18:27:34 703244298
>>703241
Я под синглтоном имею в виду определение типа этого https://metanit.com/sharp/patterns/2.3.php

Экземпляр создается при первом запросе и, если запроса не было, то не создается вообще.
Если экземпляр создается на OnEnable, то действительно создается всегда и, если я верно понимаю, это просто попытка симулировать статический класс, расследуемый от monobehavior но это не точно,
Аноним 11/10/20 Вск 18:28:02 703245299
Аноним 11/10/20 Вск 18:31:09 703246300
Аноним 11/10/20 Вск 19:04:46 703251301
Аноним 11/10/20 Вск 19:05:51 703252302
>>703096
> int выводит (скорее всего 0?) т.к. int wah; даже без прямой инициализации будет иметь default value, а точнее 0.
Ну вот, значит в строке 12 надо написать:

public string wen = "";
Аноним 11/10/20 Вск 19:07:16 703253303
>>703252
З.Ы. И/или использовать if (String.IsNullOrEmpty(wen)) return;
Аноним 11/10/20 Вск 20:17:25 703261304
>>698843 (OP)
Были кнопочки, управляющие геймплеем. Добавил два элемента типа text, в итоге кнопки вообще перестали реагировать на нажатия. Что это может быть?
Аноним 11/10/20 Вск 20:29:00 703266305
>>703261
Точнее даже так. У меня на сцене два канваса, вот тот, что с кнопками управления, ни на что не реагирует. А второй, с другими элементами, работает нормально.
Аноним 11/10/20 Вск 20:50:22 703283306
Аноним 12/10/20 Пнд 09:37:34 703332307
>>703261
Когда создаешь panel там есть флаг raycastTarget или interactable - выключи эти флаги т.к. по z-order-у они видимо выше и блокируют твои кнопки своими телами.

>>703283
Ну смотри, по идее лучше из евента дергать все классы по отдельности.
Спустя некоторое время если видишь, что некоторые куски повторяются больше чем другие - их уже выносишь в другой класс для "переиспользования"
Аноним 12/10/20 Пнд 10:03:48 703335308
Аноним 12/10/20 Пнд 12:08:00 703360309
>>703242
Тебе нужен Observer, который наблюдает за действиями игрока и он уже дёргает методы, либо Юнити События. При этом Observer ничего не знает об UI, о звуковой системе, о инвентаре и так далее. Он знает только о наблюдаемом объекте, то есть об игроке.
Аноним 12/10/20 Пнд 14:19:25 703418310
>>703360
Спасибо! Я примерно так и сделал:
Когда игрок касается предмета, с которым можно взаимодействовать, этому классу(далее менеджер действий) прилетает нотификация с этим предметом. Менеджер действий подготавливает действие. Если игрок жмакает кнопку использовать, то этот класс дёргает у предмета метод StartAction(). Предмет уже и отправляет нотификация кому нужно и с чем нужно.

Класс предмета можно сделать абстрактным и каждый реальный предмет будет реализовать его (можно было бы с интерфейсом, кстати).
Но я сделал один monobehavior класс, который чисто передает действие менеджеру действий. А само действие - scriptableObject, который вешается на компонент интерактивного предмета
Аноним 12/10/20 Пнд 16:47:22 703525311
Имеет ли смысл читать книжки по шарпу, чтобы лучше понимать юньку?
Аноним 12/10/20 Пнд 17:26:44 703539312
>>703525
А что ты от нее хочешь?
Если делать игры, то, конечно, нужно
Аноним 12/10/20 Пнд 17:29:09 703540313
>>703539
Просто складывается впечатление, что юнитивский шапрп настолько сам в себе, что к классическому яп имеет очень малое отношение.
Аноним 12/10/20 Пнд 17:35:06 703543314
>>703540
Это ложное впечатление. Там нет другого синтаксиса. Есть ситуации, когда какие-то техники C# юнити резервирует для своих нужд(например, конструкторы), но это не значит, что не придется писать на "голом" C#
Может, ты с js путаешь?
Аноним 12/10/20 Пнд 17:51:19 703544315
Как думаете, как лучше организовать работу с git на трёх человек(2 кодера и 1 артист)? Стоит ли разделять работу каждого на разные ветки? Пуллреквесты думаю сразу нафиг, ибо все изменения обсуждаются в мессенджере.
Аноним 12/10/20 Пнд 17:53:41 703547316
>>703544
А код вы в мессенджер тоже проверяете?
Я б стандартно делал. Основная ветка и каждый раз новая на новую бранчу
Аноним 12/10/20 Пнд 17:56:24 703549317
>>703547
На новую функцию
Аноним 12/10/20 Пнд 17:58:03 703551318
>>703549
Каждый раз новая ветка? Как-то это слишком, по-моему. Не лучше сделать ветку main с релизами, ветку dev и каждому разработчику по ветке, из которой потом всё перетекает в dev.
Аноним 12/10/20 Пнд 18:04:10 703556319
>>703551
Так и знал, что ты это скажешь.
То, что я описал - стандартный метод работы с гит.
Если каждый будет вести по своей ветке, вы потом, как пить дать, свою жизнь возненавидите, когда конфликты резолвать начнет. Траст ми.
Хорошая практика - ветка на конкретный не оч большой участок когда. Иначе разъедетесь и пиздец
Аноним 12/10/20 Пнд 18:05:49 703559320
>>703556
Кто-то из нас заводит ветку на фичу и потом любой может вносить туда изменения до тех пор, пока фича не будет реализована? А если потом решим её дополнить?
Аноним 12/10/20 Пнд 18:05:51 703560321
>>703556
Ну, конечно, если вы будете себе дев подливать постоянно и следить за актуальностью веток, то ради бога но этого не будет
Аноним 12/10/20 Пнд 18:08:22 703564322
>>703559
Ну у фичи должны быть конкретные acceptance criteria. Если хотите дополнить(при этом она рабочая на этом этапе), заливайте фичу в дев, делаете бранч от дева.
Аноним 12/10/20 Пнд 18:27:10 703573323
>>703564
Хм, и здесь рекомендуют заводить бренчи на фичи
https://www.youtube.com/watch?v=ISW2nS_v3Ic

Надо подумать, как перейти на такую систему. Пока кажется, что это тяжело...
Аноним 12/10/20 Пнд 18:35:38 703576324
>>703573
Понимаешь, это не зависит от инструмента. Когда в принципе работает команда (неважно, дом строит или очередной велосипед собирает), должно быть понятно, кто что и в какой момент делает и чего хотят добиться.
Работа с веткой на человека - просто, но до момента, как вы поймёте, что делали два задних колеса или вообще два разных велосипеда, которые не собрать в один
Аноним 12/10/20 Пнд 19:32:28 703596325
>>703540
Можешь относиться к юньке как к MonoGame-у или XNA.
Да у юньки есть такое, что она дергает методы по имени (привет awake,start,update), а могла бы через интерфейс..
Но вообще в неё уже притащили часть либ из ентерпрайза (и тех кто это делают закидывают гавном).
И да - у юньки есть свои "тонкости" из-за которых сказывается такое впечатление.
Аноним 12/10/20 Пнд 20:16:49 703607326
Я снова вернулся.
Аноним 12/10/20 Пнд 20:26:01 703608327
Аноним 12/10/20 Пнд 23:51:51 703633328
На линуксах в Юнити работал кто-нибудь? Это адекватно вообще?
Аноним 13/10/20 Втр 12:10:57 703688329
Читал тут про оптимизацию для мобилок. Разработчики отказались от батчинга, объединили всю сцену в один меш и выводили её за один раз. Батчинг реально не стоит использовать, если хочешь максимально оптимизировать сцену?

https://dtf.ru/gamedev/7533-mobilnyy-shuter-guns-of-boom-optimizaciya-grafiki
Допустим, есть статический и динамический батчинг. Нашему проекту стало существенно лучше, когда мы вообще всё это выключили. Нет ничего — только сцена, которая рендерится вся сразу. Это ограничение как раз и привело к тому, что карты не очень большие. Куда бы ты на карте не смотрел — нет отсечения, вся сцена рендерится всё время.
Аноним 13/10/20 Втр 13:26:25 703696330
>>703688
Про рендеринг 250к полигонов одним тиком, вместо 50к, но через 10 dc - сомнительно.
Рендеринг полигонов сам по себе простая операция, даже 10 лет назад на android 4 мой проект с 60к полигонов стабильно держал 45фпс.
Сжатие текстур - вот это уже лучше, юнитеки уже давно советуют батчить текстуры в атласы и так их использовать, в этом нет открытия для тех кто давно в этом варится.
Аноним 14/10/20 Срд 19:34:52 704086331
а как в два дэ игре с видом сверху настроить физику так чтобы все работало нормально? например если прикладывать силу к обьекту, но с гравитацией в ноль он будет постоянно тормозить, а если включить гравитация то все будет падать вниз
Аноним 14/10/20 Срд 19:35:44 704087332
>>704086
>например если прикладывать силу к обьекту, но с гравитацией в ноль он будет постоянно тормозить
Не будет тормозить*
Аноним 14/10/20 Срд 20:34:58 704109333
>>704086
Смотря какого эффекта хочешь добиться, если персонажа двигаешь то велоситом при нажатии задаёшь, а при отпускании клавиши вырубаешь
Аноним 14/10/20 Срд 23:29:42 704144334
>>704109
кидаю оружее адд форсом, хочу чтобы оно терлось об пол и само по себе тормозило
Аноним 15/10/20 Чтв 00:34:53 704147335
TheGameR6yq2Gbw[...].png 1599Кб, 1920x1080
1920x1080
Desktop-2020.10[...].mp4 11117Кб, 1920x1080, 00:00:17
1920x1080
Пилю бесшовные материалы в дизайнере. Позавчера запилил обои, вчера потолок, сегодня пол. Действия игры будут в нежилом деревянном многоквартирном доме советских времен.
Надо напольный и потолочный плинтус ебануть, чтобы эти углы глаза не резали. Впрочем, думаю, и плинтуса тоже будут глаза резать
Аноним 15/10/20 Чтв 01:16:02 704153336
>>704144
orugie.velocity = Vector2.Lerp(orugie.velocity,Vector2.zero,skorostTormozheniya * Time.deltaTime);
Аноним 15/10/20 Чтв 19:08:37 704304337
>>704147
Делай стык плинтуса с сантиметровой щелью, на половину забитой грязью. И в плоскости соприкосновения с полом/стеной должны быть полукруглые щели из-за выгнувшихся половиц. Половицы должны скрипеть и как бы постукивать когда на них наступаешь.
Аноним 15/10/20 Чтв 23:39:59 704378338
Хочу сделать SceneLoader статичным классом и пользовать его из других скриптов без использования синглтона и поиска его в каждой сцене, но проблема в том, что он также должен висеть на кнопке, а кнопка, при прикреплении к ней статичного скрипта, его не видит, и может работать только с обьектами на сцене. Как быть как фиксить, или может есть способы получше?
Аноним 16/10/20 Птн 00:34:38 704388339
>>704378
>также должен висеть на кнопке
Нет, не должен, это кнопка должна быть на подсосе

А во вторых как ты статик собираешься повесить на кнопку, лол
Аноним 16/10/20 Птн 16:30:48 704510340
Кто-нибудь использовал "RuntimeInitializeLoadType.AfterAssembliesLoaded" для инициализации всяких внутренних сервисов/синглтонов? Я даже не знал, что оказывается у RuntimeInitializeOnLoadMethod можно задать тип загрузки. Что он может загружаться не только после сцены, но и перед загрузкой сцены.
Аноним 16/10/20 Птн 20:56:50 704562341
>>698843 (OP)
Имеется сцена с объектами, напротив каждого объекта кнопка, тыкая по кнопке, выбираешь нужный объект, потом он у тебя в игре появляется соответственно.
Как лучше в скрипте прописать выбор? У меня пока только одна идея: повесить на каждую кнопку отдельный скрипт с булевой переменной, и в зависимости от того, какая переменная активирована, респаунить объект, но это как-то топорно. Есть более качественное решение?
Аноним 16/10/20 Птн 21:37:53 704574342
>>704562
Пишешь простой МенеджерРеспавнаОбъектов, который принимает данные, что спавнить и где спавнить, а на кнопки вешаешь функцию из менеджера, в которую эти данные и передаются по клику. Для удобства еще можно обернуть в enum типы того, что спавнишь
Аноним 16/10/20 Птн 21:41:28 704576343
>>704574
почему какойто там сакутин постоянно и везде твердит что менеджеры/контроллеры это каловая масса для лохов, но все повсеместно пишут менеджеры, да контроллеры?
Аноним 16/10/20 Птн 21:43:09 704577344
>>704574
>а на кнопки вешаешь функцию из менеджера, в которую эти данные и передаются по клику.
Как это делается?
Аноним 16/10/20 Птн 21:43:21 704579345
>>704576
Не знаю кто что пишет, но как по-другому контролить жизненный цикл однотипных объектов в простой форме?
Аноним 16/10/20 Птн 21:45:22 704580346
UI-Buttons-Add-[...].jpg 39Кб, 381x445
381x445
>>704577
Вот тут добавляешь поле, в него можно будет перетащить объект со сцены с скриптом менеджера и у него выбрать нужную функцию, которую следует вызывать при клике, там же можно указать что в функцию передать нужно
Аноним 16/10/20 Птн 21:49:08 704581347
Аноним 16/10/20 Птн 22:35:25 704591348
image.png 52Кб, 802x451
802x451
Как в юнити текст делать менее вырвиглазным?
Писали что при увелечении шрифта он делается более четким, и для статов сработало(50 стоит)
Но в боксе пиздец вытикают глаза если смотреть и никак исправить не могу
Аноним 16/10/20 Птн 22:45:51 704594349
Аноним 17/10/20 Суб 00:55:48 704609350
TheGameYu9ISg9s[...].jpg 449Кб, 1920x1080
1920x1080
Добавил плинтуса. Пусть так, все равно никто разглядывать будет. Там будут шкафы, кровати и прочее. От резкости избавился и ладно.
Аноним 17/10/20 Суб 09:20:59 704629351
Какие есть подводные камни от использования Zenject? Или только одни плюсы?
Аноним 17/10/20 Суб 11:00:28 704637352
>>704609
С плинтусами теперь прям заебись. Красиво.
Аноним 17/10/20 Суб 11:55:46 704644353
>>704609
Прям детство вспомнилось
Аноним 17/10/20 Суб 12:19:43 704649354
Моно Девелоп же автоматически вместе с юнити скачивается? Или надо вручную? У меня почему то из доступных редакторов только обоссаная визуал студио
Аноним 17/10/20 Суб 13:00:08 704654355
>>704649
>обоссаная визуал студио
Ты что - сумасшедший? Качай бесплатную студию 2019 года. Ну, или Rider, если есть деньги. А маня-девелоп это позапрошлый век. Даже не знаю, кто в здравом уме будет в этой залупе работать.
Аноним 17/10/20 Суб 13:16:29 704656356
>>704654
Что значит "работать"? Код писать? Это обычный текстовый редактор. Что, вс как-то отступы магическим образом расставляет?
Аноним 17/10/20 Суб 13:23:52 704658357
Аноним 17/10/20 Суб 14:44:45 704666358
>>704649
VS CODE ставь, визуал Студио тут нахуй не нужна с лишними процессами
17/10/20 Суб 15:29:29 704668359
>>704666
Двачую этого.
>>704656
Зачем пользоваться обычным если есть необычные?
Аноним 17/10/20 Суб 16:04:17 704669360
Все обучающие материалы, это что такое функция, что такое переменная, и никто, абсолютно никто не говорит о вещах для среднего уровня и выше. Может быть это специфика языка, когда кроме как знаний паттернов, возможностей Unity и базовой основы (переменные, функции, коллайдеры, корутины) больше ничего не нужно? Я сам на своих проектах сталкиваюсь только с базисом, так как нужно если было бы что-то реализовать, а я бы не смог, я бы давно обратился в гугл и нашел решение. Нужно ли читать книги посвященные C#, или достаточно знать паттерны, уметь проектировать проекты до старта и всё?
Аноним 17/10/20 Суб 16:09:08 704670361
>>704669
Или я обычный говнокодер? Но вопрос изучения остается открытым, как мне узнать о всех нюансах, не проработав где-то в офисе 5 лет, я хочу чтобы мне сразу объяснили чем тот или иной метод лучше и в какие моменты, чтобы я мог соревноваться с хорошими кодерами.
Аноним 17/10/20 Суб 16:10:28 704672362
>>704670
>я хочу
Хоти.
У тебя есть документация, берешь её и читаешь.
Аноним 17/10/20 Суб 19:05:04 704684363
>>704670
У меня схожая проблема
Вкатился зимой 20го в Пыху, выкатился после полугода, понял что веб не моё. До этого немного ковырялся стажёром - джуном в вебе у товарища в конторе

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

Вот и непонятно - что же делать?
Изучить шарпы? Насколько плотно их изучить?
Изучить юнити? Интерфейс? Библиотеки? Какие то консольные команды, характерные для этого софта?
Что и в каком количестве имеет значение как для новичка, так и для стремящегося? И вроде на все эти вопросы есть ответы в ОП посте, так что заранее пардон, просто раздуваю
Аноним 17/10/20 Суб 19:17:48 704685364
>>704670
>>704684
Не забывайте, что кодинг — лишь инструмент, а не сама цель.
Аноним 17/10/20 Суб 23:50:14 704736365
image.png 7Кб, 322x255
322x255
Есть один алгоритм, процедурно генерирующий данжи. Использую тайлмапы и тайлы. Есть два вопроса:
1) У меня нет опции создать тайлмап в ассетах, только отдельный тайл. Пришлось создать прямо в иерархии две тайлмапы, пикрил. А мне религия не позволяет держать в иерархии то, что можно держать в виде ассета/префаба. Хотя может я что то не понимаю и так и надо.
2) Я что то не разобрался, как менять цвет тайлов.
Заранее спасибо, аноны.
Аноним 18/10/20 Вск 05:46:06 704749366
image.png 22Кб, 217x134
217x134
image.png 28Кб, 209x168
209x168
Сосач, есть лестница в 2Д платформере, чтобы игрок зависал на ней, а не падал - во время соприкосновение с лейером лестницы rigidbody2d игрока задается gravity = 0.

Проблема 1: когда игрок стоит на последней лесенке пик1 - невозможно прыгнуть потому что параметр гравитации всё ещё ноль.

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

В общем в поисках решения как реализовать "игрок не падает с лестницы, когда залез на половину и остановился" иным способом.
Аноним 18/10/20 Вск 05:47:12 704750367
>>704749
бля, я еблан, два одинаковых пика загрузил. Ну по описанию вроде всё и так понятно
Аноним 18/10/20 Вск 08:52:44 704754368
>>704749
>>704750
Обычный свич запили.

Если коллизия с лестницей верна И если игрок нажал клавишу вниз - гравитация 1 и сколько у тебя там, иначе гравитация 0.
Аноним 18/10/20 Вск 08:54:43 704755369
>>704736
>цвет
В палитре или в самой мапе. Если не получится проверь чтобы у тебя был .png с прозрачностью.
Аноним 18/10/20 Вск 09:26:13 704757370
Не понял, и как это проблему решит?
Если игрок нажимает клавишу вниз, то вместо спуска по лестнице - он будет просто падать. А если не нажимает, то гравитация всё ещё 0 и он всё ещё не может прыгнуть
Аноним 18/10/20 Вск 10:52:06 704767371
>>704755

Я имел ввиду програмно. В палитре то понятно.
Аноним 18/10/20 Вск 12:14:57 704774372
Чики двощ. Ищу как реализовать в 3д физику мягких тел. Проблема в том, что у меня микс процедурных и baked анимаций. Obi вроде как не подходит для skinned rigged meshes. Какие-либо альтернативы есть ещё?
Аноним 18/10/20 Вск 13:54:27 704777373
Как вы относитесь к пробелам в названиях объектов на сцене, в названиях префабов, сцен? Мне кажется, так гораздо читабельней выходит. И только ресурсы стоит называть без пробелов и в начале писать тип/назначение ресурса, потом после символа подчеркивания уже его название.
Аноним 18/10/20 Вск 14:46:25 704785374
>>704774
Мне стало интересно как в генши импакт сделали и физику тел и физику одежд еще это всё и на телефоне запустили в 120fps
Аноним 18/10/20 Вск 14:56:54 704787375
>>704785
Так она ж там на минималочках, а одежда - анимация, а не физика
Аноним 18/10/20 Вск 16:57:57 704805376
>>698843 (OP)
Я не знаю, это только у меня так или что. Когда добавляют компонент cloth на объект и пытаюсь выделить точки, эти точки появляются только под определенным углом и то еще бывает не все. То есть мне просто приходится хуевертить камеры вокруг, чтобы они соизволили появится. Это баг какой-то или что?
Аноним 18/10/20 Вск 17:14:22 704809377
На чем написан мультиплеер для игры Heartstone? Хотелось бы во время изучения мультиплеера взять уровень повыше, чем использование библиотеки Photon. Поэтому интересуют хоть обычные ключевые запросы благодаря которым я смогу понемногу изучить как пишется сеть в такой игре. Спасибо.
Аноним 18/10/20 Вск 18:12:22 704818378
>>704809
Зная требования близардов к Senior Software Engineer, Server - Hearthstone можно прикинуть что там на чем работает.
3+ years of experience of server programming
Strong C++ programming skills
Some experience with deploying a live service
Self-motivated and willingness to pitch in on many areas of small game development
Excellent verbal and written communications skills
Pluses

Previous experience shipping game titles or other software
Linux development experience
Networking experience in TCP / IP and UDP protocols
Computer science or related degree
Database development experience (MySQL, Oracle, etc.)
Аноним 19/10/20 Пнд 05:57:01 704911379
>>704787
Точно?
https://www.youtube.com/watch?v=HbE2gWODNMs

+ делать 360 анимаций (повернул влево на 5 на 10 15* и тд очень муторно, вряд ли они так делали).
По плащу видно как он ломается при повороте, мне кажется это все же физон

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

>>704818
Есть пример с++ сервера какого-нибудь? Или игрового сервера на гите? Не обязательно ХС-а, чего угодно
Аноним 19/10/20 Пнд 09:41:13 704935380
>>704818
СТРОНК прогаминг скилз, такие ниибические требования как будто в НАСА зовут, а по итогу багерное говно тупого говнас такой-то фирмой и бюджетом, которое мог бы пофиксить любой васян из мухосранского вуза, но нет. Что ли лично Беня(уже нерелейтд, но всеж) делал? Пичот.
Аноним 19/10/20 Пнд 09:42:03 704936381
Аноним 19/10/20 Пнд 10:57:00 704939382
>>704935

Обычные проблемы менеджмента в раздутом крупняке. Ты же кулстори о разработке Last of Us 2 слышал, как там пол отдела моделило уже заведомо завернутый контент прямо в Recycle Bin?
Аноним 19/10/20 Пнд 11:00:57 704940383
>>704939
>Ты же кулстори о разработке Last of Us 2 слышал, как там пол отдела моделило уже заведомо завернутый контент прямо в Recycle Bin?
Где почитать?
мимо
Аноним 19/10/20 Пнд 11:08:23 704942384
Аноним 19/10/20 Пнд 12:54:00 704967385
Нужно двигать персонажа постоянно вперед в рамках уровня
вроде такого https://apps.apple.com/US/app/id1499812410?l=en , на уровне также есть повороты в сторону, на повороте камера, находящаяся чуть выше и сбоку от персонажа двигается вместе с ним. Как реализовать перемещение?
Аноним 19/10/20 Пнд 13:08:40 704974386
>>704936
Спасибо правда спасибо

А что-нибудь по проще, уровня крестики-нолики онлайн, сможешь найти?

Прост хочу в кресты вкатиться через написание сервера.
Аноним 19/10/20 Пнд 14:02:53 704987387
>>704974

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

Аноним 19/10/20 Пнд 14:26:44 704994388
image.png 94Кб, 921x508
921x508
>>704967
Бля, это выглядит очень просто, но я всё ещё не могу понять как реализовать.
Пока всё что приходит в голову - привязать игрока к камере и двигать её вдоль уровня. Но всё ещё нужно как-то ограничить движения игрока краями дороги. как-то не хочется по-инвалидному по 5 box collider'ов цеплять
Аноним 19/10/20 Пнд 14:52:06 704997389
Анон, есть где-нибудь готовый ассет ближней боевки от первого лица?

Хочу сделать что-то типа hexen по геймплею. Начал писать свой велосипед - получается хуево, как-то я делаю не так - мобов надо прям выцеливать чтобы пнуть, а они наоборот дерут так что не спасешься - вместо фана одно раздражение.
Аноним 19/10/20 Пнд 15:21:04 705003390
>>704997
На ютубе выбери плейлист Soulslike игры и делай по нему
Аноним 19/10/20 Пнд 15:25:37 705005391
>>705003
>Soulslike
я про fps - от первого лица
Аноним 19/10/20 Пнд 16:23:36 705028392
>>704669
А чё ты хочешь-то?
>Может быть это специфика языка, когда кроме как знаний паттернов, возможностей Unity и базовой основы (переменные, функции, коллайдеры, корутины) больше ничего не нужно

Кому не нужно? Какого языка? Почитай про делегаты, например. Наследование, нтерфейсы, абстрактные классы, виртуальные методы. Наверное, ты конструкторы даже не используешь, если через юнити залез в шарпы. Но может тебе и не надо, я не знаю, какая у тебя архитектура.
В моем понимании, твоя инженерная мысль при реализации той или иной функции будет ограничена кругозором. Какие-то вещи можно сделать лучше/быстрее/проще, а ты об этом и не знаешь
Аноним 19/10/20 Пнд 16:24:42 705029393
>>705005
>Начал писать свой велосипед
>мобов надо прям выцеливать чтобы пнуть, а они наоборот дерут так что не спасешься
Кириль дальше ИИ, понятно что ты тупо через навмеш приближаешь врага к игроку, уменьшай скорость, делай рывки в разные стороны, разнообразь игру
, 19/10/20 Пнд 16:44:03 705033394
Ребята, где можно посмотреть примеры готовых 2д игорянов на предмет адекватной архитектуры? Не туториалы, а полноценные игры
Аноним 19/10/20 Пнд 19:10:42 705069395
Анон, подскажи.
Хочу сделать функцию, показывающую диалог (да/нет) в виде bool res = ShowDialog().
Внутри этой функции канвас диалога делаю активным и при нажатии на да/нет попадаю в скрипт-обработчик этих кнопок.
Как мне вернуть результат в ShowDialog?
Аноним 19/10/20 Пнд 19:43:18 705077396
>>705069
Можешь подробнее описать, не оч понятно? А вызов нужных методов из этих обработчиков в методе ShowDialog почему не сделать? Или эвент не дёрнуть?
Аноним 19/10/20 Пнд 20:38:07 705079397
>Можешь подробнее описать, не оч понятно?
Есть условный UIManager

public static class UIManager
{
private static IDialog _testDialog;

public static bool ShowTestDialog()
{
_testDialog.Show(); //внутри происходит Canvas.enabled = true;
}
}

Вызываем Show(), появляется UI диалога. После этого, например, жмем на кнопку "да".
Нажатие кнопки обрабатывает скрипт TestDialogHandler

public class TestDialogHandler : MonoBehaviour
{
public void OnYes()
{
Debug.Log("Yes");
}
}

Вопрос в том, как в ShowTestDialog получить результат (в нашем случае true) из OnYes

>А вызов нужных методов из этих обработчиков в методе ShowDialog почему не сделать? Или эвент не дёрнуть?

Попробовал сделать что-то вроде такого:

public static bool ShowTestDialog()
{
bool res = false;

TestDialogHandler.DialogResultEvent.AddListener((dialogResult) =>
{
res = dialogResult;
});

_testDialog.Show();

return res;
}

Но тут надо какую-то задержку ставить, чтобы до срабатывания эвента из метода выход не случился.

Аноним 19/10/20 Пнд 20:38:31 705080398
Аноним 19/10/20 Пнд 21:16:07 705089399
Как залететь в юнити ? Уже 2 недели пытаюсь что-то сделать, гуглю если не получается и пытаюсь снова и снова, но у меня только жопа сгорает с того, что я нихуя не умею. Как вы влетели в юнити ?
Аноним 19/10/20 Пнд 21:25:14 705092400
>>705089
>только жопа сгорает
Через это
Аноним 19/10/20 Пнд 22:17:08 705105401
Аноним 19/10/20 Пнд 22:36:42 705108402
>>705089
Начни по готовым примерам из книги или видосов
Аноним 19/10/20 Пнд 23:01:44 705112403
image.png 264Кб, 1920x1040
1920x1040
>>705108
Ну у меня успехи. Я заставил объект двигаться. Но это спустя сотни нервов... Неужели все так
Аноним 19/10/20 Пнд 23:07:08 705113404
>>705089
>>705112
Купи курсы и смотри видеоуроки, делай копии простых игр.

Ну и вообще да, настоятельно рекомендую курсы, как минимум основы с них получишь. С литературой сложнее и дольше, из литературы лучше почитать что-нибудь про ООП или паттерны.
Аноним 19/10/20 Пнд 23:11:21 705115405
>>705113
Ну давай так, ты покупал/записывался на курсы ? И если да , дай советик , пожалуйста. Просто кинуть куда-то деньги и получить ничего
Аноним 19/10/20 Пнд 23:27:29 705118406
>>705113
> что-нибудь про ООП или паттерны
и сломать мозг новичку окончательно.
ооп не нужен если ты не пилишь какой-то АА* проект
Аноним 19/10/20 Пнд 23:31:18 705120407
>>705118
>ООП не нужен
Скажи это любому работодалю. Может ты ещё скажешь, что и паттерны не нужно знать?

>>705115
На юдеми есть много курсов, смотри топ по рейтингу\популярности само собой на английском, если жалко денег - на рутрекере спирачены почти все популярные курсы.
Стоят они на скидке 10-15$, а скидка там постоянно. Если сейчас нет - подожди пару дней-неделю и будет.
Аноним 19/10/20 Пнд 23:33:55 705121408
Аноним 19/10/20 Пнд 23:37:43 705124409
>>705112
Нет, в следующий раз, когда ты столкнешься с аналогичной проблемой, для тебя она будет уже типовой и ты справишься быстрее.

>>705118
Мозг быстрее ломается как раз без ООП, как мне кажется.
Аноним 20/10/20 Втр 07:34:37 705163410
>>705069
Тебе нужно что-то типа промисов (либо тасков), гугли unity promise
Аноним 20/10/20 Втр 08:53:10 705171411
>>705069
Самый простой способ без каких-то либ и тд:
В диалоге сделай метод public void ShowDialog(string text, Action<bool> callback){
// сохрани каллбек в этом Mono объекте
}
void OnDialogResult(){
// тут какая-то твоя логика в диалоге, пусть _result - будет true или false (да нет)
callback(_result);
}
В месте где вызываешь делай:
void SomeMethod(){
string question = "Ты лох?";
Dialog.Singletone(или ссылка, как хочешь).ShowDialog(question, (isSuccess)=>{
if(isSuccess){
MakeAIAngry();
}else{
MakeAIYourFriend();
}
});
}
Аноним 20/10/20 Втр 11:16:38 705186412
>>705171
А где асинк авэйт? Этот код же подвесит систему? Или нет?
Аноним 20/10/20 Втр 11:27:23 705189413
>>705186
Нет, суть в том, что ты создаешь делегат и отдаешь его своему скрипту диалога, с этого момента выполнение скрипта закончилось и update метод работает как и всегда.
Потом когда нажимаешь да или нет то у тебя сохранен делегат и он вызовется нормально.
Там есть еще что улучшать, например сохраненный делегат (который callback(_result)) лучше обнулять после закрытия формы, короче просто попробуй так сделать, это не долго и не сложно.
Правильный ответ Аноним 20/10/20 Втр 11:27:58 705190414
>>705069
Делай в стиле ДОД.
Возвращаемое диалогом значение - это данные.
Состояние видимости диалога - это данные.
Все данные пиши в базу данных, которую видит и скрипт диалоговых кнопок и скрипт вызывающего объекта.
Логика вызывающего такова:
Чекаю в БД поле диалог-открыт, если открыт - прерываю работу.
В БД в поле диалог-результ записываю нулль.
Вызываю диалог, передаю ему некоторый текст.
В апдейте чакаю в БД, открыт ли диалог? Если диалог закрыт, чекаю в БД поле диалог-результ и действую соответствующе.

В диалоге логика:
Я родился!
Я записал в БД что я видимый.
Я прочитал во входных данных текст и отобразил его.
Если я стал невидимым, я записываю нет/отмена/ложь в БД.
Если я стал невидимым, но кнопка да была нажата, я записываю в БД да/правда/ОК.
В любом случае я обязательно что-то записываю в БД, иначе никак.
Записываю в БД также, что я невидим.
Умираю!
Аноним 20/10/20 Втр 11:29:52 705191415
>>705189
Код очень потоконебезопасный и ты сам это понимаешь.
Аноним 20/10/20 Втр 11:31:59 705193416
>>705190
Ты не ту задачу пришел сюда решать, у нас не модальные диалоги, а 1 инстанс больше не будет, понимаешь? нахуй нам бд нужно вообще, что ты несешь вообще

>>705191
а мне и не надобыло решать эту проблему, вопрос в другом был
Аноним 20/10/20 Втр 12:46:18 705224417
Пытаюсь собрать несколько префабов в AssetBundle, пробовал разные способы из интернета, пробовал передавать в BuildPipeline.BuildAssetBundles() карту из префабов и все равно всегда Unity начинает обходить все ассеты в проекте, застревает на каждом проклятом png и весь процесс создания AssetBundle занимает больше двух часов. Гугл выдает только несколько несчастных, которых задаются тем же вопросом, что и я, и им просто никто не отвечает.
Почему так долго? Почему Unity идет по каждому ассету, когда я вот прямо ей даю список, из которого я хочу получить AssetBundle?
Может сейчас уже есть более удобная альтернатива бандлам? В документации написано: лучший совет по организации ассетов, не использовать Resources, а использовать AssetBundles.
, 20/10/20 Втр 13:55:40 705250418
Чуваки, раз подняли тему асинхронных методов - на сколько это вообще здравая идея в юнити их использовать?
Аноним 20/10/20 Втр 14:00:05 705253419
bandicam 2020-1[...].mp4 2902Кб, 1016x592, 00:00:12
1016x592
Почему я не могу фэйд нормально сделать? Материал Standart, Rendering Mod Transparent, ошибка очевидно в коде, но я не могу найти проблему, скиньте как вы это используете.

if(fadeOut){
Color objectColor = carsObj[way].gameObject.GetComponent<MeshRenderer>().material.color;
float fadeAmount = objectColor.a + (1 * Time.deltaTime);
objectColor = new Color(objectColor.r, objectColor.g, objectColor.b, fadeAmount);
carsObj[way].gameObject.GetComponent<MeshRenderer>().material.SetColor("_Color", objectColor);

if(objectColor.a >= 255){
fadeOut = false;
}
}
Аноним 20/10/20 Втр 14:22:31 705256420
>>705253
Да, в коде ошибка, сделал через Color.Lerp.
Аноним 20/10/20 Втр 14:24:37 705258421
>>705191
Так просто синглтон заменить на обычный объект, нет?
Аноним 20/10/20 Втр 14:59:59 705266422
>>705120
>Скажи это любому работодалю
ну, ежели работодателю, то да... И там не только ООП надо знать, не так ли, а туеву кучу всего, без чего обычный инди-разработчик вполне может обойтись
Аноним 20/10/20 Втр 15:02:32 705267423
>>705266
Ну для себя и узкого круга можно и говнокод пилить, конечно на уровне яндере симулятора, но мне кажется всяко лучше, если код чистый, красивый и понятный. Знание ООП, СОЛИДа и базовых патернов лишним всё равно никогда не будет.

Но в общем ты прав, конечно, для себя можно и без этого. но нахуя, если можно с?
Аноним 20/10/20 Втр 16:28:22 705304424
image.png 84Кб, 931x733
931x733
image.png 66Кб, 645x470
645x470
image.png 54Кб, 699x486
699x486
Салам Алейкум Программисты и модельеры, есть функция на первой картинке, которая двигает обьект вилоситей и при ударении об стену вращает его на угол отражения, но, проблема в том что в первом случае отражается правильно, а во втором неправильно, подскажите пожалуйста, как пофиксить, а то я ебло 2 дня только рэйкаст писал
Аноним 20/10/20 Втр 16:31:51 705306425
image.png 105Кб, 310x440
310x440
image.png 93Кб, 247x431
247x431
Помоги юнитач. Нужно сделать так, чтобы по тапу на экран блоки заполнялись зеленым. Есть нужные спрайты, но не понимаю как реализовать. Метод тапа и всё прочее уже готово, нужно просто чтобы зеленый спрайт было видно только внутри боксов. или может как-то можно слайдером реализовать или чем, я хз
Аноним 20/10/20 Втр 16:39:27 705309426
Аноним 20/10/20 Втр 16:52:04 705316427
>>705309
У меня это UI
Не спрайты, а имэджы
Аноним 20/10/20 Втр 17:00:49 705323428
>>705316
Разобрался
Там нужен image и компонент mask
В целом даже ещё удобней, чем с спрайтмасками. Спасибо
Аноним 20/10/20 Втр 17:27:05 705349429
1.PNG 889Кб, 1010x719
1010x719
Привет, девелопперы.
Давно мечтаю сделать игру: 2D визуально-диалоговая песочница рпг... короче клон "Валета плетей". С юнити очень мало знаком, но кодить умею.
Реквестирую план вкатывания, при котором потрачу минимум времени на изобретение окошек с кнопками, и максимум времени на логику с механиками.
Может там в магазе есть фреймворки для визуальных новелл, или какие то удобные наборы компонентов?
Или достаточно пару видосов глянуть, и уроков читнуть и никакие васяны не нужны?
Аноним 20/10/20 Втр 17:43:49 705360430
Unity2020102020[...].mp4 7437Кб, 1504x720, 00:00:05
1504x720
>>698843 (OP)
>>698843 (OP)
Анончики, в юнити есть возможность прописать путь допустим звука, чтобы не назначать ручками этот звук каждому объекту со скриптом? Пользовался вот таким решением:
_sound = (AudioClip)UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/_Data/Sound/SFX/menuTouch.wav", typeof(AudioClip));
но оно работает только в редакторе, и билд с таким кодом нельзя сделать, ошибка cs0234.
Аноним 20/10/20 Втр 17:44:11 705361431
Есть массив, в нем изначально 0 элементов, я в него помещаю сначала первый объект, потом второй. Когда кол-во объектов достигает трех, мне нужно удалить первый объект. Короче суть в чем, максимум 2 объекта, если больше, то первый удаляется и в конец добавляется новый, но у меня какая-то проблема, я сделал вот так, но потом появляется баг из-за которого что-то не до конца очищается и объекты зависают и это действие не выполняется.

fadeLists.Add(newFade);
if(fadeLists.Count == 3){
fadeLists[0].Reset();
fadeLists.RemoveAt(0);
}
Аноним 20/10/20 Втр 18:23:33 705380432
>>705349
А почему ты РПГ мейкер не хочешь использовать? Ровно под твою задачу
Аноним 20/10/20 Втр 18:47:29 705386433
>>705380
Не хочу себя ограничивать, мало ли, там идея придет сделать 3д мини игры, или с частицами выебоны, или на консоли выкатить, или еще что. И вобще, я кодить ИИ секс рабов хочу, а не в редакторе персонажей анимацию дрочить, редакторе карты деревья расставлять.
Реализация FOV для юнити Аноним 20/10/20 Втр 19:30:03 705396434
image.png 203Кб, 597x413
597x413
Всем доброго времени суток, аноны.
Недавно я начал пилить рогалик, проникнувшись жанром, как платформу выбрал юнити, потому что имел мало-мальский опыт общения с ней и вообще визуализацию и всякий интерфейс сделать проще.
Первым делом запилил генерацию подземелья и возможность ходить по нему не втыкаясь в стены. Теперь настал черед поля видимости.
Алгоритмы рейкастинга/шадоукастинга я прочекал и вроде бы даже понял в основном, то есть как в определенной области определить какие координаты должны быть видимы, а какие нет я представляю. Вопрос в том, как применить это к моим ресурсам.
Имеем следующее: Два листа Vector3Int, один содержит позиции тайлов пола, другой тайлов стен я использую листы вместо массивов потому что с массивами я был бы вынужден генерировать карту в строгих рамках, две тайлмапы, одна для тайлов пола, другая для тайлов стен (и на ней висит коллайдер, в который стукается игрок). Игрок, монстры и предметы для взаимодействия это геймобжекты.
Я могу каждый раз когда игрок смещается с помощью рей/шадоу кастинга определять видимые позиции и красить тайлы соответствующие видимым позициям в (1,1,1), невидимые в (0,0,0), а так же отключать SpriteRenderer монстров и объектов, если они не в линии видимости игрока. Или можно создать третью тайлмапу над всем подземельем, состоящюю из черных квадратов и удалять/добавлять тайлы в зависимости от их видимости. Или может это все костыли и есть другой, более правильный и общепринятый метод. Буду благодарен за любые советы. Пикрил - макетный альфа-вариант, чтобы пост не был без картинки.
Аноним 20/10/20 Втр 20:53:11 705407435
Вопрос по инвентарю и реализации инвентаря: как лучше сделать?

Есть InventoryController и метод AddItem(nventoryItem item)
В него прилетает InventoryItem, который содержит:
- картинку для инвентаря
- название
- ссылку на объект, который нужно вытащить из инвентаря при необходимости.

В InventoryController есть LinkedList<InventoryItem> items, который содержит весь список айтемов и LinkedListNode<InventoryItem> currentItem, который держит текущий выбранный элемент.
Элементы можно переключать

При добавлении айтема, в AddItem(nventoryItem item) дергается InventoryView, чтобы добавить картинку на UI:

public void AddItem(InventoryItem item)
{
//Создается слот из префаба
var slot = Instantiate(slotPrefab, this.transform);
//Получаю нужный компонент вьюхи
var view = slot.GetComponent<InventoryItemView>();
// Вью получает ссылку на айтем
view.Item = item;
//Айтем получает ссылку на вью. Вот тут основной вопрос
item.View = view;
//Устанавливаю картинку
slot.transform.FindChild("IventoryItem").GetComponent<Image>().sprite = item.Image;
}

На сколько это плохо, что InventoryView.AddItems(nventoryItem item) меняет item, вставляя ссылку на вьюху?
Меня смущает, что если дернуть где-нибудь (но пока таких кейсов нет) айтем до того, какон "Добавлен" на ui, ссылка на вьюху будет нерабочей (Правда, можно в геттер адекватное описание добавить).
Как лучше сделать в данной ситуации?





Аноним 20/10/20 Втр 20:56:52 705408436
Endless Dungeon[...].mp4 14179Кб, 1360x768, 00:00:09
1360x768
>>705360
Ещё мож знает кто от чего может так пидорасить спрайты в готовом билде игры?
Аноним 20/10/20 Втр 21:11:36 705410437
>>705408
Возможно с леером проблема - попробую персонажу выставить более приоритетный леер или меньшую координату Z


Прикольно смотрится, кстати. Сам всю логику движений делал?
Аноним 20/10/20 Втр 23:40:14 705425438
>>705304
Разобрался, вместо Vector2.Angle нужно использовать Vector2.SignedAngle, всем спасибо
Аноним 21/10/20 Срд 05:33:42 705443439
Unity2020102108[...].mp4 6018Кб, 1600x752, 00:00:04
1600x752
>>705410
>Возможно с леером проблема
Там как бы не только на персонаже спрайты глючат, и на юайке вон поломалось, и куски из которых левел генерится. Скорее всего косяк в производительности, я налепил на основного персонажа несколько геймобжектов и на каждый из них аниматор, для реализации смены снаряжения. Ещё спрайты анимаций у меня не полотном, а отдельными картинками, и теперь при запуске у меня даже редактор захлёбывается. Перепилю для начала анимации.
>Сам всю логику движений делал?
Физон движения и малый поиск пути делал по этим материалам https://gamedevelopment.tutsplus.com/series/understanding-steering-behaviors--gamedev-12732 , боёвку сам придумывал.
Аноним 21/10/20 Срд 12:44:01 705476440
>>705386
Там не нужно ни дрочить анимацию, ни расставлять деревья.
Аноним 21/10/20 Срд 13:23:12 705487441
>>705476
Как там с интерфейсами? Есть что то кроме нижней панельки с диалогами (которые все скипают) и варианты ответа в центре экрана? Окошки есть? Их можно таскать? Драгидроп есть? Кнопки можно кастумизировать? Прогрессбары есть? Сейвлоад можно отключить?
Аноним 21/10/20 Срд 14:26:18 705512442
Как заебато шарпы выучить, а то я как гой даже за самой простой задачей лезу в гугл. Сейчас хочу проект начать и уже дето неделю просто втыкаю в экран и спрайты двигаю туда сюда. Рассказывайте как вы выучили
Аноним 21/10/20 Срд 14:45:21 705522443
>>705512
Хз, я кресты учил по этому курсу https://ravesli.com/uroki-cpp/ , в шарпе всё понятно было, когда по мануалам юнити изучал.
Аноним 21/10/20 Срд 14:56:20 705530444
>>705522
ну за основы шарпов я шарю, но за сам функционал юнитискрипта не особо. Мне документацию дрочить и всё?
Аноним 21/10/20 Срд 15:20:12 705538445
>>705487
Как я понимаю, там тоже есть полная кастомизация. Посмотри to the moon, сделан на РПГ мейкер, в коммерческом плане достаточно успешная. Там есть кастомные пазлы
Аноним 21/10/20 Срд 15:21:19 705539446
>>705530
Не оч понял, в чем сложности конкретно юнити скрипта
Аноним 21/10/20 Срд 15:55:38 705546447
15921309983960.png 941Кб, 811x636
811x636
Поделитесь вашими идеями, опытом личным или знаниями общепринятыми, как делать движение камеры, что бы плавно, без багов и на больших скоростях работало.
У меня стоит обычная проверка уровня центр камеры отходит от игрока на такое-то расстояние-двигать камеру к игроку, как только расстояние от камеры до игрока около 20 пикселей - остановиться. И в общем-то нормально работает на медленной скорости, но как только я увеличиваю скорость персонажа, камеры тоже, то либо персонаж вылетает за пределы камеры, то камера на больших скоростях перепрыгивает персонажа-пытается отпрыгнуть обратно, но так как у нее большая скорость в данный момент времени-она опять перепрыгивает персонажа в обратную сторону и все дергается и багуется.

И еще похожий немного по смыслу вопрос, как фиксить вылет персонажей за стенку с коллизией на больших скоростях? Шаг персонажа, его скорость, видимо околобольше+ размеров коллайдеров, юнити просто не успевает наверное просчитывать физику. Одно из решений это просто сделать коллайдер огромным чтоб он заранее считал типа, в ручную все тестировать при каких скоростях объект будет вылетать, а при каких нет?
Или опять таки уже есть лаконичные решения таких проблем.

Аноним 21/10/20 Срд 15:59:52 705549448
>>705538
Посмотрел - деревья, валуны, спрайты бегают по карте. Ни одной кнопки, окошка не увидел.
Аноним 21/10/20 Срд 16:41:51 705558449
>>705530
Мне друг мой скинул спизженные откуда-то курсы, когда узнал что я этой хуйнёй страдаю. Я их освоил за за пару месяцев, начинал сто раз тогда, и на анриале пытался что-то делать, но по итогу в этих курсах разобрался и пилю на юнити игрушку. Если есть нужда - залью анону на гугл, там по 2д парнишка в тех курсах в основном поясняет, но после этого уже в юнити шарить начинаешь и знаешь куда гуглить.
Аноним 21/10/20 Срд 22:39:11 705654450
Простой код, который не хочет работать.
public float speed =0.25f;
transform.Translate(Vector2.up Time.deltaTime speed);
Объект передвигается слишком быстро, а если напишу
transform.Translate(Vector2.up Time.deltaTime 0,25);
то всё правильно.
Неужели это баг? Или что-то упустил?
Аноним 21/10/20 Срд 22:42:11 705655451
>>705654
Если она у тебя паблик может в инспекторе другое значение стоит?
Аноним 21/10/20 Срд 22:42:35 705656452
>>705654
Разобрался. Два скрипта висело. И через код не меняло скорость, которая указана в поле. Такие мелочи могут надолго затормозить работу.
Аноним 21/10/20 Срд 22:49:02 705658453
>>705656
Значение в инспекторе преобладает, я так тоже проебывался
Аноним 21/10/20 Срд 23:56:57 705666454
>>698843 (OP)
Крч, я пишу суровый интерпрайз, хочу начать делать чего-нибудь для души и этим зарабатывать. Поможет ли мне в этом unity? Как долго вкатываться, имею опыт программирования? На какую зп я могу рассчитывать? Меня вообще возьмут, или рынок мёртвый?
Аноним 22/10/20 Чтв 00:08:11 705668455
>>705666
>для души
>зп
Выбери одно
Аноним 22/10/20 Чтв 00:09:55 705669456
>>705668
Это лучше чем тырпрайз, по крайней мере, на первый взгляд.
Аноним 22/10/20 Чтв 00:35:18 705674457
>>705669
Я не в теме, но мне чомуто кажется, что придется пилить казуальное говно для мобилок или танчики
Аноним 22/10/20 Чтв 00:46:32 705675458
>>705674
в большинстве случаев придется пилить казуальное говно для мобилок или танчики
Аноним 22/10/20 Чтв 10:29:25 705730459
>>698908
Анон, сделай свой тред
Аноним 22/10/20 Чтв 10:53:21 705734460
Аноним 22/10/20 Чтв 11:47:01 705744461
Аноним 22/10/20 Чтв 18:10:50 705886462
>>705744
Казуальные. Для мобилок.
Аноним 22/10/20 Чтв 20:25:37 705904463
ЧТО ИЗ СИШАРПА Я ДОЛЖЕН ЗНАТЬ ДЛЯ ЮНИТИ?

Не обязательно же все знать? И насколько часто там используется вышмат?
Аноним 22/10/20 Чтв 20:28:32 705905464
Аноним 22/10/20 Чтв 20:30:40 705906465
>>705904
Хочешь ассетфлипать - Н И Х У Я, а если хочешь делать "свою" игру - базис шарпа офк, а также куча разных выебонов и костылей вокруг возможностей движка и шарпа, до которых тебе надо будет допереть самому или суметь нагуглить подходящий вариант.
Аноним 22/10/20 Чтв 20:52:13 705908466
>>705904
там нихуя не надо знать из шарпа и вышмата
другое дело нужно быть неъвбеменно умным и знать все чтобы дело шло проще легче быстрее и резльутат был лучше

>>705906
зис, я вообще задал только пару вопросов практичных в этом треде, все основное сам изучаешь, рецептов нет, все сам
Аноним 22/10/20 Чтв 21:00:40 705910467
image.png 41Кб, 618x747
618x747
image.png 7Кб, 374x179
374x179
Не гоните ссаными тряпками макаку тупую, которая только вкатывается.
Короче, есть пикрилейтед 1. Почему при срабатывании этого условия в апдейте не скипается последняя строчка апдейта? Оно просто продолжает вызывать ту функцию перед дебагом и сам дебаг. Когда я стою на нужном расстоянии до цели и по логике у меня должен быть всегда ретёрн с апдейта, тем самым должен быть пропуск той последенй строчки, разве нет? Пикрл 2 - мои те два метода, что вызываются в интеракте и в конце апдейта, мало ли в них обосрался.
Сама параша работает, т.е. при нажатии на Е я получаю шмотку в инвентарь и всё такое. Вопрос именно в высвечивании этой вот самой подсказки про нажатие на Е, ибо оно тупо не высвечивает никак. Я уже в else кидал эту залупу - всё равно ловлю вызовы этого дебага и очистки текста каждый фрейм даже в радиусе работы условия.
Аноним 22/10/20 Чтв 21:11:31 705911468
>>705910
Попробуй без ретурна просто иф/элси сделать, и тыкни пару дебагов в функции посмотри что и когда вызывается, проанализируй и помёшь где обосрался.
Аноним 22/10/20 Чтв 21:12:12 705912469
>>705910
Ты скрипт не туда запихнул небось
Аноним 22/10/20 Чтв 22:36:35 705915470
>>705910
Поставь брейкпоинт и продебажь, че ты хуйней маешься.
Аноним 23/10/20 Птн 06:27:04 705929471
photoz.jpg 58Кб, 1547x275
1547x275
Подскажите по фатону, 20CCU это 20 юзеров максимум? Зачем мне 60гб?
20 юзеров в одной сессии?
Смотрю на план "500CCU за 100$ месяц" и думаю, не дешевле ли написать (или взять) стендалон сервак и поставить его на какой-нибудь VMS за 250р? (при этом тащить будет сразу 3к игроков)
Аноним 23/10/20 Птн 07:03:07 705931472
>>705929
>Зачем мне 60гб?
Это бесплатный трафик. Если его истратишь, то за дополнительный нужно доплачивать.

>не дешевле ли написать (или взять) стендалон сервак
Дешевле. Но смысл фотона в том, что ты просто берёшь и пишешь сетевой код на клиенте, а всё остальное они берут на себя. Всю эту ёблю с запуском новых серверов, с регионами и тому подобное.
Аноним 23/10/20 Птн 07:29:29 705932473
>>705931
Спасибо, расскажи еще плз про 20 юзеров, это будет 20 юзеров на весь мир?
а за 95$ в месяц будет уже 500 юзеров?
Если рассматривать CS1.6 (например) вот играет 12 человек на сервере и по простой математике у меня будет 42 сервера на 12 человек?
Аноним 23/10/20 Птн 07:53:13 705933474
>>705932
CCU - это количество игроков онлайн на весь мир. Доступные регионы выбираешь ты сам.

>а за 95$ в месяц будет уже 500 юзеров?
За 95$ у тебя одновременно смогут играть 500 юзеров. Что будет, если онлайн скакнёт до 600? Тогда появится сообщение, что тебе нужно сменить тарифный план. Игроки продолжат спокойно играть, онлайн может вырасти хоть в 10 раз, но тебе нужно будет платить.

>Если рассматривать CS1.6 (например) вот играет 12 человек на сервере и по простой математике у меня будет 42 сервера на 12 человек?
Да.
Аноним 23/10/20 Птн 07:57:20 705934475
Есть ещё интересный сервис с мультиплеером:
https://playerio.com/

Его фишка в том, что логика комнаты выполняется у них на сервере. Ты на C# пишешь DLL и заливаешь к ним. У Фотона есть такая услуга, но только на энтерпрайз тарифе и api там такое себе. У плеер ио мне api понравилось, но там есть ёбля с потоками.
Аноним 23/10/20 Птн 10:05:51 705947476
Аноним 23/10/20 Птн 12:01:35 705951477
>>705947
Сидит тут полторы калеки, заходит в бар успешный девелопер и говорит:
>Если вкратце, то целый зоопарк:
>Master/game servers — c#, akka, photon engine
>Profile servers — Java 8, Guice, Resteasy, Hazelcast, Cassandra
>Microservices clan/league/matchmaking/communication — scala, akka, postgresql, scalikejdbc, cassandra, phantom
Аноним 23/10/20 Птн 12:18:20 705954478
есть 2д сцена, на ней с десяток спрайтов. на каждом по коллайдеру2д без rigidbody. когда я кликаю по объекту, то выстреливает метод OnMouseDown и окрашивает этот спрайт в другой цветю это именно то что мне нужно, но ещё мне нужно чтоб когда я кликал вне этих спрайтов, то они все возвращались в исходный цвет и я не пойму в каком месте мне отлавливать клик и как его отделить от клика по спрайту. помогите
Аноним 23/10/20 Птн 12:22:02 705955479
Аноним 23/10/20 Птн 12:26:47 705956480
>>705955
это обычный встроенный метод
https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseDown.html

тут вопрос только том как мне организовать всё что сцена знала когда кликают по ней, а не по спрайту, а спрайт знал когда кликают по нему, а не по сцене
Аноним 23/10/20 Птн 12:41:55 705961481
>>705956
if(Physics.queriesHitTriggers == false)
{
перекраш обратно
}
Аноним 23/10/20 Птн 12:44:01 705962482
Аноним 23/10/20 Птн 13:28:20 705967483
>>705956
Как вариант:
Создай локальную переменную _lastClickedObj;
Пускаешь райкаст на объект:
если попал
if(_lastClickedObj != null) разукрасить_обратно();
_lastClickedObj = hit.GetNewObject();
_lastClickedObj.разукрась();
Если ткнул в пустое место
if(_lastClickedObj != null) {
разукрасить_обратно();
_lastClickedObj = null;
}
Аноним 23/10/20 Птн 13:40:31 705969484
>>705967
А через ивенты такое реализовать можно?
Аноним 23/10/20 Птн 14:02:11 705971485
>>705969
Попробуй, я так не делал, сейчас лень разбираться
Аноним 23/10/20 Птн 15:26:14 705976486
>>705951
Вот это покроет весь зоопарк
https://playfab.com/

Либо чисто плеер ио. Хули ты пиздишь.
Аноним 23/10/20 Птн 16:00:19 705978487
>>705976
Чего ругаешься?
Я имел ввиду что никто из нас на наших инди проектах не будет использовать 20 разных либ на 20 разных языках. Возьмем фотон какой-нибудь и проект даже не доделаем.
Аноним 23/10/20 Птн 17:59:56 706003488
OnPointerUp не работает. Читал, что нужно добавить OnPointerDown или OnPointerEnter, но не помогает. Не могу понять, в чем проблема.
Аноним 23/10/20 Птн 18:41:52 706009489
Аноним 23/10/20 Птн 18:44:47 706010490
>>706009
Уже разобрался. Букву пропустил.
Аноним 23/10/20 Птн 19:47:46 706029491
>>705954
добавь на сцену (выше остальных спрайтов) бэкраунд с прозрачным спрайтом и лови клики на нём
Аноним 23/10/20 Птн 19:56:48 706032492
>>705910
Зафреймил ретёрн сабстракта тебе ин апдейт, чек ит аут.
Аноним 24/10/20 Суб 03:11:17 706053493
Есть некое int A = 4 и Vector3Int Huita (0,0,0). Почему мне вычисление Huita.x - A выдает результат -1?
Аноним 24/10/20 Суб 14:12:24 706123494
Алоха. Вопрос к бывалым. Тут загорелась в жопе сера научиться делать игры на Unity, в поисках курсов наткнулся на следующее:
https://www.school-xyz.com/hyper-casual
Следовательно вопрос, если посмотреть на описание программы и учесть возможность скинуться на него с парой друзей, сильно ли он будет полезнее чем остальные предложения на рынке, или вовсе бесплатные варианты на Youtube?
Возможно кто-нибудь уже проходил клевые курсы и может подсказать где можно найти?
Аноним 24/10/20 Суб 14:13:11 706124495
>>706123
P.S.

Учитывая что цена там нихуевая.
Аноним 24/10/20 Суб 14:50:00 706127496
Двач, хочу наложить на спрайт градиент, чтобы они переливался, какими инструментами в юнити это можно сделать?
Аноним 24/10/20 Суб 14:52:19 706128497
Гайз, подскажите плиз, пытаюсь зайти в аккаунт в Unity Hub, нажимаю sign in, загорается на пару секунд белый экран, и тут же гаснет. Зайти не дает. Сталиквался ли кто-кто нибудь с подобной ебатой, проблема не гуглится от слова совсем.
Аноним 24/10/20 Суб 16:40:41 706145498
>>706123
Там больше учат как заработать на гипер-казуальной параше в гугл плее, разве нет?
Аноним 24/10/20 Суб 16:52:01 706148499
>>706053
Так не может быть, ты где то накосячил
Аноним 24/10/20 Суб 18:33:25 706164500
1.jpg 169Кб, 1602x863
1602x863
Посоны, а внутри геймобжекта можно как-нибудь чисто спрайт заскейлить? Если скейлить трансформ геймобжекта, то там следом колайдеры хуйядеры его скейлятся, ебанина такая их руками назад делать. Пока пришла только идея добавить внурь ещё один геймобжект и к нему спрайтрендерер прилепить и его чисто скейлить, но вот чёт очкую геймобжекты плодить, которых итак по итогу будет дохуя.
Аноним 24/10/20 Суб 18:46:18 706166501
>>706164
>добавить внурь ещё один геймобжект и к нему спрайтрендерер прилепить и его чисто скейлить
Так обычно и делают.
Аноним 24/10/20 Суб 18:54:21 706168502
Аноним 24/10/20 Суб 21:01:15 706179503
Не первый раз наталкиваюсь на сборку Юнити, которая не хочет запускаться у меня на компьютере. Насколько это частая проблема? А если игра выйдет в стим, а у игроков не будет запускаться?

Пользуюсь виндовс 10.
Аноним 24/10/20 Суб 21:35:10 706180504
>>706179
>А если игра выйдет в стим, а у игроков не будет запускаться?
То они заберут назад деньги и в отзывах напишут что мамашу твою ебли.
Аноним 25/10/20 Вск 02:49:39 706198505
>>706128
бля, ну я ща вскроюсь с этой хуйней, памахите
Аноним 25/10/20 Вск 09:18:47 706209506
Аноним 25/10/20 Вск 09:36:46 706210507
>>706198
Да переустанови хаб уже ёбаный, если не помож вместе с юнькой и делов то, больше времени ерундой маешься.
Аноним 25/10/20 Вск 10:08:32 706218508
Endless Dungeon[...].mp4 16205Кб, 1360x768, 00:00:11
1360x768
>>705408
Пожал спрайты анимаций в два раза разрешение, поменял фпс анимаций с 60 на 30, запихнул каждую анимацию в спрайтшиты, под 4к сжатие текстур в юнити они влезли, в редакторе всё-равно подлагивает, а в готовом билде пропадают куски персонажей и иконка инвентаря партачит - но уже значительный прогресс в сравнении с тем, что было. Но, блять, ужимать дальше некуда, попробую спрайты "земли" пожать и ещё надеюсь на то, что пропадают куски из-за конфликта имён, все анимации одинаково названы, как и спрайты к ним, может юнити при билде что-то через пизду сжимает и потом неправильно рантайм декодирует.
Аноним 25/10/20 Вск 13:36:29 706242509
>>706210
Ебать, вот это совет. Такой неочевидный ход, сам додумался до такого, или подсказал кто?
Разумеется блять я уже 10 раз переустановил, и старые версии хаба попробовал, и сука все что могло ограничивать его работу aka брандмауэр\антивирус и тд позакрывал. Осталось только с бубуном попрыгать над компом.
Аноним 25/10/20 Вск 13:37:28 706245510
>>706209
Да это первое куда я пошел, попробовал все что там советовали, и нихера. Безысходность...
Аноним 25/10/20 Вск 17:26:30 706276511
>>706218
Разные типы апдейта, влияние на компонент через родственников.
Такой хуйни не должно быть.
Аноним 25/10/20 Вск 17:55:18 706278512
2.jpg 52Кб, 793x808
793x808
>>706276
>Разные типы апдейта
Вся логика игры крутится в фикседАпдейт. Клики мышки только ловлю через апдейт.
>влияние на компонент через родственников
Ну вот зомбик у меня одним геймобжектом идёт и сам свой аниматор контролит, а на нём пропадает спрайт на видяшке видно. Ну конечно на него "влияет" родственный геймобжект игрока, но там типа отнять хп и всякое такое, как иначе то подобное реализовывать. Напрямую на его аниматор влияет только когда анимацию ошеломления запускает энеми.шортСтан(), но это хуйня я думаю и в первых версиях игры не было таких багов, а код этот уже был.
Персонаж игрока состоит из нескольких геймобжектов - оружие, щит, башмаки... аниматоры которых контролятся основным родителем геймобжектом, но всё же сомневаюсь в твоём предположении, потому что это не объяснит допустим куда проебалась иконка инвентаря. Но предположение это ещё обдумаю. Делаю ставку на конфликт имён файлов, проверять буду как наберусь сил всё перепилить.
Аноним 25/10/20 Вск 19:01:18 706285513
Задам тупой вопрос, но всё же.

На данный момент я работаю в той сфере, которая мне просто остаебала. Мало того, что работы много и она мне не нравится, так ещё и получаю копейки в районе 50к. ОЧЕНЬ хочу перекатиться в геймдев индустрию, а именно в погромисты на unity.

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

Планирую потратить на вкатывание около года-полутора, поэтому не смущает количество необходимых знаний. Главное знать что именно изучать.
Аноним 25/10/20 Вск 19:25:46 706291514
image.png 2302Кб, 1917x1017
1917x1017
image.png 1524Кб, 1917x1017
1917x1017
image.png 1131Кб, 1917x1017
1917x1017
>>698843 (OP)
делаю что -то под мобайл (да в мармолсете, но позже на unity)
low-poly (максимум 9k tris на здание)
pbr всё такое (моделил/запекал)
в дальнейшем буду фиксить
что скажите?
Аноним 25/10/20 Вск 19:27:00 706292515
image.png 2302Кб, 1917x1017
1917x1017
image.png 1524Кб, 1917x1017
1917x1017
image.png 1131Кб, 1917x1017
1917x1017
>>698843 (OP)
делаю что -то под мобайл (да в мармолсете, но позже на unity)
low-poly (максимум 9k tris на здание)
pbr всё такое (моделил/запекал)
в дальнейшем буду фиксить
что скажите?
Аноним 25/10/20 Вск 19:45:23 706297516
>>706291
>low-poly (максимум 9k tris на здание)
>pbr всё такое
Просто комбо какое то. Интересно сколько полигонов у твоего главного героя.
Аноним 25/10/20 Вск 19:48:23 706298517
>>706297
разве мобилки не вытянут такое?
GTA IV на планшете 2д13 года запускали и вполне себе играли, а там геометрия на зданиях есть и по 37k tris
Аноним 25/10/20 Вск 19:52:16 706299518
image.png 43Кб, 420x618
420x618
>>706285
Пикрелейт требования выдвигаемые вот прям сейчас, завышенные конечно, но если знаешь это, то точно возьмут.
>>706285
>Планирую потратить на вкатывание около года-полутора, поэтому не смущает количество необходимых знаний. Главное знать что именно изучать.
Если именно программистом, то очень серьезно изучать шарп.
И параллельно изучать движок, можно через https://learn.unity.com/ или курсы с торрентов.
>>706285
>что работы много и она мне не нравится, так ещё и получаю копейки в районе 50к.
Так в гейдеве все так же.

Аноним 25/10/20 Вск 19:54:32 706300519
>>706285
Ну, удачи с перекатом на 30-40к
Аноним 25/10/20 Вск 20:03:19 706302520
>>706298
Просто сделай базовую сцену со своими моделями, сбилди под мобилку и потести.
Аноним 25/10/20 Вск 20:24:40 706305521
>>706299
>unity junior
>в среднем 2000 у.е. в месяц
Аноним 25/10/20 Вск 20:33:41 706308522
>>706299
Зачем нужно затемнение кода здесь?
Аноним 25/10/20 Вск 20:42:39 706310523
>>706218
это в юнити эффект зернистости или из-за видео?
Аноним 26/10/20 Пнд 01:59:54 706331524
image.png 33Кб, 513x350
513x350
Установил версию Юнити 2019.4.13f1. Они урезали возможность открывать скрипты из инспектора? При дабл клике уже не открывается, как раньше.
Аноним 26/10/20 Пнд 06:28:28 706337525
>>706331
пкм - Edit Script
Работает даже на Transform компоненте
Аноним 26/10/20 Пнд 10:56:54 706360526
Unity2020102613[...].png 1641Кб, 1292x768
1292x768
Аноним 26/10/20 Пнд 12:53:22 706389527
изображение.png 30Кб, 649x435
649x435
А можно поплакать? Мое нищепок не тянет пустую юнити

Почему я такой неудачник и как мне с этим жить? Работаю на нищезарплату, думал поделать игры чтобы себе купить комп для разработки. Поделал
Аноним 26/10/20 Пнд 13:20:04 706406528
Анончики. Подскажите какой-нить глубокий разбор или туториал по DOTS, чтобы от и до, со всеми подводными камнями и работой под капотом.
Аноним 26/10/20 Пнд 14:03:49 706432529
>>706389
>думал поделать игры чтобы себе купить комп для разработки
Ахзазазх.
Аноним 26/10/20 Пнд 14:46:10 706450530
А у вас есть способ отлавливать глобальное нажатие пкм эвентом?
Ожидал, что OnPointerClick будет так работать, но он вызывается только при клике на объект, к которому привязан
Аноним 26/10/20 Пнд 15:35:47 706465531
>>706389
>Почему я такой неудачник
>думал поделать игры чтобы себе купить комп
Ответ на вопрос кроется в самом вопросе. У тебя ложные представления о жизни
Аноним 26/10/20 Пнд 15:45:35 706466532
Аноним 26/10/20 Пнд 16:04:20 706471533
image.png 25Кб, 376x325
376x325
>>706337
Нихуя не работает. А сам скрипт серого сцета, что характерно. Может это нововведение у них?
Аноним 26/10/20 Пнд 16:06:51 706472534
>>706471
Ты по названию компонента правой кнопкой тыкни
Аноним 26/10/20 Пнд 16:09:04 706473535
>>706472
А, так работает. Спасибо. Но тем не менее, раньше было удобнее открывать скрипты
Аноним 26/10/20 Пнд 16:13:06 706475536
5B5D339B-AA04-4[...].jpeg 87Кб, 720x1520
720x1520
Как сделать слежение камеры как в cube surfer ?
Камера следует только за персонажем, но когда он слайдится влево-вправо, она остаётся на месте
А ведь там ещё дорога поворачивается.
Аноним 26/10/20 Пнд 16:20:55 706476537
Аноним 26/10/20 Пнд 16:21:55 706477538
У кого-нибудь были проблемы с Адмиксом? Зарегался на сайте, а внутри движка сука упорно не хочет входит, log in attempt failed
Аноним 26/10/20 Пнд 19:32:23 706519539
>>706450
if(Input.GetKeyUp(KeyCode.Mouse0)){
// отжали мышь
}
>>706389
Какая версия? мой комп из 2007 тянул 2019 lts (только я оч сильно дрочился с перфоменсом благодаря этому научился всему такому)
>>706475
Проверка дистанции по одной оси, вместо трех.
А вот как правильно настроить эту ось - твоя работа
Аноним 26/10/20 Пнд 20:24:44 706526540
>>706519
Про оси спасибо, идея хорошая
Аноним 27/10/20 Втр 00:36:19 706559541
Анон, чет я туплю, вебвью поддерживает встраивание видео без навигационных клавиш? Например с ютуба или своего сервака.
Аноним 27/10/20 Втр 01:17:06 706561542
>>706299
> Зарплата зависит от количества сделанного
Ох, саундс лайк наебалово
Аноним 27/10/20 Втр 04:34:02 706569543
Обмазался UI Toolkit в превью-версии. Заебись вещь, правда пока лагучая.
Аноним 27/10/20 Втр 06:09:42 706573544
>>706569
Показал бы что сделал хоть..
>>706559
через UnityPlayer - да, там вообще клавиш нет
Аноним 27/10/20 Втр 11:56:16 706588545
>>706573
>через UnityPlayer - да
А есть гайд?
Аноним 27/10/20 Втр 12:03:40 706589546
Аноним 27/10/20 Втр 12:07:09 706590547
>>706589
Это нативное встраивание. А у меня элемент (база знаний по игре) находится в вебвью, проксируется с моего сервака. И вот туда, помимо текста, я хочу впендюрить еще видео.
Аноним 27/10/20 Втр 12:28:58 706591548
image.png 146Кб, 647x651
647x651
Делаю типичную бродилку по коридорам и комнатам, и, чтобы упростить игроку прохождение, хочу добавить необязательную возможность делать пометки маркером на стенах, дверях, короче, на мешах (можно рисовать стрелки и текст, например).
Рисовать он будет курсором мыши.
Как думаете, мне подойдет Line Rendered? Пока чел будет удерживать курсор, я буду с интервалом, например, 100мс, запоминать позиции курсора и передавать их в Line Rendered.
Это будет происходит так. Чел подходит к стене, переходит в режим рисования спец клавишей (пусть будет "P"). В этот момент я поворачиваю камеру к стене, чтобы она смотрела прямо на стену, под нулевым углом. Потом формируется Line, который просто будет висеть на стене.
Норм идея?
Но может есть хорошие и бесплатные готовые варианты?
Аноним 27/10/20 Втр 12:49:12 706596549
>>706590
Аа, возьми либу vjs и через стиль .video-js .vjs-big-play-button {
display: none;
}
скрой кнопку, через JS управляй видео.
Хуюнити умеет дергать методы из других языков (включая нативный ios или android)
>>706591
Норм, у lineRender-а есть встройная функция relax - которая удаляет слишком близкие точки + через raycast ты можешь рисовать не в воздухе, а прям на своих объектах
Аноним 27/10/20 Втр 13:22:34 706603550
>>706596
>через raycast ты можешь рисовать не в воздухе, а прям на своих объектах
а, точняк
Аноним 27/10/20 Втр 14:39:07 706611551
>>706596
> возьми либу vjs
Понял, спасибо. Только либа выглядит жирновато, другого способа нет?
Аноним 27/10/20 Втр 17:16:43 706620552
>>706611
Другую либу поищи))0
Юнити не предлагает ничего, что выходит за рамки движка, если UnityPlayer не нравится - подключай что-нибудь стороннее.
Аноним 27/10/20 Втр 18:43:30 706636553
OnControllerColliderHit создает мусор.
Если какие то алтьернативы CC хитдетекшена?
OnColliderEnter не может пробиться через кожу контроллера (любой толщины), то есть не работает.
на форумах советуют не юзать дефолтный cc, лучше пишите свой, круто, а зачем тогда он есть вообще, может пока пишу свой контроллер, еще свой движок напишу заодно?
Аноним 27/10/20 Втр 19:11:07 706640554
Аноним 27/10/20 Втр 19:58:36 706648555
>>706640
к-кокие?
это юнитевский подкапотный калбек, они его зачем то сделали классом, нигде неподкопаешься
Аноним 28/10/20 Срд 02:52:40 706688556
>>706648
Ладно написал свой контроллер, хуй с вами.
Аноним 28/10/20 Срд 06:18:41 706693557
>>706688
Быстро ты. А разговоров-то было..
Аноним 28/10/20 Срд 06:25:42 706695558
>>706636
Столкнулся с этой же проблемой и из решений правда начал костылить свой контроллер, очень неудобно, но другого выбора нет
Аноним 28/10/20 Срд 07:01:48 706697559
>>706695
Меня беспокоит что дефолтный там под капотом использует PhysX апи и на плюсах, то есть уже оптимизированнее всех васянских контроллеров и всегда будет, да и вообще мы движок берем чтобы игры делать а не под унитазом гайки крутить.
Аноним 28/10/20 Срд 08:00:20 706699560
>>706697
Яб покрутил, только они даже не дают эти слабые гайки закручивать вместо них..
А! Еще помню, что если убрать этот метод OnHit то лишнего GC не будет
Аноним 28/10/20 Срд 10:15:10 706707561
Тестирую под свой старый телефон, не смотря на то, что игра не оптимизирована, все работает ок, хороший фпс и не греется ничего.
Дал потестить людям на чуть более старых моделях и на очень современных моделях типа сосунг галакси - говорят греется и при чем достаточно сильно.
Игра очень примитивна 2д. Андроид 4. В чем может быть причинакроме подкручивания гаек и моих исправлений в будущем? Это какая-то распространенная проблема или что?
Все изображения юнити автоматически определяются ассетами, то бишь при созданий-удалении объектов с одним видом используется одно изображение или каждый раз определяется новое? И чтобы это исправить мне вручную надо прописать префаб какой-нибудь?


Аноним 28/10/20 Срд 10:31:45 706708562
>>706699
Ага и инфы о колижене тоже не будет. Зачем я этот метод вообще добавил по твоему, для красоты чтоли?
Нет, мне нужен калбек о говне по которому я хожу.
И юнити дает мне этот срущий мусором калбек, вот только чинить его как я понимаю некому, все заняты очередная_ненужная_маркетинговая_хуйня_нейм.
Аноним 28/10/20 Срд 14:35:35 706749563
Как правильно сделать показ рекламы и остановит при этом игровой процесс?
Аноним 28/10/20 Срд 14:50:28 706755564
>>706749
В меню, инвентаре, в магазине. Просмотрите рекламу чтобы получить 1 монетку.
Аноним 28/10/20 Срд 14:55:52 706756565
>>706755
Да не, не в этом вопрос. Рекламу то я впендюрил, но игра при этом продолжается. А надо чтобы он останавливался на время ролика.
Аноним 28/10/20 Срд 14:59:58 706757566
>>706756
То есть у тебя даже нет паузы втф.
Пауза дизайнится в самом начале посьтроения архитектуры, просто останавливай все процессы, по свичу и по timeScale = 0;
Аноним 28/10/20 Срд 15:02:07 706759567
>>706757
Пауза есть, она через timeScale=0 сделана. Я просто думал, что это все приложение целиком остановит, включая саму рекламу.

>по свичу
А это что?
Аноним 28/10/20 Срд 15:06:43 706760568
>>706759
Мой сленг. Свич-переключатель. Ну типа if нет паузы то код, если есть паузы то нет кода.
Аноним 28/10/20 Срд 15:08:15 706761569
>>706760
Ну понял, спасибо, сделаю тогда через таймскейл.
Аноним 28/10/20 Срд 16:18:19 706780570
Как у меня печёт. Переезжаю с 2019.2 на 2019.4 и начинается ебала с firebase. Не работает android resolver. Ну блять, бесить. 2 дня просидел, бросил.
Аноним 28/10/20 Срд 17:17:43 706790571
>>706780
лол, толи еще будет 2020.х
Аноним 28/10/20 Срд 17:47:26 706798572
По рекламе вопрос. Как правильно считать значение ShowResult.Finished, чтобы понять, когда закончился рекламный ролик? В обычном if не считывается, пишет, что не конвертируется в булевый тип.
Аноним 29/10/20 Чтв 07:03:39 706872573
>>702393
> стилистика зельды не зашла, а тут прям то что надо
Поздравляю, у тебя начисто отсутствует вкусь. Геншин настолько дженерик пиздоглазая хуйня что хуже уже некуда.
> вайфу есть
Как что-то хорошее.
Аноним 29/10/20 Чтв 07:13:45 706873574
>>706872
Не баламуть, а то он сейчас разойдется.
Аноним 29/10/20 Чтв 12:53:19 706900575
Как начать проигрывать следующую анимацию за 10 сек до окончания первой анимации? Многое что перепробовал, все что-то не то.
Самый рабочий вариант был первым-определить общее время всего нужного порядка анимаций, и затем создавать объекты с одним временем, только включающими анимацию в разные отрезки.
Не работает как надо потому что я криво как-то флажками ставлю отметки, в итоге они начинают косится со временем и вместо анимации у меня пусто(так как пустые отрезки нескольких объектов начинают совпадать).
Аноним 29/10/20 Чтв 13:03:45 706903576
>>706790
> еще будет 2020.х
Ну кстати разобрался. Оказалось, что слишком длинный путь до проекта.
Аноним 29/10/20 Чтв 19:26:49 706960577
Бля как сделать ии как в хотлайн маями? Пока придумал только колхозить через навмеш, вешая спрайты пола и стен на тридэ кубы, а на юту бе два индуса и один русак, у которых ии просто трансформом транслейтом либо рб велосити идет в сторону игрока, и если зайти за стену то он в нее упирается. Подскажите какими инструментами это делать, может какие-то сторонние библиотеки?
Аноним 29/10/20 Чтв 20:08:51 706964578
>>706960
Можешь из челиков рейкасты пускать чтоб они в стены не долбились, для несложного передвижения этого хватит я думаю
Аноним 29/10/20 Чтв 20:24:54 706969579
>>706964
нашел тутор от индуса с использованием a-star pathfinding
Аноним 29/10/20 Чтв 21:28:15 706977580
Endless Dungeon[...].mp4 20124Кб, 1600x896, 00:00:13
1600x896
>>706218
>>706278
Бля получилось! Даже спрайты анимаций назад увеличил в два раза, правда от сапог и перчаток, как отдельных объектов с анимациями, отказался.
Аноним 30/10/20 Птн 07:48:03 707011581
>>706977
Пост уровня помохте решить проблему.
А не можно закрывать я сам нашел.
???
Аноним 30/10/20 Птн 08:39:24 707013582
>>707011
Сейчас учить тебя, щенка, будем..
У программистов есть такое понятие "поговорить с уточкой", так вот суть в том, что пока ты рассказываешь свою проблему - тебе в голову приходит решение.
Если не веришь, можешь загуглить.
Самое смешное что это правда иногда работает.
Аноним 30/10/20 Птн 08:54:44 707014583
>>707013
Лол школота "у програмиста", это блядь у всех есть долбоящер, а не только у прогера. Сука термин он тут придумал ниибацо локальный, програмис хуев. Ору.
И здесь долбоящер проблема не твоей шизофрении, а в том, что я блядь, описал.
Нашел проблему - пиши тут же решение, это правило хорошего тона. Сука какой кринж с тебя ловлю пиздос.
Аноним 30/10/20 Птн 09:05:24 707015584
>>707011
Ну знаешь, анон порой очень помогает, поэтому если я ловлю затуп и не могу разродится решением пару дней - то тут строчу посты.
Аноним 30/10/20 Птн 09:06:59 707016585
>>707015
Нашел ответ сам - пиши его. Это не твой личный дневничок.
Аноним 30/10/20 Птн 09:09:42 707017586
>>707016
>>706278
>Делаю ставку на конфликт имён файлов, проверять буду как наберусь сил всё перепилить.
Аноним 30/10/20 Птн 16:00:11 707082587
>>706977
Так а в чем в итоге проблема то была, если вкратце?
Аноним 30/10/20 Птн 16:49:34 707088588
>>707082
Да хуй его знает, переименовал все файлы анимаций по уникальному каждый, когда их заново переделывал, спрайты все поджал под их точное разрешение, убрал два объекта анимированных с персонажа. Либо перегруз был движка из-за количества тяжёлых "анимаций", шесть объектов со спрайтшитами анимаций по 4к было на персонаже основном, стало четыре, либо юнити путался в готовом билде из-за одинаковых имён спрайтшитов анимаций. Ещё кэшировал аниматоры, к которым каждый апдейт обращаюсь. Вообще не думал что спрайтовая графика побольше чем 3д отжирать может.
Аноним 31/10/20 Суб 18:57:21 707223589
Пацантре, насколько безопасно использовать jobs? Ориентировка пк и мобильные
Аноним 31/10/20 Суб 20:19:35 707237590
>>707223
Да безопасно то безопасно. Мне было сложно начать думать под эту DOTS методологию.
Ии они давно хотели запретить доступ через статику (т.е. работай только с данными, которые пришли в джобу)
Аноним 31/10/20 Суб 21:29:26 707246591
Подскажите пожалуйста, хочу сделать кроссворды. Как правильно рисовать грид? Нужно ещё чтобы можно было наложить текстуры типа нарисовано от руки на старой бумаге. Ещё в общем меню буду выводить все кроссворды в види миниатюр с сохранённым состоянием. Я делаю через Image и просто скейлю его, а миниатюры генерирую заранее, но выходит очень дорого, на 5000 кросов с сейвами уходит сепкунд 10 на пеке, а на мобилке того больше. В общем, реквестирую трушный способ.
Ещё прикупил ассет новый Shapes, но пока не пробовал
Аноним 31/10/20 Суб 21:57:36 707248592
Добавил короче рекламу. Попытался сбилдить и мне выдало 80 ошибок лол. Попытался по форумам пошариться, там то ли проблема в том, что две версии рекламных пакетов в ассетах лежат, то ли устаревшая версия ассетов. Так толком и не понял. Кто-нибудь сталкивался? Добавлял unity ads через asset store
Аноним 31/10/20 Суб 22:20:20 707255593
>>707246
Грид через Tiles.

Миниатюры в реальном времени незачем генерировать. Если состояние сохранено то сохраняй к нему и уже готовый кроссворд.
Аноним 31/10/20 Суб 23:44:57 707269594
>>707255
Ну нее, тайлс тут точно не подходит.
Аноним 01/11/20 Вск 00:12:28 707270595
Аноны, есть у кого-то примеры или ссылки на примеры 2д боевой системы (управление вверх/низ/лево/право) . Как в зельде короче.
Хз, не могу придумать адекватное что-то. Милишная атака для таких игр выглядит странно, а поочередная как в героях сложная для такого лоха как я.
Может есть советы куда копать?
мимо 2 месяца стажа юнити и c#
Аноним 01/11/20 Вск 00:44:17 707272596
>Internal: JobTempAlloc has allocations that are more than 4 frames old - this is not allowed and likely a leak
Почему юнити сама под себя протекает? Никаких мемных жоп систем не использовал и не собираюсь, стоит ли беспокоится?
Аноним 01/11/20 Вск 08:05:19 707280597
>>707272
Значит какой-то ассет украл
Аноним 01/11/20 Вск 16:01:40 707308598
Допустим моей игре не нужна реалистичная симуляция физики, хватит ли Physics.ComputePenetration с оверлапами для нужд простого 3д платформера?
Аноним 01/11/20 Вск 16:11:08 707311599
>>707280
Пустая сцена с кубами блин.
Ассетов чужих тоже нет, только пара шейдеров от васяна, которые даже не использую.
Ладно, удолил весь мусор из проекта, на всякий.
Аноним 02/11/20 Пнд 05:50:17 707356600
>>707311
А какая версия? Может какой-то юнетивский пакет ругается, давай разберемся, если больше инфы дашь
>>707308
Можешь вообще на райкастах написать свой контроллер.
Пару лет назад на старом ноуте делал платформер с гридом от юнити, так вот физика его грузила на 20-40%, переписал на райкасты (пускал 2 в пол и 1 в сторону куда идет перс), этот способ грузил ноут на 0.1-1.5%
Аноним 02/11/20 Пнд 08:07:43 707357601
ddo2ps4-d405bac[...].png 29Кб, 754x666
754x666
>>707356
>Можешь вообще на райкастах написать свой контроллер.
Так если у меня куб, надо 8 рейкастов делать чтобы сквозь углы не проходить, а если сфера/капсула то вообще хз, надо именно оверлап (у меня капсула).
кинул 100 своих капсул оверлап + пенетрейшен контроллеров, проц грузит 25% в среднем.
Аноним 02/11/20 Пнд 09:24:12 707359602
43564565467443.png 26Кб, 771x365
771x365
>>707356
Unity 2018.1.0f2, в меню Package Manager все дефолтное.
Честно не знаю какую инфу давать, я не знаю причин.
Похоже что абсолютно рандомно вылезало, будто юнити само на себя там чето под капотом бухтит.
С тех пор как задал вопрос вот пока не вылезало (эффект плацебо сработал).
, 02/11/20 Пнд 15:41:35 707435603
Как обычно используется смена/ разное оружие в 2д играх?
1) отдельный набор спрайтов для персонажа с каждым оружием?
2) отдельная "рука" с каждым оружием? Как она тогда связывается с чарактером?(один объект чарактер, который содержит все части, в т.ч. руку?) Как как они связываются в коде?
Аноним 02/11/20 Пнд 17:54:39 707458604
Как сделать анимацию поблескивания кнопки? Или чтобы по ней прокатывалась волна света?
Аноним 02/11/20 Пнд 18:14:28 707462605
Аноним 02/11/20 Пнд 18:29:14 707464606
Аноним 02/11/20 Пнд 19:26:43 707467607
https://www.youtube.com/watch?v=qSLVv5bFLd0
За какую сумму и какое время написали бы данный функционал, с системой диалогов, квестами и вознагрождениями, инвентарем.
сумму указывайте с учетом того, что еще нужно объяснить как это работает и расширяется, по канонам ООП
Аноним 02/11/20 Пнд 23:43:51 707488608
Аноним 02/11/20 Пнд 23:45:00 707489609
Аноним 03/11/20 Втр 11:19:16 707507610
>>707435
>Как обычно используется смена/ разное оружие в 2д играх?
Никак.
>1) отдельный набор спрайтов для персонажа с каждым оружием?
В фоллачах так первых было, вот ебанина аниматору была, да и моделек из-за этого по парочке на оружию и броню было.
>2) отдельная "рука" с каждым оружием? Как она тогда связывается с чарактером?(один объект чарактер, который содержит все части, в т.ч. руку?) Как как они связываются в коде?
Я пилю топдовн рогалик и у меня щит/меч/броня/шлем - отдельные объекты со своими аниматорами и анимациями, синхронно контролируемые основным объектом.
Аноним 03/11/20 Втр 11:43:08 707513611
Это требования к вакансии, можете объяснить по-русски что требуется, на примерах.
- Deep understanding of asset workflows, data serialisation
- Low level knowledge of C# APIs and Unity APIs
- Strong knowledge of C# and modern programming paradigms, e.g. async/await
Аноним 03/11/20 Втр 11:46:42 707515612
>>707435
>>707507
Переведу на профессиональный язык.
Для 2д есть 2 типа анимации.
Спрайты и костная.
Спрайты это покадровая классическая анимация, как флипбук. Позволяет делать ВАУ эффект и дает плавный красивый контроль, но делать это все аниматору очень долго тяжело дорого.
Костная анимация это когда у тебя есть обычные картинки объектов и модель, связывающая движения между ними. Упрощает анимационный процесс тк не надо рисовать покадрово картинки для каждого движения и объекта, но выглядит чопорно, специфично, как флеш игры тех лет, требует усилий чтобы сделать ну прям красиво.
Спутать эти стили невозможно. Вопрос дизайна.
Аноним 03/11/20 Втр 11:47:58 707516613
>>707513
1)Купил установил использовал
2)Знать как все работает из коробки, а не из документации, сидеть на гите и читать каждый класс
3)Тоже самое только еще в целом нужно знания иметь о компутар сайнс
Аноним 03/11/20 Втр 12:27:36 707523614
>>707515
Спасибо, но вторым пунктом я не совсем костную имел в виду.
Пример: есть какой-то спрайтовый персонаж с анимацией сражения на мечах. Например, враги умирают только если касаются меча, а не всего персонажа. И вообще ещё видел, как один спрайт разбивали на несколько (персонаж и оружие)
Аноним 03/11/20 Втр 14:14:39 707539615
>>707516
>1)Купил установил использовал
А data serialisation это что? Ассет воркфлоу, это поток работы, то есть как работают ассеты нужно разбираться и все?
>3)Тоже самое только еще в целом нужно знания иметь о компутар сайнс
Ну я почитал про async/await, но в комментариях как обычно холивар, что можно использовать корутины, и в каких-то ситуациях асинк не подходит. Где мне подчерпнуть всю современную информацию о работе с кодом в Unity? Может просто фишки, как асинк/эвейт, я сам уже нагуглю. Нет почему-то такого списка нигде, если кто-то в блоге у себя писал, что должен знать сениор на юнити по шарпу, то дай инфу, а то у меня только какая-то расплывчатая информация.
Аноним 03/11/20 Втр 15:27:38 707553616
Аноны, есть смысл перекатываться на 2020.1?
Аноним 03/11/20 Втр 15:42:11 707555617
>>707515
>Костная анимация это когда у тебя есть обычные картинки объектов и модель, связывающая движения между ними.
И чё в юнити есть для этого инструменты хорошие? Просто я покостную анимацию через спрайтер пилю и импортирую в юнити уже спрайтшиты готовые.
Аноним 03/11/20 Втр 20:33:13 707592618
Кто-нибудь шарит за блендшейпы? Когда двигаю ползунок в редакторе, фпс падает кадров на 200. На сцене только модель с ригом и ~100 блендшейпами. При этом в видосах на ютубе люди как-то рилтайм рандомят одновременно 200 шейпов и фпс почти не проседает.
Аноним 03/11/20 Втр 22:57:22 707617619
>>707553
Если ты занимаешься чем то специфическим, чекаешь вручную ченджлог всех версий от твоей текущей до последней.
Если обычно анон пилящий инди, то всегда надо переходить на новую версию, за исключение альфа и бета билдов. На данный момент 2020.1.11 последняя стабильная и 2021.1.0 Alpha вкусная, но не стоит пока.
Аноним 03/11/20 Втр 23:00:00 707618620
>>707467
Думаю около 15к рублей выйдет вместе с объяснениями и не говнокодом внутри. Все что выше просто не нужная накрутка от более опытных кодеров которые и так зашибают по несколько к. зелени в месяц.
Аноним 04/11/20 Срд 00:29:52 707631621
Приветствую Анонов. Подскажите пожалуйста, допустим я собираю стул, мне нужны 4 ножки, спинка, сидение и 10 гвоздей. Как я могу зафиксировать это с помощью скриптов в unity и допустим при сборке стула у меня расходовались материалы из инвентаря.
Аноним 04/11/20 Срд 05:37:53 707668622
Unity2020110408[...].png 1157Кб, 1016x767
1016x767
Unity2020110408[...].png 158Кб, 1600x767
1600x767
1.jpg 150Кб, 1603x859
1603x859
Почему коллайдер объекта со второго скрина во время игры блокирует коллайдер кнопочки юайки во время игры? У меня на коллайдере кнопочки скрипт такой пиздатенький висит, чтобы при наведении кнопочка цокала, в стартовом меню всё зоебок работало, а внутри игры вот не хочет. Объект со второй пикчи диэйблю в редакторе - и звуки с кнопочки начинают работать. Уже думаю писать скрипт на дизэйбл всех коллайдеров на время паузы, но может есть простое не костыльное решение?
Аноним 04/11/20 Срд 06:03:39 707669623
>>707668
Коллайдер это физический объект и его в UI не надо применять
Есть события триггеры для UI элементов, есть graphic raycast
Но не надо коллайдер
Аноним 04/11/20 Срд 09:42:25 707673624
>>707669
>события триггеры для UI элементов
Хорошо, и как OnMouseEnter() эвент без коллайдера запустить? Либо какой-либо его аналог.
Аноним 04/11/20 Срд 09:54:24 707676625
>>707618
Ты уверен? Сделаешь сам такое за 15 тысяч? Готов заказать.
Аноним 04/11/20 Срд 09:57:31 707677626
>>707617
Я чекал, ничего для себя вкусного не нашёл.
Аноним 04/11/20 Срд 14:52:12 707700627
>>707673
Накидываешь интерфейс IPointerEnterHandler и реализуешь его метод, всё
Аноним 04/11/20 Срд 16:58:54 707715628
Аноним 04/11/20 Срд 17:08:08 707717629
>>707673
Накидываешь компонент Event Trigger, там много всяких событий
Аноним 05/11/20 Чтв 10:38:45 707830630
image.png 182Кб, 878x577
878x577
Может кто сталкивался с такой проблемой хотя и маловероятно
После перехода на Pro версию перестали открываться проекты с Unity 5, бесконечно висит пикрил на рабочем столе, при этом не отображается в трее, диспетчер задач показывает, что всё работает нормально эдитор не "не отвечает"
Аноним 05/11/20 Чтв 17:49:57 707896631
Где годные курсы по C# взять на русском?
Аноним 05/11/20 Чтв 18:36:30 707903632
>>707896
>на русском
Нигде
Аноним 05/11/20 Чтв 18:56:45 707906633
Аноним 06/11/20 Птн 11:58:23 707990634
>>707676
Да, не вижу проблем. Возможно не так красиво будет, но сделать не сложно. Пару дней работы.
Аноним 06/11/20 Птн 12:56:20 707994635
Хотел добавить покупки в приложение. Я правильно понял схему, надо сначала загрузить проект в гугл плей, получить под него ключ, а потом с этим ключом уже настраивать дальше?
Аноним 06/11/20 Птн 14:11:03 708003636
>>707994
Нет неправильно, ключ ты сам генеришь
Аноним 06/11/20 Птн 17:31:57 708060637
>>707990
Почему не так красиво, там же ноды обычные, или ты через инспектор будешь делать?
Аноним 06/11/20 Птн 18:29:58 708072638
>>708060
Какие годы ты имеешь в виду?
другой анон
Аноним 06/11/20 Птн 18:31:54 708073639
Аноним 06/11/20 Птн 19:35:57 708083640
Аноним 07/11/20 Суб 12:57:47 708185641
1.png 8Кб, 515x216
515x216
Сап, юнитач
Может кто подскажет, почему эта блядская функция возвращает всегда false.
Вводные: есть тайлмапа со стенами, на нее повешен TilemapCollider2D, ей задан слой BlockingLayer.
Функция находится в скрипте, повешенном на персонажа. Переменная LayerMask BlockingLayer создана, в инспекторе для нее выбран соответствующий слой (тот, на котором стены).
Причем если я не отключаю собственный коллайдер персонажа (он тоже находится на слое BlockingLayer) то столкновение происходит. ЧЯДНТ?
Аноним 07/11/20 Суб 14:10:24 708191642
>>708185
А причем тут функция, если столкновение происходит если ты оставляешь игрока с таким же слоем. Ищи ошибку в работе луча, сделай дебаг рей и смотри куда он стреляет, может ты не туда запускаешь.
Аноним 07/11/20 Суб 14:17:43 708192643
2.png 41Кб, 924x498
924x498
>>708191
Сделал дебаг линии, запускаю луч туда куда надо вроде. Этот луч проверяет доступность клетки для алгоритма поиска пути.
Аноним 07/11/20 Суб 14:22:20 708193644
>>708192
сделай копию игрока и проверь, будет ли он видить его на другой клетке (перейди туда, а не проверяй как в первый раз на том же персонаже), может дело в самих клетках
Аноним 07/11/20 Суб 14:51:32 708194645
>>708193

Алгоритм поиска пути висит на игроке, но может искать путь между любыми точками, потому что пока он просто обозначает путь красными точками. Я запускал код поиска между двумя точками не связанными с игроком. Проблема остается та же: рейкаст в подфункции определяющей есть ли коллайдер на клетке не видит коллайдер тайлмапы стен.
Аноним 07/11/20 Суб 14:54:42 708195646
image.png 49Кб, 372x374
372x374
image.png 104Кб, 577x573
577x573
>>708193

Вот, например, поиск пути между двумя точками, не связанными с персонажем.
Аноним 07/11/20 Суб 17:06:25 708211647
image.png 12Кб, 536x177
536x177
Просто ебаный рейкаст не пашет. Вот тут и вектора2, и вообще просто луч между двумя точками, точно пересекающий стену, и все равно не происходит нихера, ни сообщения в дебаг логе, ни нарисованной дебаг линии.
Аноним 07/11/20 Суб 18:03:54 708213648
>>708211
Зачем тебе коллизия с рейкастом? Чем дефолтный юнити не устроил
Аноним 07/11/20 Суб 18:14:19 708216649
>>708213
О каком дефолтном юнити речь?
В данном случае рейкастом я проверяю, есть ли в точке объект,блокирующий путь. Если нет, то создаю новый нод с соответствующими координатами.
Аноним 07/11/20 Суб 18:27:19 708217650
>>708216
колбек OnCollisionEnter()
Аноним 07/11/20 Суб 18:50:14 708218651
Аноны, подскажи срочно!
Как добавить extra linker flags в xcode билд?
Аноним 07/11/20 Суб 19:03:21 708220652
>>708217
Подощло бы, если бы я двигал коллайдер. А я ничего не двигаю, я создаю список нодов посредством прощупывания клеток на предмет чего то, что блокирует путь.
Аноним 07/11/20 Суб 19:35:25 708225653
Пытаюсь в билд под ios, получаю парашу
building for iOS-arm64 but attempting to link with file built for unknown-unsupported file format
Как фиксить?
Аноним 07/11/20 Суб 20:28:28 708233654
У меня на машине весит три материала, отвечающий за фары, колеса и саму машину. Как через код обратиться к каждому из этих материалов?
Аноним 07/11/20 Суб 21:06:04 708249655
>>708225
Билд под айос разве не на максоси надо делать?

>>708233
Циферку в качестве аргумента ставь при получении компонента
Аноним 07/11/20 Суб 22:40:08 708283656
Аноны помогите или обьясните что гуглить.

Проблема такая. Ставлю на цилиндр ригидбоди и навмешагент. Циллиндр в воздухе и падает вниз. Приземляется на обьект с навмешем и ходит туда сюда. Все работает.

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

Не понимаю что не так. Почему работает только с цилиндром а другой моделькой нет?
Аноним 07/11/20 Суб 22:41:50 708285657
Аноним 07/11/20 Суб 22:43:10 708286658
>>708285
Но на цилиндре коллайдера нет.
Аноним 07/11/20 Суб 22:44:19 708287659
image.png 19Кб, 405x248
405x248
Аноним 08/11/20 Вск 11:40:04 708356660
>>708249
Пробую из под винды. Ассет называется iOS Project Builder
Аноним 08/11/20 Вск 17:50:43 708441661
Пацаны, что дешевле по ресурсам, рейкастить чтобы определить проходимый объект или нет или перебирать список непроходимых позиций?
Аноним 08/11/20 Вск 18:23:23 708447662
>>708441
Кто сильнее кит или слон? Тупой вопрос, тебе виднее должно быть.
Зачем тебе профайлер дали.
Аноним 08/11/20 Вск 19:24:15 708452663
Почему у шейдера не могу по этой команде RenderingMode с Transparent на Opaque переключить?
material.SetOverrideTag("RenderType", "Opaque");
Аноним 09/11/20 Пнд 15:22:58 708690664
Нужно поработать с геймпадом, никогда раньше геймпадами не пользовался, какой купить чтобы вставил и работало без пердолинга? А может есть эмуляторы?
Аноним 09/11/20 Пнд 18:35:59 708727665
У меня террейн над которым летает вертолетик. Как дешево и сердито сделать так чтобы все домики и деревья внизу были окутаны туманом?
Аноним 09/11/20 Пнд 18:54:31 708731666
а как собсна говоря сделать ночь? чтобы все черное было как в расте или арме ночью. по дефолту в юнити при директ лайте интенсити 0 все просто серое
Аноним 09/11/20 Пнд 19:01:09 708735667
>>708211
А разве рейкаст пускается из точки в точку, а не из точки в направление?
Аноним 09/11/20 Пнд 19:03:59 708736668
>>708211
Лайнкаст используй
Аноним 09/11/20 Пнд 19:12:30 708738669
>>708736
Либо кастуй луч не в конечную точку, а в направлении по формуле направление = откуда кидаешь луч - куда кидаешь луч;
Аноним 09/11/20 Пнд 19:20:31 708740670
>>708735
>>708736

Я и так и так пробовал. Одна и та же функция при одних и тех же условиях и настройках в разных проектах ведет себя по разному. В одном (основной) спокойно детектит коллайдер с тайлмапы, в другом (тестовом) в упор не видит. Я специально написал две одинаковые тестовые функции, каждая из которых и лайнкастит и рейкастит в обоих проектах, и все равно, в одном пашет, в другом нет. Я не понимат.
Аноним 09/11/20 Пнд 19:31:01 708743671
>>708738
Посмотри, как было изначально: >>708211
А самое веселое что скакнуло напряжение, комп ушел на ресет и скрипт в котором была эта функция в том числе перестал открываться. Точнее открывается, но в виде пустого файла в блокноте.
Я как уже сказал выше попытался по разному порейкастить и полайнкастить в стены, нихуя не вышло, при том что в другом проекте для проверки создал точно такие же функции и там все работает. Сверил настройки физикс, все одинаково. Хз, может быть что проект забаговал?
Аноним 09/11/20 Пнд 19:52:52 708754672
>>708452
Потому что, нужно будет рекомпилировать весь шейдер, это рутовое свойство, его просто так нельзя менять.

>>708690
У меня китайски за 500р работал, суть проста, делаешь Input.GetAxis или Input.GetAxisRaw, вместо читой 0 или 1 контроллер может возвращать 0.1 0.2 0.3 и тд

>>708731
Смотря какие у тебя настройки, в конфиге light есть ambient light - этот свет будет светить всегда и со всех сторон.
Тут у тебя 2 выбора - можешь динамически менять этот параметр и 2й способ - создать Direction Light и крутить его трансформом. А еще лучше всё сразу.

Аноним 09/11/20 Пнд 19:57:28 708756673
>>708740
Мож на стенках не 2д коллайдер висит, или с леером что-то?
Аноним 09/11/20 Пнд 20:32:47 708769674
>>708756

На стенах в обоих проектах тайлмапколлайдер2д, слой указан и там и там, через public LayerMask BlockingLayer, стенам указан слой BlockingLayer, в инспекторе для скрипта выбран этот слой. Короче создам завтра новый проект и буду надеяться что это бага конкретного проджекта.
Аноним 09/11/20 Пнд 22:03:35 708781675
>>708769
у меня было похожее говно из-за Composite Collider 2D. попробуй сменить в нём geometry type
Аноним 10/11/20 Втр 09:54:51 708821676
Pepe smiling.png 227Кб, 703x600
703x600
Насоветуйте курс или серию уроков обучающих делать 2д мобильные игры с нуля на Юнити скачать без смс
Аноним 10/11/20 Втр 09:57:02 708822677
Аноним 10/11/20 Втр 10:00:23 708823678
>>708754
>Потому что, нужно будет рекомпилировать весь шейдер, это рутовое свойство, его просто так нельзя менять.
Как рекомпилировать? Я только скомпилировать могу. Вот так это в шейдере выглядит, Tags { "RenderType"="Opaque" "PerformanceChecks"="False" }, то есть я как раз к тэгу обращаюсь, можешь точно сказать как решить это?
Аноним 10/11/20 Втр 10:33:32 708826679
Аноним 10/11/20 Втр 12:57:15 708848680
Ребят двачую iOS Project Builder. Компилю под айос из под винды. Сказка ваще! Никакие нахуй клауды не нужны
Аноним 10/11/20 Втр 16:17:19 708893681
>>708823
Создай копию шейдера с другим тегом и меняй материал через скрипт.
Эти теги никак нельзя менять по другому
Аноним 10/11/20 Втр 16:39:50 708899682
Как обменивать информацию в Photon во время коллизии?
Вижу коллайдер другого игрока, беру компонент статов, меняю иии ничего не происходит потому я хз как менять статы.
Документацию пролистал кроме RPC ничего не нашел. Неужели я не могу манипулировать статми в процессе коллайдига без функции на стороне? Не хотелось бы переписывать много всего с нуля :\
Аноним 11/11/20 Срд 11:25:56 708997683
Как отслеживать в UI, что у меня элемент зажат? У меня плавающий список, и мне нужно когда кнопка зажата, чтобы он листался.
Аноним 11/11/20 Срд 12:11:15 708998684
>>708997
Если клавиша зажата и если координата лежит на кнопке.
Аноним 11/11/20 Срд 13:21:57 709006685
>>708998
Мне кажется, не нужно так изъебываться с координатами. Нужно только знать как проверить что кнопка зажата, а не нажата, а остальное функционал стандартный с проверкой того мышка в кнопке или нет Юнити я думаю уже сделал.
Аноним 11/11/20 Срд 18:25:30 709067686
>>709006
>уже сделал
Ну удачи в поисках несуществующей хуйни.
Епт что за школота пошла, сама задает вопрос, отвечаешь, а они еще не верят лол. Нахуй тогда было задавать вопрос если и так все знаешь пиздос.
Аноним 11/11/20 Срд 18:37:49 709069687
>>709067
Ты дебил? Функция на кнопке срабатывает после отпускания мышки, ты нихуя не написал что мне использовать, дятел.
Аноним 11/11/20 Срд 18:42:27 709073688
>>708997
Костыльный способ придуманный только что мной на коленке:
EventsManager.Current.ActiveElement (кажется, точно не помню), суть в том, что в этом классе ты можешь взять HoveredObject и SelectedObject (на который зажал лкм) и обернуть это в свои костыли.
Минус - в том, что тебе придется работать по имени или дергать компонент (или еще что можешь придумать)

второй вариант: Создай компонент IHoverable (например), унаследуй от интерфейсов IPointerDownHandler, IPointerUpHandler, ну дальше ты наверное понял, после срабатывания DownHandler ставь isHover = true и в update() делай свою логику.
Аноним 11/11/20 Срд 18:44:12 709074689
Аноним 11/11/20 Срд 19:03:37 709082690
>>709069
Ору, какой агрессивный школьник.
Аноним 11/11/20 Срд 19:12:07 709087691
>>709082
Ты орешь когда тебя в жопу порят только, инфантил.
Аноним 11/11/20 Срд 19:20:13 709092692
>>709087
Все что надо знать о кирилах
гд раковая тематика
Аноним 11/11/20 Срд 19:24:57 709097693
>>709092
Ты долбаеб сам хуйню нести начал, со своими стрелочками, лучиками, запоминаниями какими-то, вообще хуйню поришь, школьник.
Аноним 11/11/20 Срд 19:28:44 709101694
>>709097
А вот и перефорсик пошел агрессивный от кирила, думаю тебя самое время зарепортить
Аноним 11/11/20 Срд 19:43:13 709107695
>>709101
Тебя за тупые советы зарепортить и навечно из этого раздела выкинуть, сам понимаешь почему.
Аноним 11/11/20 Срд 22:14:31 709147696
>>709107
Тупорылая школота плез
Аноним 12/11/20 Чтв 02:13:23 709199697
Screenshot 2020[...].png 34Кб, 922x216
922x216
Screenshot 2020[...].png 10Кб, 476x348
476x348
Screenshot 2020[...].png 10Кб, 420x352
420x352
установил URP, создал ассет, подключил и вставил в него 2D Renderer. всё это для того чтоб спрайты себя сами сортировали в зависимости от значения Y (скриншот). но есть хуйня что спрайт который выше по Y с какого-то хуя находится над тем что ниже. это баг такой? кто-то использовал этот функционал? пивоты для спрайтов указал, sprite sort point тоже
Аноним 12/11/20 Чтв 09:11:17 709233698
>>709147
Что ты пиздишь, даун, везде школьников видишь, и нихрена в Юнити не шаришь, даешь тупые советы от себя, иди учись, а не зависай тут, на раковой доске со школьниками, лалка.
Аноним 12/11/20 Чтв 09:57:49 709237699
>>709233
Раковая опухоль из би, хватит засирать тред своей тупостью, ты просто смешон
Поскорее бы ваша дистанционка закончилась и вас опять выгнали бы санными тряпками на уроки
Аноним 12/11/20 Чтв 10:11:41 709238700
>>709237
Я школу 30 лет назад закончил, ты о чем, рачок
Аноним 12/11/20 Чтв 10:26:45 709242701
>>709237
Ты наверное педофил какой-то или сам школьник, если у тебя в мыслях до сих пор школьники мелькают. Задумайся, может это тебе пора с дистанционки уходить, мамкин недопрограммист.
Аноним 12/11/20 Чтв 12:20:47 709270702
>>709238
А по мозгам все такой же даун, да?

>>709242
кирил на саммодупе плез, пролистай свои высеры выше и пойми какое же дегенеративно хуйло, почем зря засирающее тред, вот давай сука иди и мотай, ебло
Аноним 12/11/20 Чтв 14:06:08 709278703
Хочу начать делать игры на юнити на андроид, в шапке на эту тему ничего не сказано. С чего начать, если я вообще ничего не понимаю в программировании? Знаю, что для юнити надо знание c#, решил сначала начать с него.
Аноним 12/11/20 Чтв 14:53:05 709282704
>>709278
официальные уроки на сайте Юнити по созданию на нем простых игр - твое лучшее начинание.
Аноним 12/11/20 Чтв 14:59:50 709284705
>>707631
>Как я могу зафиксировать это с помощью скриптов в unity и допустим при сборке стула у меня расходовались материалы из инвентаря.
с помощью программирования. Если ты умеешь кодить, то изложишь эти мысли в программном виде.
Аноним 12/11/20 Чтв 16:01:32 709292706
>>709284
Благодарю) Я уже разобрался. Согласен, описание гавно. Скорее всего сам бы так же ответил)
Аноним 12/11/20 Чтв 18:38:18 709308707
Анон с проблемой рейкаста не детектящего коллайдеры репортинг ин.
Проблема локализована, мои рей/лайн-касты не видят конкретно тайлмапколлайдер2д. Причем в оригинальном, старом проекте видят, блядь, а в новых я создал еще один, чтобы проверить, может это был баг проекта нет. Настройки Physics2d одинаковые в обоих проектах. Настройки слоев, тайлмап, коллайдеров, тайлов одинаковые в обоих проектах. Я уже не знаю, что сравнивать чтобы понять, почему в одном месте лучи детектят тайлмап коллайдер, а в другом блядь нет.
Аноним 12/11/20 Чтв 23:57:45 709372708
Приветствую анонов. Ситуация следующая. Я в качестве свойств для объекта (Scriptable) использую так же срок его использования. Т.е. если объект не использовали, то пользователь теряет его из инвентаря. Таймер у меня реализован -=Time.DeltaTime. И вот допустим пользователь не заходил в игру допустим два дня. Соответственно воспользоваться предметом он не может, он должен у него исчезнуть. В качестве решения думаю делать так, при выходе пользователя из игры через PlayerPrefs сохранять значение даты/время и текущий остаток секунд по таймеру объекта, затем при старте игры сопоставлять с сохраненным значением вычислять количество секунд, затем отнимать полученное значение от остатка секунд по таймеру объекта, если значения <=0 тогда уничтожать убивать объект из инвентаря. Решение мне кажется костыльным, возможно анон сталкивался с этим и может предложить другое направление?
Аноним 13/11/20 Птн 00:03:26 709373709
>>709372
В дополнении сюда же, если допустим пользователь аварийно завершил работу приложения получается я не запишу значения текущих показателей времени и при старьте игры, обращусь к прошлым значения, что может вызвать коллизию, правильно понимаю?

Ньюфаг-Unity
Аноним 13/11/20 Птн 00:05:23 709374710
>>698843 (OP)
Скачал Unity Hub,но не нашел русского языка,только англ и варианты китайских
С чистой совестью работать на английской версии или есть простой способ поставить русский язык?
Аноним 13/11/20 Птн 00:33:37 709376711
>>709372
>>709373
когда что-то добавили в инвентарь, то записываешь этому предмету время добавления и продолжительность жизни сразу, не ожидая выхода. тогда при аварийном закрытии ты всегда сможешь посчитать нужно ли его удалять или нет

дополнительно рекомендую синхронизировать время с интернетом чтоб переводом часов не наебали
Аноним 13/11/20 Птн 00:55:47 709378712
>>709374
ладно,глупый вопрос
, 13/11/20 Птн 11:21:04 709409713
Есть анимация удара мечем. Как корректно сделать так, чтобы противник умирал именно от удара меча, а не от того, что коснулся персонажа во время анимации (например, сзади или под мечем)?
Аноним 13/11/20 Птн 13:32:09 709429714
Чому на UnityLearn по запросам RTS и strategy вообще ничего нет? Самое близкое что нашел - Tower defence. На юнити вообще что ли стратежки не пилят?
Аноним 13/11/20 Птн 13:48:50 709436715
>>709409
включай коллайдер меча только тогда когда идёт анимация удара
Аноним 13/11/20 Птн 14:25:58 709449716
>>709429
Есть на Udemy хороший курс по RTS, можно управлять армией, создавать ее, создавать здания и это не основа, основа - мультиплеер на Mirror, иди ищи, стоит по акции копейки. выбери только английский язык
Аноним 13/11/20 Птн 14:33:01 709450717
Я тут совсем мимокрокодил, просто поспорил давеча со знакомым на тему какие игры на каких движках делают.
В общем вопрос - как из ПК-игр, сделанных на Unity, на данный момент считаются самыми масштабными в плане ресурсов разработки и объёма проданных копий?
Аноним 13/11/20 Птн 15:26:43 709454718
>>709436
У меня есть спрайт анимации всего персонажа. Т.е. нужен отдельный подобъект меч или как?
Аноним 13/11/20 Птн 15:33:32 709455719
>>709454
не обязательно, можно просто объект с коллайдером (хитбоксом) меча. включай/выключай его и смотри что в нём за коллизии
Аноним 13/11/20 Птн 16:22:36 709460720
Аноним 13/11/20 Птн 17:53:18 709492721
изображение.png 44Кб, 274x172
274x172
>>709455
Хм, включать в зависимости от конкретно кадра? Или хитбокс должен двигаться (внутри персонажа)?
Вот пример, положение меча на 1 и 2 отличается от последнего кадра.
Аноним 13/11/20 Птн 19:07:26 709528722
Как вы храните контроллеры? Просто класс фасад, где лежат все контроллеры для всех персонажей?
Аноним 13/11/20 Птн 19:48:13 709544723
>>698843 (OP)
Привет всем, что подскажете использовать для клиент-серверной работы для игры на несколько игроков (в тч желательно с возможностью поднимать локальный сервер)? Я смотрел в сторону telepathy\apathy, но как понимаю возможностей куда больше и не знаю, насколько они уместны
Аноним 13/11/20 Птн 20:07:17 709552724
>>709242
Ты говоришь педофил так, как будто в этом есть что-то плохое.
Аноним 13/11/20 Птн 20:44:55 709563725
>>709544
Я на colyseus сижу, но вот
>поднимать локальный сервер
Так что не смотри
хотя рядом анон делает мобу на нем
Аноним 14/11/20 Суб 01:30:48 709601726
изображение.png 2Кб, 413x33
413x33
Есть объект, которому включаю анимацию через аниматор таким образом.
Мне нужно выключить (enable = false) объект на время(на самом деле , родителя), но когда я его опять включаю, играет дефолтная анимация (видимо, сбрасываются переменные).
Если я включаю анимацию на OnEnable, то после появления он какое-то время отображается со старой анимацией и только потом начинает играть нужную. Как пофиксить?
Аноним 14/11/20 Суб 04:43:31 709612727
Есть 3 префаба дороги, в кадре всегда находятся 2 из них, тот, что остается сзади, выключается. Нормальный способ передвигать этот префаб вперед остальных двух?
if(spawnPoint > nextSpawn){
for(int i = 0; i < objectList.count; i++) {
if(!objectList.activeInHierarchy)
{
objectList. transform.position = new Vector3(бла-бла-бла, бла-бла, бла);
objectList.SetActive(true);
nextSpawn+= 5.0f;
}
}
}
И это можно считать минипулом (за исключением того, что новые объекты не пулятся, т.к. и не нужны)?
Аноним 14/11/20 Суб 04:47:11 709613728
>>709612

> objectList.SetActive(true);
objectList.SetActive(true);
фикс

Аноним 14/11/20 Суб 04:48:35 709614729
>>709613
Лол, пиздец я довен.
objectList.SetActive(true);
Аноним 14/11/20 Суб 04:49:41 709615730
Блять, эта хуйня удаляет i в квадратных скобочках.
Аноним 14/11/20 Суб 10:44:41 709637731
Поясните за смешивание анимаций. Нужно сблендить атаку и бег. Как можно запилить воздействие анимации атаки в состоянии покоя на все туловище, а в состоянии бега - только на верхнюю половину? Гуглил, везде ответ один - второй слой с маской верхней части тела, и на нем атака. Но в этом случае когда персонаж стоит на месте и бьет - похож на ебаного паралитика, т.к. ноги не задействуются. Пробовал менять вес слоя в зависимости от инпута, пробовал разные костыли - все до пизды. Придется делать две анимации для обоих состояний? Но тогда нужно ведь и для прыжков/падений/etc тоже допиливать. Аноны, выручайте
Аноним 14/11/20 Суб 13:42:15 709656732
>>709637
Ну да, придется, в кс-ке 200+ анимаций, даже на player_turn_right_30, player_turn_right_75 и тд
Аноним 14/11/20 Суб 14:47:24 709673733
image2020-11-14[...].png 156Кб, 1263x693
1263x693
Делаю а ля RTS, сделал лейблы хп над головами с именами солдат и при 7 солдатах ловлю просадки фпс-а (текст не меняется, меняется только позиция).
Так вот канвас для этого у меня отдельный - т.е. все эти 7 плашек рисуются сразу во 2й канвас.
Какие еще варианты поднятия производительности?
Аноним 14/11/20 Суб 16:07:37 709684734
>>709673
А в чем смысл второго канваса? Если сделать просто спрайты-полоски над головами, у которых скейл меняется при изменении хп? По идее не должно просаживать же
Аноним 14/11/20 Суб 16:18:00 709692735
>>709492
включать в анимации и можешь двигать если так лучше работает. тут же вопрос вкусовщины. я бы на 3й и 4й кадр наложил прямоугольник размером с весь меч и шлейф в четвёртом кадре. потестил бы и если б было ощущение что задержка (что игроков дохуя бесит), то натянул бы ещё и на второй кадр.

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

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

https://www.youtube.com/watch?v=5vXbem2ejJw
Аноним 14/11/20 Суб 16:31:02 709697736
>>709199
Выглядит так, будто там есть невидимая сетка и мышь рисуется выше своей "ячейки", поэтому визуально она уже на дереве, хотя по факту она ещё на нижней ячейке, поэтому рисуется под деревом, а не над ним и как только она переходит на ячейку дерева, она начинает рисоваться поверх него по правилам сортировки. Надеюсь понял, о чём я.
Аноним 14/11/20 Суб 19:19:50 709743737
>>709692
спасибо большое!
Аноним 14/11/20 Суб 19:26:26 709747738
Игры еще не сделол, но в почти пустой сцене наблюдаю периодические микростаттеры (нерегулярные), отчего зависит вообще неясно, фпс счетчик не проседает, профайлер молчит.
По ощущению как будто на 2-3 сек игра "догоняет" кадры, затем снова все норм.
В билде тоже есть. Может кто знает куда стоить копать хотябы?
Аноним 14/11/20 Суб 19:40:21 709753739
>>709747
Что-то обрабатывается в Update, что-то в FixedUpdate?
Аноним 14/11/20 Суб 19:52:18 709757740
>>709753
Да.
кинематик ригибади двигаю в FixedUpdate, инпуты к ним беру из Update (а как надо?)
Аноним 14/11/20 Суб 20:08:43 709759741
>>709753
upd
засунул все в FixedUpdate, никакой разницы, все равно подпидорашивает
еще заметил что включенный всинк уменьшает статтеры (был выключен), теперь они короткие и редкие, но все еще есть
играть конечно можно, но бля(
Аноним 14/11/20 Суб 20:12:27 709760742
>>709757
С инпутами все ок, просто некоторые физику двигают в фиксед, а камеру - в простом апдейт, выглядит со стороны как фризы. По посту показалось что из этой оперы.
Скинь сомнительные участки скриптов тогда чтоль
Аноним 14/11/20 Суб 20:28:17 709764743
123123.png 113Кб, 1304x1016
1304x1016
>>709760
у меня камера в LateUpdate вся (с колиженом Physics.BoxCast в конце)
пикрил собственно все немногое что присходит, вырезал мелочь
Аноним 14/11/20 Суб 21:16:21 709770744
>>709764
В этом куске ничего нет такого вроде. Пробни targetFrameRate покрутить
Аноним 14/11/20 Суб 22:01:36 709775745
>>709770
Я извиняюсь но сейчас тест показал что пидорасит именно ригидбади.
Изменил камеру, чтобы плавно летала за игроком, и у нее статтеров не оказалось (раньше она статтеры копировала прост), значит фреймрейт тут не причем.
Видимо все таки у меня в коде где то что то (как же заебало воевать с движком).
Аноним 16/11/20 Пнд 20:38:38 710044746
Юнитачеры, я в отчаянии и близок к переезду на годот с этим своим траблом с рейкастами и тайлмап коллайдерами. Кто нибудь, запустите пожалуйста у себя этот проект и скажите, пишет ли у вас в дебаг логе что то или нет. Ну или вдруг вы заметите что то, что я упускаю уже две недели, из за чего у меня не детектятся тайлмап коллайдеры рейкастом, скажите. https://dropmefiles.com/xNxTg
Аноним 16/11/20 Пнд 22:26:46 710063747
>>710044
Ща посмотрю. Как раз читал сегодня твое сообщени, хотел ругнуть, мол хоть бы код выложил
Аноним 16/11/20 Пнд 22:43:13 710073748
изображение.png 18Кб, 1059x507
1059x507
>>710044
Короче, ты наркоман, щас напишу
Аноним 16/11/20 Пнд 22:55:26 710079749
изображение.png 10Кб, 892x528
892x528
изображение.png 32Кб, 869x529
869x529
>>710044
Вот что у тебя на экране, когда ты дергаешь TestCast();
Конечно, rayHit.collider и lineHit.collider будут = null.
Объекта нет на поле.
На костылили ради теста (Скрин два) - все взлетает. Скрин с результатом выше (но там то один то два хита).

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


Аноним 16/11/20 Пнд 22:55:58 710080750
>>710073

Я подозревал что ебусь в шары. Жду, доброанон.
Аноним 16/11/20 Пнд 22:58:47 710083751
изображение.png 6Кб, 338x180
338x180
>>710080
Для примера так лучше, тогда оба хита будут. Надо про порядок почитать.
P.S.
Научись дебагом пользоваться
Аноним 16/11/20 Пнд 22:59:58 710085752
>>710079

Странно, я думал что если я сначала вызываю функцию, которая создает тайлмапу, а потом функцию, которая кастит луч, то к моменту каста луча тайлмапа и коллайдер уже существуют. Видимо это не так. Спасибо, анонче!
Аноним 16/11/20 Пнд 23:12:55 710096753
>>709449
Анон, ну ты бы ссылку дал. Только что закончил курс на юдеми и это было лучшее вложение 5 баксов. Даже не смотря на то я в английский не шарю. Тоже хочу еще подобное.
Аноним 16/11/20 Пнд 23:25:34 710100754
>>710085
Ты можешь подебажить и выявить для себя более конкретные вопросы.
Аноним 16/11/20 Пнд 23:27:34 710101755
В данном случае - это SetTile(), видимо
Аноним 17/11/20 Втр 12:01:19 710155756
>>710096
Unity Multiplayer: Intermediate C# Coding & Networking
Аноним 17/11/20 Втр 16:31:01 710207757
>>710155
>Unity Multiplayer: Intermediate C# Coding & Networking
Пасиба. Сук, 130 бачей стоит. Когда там акция..
Аноним 17/11/20 Втр 16:37:43 710208758
>>710207
Впрочем нашел купон.
Аноним 17/11/20 Втр 19:54:10 710246759
Подскажите, каким образом можно смоделировать земную среду? Предпочтительно работу различных газов (гелий, водород).

С твердыми телами понятно. Но что делать с телами легче воздуха? Например воздушные шары.

Аноним 18/11/20 Срд 00:16:40 710267760
>>710246
А что ты именно смоделировать то хочешь? Тебе диффузные процессы нужны (но зачем?) или что? Чего достичь то хочешь?
Аноним 18/11/20 Срд 13:39:51 710311761
>>710208
Напиши туи отзыв, как посмотришь или пройдешь. Теперь тоже думаю
Аноним 18/11/20 Срд 17:00:51 710329762
>>710267
да загорелся идеей смоделировать работу дирижабля. После дня раздумий понял, что к чему такие трудности, ведь можно просто высчитывать интенсивность его подъема на высоту в зависимости от количества единиц газа.
Аноним 18/11/20 Срд 17:07:11 710331763
Аноним 18/11/20 Срд 22:55:21 710371764
>>710311
Ок. Но я щас начал проходить другой курс на юдеми, но от тех же авторов: RPG Core Combat Creator.
Знал бы что анонам местным интересно, расшарил бы аккаунт.
Аноним 19/11/20 Чтв 00:34:51 710380765
>>710371
Скоро черная пятница, по скидону купим
Аноним 19/11/20 Чтв 20:08:14 710579766
Хочу сделать слайдер сверху подобный оному в играх VooDoo, чтобы отображать пройденное игроком расстояние до финиша.
Но не понимаю как реализовать, как перенести значение на слайдер. Дорога прямая
Аноним 19/11/20 Чтв 20:14:39 710582767
>>710579
Расписал как дебил конечно. Не понимаю как вычислить пройденное расстояние и перевести его в "0, 1", чтобы закинуть на слайдер
Аноним 19/11/20 Чтв 22:27:09 710615768
>>710582
>>710579
Дай скрин или видео. Вообще хуй знает, о чем ты.
Можно сделать грид и положение на гриде переводить в значение
Аноним 19/11/20 Чтв 23:40:38 710624769
image.png 60Кб, 996x801
996x801
>>710615
Я уже всё сделал. Со слайдерами раньше не работал, не знал, что можно минимальное и максимальное значение менять, поэтому сам себе проблем придумал. Вот как реализовал в итоге
Аноним 20/11/20 Птн 10:28:19 710654770
1605857298883.jpeg 20Кб, 648x364
648x364
Как там дела со сборкой под пороховую бочку PS3? В 4.6.2, успешно приобретенной на торренте, требуется модуль сборки, найти который - не самая простая задача. Может, в новых версиях модуль идет из коробки?
Интересуюсь именно третьей плоечкой, потому что в наличии четыре штуки с разными вариантами взлома. Да и проект не грузный - комфортно дышит на пентиуме 4 и зеленой 6800.
В идеале хотелось бы, чтоб модуль выдавал на выходе пригодный к запуску iso/pkg/PS3_DISC.SFB+PS3_GAME.
Аноним 20/11/20 Птн 15:02:30 710712771
>>710654
Я давно хотел взять себе виту и на неё билды накатывать, знаешь как? научить можешь?
Аноним 20/11/20 Птн 16:19:47 710724772
>>710712
Благое дело, но не знаю, потому и сам задаю подобный вопрос. Но тебе бы в первую очередь посоветовал разобраться с пиратством на вите, есть ли оно вообще там.
Аноним 20/11/20 Птн 19:25:11 710760773
>>710712
О полдерживаю. Вообще, юнити поддерживала разработку на Виту до какой-то версии.
Аноним 20/11/20 Птн 20:30:46 710772774
>>710624
чтоб от 0 до 1 получить можно было сделать currentDistance / distanceFromStart

на будущее юзай самокоментирующийся код и называй методы по тому что они делают. метод Distance не делает дистанцию, а обновляет прогрессбар. когда будешь писать большие проекты с другими людьми, они от таких названий ебанутся
Аноним 20/11/20 Птн 20:36:52 710774775
>>710772
>чтоб от 0 до 1 получить можно было сделать currentDistance / distanceFromStart
А ведь точно. Надо подтягивать математику мне, конечно
Аноним 21/11/20 Суб 19:58:27 710872776
image.png 29Кб, 470x412
470x412
image.png 34Кб, 726x636
726x636
image.png 32Кб, 689x506
689x506
Нужна помощь, юнитач.
Есть игра с числом, которое игрок должен набрать. Число это на каждом уровне разное и выбирается случайно из заданного диапазона.
Игрок набирает число проходя через баннеры, на которых написаное действие (прим. +13, -20 и т.п). пик1
Игрок движется безостановочно и должен решать пройти или не пройти через баннер, чтобы набрать нужное число.

Собственно, нужен метод, который будет принимать это финальное число, разбивать его и закидывать на баннеры, а также генерировать близкие к нужным числа и закидывать их на другие баннеры
Например на финале 7 баннеров - 4 из них верные, на них алгоритм закидывает нужные числа. (прим. для числа 54 с пикрила: 11, 22, 17, 4. И на 4 других баннерах другие, но желательно близкие по значению числа: -18, 9, 10)

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

Приветствуется любая помощь, начиная от советов как отредачить мой код, чтобы работало нормально, заканчивая предложением своего решения.
Аноним 21/11/20 Суб 20:54:34 710876777
Геймдевелоперы и девелоперессы, какой единственно верный и правильный способ делать катсцены для 2д игры? Через таймлайн, сайн машин или вообще кодом каждую сцену писать?
Аноним 22/11/20 Вск 09:44:14 710919778
>>710876
Что за сайн машин?
Таймлайн удобная штука, она сочитает и писание кода, делаешь свой скрипт "OnTimelineTrigger" и там делаешь любой код.
Вобщем таймлайн советую
Аноним 22/11/20 Вск 20:24:39 711030779
Допустим нужно в сцене рисовать 1000х1000 поле с клетками, где каждой клетке можно менять цвет по её кординатам, и менять каждый кадр какие-нибудь клетки во время игры. Как это лучше сделать?
Аноним 22/11/20 Вск 20:27:04 711031780
>>711030
Да, рисовать не на UI, нужно поле, которое можно будет покрутить как 3д объект.
Аноним 23/11/20 Пнд 11:55:48 711139781
>>710872
Лень читать, но тебе же
Аноним 23/11/20 Пнд 11:59:10 711141782
>>711139
Нужно пересчитывать каждый раз, когда игрок подобрал баннер с операцией. Т.е. есть метод, который берет число, разбивает его на рандомные целые части и эти части закидывает в пуллбаннеров, которые могут попасться. + Какие-то рандомные
Игрок подобрал баннер - метод дергается ещё раз (ТК текущее значение поменялось)
Аноним 23/11/20 Пнд 20:13:07 711196783
>>711030
Очевидно миллион объектов это дохрена, рисуй в текстуру
Аноним 24/11/20 Втр 19:04:36 711327784
Подскажите, как скоординировать условную силу броска пропорционально движению пальца по экрану? КАК В ЭНГРИ БЕРДС
То есть игрок двинул пальцем на 1 см, кидаем с силой 10, двинул на 2 см, кидаем с силой 20.
Аноним 24/11/20 Втр 20:19:51 711334785
Кого-нибудь тут интересует небольшой фриланс?

Нужно сделать несложную приложуху для юнити. И дорабатывать её постепенно.
Много не плачу, но и особых знаний не нужно.

Приложуха должна уметь отображать 3д модель, чтоб ее можно было крутить, приближать
И должна выводить текст, который будет получать по http api (json)
Обсудить ТЗ можно по мылу, eeexshare95 собака gmail.com
Аноним 24/11/20 Втр 20:45:17 711339786
>>711327

Так и отображать, по школьной формуле F = kx, где F это сила, k это коэффициент натяжения, а x отклонение, в твоем случае задаваемое пальцем. k ты подберешь экспериментально, меняя его и посматривая, что получается, пока результат тебя не удовлетворит.
Теперь ты спросишь, как же мне реализовывать разную силу в юнити то? А я отвечаю, сила есть a*m, где a - ускорение, а m масса. Масса у твоего снаряда постоянная, значит в итоге ты будешь менять ускорение в зависимости от того, насколько сильно игрок оттянул снаряд.
Аноним 24/11/20 Втр 20:49:40 711341787
image.png 105Кб, 722x248
722x248
image.png 72Кб, 1210x272
1210x272
Чем в unity можно рисовать 2д графики типа пикрл?
Аноним 24/11/20 Втр 21:14:23 711346788
>>711339
Это я в целом понимаю. Мне нужно понять какие конкретно методы использовать. Там же есть и старые методы ввода, и новые, и надежные и ненадежные. Вот мне бы понять, какой самый новый и самый надежный.
Аноним 24/11/20 Втр 21:20:21 711348789
>>711346
>>711339
Чем именно считывать движения пальца, в этом вопрос.
Аноним 24/11/20 Втр 21:31:26 711351790
Только вкатился, и сразу проблема.
При первом запуске висит "starting server", отказывается работать дальше. Что делать?
Аноним 25/11/20 Срд 06:26:33 711378791
>>711341
1 - создаешь new Texture() и делаешь setPixels
2 - Создаешь класс GraphRenderer: MaskableGraphic и реализуешь интерфейсы, в которых есть доступ к канвасу

>>711351
Антивирусы, файрволы, недостаточно прав, закрытые порты, etc
Аноним 25/11/20 Срд 07:46:01 711383792
>>711341
Тебе эти графики в игре нужны, или для отладки?
Аноним 25/11/20 Срд 11:45:50 711398793
>>711383
Не игра, но приложуха. Графики - важная часть для юзера
Аноним 25/11/20 Срд 22:53:27 711496794
Пагни, а какая версия .net фреймворка и С# сейчас у 2020.1?
Аноним 26/11/20 Чтв 06:02:18 711523795
>>711496
Кастомная .net standart 2.0 и c#6 кажется
Аноним 26/11/20 Чтв 13:27:12 711565796
>>698843 (OP)
Как-где посмотреть краш лог? Юнити-игра крашится, я хочу знать после вызова какой функции.
Аноним 26/11/20 Чтв 14:44:16 711589797
>>711523
Пиздец. На дворе уже кор 5 или как там и шарп 9.
Аноним 26/11/20 Чтв 15:50:49 711599798
>>711589
Нахуя тебе кор и шарп 9? Вот какие именно нииабацо нужные особенности ты собрался использовать а блет?
Аноним 26/11/20 Чтв 15:57:12 711601799
>>711599
Чел, я хочу писать код для игрулек, а не дрочить код, иначе бы я пошёл работать программистом. Я хочу все современные возможности и улучшения языка, а не ковырять дедовский кал. Да банально тот же синтаксический сахар сделает разработку приятнее.
Аноним 26/11/20 Чтв 16:21:43 711604800
>>711601
Нихуя не понял из твоей шизофазии.
То ты говоришь что хочешь писать, то что не хочешь, дедов и сахар приятный еще приплел зачем-то.
Аноним 26/11/20 Чтв 18:01:30 711615801
>>711589
версия языка точно выше 6, лень гуглить.
Аноним 27/11/20 Птн 01:00:15 711683802
помню что в каком-то ченджлоге читал что с какой-то версии юнити (вроде 2020) можно в инспекторе порядок элементов массива или списка менять просто драг-энд-дропом, но я не вижу как это врубается. это аттрибут поля какой-то нужен дополнительный или что-то я не так делаю?
Аноним 27/11/20 Птн 07:30:49 711696803
>>711589
В следующей версии обещали шарп 8 завезти.
А самописное гавно у них т.к. они свою версию движка паралельно делают со своими какими-то оптимизациями которые не заметны.
Например инкрементальный GC и доп инструкции для более простого конвертирования коды в плюсы.
Нам как разрабам от этого толка мало, у юнитеков в принципе выбор направления развития странный, что поделать.
Аноним 27/11/20 Птн 07:31:56 711697804
>>711683
Надо бетку 2021 скачать, это еще не релизнули в стейбл
Аноним 27/11/20 Птн 11:47:56 711707805
>>711601
>не дрочить код, иначе бы я пошёл работать программистом
Ну оно и понятно, так бы ты мог ответить, зачем тебе 9 версия и тем более кор, лол
Аноним 27/11/20 Птн 13:49:52 711720806
кто за open project следит? не охуели уже от того что эти пидорасы воооооообще всё заворачивают в ScriptableObject?

система ввода? конечно вставить в скриптблобджект!
система событий? скриптблобджект!
персонаж? понятное блядь дело что ему нужно 4 скриптблобджекта!

после трёх выпусков теперь на автомате начинаю думать как каждый свой код впердолить в скриптблобджект. что за хуйня, аноны?
Аноним 27/11/20 Птн 15:37:44 711737807
>>711720
Ссылку дашь?
Вообще плюсы этих объектов в том, что при загрузке инстанс полностью очищается и подгружает данные из префаба и нет доп оберток между плюсами и шарпами - микрооптимизация.
Аноним 27/11/20 Птн 15:39:05 711738808
>>711720
Я так делаю, брат жив.
Что тебе не нравится?
Монобихевиер жрет дофига из-за колбеков и тп. Скриптабл обжект меньше.
Лучше всего использовать классы, которые не будут производными от юнитевских классов. Если прям нужен отклик от юнити, то скриптбл
Аноним 27/11/20 Птн 15:42:53 711740809
>>711737
>Ссылку дашь?
https://www.youtube.com/playlist?list=PLX2vGYjWbI0S6CnkDm0AwVgA6E6L_vJNf

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

>>711738
>Что тебе не нравится?
дык полтора-два года назад никто эти скриптблобджекст в глаза не видовал и жили все нормально, а теперь их овердохуя. у меня нет никакого хейтинга per se, просто я удивлён что они там у себя в офисе юзают их в таком количестве
Аноним 27/11/20 Птн 16:22:33 711751810
>>711740
Ну хз, тут рассказывали. Можно рассказы и 2015 найти
Аноним 28/11/20 Суб 13:15:00 711875811
Помогите! Я уже даже не знаю куда и как гуглить. Проблема в том, что у меня не работают некоторые вкладки в эдиторе. Build Settings по нажатию просто ничего не делает. Я уже пробовал и сцены добавлять и создать новый проект, но Build Settings так и не реагирует ни на что. Делал переустановку. Иногда возникают проблемы с инспектором - отсутствует скроллбар, но это решается перезапуском unity. Ни ошибок по запуску в консоли. Как быть?

Версия 2020.1.15f1
Аноним 28/11/20 Суб 14:32:19 711883812
>>711875
Оперативки сколько?
Аноним 28/11/20 Суб 15:25:44 711896813
Аноним 28/11/20 Суб 18:14:05 711912814
1.jpg 54Кб, 1303x726
1303x726
Анон, я пилю крч инвентарь, и предметы засовывать все буду под юайный Scroll View. Но вот мне не нравится что его можно прокручивать просто кликнув мышью в любую область 1 и потянув вверх или вниз, я хочу чтобы прокручивать можно было только ползунком 2. Это можно по-простому как-нибудь сделать?
Аноним 29/11/20 Вск 00:49:27 711968815
Прошёл С# стартер на ИТВДН, сейчас закрепляю метанитом.
По идее этого должно хватить для старта в Юнети. Какие есть свежие нормальные курсы с основами? Интерфейс там, базовые концепции и т.д. Желательно, чтобы можно было скачать на альтернативной площадке(иф ю ноу вот ай мин).
Аноним 29/11/20 Вск 01:12:44 711971816
Пишет что не может создать ключ для keystore тк якобы пароль или расположение keystore не верны.
keystore оставался там же где я его создал через Unity же, пробовал перемещать в папку с проектом, ошибка все та же.
Версия юнити и прочих сдк стабильные и совпадающие.
Как обойти проблему, пусть и с костылями?
Аноним 29/11/20 Вск 03:23:38 711987817
>>711968
Распиши плиз план вката
Тоже чет захотелось, умею писать хелоуворлды с гуглом
Аноним 29/11/20 Вск 07:29:20 712005818
Аноним 29/11/20 Вск 12:33:13 712028819
>>711971
Удивительно что проект с многомиллиардным вложением долларов имеет кучу жопошных неисправностей. Например, ты не можешь сделать просто статичное лого на ВЕСЬ экран(только задним фоном).
Ответ работника ююнити техноложис? Ну тип короч мы подумали что как есть будет норм, а кому надо тот экран загрузки с 0 напишет.
Спрашивается зачем для галки делать нерабочую вещь?
Также с коллизей и кучей других модулей.

На счет вопроса, все очень плохо и все очень тухло, вопрос тупа не решаем нормальным способом, разрабы разводят руками и просят логи у всех подряд.
У меня была версия 2018, все идеально робило, кроме этой фигни.
Я поставил версию 2019(при чем не без проблем, с переустановками и тп). ВНЕЗАПНО появились менюхи и прочие приблуды которые в версии парумесячной давности ПОЧЕМУ-ТО АРРГх не было. Ключ создался нормально.

Казалось бы вопрос решен. А нихера. Ес-но я теперь не могу открыть старый проект, в облако я его забыл загрузить. Придется теперь ручками с 0 опять все раскидывать по сценам.
И ладно у меня личный проектик, обрезок для души, а если бы проект был побольше? Косяк на косяке, костыль на костыле. Зачем вообще такие движки нужны если все равно потом все приходится изучать в корне и переписывать с 0 как тебе надо.

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

Думаю надо было создать ключ через напрямую через ждк, но я хотел надеется на лучшее. а теперь поздно пить боржоми
Аноним 29/11/20 Вск 13:32:22 712040820
>>712028
>а если бы проект был побольше?
То его бы делал не такой ебаклак, азазаз.
Аноним 29/11/20 Вск 13:36:20 712041821
>>712040
Но я и так его буду делать, расширять свой проект.
Аноним 29/11/20 Вск 21:04:01 712081822
Аноним 29/11/20 Вск 21:19:55 712089823
Ку, юнитикамрады. Назрела необходимость сделать систему уровней для мобайл дрочильни типа cut the rope. 50+ уровней, последовательное открытие их, UI панель выбора, три звездочки за идеальное прохождение и т.д. Интересует архитектурная составляющая всего этого. Сначала я подумал делать префабы уровней и грузить их на одну единственную сцену. А может все таки лучше будет наделать кучу сцен и не заморачиваться? Или использовать какой-нибудь scriptable object? Из готовых ассетов нашел только https://assetstore.unity.com/packages/tools/gui/level-manager-55921 . Но как то сомнительно выглядит
Аноним 29/11/20 Вск 21:23:21 712090824
>>712089
Разницы нет никакой. Сцена это тот же объект.
Аноним 29/11/20 Вск 21:24:24 712092825
>>712090
Не хочется потом при добавлении новых уровней или функционала испытывать попапболь
Аноним 29/11/20 Вск 21:26:55 712093826
>>712092
Ты что ли кирил-вкатывальщик очередной? При изменении функционала всегда будет присутствовать попаболь, это неизбежно.
Аноним 29/11/20 Вск 21:32:04 712096827
>>712093
>Ты что ли кирил-вкатывальщик очередной?
Мне сложно судить, но пара проектов в сторах есть. 1,5 года варюсь около юнити и c#

>При изменении функционала всегда будет присутствовать попаболь, это неизбежно

Тогда зачем все эти абстракции, ООП, SOLID, MVC, паттрены?
Аноним 29/11/20 Вск 21:46:10 712101828
>>712096
>зачем
>1.5 года

Чет не похоже что ты уже 2 года варишься раз такие глупые вопросы задаешь. Они нужны для своих целей и вероятно ты неосознанно их используешь в процессе и так.

Аноним 29/11/20 Вск 22:11:42 712113829
>>712101
Возможно ты прав
Аноним 30/11/20 Пнд 01:45:12 712130830
image.png 4Кб, 372x97
372x97
Почему вместо текста в окне сцены я вижу такое, а в окне игры все нормально?
Аноним 30/11/20 Пнд 09:40:21 712167831
ohno.png 40Кб, 452x278
452x278
Аноним 30/11/20 Пнд 17:28:02 712269832
15143750749100.jpg 951Кб, 1438x2000
1438x2000
Юнитаны, есть такая проблема. Есть пошаговая игра, в ней скиллы, которые в ходе выполнения могут прерываться требованием дополнительного инпута.

То есть будь это консольное приложение всё выглядело бы как то так
void FooSkill()
{
...
if(input == null)
{
input == UIManager.GetSpecificInput();
}
...
}

Но блокировка основного потока в юнити закончится так себе, поэтому остаётся только
1)Городить конечный автомат из кусков скилла и ждать коллбеков от ГУИ с требуемым инпутом, чтобы запустить следующий кусок.
2)Почти то же самое, но проверять не появился ли инпут в апдейте. Не так путанно, но апдейте в скилле иначе вообще не нужен.
3)Ждать инпут асинхронно, почти не разсирая код конечным автоматомэто за меня сделает компилятор Но это усложнит и запутает интуп манагер.

Может есть какие то ещё варианты или готовые решения?
Аноним 30/11/20 Пнд 17:28:05 712270833
>>698843 (OP)
>На выбор два языка - C# и UnityScript. UnityScript - это что-то среднее между JavaScript и ActionScript
>Для изучения основ UnityScript выучи вначале основы JavaScript:
>Помни, что тебе достаточно одного языка из двух и учить их оба одновременно не нужно.

>End of support for UnityScript
>Starting with Unity 2018.2, support for UnityScript (Unity's version of JavaScript) has ended. C# is now the only supported language going forward. You can learn more about the reasons for this change here. There is an official UnityScript-to-C# Automatic Conversion tool to help those wanting to transition their UnityScript projects over to C#.

Когда перекатывать будете, обновите инфу про юнитискрипт что ли. Он уже джва года как мёртв...
лох 30/11/20 Пнд 17:28:56 712272834
Кириллы, подкиньте свежий ORK Framework
Помощь нуфагу Аноним 30/11/20 Пнд 17:57:28 712279835
изображение.png 306Кб, 596x373
596x373
изображение.png 59Кб, 1333x363
1333x363
изображение.png 36Кб, 1250x386
1250x386
Смиренно прошу почтенных юнитиебов о помощи.
Начал вкатываться в юнини, прохожу вводный урок.
Проблема: в режиме Game не отображается часть спрайтов, при этом они отображаются в Scene. Где я проебался?
Аноним 30/11/20 Пнд 18:15:03 712282836
>>712279
кирил умер даже не начав жить
Аноним 30/11/20 Пнд 18:19:24 712284837
>>712282
Кирилл все еще борется за жизнь и просит помощи, слабым голосом
Аноним 30/11/20 Пнд 18:24:49 712285838
>>712284
У тебя объекты за друг друга спрятались на разных z слоях.
Аноним 30/11/20 Пнд 18:34:02 712287839
>>712285
Кирилл чувствует прилив сил, но сильно теперь смущен вопросом отчего эти объекты уебывают обратно в отрицательный Z после Pause - Game
Аноним 30/11/20 Пнд 18:36:14 712288840
>>712287
Аа, все. Кирилл разобрался и сердечно тебя благодарит
Аноним 30/11/20 Пнд 18:39:44 712290841
изображение.png 14Кб, 255x268
255x268
>>698843 (OP)
Какую версию качать? Я пытался вкотиться лет 5 назад, тогда такого разнообразия не было.
Аноним 30/11/20 Пнд 18:52:53 712296842
>>712290
Качай 2020 релизную.
Аноним 30/11/20 Пнд 19:55:21 712315843
ебаный врот этого таймлайна нахуй, как добавить кустомный трек нахуй
Аноним 30/11/20 Пнд 19:57:13 712316844
image.png 13Кб, 391x288
391x288
где кнопка бля где кнопка
Аноним 30/11/20 Пнд 23:43:27 712356845
Безымянный.png 282Кб, 1052x403
1052x403
Создал пустой 3D-проект - получил вот это: 4712 файлов в 467 папках. Это точно пустой проект? Как мне это архивировать, что из этого нужно заливать на гитхаб или куда-либо ещё, если захочу поделиться исходниками игры или сделать резервную копию? В каждом новом проекте будет такое вот месиво из мелких файлов? Я привык, что в папках моих проектов только созданные лично мной файлы, максимум 1-2 сгенерированных редактором/компилятором, а что мне делать тут? Я не понимаю, помогите(

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

Может, есть какие-то гайды, как обращаться с файлами проекта юнити? Что из этого можно выкидывать/генерировать заново, например, а что - уникально для проекта и необходимо сохранить, и т.д.
Аноним 30/11/20 Пнд 23:58:49 712358846
>>712356
Лол, что за шиза? Не проще забить?
Аноним 01/12/20 Втр 00:31:48 712360847
>>712358
Не проще.
1. Я привык следить за порядком в своей файловой системе (хотя получается не всегда).
2. Архив с таким количеством файлов создаётся долго, распаковывается тоже долго (даже на SSD).
3. Большую часть этих файлов, как я понимаю, заливать в git не нужно, но каких - непонятно.
4. Если создать несколько проектов, проблемы от такого числа файлов будут возрастать.
5. Я бы мог на это всё забить, если бы у меня было бесконечное количество ресурсов ПК, но увы.

Вообще, я просто хочу понять и разобраться, почему всё так, а не иначе (чистенько-компактненько).
Аноним 01/12/20 Втр 01:05:47 712365848
Безымянный.png 11Кб, 706x143
706x143
>>712356
>>712360
Извиняюсь, затупил и погорячился. Надо было сразу папки проверить. Короче, я так понимаю, Library - это какие-то стандартные библиотеки Unity, которые генерируются автоматически и от них можно спокойно избавляться, когда проект отправляется в архив/гит? Я понимаю, что они, скорее всего, зависят от используемой версии Unity, но, надеюсь, если вдруг что - их потеря не столь критична... Там вообще бОльшая часть файлов - какой-то кэш, а кэш обычно можно сбрасывать...
Аноним 01/12/20 Втр 02:59:43 712370849
>>712167
А, да, точно. Спасибо!
Аноним 01/12/20 Втр 04:17:17 712373850
изображение.png 6Кб, 159x318
159x318
Я правильно понимаю, что Юнити когда-то давно имела полноценный перевод на русский, а потом на него забили? В документации к старым версиям много статей на русском, но потом переводчики куда-то потерялись.

Я-то и на английском прочитаю (так даже лучше, не будет путаницы в терминах), но странно, почему у самого популярного игрового движка не успевают переводить всю документацию?

unity3d.com всё ещё официальный сайт? А unity.com? Я знаю, они переименовали движок Unity3D -> Unity, но что с сайтами?
Аноним 01/12/20 Втр 05:21:02 712378851
>>712365
Заливай файлы из рутовой папки (там файлы проектов всяких, мало весят), ProjectSettings (10 файлов с конфигами, которые ты меняешь в редакторе) и Assets (собсна весь твой контент)

>>712356
Если говорить про скомпилированную версию - то в projectSettings есть strictEngineCode которая якобы может порезать 70% движка и убрать юнитикод который ты не используешь.
Аноним 01/12/20 Втр 06:30:43 712388852
>>712378
Понятно, спасибо. Я уже выкинул из проекта все стандартные пакеты (пока они мне точно не понадобятся), из "кучи файлов" остались только какие-то Artifacts, но это вроде какой-то скомпилированный код, в общем пофиг.

>в projectSettings есть strictEngineCode которая якобы может порезать 70% движка и убрать юнитикод который ты не используешь
Звучит как полезная фича, но я не нашёл, где это установить? Впрочем, я пока туториалы изучаю, рано париться об оптимизациях)
Аноним 01/12/20 Втр 23:19:34 712490853
сижу в телеге в группе новостей юнити и там переодически постят ссылки на ченджлоги свежих релизов, но каждый раз по этим ссылкам 404. надо ждать от нескольких часов до дней прежде чем эти ссылки будут работать. отсюда вопрос это что какая-то региональная хуйня? может у вас работает?

https://unity3d.com/unity/whats-new/2020.1.16
Аноним 02/12/20 Срд 01:09:57 712498854
Как учиться, если везде уроки по 5 версии или в лучшем случае 2018?
Аноним 02/12/20 Срд 02:53:41 712515855
1.png 11Кб, 325x472
325x472
>>712490
>может у вас работает?
У меня по твоей ссылке тоже 404.

>постят ссылки на ченджлоги свежих релизов
А сами чейнджлоги постят? Или только ссылки, лол?

Посмотри https://unity3d.com/unity/whats-new/
На пикриле - список всех ченджлогов, доступных сейчас.

Вангую, что в твоей "группе новостей" хотят быть впереди планеты всей и постят ссылки, которые вскоре станут активны - несложно угадать, какая будет ссылка, ведь они все по единому шаблону выполнены (/whats-new/номер.версии.юнити). Вот если они кроме ссылки постят сам чейнджлог - тогда да, хороший вопрос, откуда они это узнают... Алсо в Телеграме есть фича - робот Телеграма сам ходит по ссылкам и делает превью, если этот робот не смог сделать превью страницы или на превью 404 - тогда страница реально пока не существует.

Есть ещё вариант, что кто-то в той группе новостей является разработчиком или комьюнити менеджером Юнити, но это нужно только чтобы инфу раньше публикации на сайте выкладывать (а не ссылку, ссылка известна) и вряд ли такое будут делать в какой-то русской соцсеточке, если юнити даже русской локализации толком не имеет...
Аноним 02/12/20 Срд 03:02:28 712517856
>>712498
>везде уроки по 5 версии или в лучшем случае 2018
Ты по ссылкам из шапки ходил хоть?
Вот, например: http://catlikecoding.com/unity/tutorials/ - сам сейчас вкатываюсь, смотрю и пробую эти туториалы, там для 2019 версии, но 2020 судя по всему не сильно отличается. Это самая база, но начни хотя бы с этого, а потом будешь руководствоваться мануалом - https://docs.unity3d.com/2020.1/Documentation/Manual/ - ибо так надёжнее, чем слепо следовать советам васянов с ютуба. По мере того, как начнёшь разбираться в движке, сможешь понимать туториалы от старых версий, самостоятельно адаптируя их к новым версиям ("так, тут сказано бе, но бе с такой-то версии стало ме, поэтому нужно сделать не бе, а ме, понятненько").
Аноним 02/12/20 Срд 15:12:32 712604857
>>698843 (OP)
Вы тред перекатывать собираетесь или опять будете до 1500 тянуть?
Шапку, я думаю, нужно обновить.
Аноним 02/12/20 Срд 18:24:29 712618858
>>712604
да лан, нормально сидим
Аноним 02/12/20 Срд 23:28:18 712694859
image.png 74Кб, 1146x612
1146x612
Любой эмейл не верен, любой ник уже занят
втф?
Новорожденный юнитиеб нуждается в помощи Аноним 03/12/20 Чтв 00:04:28 712700860
изображение.png 33Кб, 718x121
718x121
Учусь пытаюсь. Столкнулся с проблемой. Где то проебался в коде Однако ранее внизу выдавались список где и в каком скрипте проебался, сейчас же там пустое поле. а к такому видеогайды меня не готовили.

Собственно вопрос: куда исчезла панель с ошибками и как вернуть? Скучаю по ней
Аноним 03/12/20 Чтв 04:24:04 712721861
>>712700
>панель с ошибками
Это консоль, она не только с ошибками.

>как вернуть
Ctrl+Shift+C (прям как в браузере) или через меню window > general > console. Откроется в отдельном окошке - просто перетащи его за заголовок на то место, куда хочешь поместить, и он должен пристыковаться к остальным окошкам.

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

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

Сам всего два дня копаюсь, консоль как раз сегодня изучил и поставил на видное место.
Аноним 03/12/20 Чтв 12:05:38 712785862
73881d915b3776d[...].png 87Кб, 483x539
483x539
>>712694
Так ты ПРОЧИТАЙ И ПРИЙМИ ToS и Privacy Policy
Аноним 03/12/20 Чтв 12:07:37 712786863
>>712694
Все юнитидебилы такие тупые?
Аноним 03/12/20 Чтв 12:44:39 712801864
пукович.png 52Кб, 1204x590
1204x590
>>712785
>>712786
Ребят, я понимаю ваш сарказм, но вы сейчас сильно обосрались. Пикрил - как было бы, если бы от него требовалось прожать галочки. От него форма требует не галочки прожать, а ввести правильное мыло и придумать уникальный ник. Даже если бы он прожал галочки, она бы всё равно его никуда не пустила.

>>712694
Понятия не имею, почему так, может у тебя с браузером проблемы? Или какие-то невидимые символы случайно вводишь? Или у них этой ночью были проблемы с регистрацией, кто знает...
Аноним 03/12/20 Чтв 13:54:03 712830865
>>712801
>Даже если бы он прожал галочки, она бы всё равно его никуда не пустила.
Ты можешь быть уверен в этом только в двух случаях
1. если ты доверяешь этой форме (т.е. что она не будет выдавать хуйню, если ты не прожал галочки)
2. если у тебя уже был опыт общения с формой

Кстати, как adadadda, так и pukovich с высокой долей вероятности могут быть заняты. Неси пруф хотя бы с 64-битным именем, сгенерированным нормальным ГПСЧ.
Аноним 03/12/20 Чтв 16:56:09 712866866
народ, нужен шейдер, которые будет игнорировать глубину (просвечиваться через другие объекты). Я сам вообще в шейдеры ни зуб ногой, мб есть готовый?
Спасибо
Аноним 03/12/20 Чтв 17:17:29 712869867
Создаю объект из префаба, он из разных мелких частей. Как убрать у него тени? Если пытаюсь выделить отдельную часть префаба то она закрыта для редактирования.
Аноним 03/12/20 Чтв 17:19:29 712870868
>>712830
>Ты можешь быть уверен в этом только если у тебя уже был опыт общения с формой
Сцуко, я специально для тебя этот пукович.png >>712801 запилил, а ты говоришь "если у тебя был опыт..."?!

>pukovich с высокой долей вероятности могут быть заняты
pukovich свободен (как минимум прямо сейчас), пруф на скрине выше. А вот puk, pukpuk, pukov и pukich уже заняты.

Форма чётко и ясно подсветила ему "эти поля говно, переделывай", пока все поля не будут зелёными - не пустит. Это поведение стандартно для веб-форм, она не будет пускать тебя дальше, пока ты не исправишь все красные поля. Галочки на эти поля никак не влияют.

>>712694
Я ещё раз проверил форму. Скорее всего у тебя проблема с сетевым подключением, либо с доступом к серверам юнити, либо сами сервера тормозили, когда ты пытался зарегаться. Эти поля не сразу отображают статус "занято"/"свободно", они делают запрос к серверу (ну, это очевидно), пока не получат корректный ответ от сервера - статус не изменится. Если у тебя медленное нестабильное соединение или сервер испытывает перебои в работе, форма могла сохранить исходный статус "занято" и больше не смогла получить корректный ответ от сервера, чтобы обновить статус поля.

Короче, попробуй ещё раз, попробуй с другого браузера, попробуй с другого компа... Где-то должно заработать)
Аноним 03/12/20 Чтв 17:33:17 712871869
1.png 100Кб, 956x384
956x384
>>712869
>Если пытаюсь выделить отдельную часть префаба то она закрыта для редактирования.
Какую часть ты пытаешься изменить? Закрыт для редактирования только порядок child'ов.

>Как убрать у него тени?
УМВР, пикрил (юнити 2020.01).

Но ты можешь убирать тени через собственный скрипт, если имеет смысл скрывать/показывать тени во время игры.
Аноним 03/12/20 Чтв 23:29:44 712952870
Юняти-шатает-мн[...].PNG 10Кб, 505x161
505x161
Господа, у меня одного происходит шляпа со скейлом костей при экспорте из блендера? Не буду перечислять какие настройки экспорта пробовал, проще сказать что все что связаны с этим самым скейлом. Так же заметил что тоже самое явление запечатлено на туториалах. Это норма?
Аноним 04/12/20 Птн 03:10:44 712971871
изображение.png 30Кб, 558x217
558x217
>>712952
>Господа, у меня одного происходит шляпа со скейлом костей при экспорте из блендера?
Да, ты один такой уникальный, гордись этим. Скейлит тут свои кости у всех на виду, бесстыдник...

>какие настройки экспорта пробовал
Я просто нажал Export > Collada (Default) (.dae) > export COLLADA
Аноним 04/12/20 Птн 03:27:14 712972872
изображение.png 43Кб, 339x442
339x442
изображение.png 45Кб, 531x382
531x382
изображение.png 83Кб, 386x412
386x412
Кстати, на счёт костей. Я знаю, что их используют для анимаций, и примерно представляю себе, как создаются анимации в блендере (когда-то пытался в 3D-анимации, потом забил). А что на счёт юнити? Вот я импортировал модельку параллелепипеда с костями, смотрю, вручную можно каждую кость двигать и моделька правильно изгибается, это хорошо. Т.е. я могу и через код костями управлять? Глупый вопрос, наверное, сам знаю, что могу, если могу найти по имени и обратиться к компоненту transform...

Вот только проблема - кости почему-то друг с другом не связаны. В Блендере они были выстроены в цепочку, в режиме позинга сдвинуть кость из середины вообще невозможно, в режиме редактирования кости остаются связанными, но кости вокруг сдвигаемой "растягиваются". А в Юнити те же самые кости сдвигаются свободно и при этом сильно искажают модель. Допустим, для вшитой в модель анимации это не важно (анимация-то в блендере делается), но как быть с ручными манипуляциями в юнити и процедурной анимацией? Может, проблема в формате экспорта (dae), или нужно что-то где-то настроить, чтобы сохранялись связи между костями?
Аноним 04/12/20 Птн 06:58:04 712981873
>>712972
>п.1.
Да, можешь в твиттере посмотреть процедурные анимации, люди оч крутые штуки делают через код с костями.
Если про процедурные - управлять через код.
Если с готовыми анимациями - создаешь Controller и кидаешь туда анимации. Юнити контроллер это отдельная тема на самом деле.
>п.2.
В блендере (как и в максе) это настраивается в костях (либо модификатором).
Вообще когда я из макса экспортировал в fbx у меня кости экспортировались с такой же иерархией и я мог вращать кости нормально, но мог и польностью вырывать их.
Скорее всего от этого нет лекарства, нужно просто аккуратно с этим работать
Аноним 04/12/20 Птн 12:42:34 713004874
Господа, напишите пожалуйста список требований на позицию джуниор юнити девелопера
Аноним 04/12/20 Птн 13:21:16 713030875
>>712981
>кости экспортировались с такой же иерархией и я мог вращать кости нормально, но мог и польностью вырывать их
Вот у меня такая же ситуация - иерархия есть, вращаются нормально, но можно "вырвать", если изменить Position.

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

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

Ладно, не важно, нужно туториалы изучать... последовательно)
Аноним 04/12/20 Птн 15:57:33 713058876
photo2020-08-28[...].jpg 164Кб, 952x1280
952x1280
>>712971
Кости вертикально выставлял? Суть в том, что вертикально выставленные кости, как например рут в моём случае, имеют скейл в единичку при импорте, вне зависимости от формата, будь то fbx или dae, а вот отклонённые от вертикали т.е. кости спины, руки, ноги, ВСЕ остальные уже имеют этот джиттер скейла. Можно было подумать, что это как-то связано с иерархией, но нет, вертикальная кость в цепи так же имеет нормальный скейл

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

Примерно такое же поведение костей можно получить и в блендере, убрав галочку с "connected" в параметрах кости. Кость так же будет наследовать поворот, скейл и положение, но будет иметь дополнительную степень свободы в лице оффсета. Если оффсет нулевой, поведение в сущности будет идентично. Полезное применение находит в деформируемых ригах, загугли "overwatch animation slow motion", так нагляднее. С деформациями анимация может восприниматься лучше, приём по сути переняли у 2D аниматоров. Если интересна тема рига и деформаций в частности, то у Pierrick Picaut на ютьюбчике много интересного, тема деформируемых ригов и как их можно по человечески засунуть в Юняти разобрана в "Exporting stylised character rig from Blender to Unity". Ну так же курсы у него здоровские, много интересного подчерпнул. Только вот у него тяжёлый французский акцент. И конечно же эти курсы можно найти на торренте

Аноним 04/12/20 Птн 17:00:04 713074877
>>712871
Спасибо, разобрался. Оказывается надо было открыть префаб в отдельном окне и там все нашаманить. А если просто выделить в окне с ассетами, то панель инспектора недоступна.
Аноним 04/12/20 Птн 17:06:34 713076878
изображение.png 330Кб, 616x379
616x379
Начинающий юнитиеб смотрящий гайды и пытающийся стать Кириллом столкнулся с очредным вопросом:
Сижу я , сделаю свои юнитиебские дела(спрайты, скрипты и тд)и вдруг эщельме-гещельме! и то что я делал ближайшие полчаса вдруг сбрасывается и удаляется из Hierarchy, без каких то ошибок или уведомлений. Просто "ВЖУХ" и делаешь все с того момента как запустил.
Что я делаю не так?
Аноним 04/12/20 Птн 18:25:34 713103879
>>713004
>джуниор юнити девелопера
Вот это вбиваешь на hh/glassdoor и получаешь ответ на свой вопрос.
Аноним 04/12/20 Птн 18:42:10 713108880
изображение.png 2Кб, 252x95
252x95
>>713076
>то что я делал ближайшие полчаса вдруг сбрасывается и удаляется из Hierarchy, без каких то ошибок или уведомлений
Дай угадаю: ты нажал кнопку "Play", игра была запущена в фоне, ты что-то менял в сцене и сразу видел изменения в игре, а потом снова нажал "Play" и всё вернулось в тот вид, в котором было до первого нажатия? Это абсолютно нормально. Редактор Юнити позволяет изменять структуру сцены и объекты на ней прямо во время игры. Это полезная фича, когда ты хочешь поэкспериментировать со сценой или сделать в готовой сцене что-то, что игрок обычно сделать не может, при этом всё происходит в реальном времени. Но когда ты закрываешь игру, сцена возвращается в состояние до запуска. Это тоже полезно, т.к. во время игры можно насрать в сцену очень много лишнего (как скриптами, так и вручную через окно редактора) и было бы плохо, если бы это всё сохранялось в файле сцены. В общем, впредь следи за кнопочкой "Play" и состоянием окна "Game".
Аноним 04/12/20 Птн 18:49:33 713109881
>>713108
Именно так. Спасибо.
То есть я верно понял что сцена сохраняется после паузы?
Аноним 04/12/20 Птн 18:59:43 713110882
ы.jpg 92Кб, 638x795
638x795
>>713058
>такое же поведение костей можно получить и в блендере, убрав галочку с "connected" в параметрах кости
Это я знаю, но мне казалось привычнее, когда кости жёстко связаны. Это ж реалистично.

>С деформациями анимация может восприниматься лучше, приём по сути переняли у 2D аниматоров
Слышал и об этом, но мне бы хотя бы просто человечка для игры сделать и анимации к нему)


>твоё лицо, когда узнал, как тебя анимировали

Алсо видел некоторые деформации персонажей в записях матчей прямо в овервоч, там можно ставить на паузу, но мне казалось, что это просто глюки физического движка, т.к. повторно поймать одну и ту же деформацию не удавалось - каждый раз какая-то новая хрень. Часто такое заметно когда кого-нибудь убивает, особенно взрывом - конечности и голова на секунду могут отлететь за метр от тела... Реально на глюк похоже, а не на сознательно выполняемый приём.
Аноним 04/12/20 Птн 19:07:54 713111883
изображение.png 27Кб, 618x134
618x134
>>713109
>я верно понял что сцена сохраняется после паузы?
Нет, ты что-то не то понял. Сцена сохраняется после нажатия Ctrl+S, но только пока ты находишься в режиме редактирования - режим игры и даже пауза режима игры не позволяют ничего сохранить. Повторяю, режим игры - это режим для быстрых тестов и простых экспериментов в реальном времени, он не рассчитан на редактирование сцен с последующим сохранением. То есть сначала редактируешь сцену в режиме редактирования, сохраняешь (не обязательно, изменения сохранятся в любом случае), запускаешь режим игры, смотришь как это выглядит во время игры, при желании как-то экспериментируешь, выходишь из режима игры в режим редактирования, теряя экспериментальные изменения, и дальше продолжаешь редактировать сцену в режиме редактирования. По-моему это должно быть очевидно...

Теоретически, есть способ сохранить игровую сцену после изменений во время игры. Но для этого нужно писать свои скрипты, и я пока сам не знаю, как это можно сделать в юнити. Проще не выдумывать лишнего и делать так, как было задумано разработчиками юнити.
Аноним 04/12/20 Птн 19:17:13 713112884
изображение.png 3Кб, 265x73
265x73
>>713058
>Кости вертикально выставлял?
Да.
>отклонённые от вертикали т.е. кости спины, руки, ноги, ВСЕ остальные уже имеют этот джиттер скейла
Ну да, сейчас проверил - что-то такое получается.
>ВСЕ остальные
У меня почему-то не все. Но, возможно, потому что я только несколько костей повернул и скелет простой.

Имхо, если в туториалах на это внимание не обращают и в мануале/на форуме юнити ничего найти об этом не удастся, никакого официального объяснения или советов - скорее всего это норма и с этим придётся просто смириться. В конце концов все эти числа в Transform - типа float, а float подвержен появлению и накоплению ошибок округления. Там ведь матрицы друг на друга перемножаются, чтобы эти числа получить, или что-то в этом роде, короче матановские операции, влекущие за собой ошибки округления.

Если работает - забей, если будет вызывать ошибки в игре - тогда будешь думать, как это решить.
Можно скриптик написать, чтобы округлял все эти значения прямо в редакторе, например...
Аноним 04/12/20 Птн 19:19:59 713114885
изображение.png 736Кб, 600x600
600x600
>>713111
Понял. Еще раз спасибо, держи котика
Аноним 04/12/20 Птн 20:57:19 713124886
Аноним 04/12/20 Птн 23:54:00 713143887
Eu1P9aMqk.jpg 65Кб, 604x640
604x640
>>713112
>Имхо, если в туториалах на это внимание не обращают и в мануале/на форуме юнити ничего найти об этом не удастся, никакого официального объяснения или советов - скорее всего это норма и с этим придётся просто смириться.

Тоже прихожу к такому выводу

>В конце концов все эти числа в Transform - типа float, а float подвержен появлению и накоплению ошибок округления. Там ведь матрицы друг на друга перемножаются, чтобы эти числа получить, или что-то в этом роде, короче матановские операции, влекущие за собой ошибки округления.
Мне кажется, что это не тот случай, тогда бы ошибка накапливалась ближе к концу иерархии. Но ты натолкнул меня на мысль, что если это как-то связано с точностью float, которая теряет какое-то там количество знаков из мантиссы за пределами порога в 10000. Вспомнил, что старом блендере по умолчанию единицей измерения были попугаи, и для правильного размера объектов нужно было в параметрах сцены переключиться на метры и прописать скейл в 0.0001. Нужно провести следственный эксперимент
Аноним 05/12/20 Суб 00:28:30 713147888
изображение.png 536Кб, 700x522
700x522
Начинающего Кирилла мучает вопрос: есть ли в нэте курсы по С# в пределах Юнити? Ну то есть объясняющий что в С# дергает за какие нитки в Юнити, как и почему. Или такого в принципе нет и нужно просто учить весь C#?
Аноним 05/12/20 Суб 01:51:40 713160889
>>713147
Сразу вопрос: ты программировать в принципе умеешь? На каком-нибудь языке до C# пытался программировать? Хотя бы скрипты автоматизации на .bat или AutoIt? А в школе учили Pascal или какой-то другой ЯП? Если у тебя есть какой-либо опыт, особенно если это Pascal или что-либо C-подобное, то проблем с пониманием C# быть не должно даже без каких-либо учебных материалов.

>что в С# дергает за какие нитки в Юнити, как и почему
Насколько я понимаю, в Юнити используется полноценный рантайм C#. Код, который ты пишешь конкретно для Unity, обычно нуждается в двух вещах: модуле UnityEngine и описании нового потомка класса MonoBehaviour, вот так:
using UnityEngine;
public class ИмяКласса : MonoBehaviour { код }

Модуль UnityEngine содержит в себе основной функционал юнити, который ты можешь дёргать из своего кода. А класс MonoBehaviour содержит в себе основу для игрового объекта, которую ты можешь изменять, объявляя методы с определёнными именами и записывая в них код. Эти методы вызываются из кода движка Unity тогда, когда происходят определённые события - в этом заключена суть программирования игры (игровой код реагирует на какие-либо события игрового мира). Собственно, всё, дальше ты можешь программировать практически как захочешь (в рамках имеющегося рантайма mono, как я понимаю).

Проще говоря, твой код на C# описывает потомки MonoBehaviour, методы которых вызываются из кода движка Unity, а ты в своём коде в свою очередь обращаешься к коду на Unity, чтобы получить, передать или изменить данные или состояние движка и игровых объектов в сцене (ну и не только это, при желании).

>нужно просто учить весь C#?
Не обязательно, если ты умеешь в другие ЯП. Просто, если возникнут вопросы "как делается ... в C#" - загугли этот вопрос и в 99% случаев найдёшь или ответ, или страницу в мануалах C#. Но чаще всего тебя будет интересовать "как делается ... в Unity", и ответы на эти вопросы ты можешь найти в официальных мануалах к Unity или в туториалах. Имхо, нет смысла учить какие-то хитромудрости C#, которые не имеют отношения к геймдеву вообще и к написанию кода под архитектуру Unity в частности (создание виндовых окошек, например). Да и "весь ЯП" невозможно выучить, обязательно будешь что-нибудь забывать, а часть функционала никогда на практике не пригодится, поэтому рациональнее изучать то, что требуется для решения задачи, а об остальных особенностях и инструментах языка знать только в общих чертах, иначе зароешься в изучение инструментов и забудешь об изначальной задаче - разработать игру)

Поправьте, если я написал какой-то бред, я сам не очень разбираюсь(
Аноним 05/12/20 Суб 08:07:56 713174890
image.png 159Кб, 344x345
344x345
>>713160
Учил только основы С и имею базовое понимание циклов,функций, указок, массивов и ТД. Вобщем уровень чуть выше Хелло ворлд. Поэтому смотря туториал по создании какого нито Марио нихрена не понимаю то ли объясняющий использует свои элементы то ли дёргает элементы Юнити и хотел бы найти какой то туториал чисто по скриптоебству, желательно для совсем дебилов.
Аноним 05/12/20 Суб 14:17:37 713210891
Сап юнитач, есть вопрос.
Мне нужно чтобы мой введенный в инспекторе string с атрибутом передавался в код без атрибута и возвращался обратно, не теряя атрибут.
Нужно это для работы локализации с цветным тектом.

Иными словами - я ввожу в инспекторе что-то вроде
<color=#7CFC00>Enemy killed</color>
в инспектор передается только "Enemy died", там код локализует строку и возвращает её, на выходе мы получаем
<color=#7CFC00>Враг убит</color>

Реально ли вообще такое сделать?
Аноним 05/12/20 Суб 14:18:51 713211892
>>713210
>в инспектор передается
В код скрипт передается
самофикс
Аноним 05/12/20 Суб 18:03:04 713256893
>>713210
Ничего не понял, но ты выключи ReactText и используй простой ввод.
В крайнем случае можешь сделать кастомный инспектор где написать DrawText(yourString, куча параметров для отображения)
Аноним 05/12/20 Суб 18:30:16 713262894
>>713174
>Поэтому смотря туториал по создании какого нито Марио нихрена не понимаю то ли объясняющий использует свои элементы то ли дёргает элементы Юнити
А какая разница, что он использует и дёргает? Повторяй за ним пошагово, постепенно научишься.

Есть официальные туториалы https://learn.unity.com/pathway/junior-programmer/

Если хочешь знать все элементы юнити, изучай мануал:
https://docs.unity3d.com/2020.1/Documentation/ScriptReference/index.html
И ещё здесь есть подробности о скриптинге под юнити:
https://docs.unity3d.com/2020.1/Documentation/Manual/ScriptingConcepts.html
>Scripting concepts
>Although Unity uses an implementation of the standard Mono runtime for scripting, it still has its own practices and techniques for accessing the engine from scripts. This section explains how objects created in the Unity editor are controlled from scripts, and details the relationship between Unity’s gameplay features and the Mono runtime.

Достаточно было сходить на официальный сайт юнити и пройтись по ссылкам. Тебе лень?
Аноним 05/12/20 Суб 18:34:42 713264895
>>713210
А зачем ты локализацию через инспектор вводишь?
Локализация обычно реализуется через списки строк в отдельных файлах (под каждый язык отдельный файл), и совершенно не важно, что будет содержаться в этих строках - можешь любые атрибуты добавлять.
Или ты хочешь, чтобы в файле локализации был просто текст без атрибутов?
Аноним 05/12/20 Суб 18:48:03 713265896
>>713262
Не лень. Я знаю про них. Проблема в хреновом техническом английском(причина в изучения ингла по книгам и мультам).

Но в любом случае спасибо. Придется подтягивать тех ингл
Аноним 05/12/20 Суб 18:59:21 713268897
>>713264
Локализация работает по принципу:
>В компонент текста вписывается ключ (или просто строка, которую нужно локализовать)
>Скрипт, висящий на тексте принимает этот ключ
>В зависимости от системных настроек телефона ищет ключ в файле локализации (если русский - в Russian, если английский - в English и т.д)
>Заменяет текст (место, откуда брал ключ) на соответствующий этому ключу текст в файле локализации

В целом работает всё как часы, но мне нужна возможность делать куски текста цветными. Например у меня написано "Приближается ЙобаДракон в колличестве 200 штук" и я хочу, чтобы "ЙобаДракон" было написано красным, а остальное обычным цветом.

Можно окрасить создав новый скрипт и в нём уже через код локализовать строку (или отдельные слова) и сразу давать цвет, но у меня много мест в которых нужно так сделать, а создавтаь десяток новых скриптов не хочется
Аноним 05/12/20 Суб 19:24:33 713273898
>>713265
>Проблема в хреновом техническом английском
Так ты хотел туториалы на русском языке что ли?

Да, придётся подтягивать английский. Давно пора, если не первый день в интернете)
Тем более что все мануалы к программам обычно только на английском, а без мануала разобраться трудно, если вообще возможно. Ещё и наиболее полные ответы на вопросы можно получить на стековерфлоу или других англоязычных форумах, а среди русскоязычных либо никто ничего не знает, либо не хочет объяснять...
Аноним 05/12/20 Суб 19:31:46 713274899
>>713273
Думал может кто то присоветует на русском туториалов , на тытупе или каком стороннем ресурсе.

На тытупе есть какой то Гоша Дударь , но его то ли в этом треде , то ли по соседству пидором звали и всячески учится у него не советовали
Аноним 05/12/20 Суб 19:36:45 713275900
>>713268
>возможность делать куски текста цветными
А записывать в файл локализации эти теги >>713210
><color=#7CFC00>
Никак нельзя?

Я сам даже текст на экран разместить не знаю как, мда
Аноним 05/12/20 Суб 19:42:27 713276901
>>713275
Нельзя, так оно, к сожалению, не работает
Аноним 05/12/20 Суб 20:37:34 713282902
>>713276
Может быть, там какие-то экранирующие символы автоматом вставляются?
Аноним 05/12/20 Суб 23:25:12 713307903
изображение.png 3Кб, 155x56
155x56
Только что создал новый проект и юнити сообщила, что вышла новая версия. Нажал на кнопку обновить, ничего не произошло. Закрыл юнити. В юнити хаб нет кнопки "обновить", я могу только скачать новую версию отдельно от старой. Чё делать? Удалять старую - качать новую? Почему они не сделали кнопку "обновить версию", очевидно же, что между 15 и 16 не должно быть существенных различий.
Аноним 06/12/20 Вск 02:33:22 713322904
>>713307
Ладно, пофиг, установил новую и удалил старую.
Но как лучше делать в будущем? Я правильно сделал?
Аноним 06/12/20 Вск 08:59:46 713327905
изображение.png 2Кб, 371x39
371x39
Попытался сделать WebGL билд сцены с UI-кнопками, билдилось очень долго, минут 8, в итоге получаю в консоли Firefox получаю ошибку "символ unityFramework не определён". ЧЯДНТ? У кого-нибудь WebGL-билды получалось делать?

А ещё я хотел попробовать сделать билд IL2CPP под винду, но билд не прошёл - какая-то ошибка обращения к il2cpp.exe или что-то типа того... Ну, это я так, просто проверяю.
Аноним 06/12/20 Вск 12:53:12 713336906
>>713327
1 Скачай Servez (синяя рожа).
2 Сделай билд в условную папку mywebglbuild.
3 запусти Servez - укажи папку mywebglbuild
4 в браузере открой http://localhost:8080
5 на этом этапе всё будет работать
Проблема эта т.к. браузеры сейчас блочат JS и http в файловой системе и нужно поднимать локальный сервак.
Кстати если не хочешь делать эти 5 шагов, другой вариант закинуть билд на настоящий сервак
Аноним 06/12/20 Вск 13:20:10 713337907
Можете пояснить за ECS? Я правильно понимаю, что сейчас если есть куча циклов, они выполняются на одном процессоре, не используя кучу тредов, которые сейчас в современных процессорах, а ECS делает игру более производительной. Вопрос на сколько?
Аноним 06/12/20 Вск 16:03:42 713366908
>>713336
>Проблема эта т.к. браузеры сейчас блочат JS и http в файловой системе и нужно поднимать локальный сервак.
Я знаю об этом, но эта ошибка выглядит по-другому. Я уже делал изменения в about:config и браузер перестал блочить запросы через по file://, но ошибка осталась. Servez установил и запустил, ошибка всё та же.

Такое ощущение, что билд кривой получился...
Аноним 06/12/20 Вск 16:18:53 713371909
>>713337
>ECS делает игру более производительной
ECS - это подход к разработке игр, преимущественно направленный на упрощение дизайна объектов, но также он может являться основой для data-oriented design (DOD). На производительность влияет не ECS, а реализация DOD, которая в Unity называется Data-Oriented Technology Stack (DOTS). Ну или как-то так. Я сам толком не понимаю, наделали кучу терминов и названий(

>Вопрос на сколько?
Зависит от типа контента. DOD имеет смысл, когда у тебя тысячи/десятки тысяч однотипных объектов, с которыми тебе нужно работать последовательно. Суть в том, что в ООП данные разбросаны по памяти, процессору приходится каждый раз искать следующий класс и ждать его загрузки из RAM в свой кэш; если же мы реализуем DOD, тогда однотипные данные хранятся у нас одним блоком, который процессор может загрузить заранее в свой кэш, в результате мы экономим время на поиске объекта/ожидании доступа к объекту.

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

А если хочешь подробнее - читай официальные статьи https://unity.com/dots
Аноним 06/12/20 Вск 17:09:17 713382910
837097cb798c5ca[...].png 77Кб, 255x197
255x197
Нюфаг в треде
Актуальна ли 5-ая версия Юнити или она уже в прошлом?
Аноним 06/12/20 Вск 17:53:37 713400911
versions.png 7Кб, 152x726
152x726
Аноним 06/12/20 Вск 18:34:20 713406912
>>713400
железо слабое, или не суть?
Аноним 06/12/20 Вск 18:57:14 713420913
>>713406
Не знаю, мой компьютер с 2008 не сильно обновился, тормозов в редакторе юнити 2020.01 не замечаю.
Учитывая то, что они нацелились на оптимизацию рантайма под слабые машины/мобилки - должна быть даже быстрее старой.

Или у тебя вообще какой-нибудь нетбук?
Аноним 06/12/20 Вск 20:44:39 713447914
>>713420
у меня и средне-пека и средне-бук, примерно одинаковые по железу, покупали году в 2015. Видимо надо тестить получше.
Аноним 06/12/20 Вск 21:07:26 713467915
>>713447
Уже пробовал? Что конкретно у тебя тормозило? Если компиляция кода/сборка проекта - оно на любом компе "тормозить" будет, всегда придётся немного подождать. А вот графический интерфейс и редактор сцены тормозить не должны.

А вообще вот официальные системные требования:
https://docs.unity3d.com/2020.1/Documentation/Manual/system-requirements.html
Где-то видел приписку типа "остальные требования зависят от сложности конкретного проекта". Т.е. чем более сложный проект пилишь, тем выше требования к ПК. Ну, как и с любой другой программой - Блендер тоже можно открыть на любом нетбуке, но более-менее сложную графику на нём не сделать - чем больше полигонов, тем выше нагрузка вплоть до зависаний.
Аноним 07/12/20 Пнд 06:26:30 713529916
>>713366
Выключи компрессию в player settings, забыл про это сказать.
JS код ожидает ответ gzip, а т.к. приходит архив без этого заголовка - вываливается ошибка.
сори, сразу не вспомнил
Аноним 07/12/20 Пнд 17:14:00 713591917
1.png 252Кб, 1601x850
1601x850
Анончики, пытаюсь через юайшный рэйкастер кинуть рейкаст из transform.position объекта PinkDragonSteelArmor, чтобы поймать в него объект InventaryCell - нихуя не получается.
Пробовал юайным рейкастером просто от позиции мышки рейкаст кидать, если мышка в центре объекта PinkDragonSteelArmor - успешно ловятся рейкастом оба вышеперечисленные объекта.
Начал дебажить по координатам - координаты рейкасты мышки, по которым рейкаст попадает, отличаются от координат объекта PinkDragonSteelArmor, с которого рейкаст промахивается, точнее отличаются по иксу и зэте, по игрику совпадают.
Вот есть же Camera.ScreenToWorldPoint, может есть что-то такое для UI?
Аноним 07/12/20 Пнд 17:49:58 713596918
>>698843 (OP)
Какие способы есть сохранения анимации(созданную в унити)? Чтобы при форсмажорах можно было бы перенести ее из одного проекта в другой.
Перенес контролер, перенес саму анимацию - а в ней кадры пустые, без отсылок спрайту, я вообще не понял зачем тогда .анимация нужна, раз она не сохраняет спрайты и их порядок.
Я слышал об экспорте-импорте материалов, но не знаю каким образом экпортируется анимация (может также поломано, без спрайтов), да и экспорт работает только если у тебя проект под версию юнити открывается, то бишь не всегда есть возможность открытия проекта и экпортирования материала из него.
Аноним 07/12/20 Пнд 19:38:08 713609919
>>713596
Пробовал делать анимации в блендере, а затем импортировать в юнити?
Аноним 07/12/20 Пнд 19:40:14 713611920
Аноним 07/12/20 Пнд 19:44:02 713612921
>>713609
Подумывал, но блендер разве не слишком сложная программа для 2д? Устанавливал другу много лет назад, я там еле сам разобрался какими клавишами что вертеть.
Аноним 07/12/20 Пнд 19:53:46 713616922
>>713611
Лол, мой колхозный английский хули, исправлю.
Аноним 07/12/20 Пнд 20:06:56 713621923
>>713591
В чем проблема, не понял? Ты жмешь на кнопку и?
Аноним 07/12/20 Пнд 20:07:43 713622924
карта.png 43Кб, 887x384
887x384
Накопились вопросы по тайловым картам:
1. Использую пакет 2D Tilemap Editor, он достаточен или есть что-то лучше?
2. Есть ли бесплатные ассеты для автотайлинга в юнити? Чем пользовались?
3. Может быть, будет лучше использовать Tiled? Как там с импортом в юнити?
4. Слои карты делаются отдельными Tilemap+TilemapRender, правильно?
5. Есть ли утилиты для отрисовки вариаций промежуточных тайлов?
6. Можно ли добавлять тайлсеты? Я по одному тайлу импортирую.

Может есть свежий туториал по тайловым картам в юнити?
Аноним 07/12/20 Пнд 20:18:23 713624925
>>713612
>блендер разве не слишком сложная программа для 2д?
В 2D там всё проще получается, не нужно вертеть сцену и заботиться о третьей оси. Кстати, несколько лет назад проходил туториал по анимации 2D-персонажа в блендере, было очень просто повторить по шагам. Вот, нашёл:
https://blender3d.com.ua/rigging-2d-personazha-v-blender/ - перевод на русский
https://cgi.tutsplus.com/tutorials/how-to-rig-a-2d-character-in-blender-for-cut-out-animation-or-explainer-videos-part-1--cms-26159 - оригинал

>еле сам разобрался какими клавишами что вертеть
Есть специальные шпаргалки со всеми хоткеями. Но на практике чаще всего нужны только 3 клавиши - G, R, S (смещение, поворот, масштаб). Да, первое время сложно и путаешься, но потом становится настолько привычным, что управление в любой другой программе кажется крайне неудобным (мне вот не нравится управление QWERTY в юнити и других движках).
Аноним 07/12/20 Пнд 20:44:38 713627926
>>713624
Блендер так блендер.
У меня просто место закончилось на диске и никак не очистить, программы чет вообще дофига жрут. Там плагин установил, тут фотину, сям, тут гиг сям гиг и вот у меня остались последние 5-10 гигов которые сжирает юнити тютелька в тютельку во врема билда.
Так влооом копаться в этом чтобы установить блендер аааргх.
Аноним 07/12/20 Пнд 20:45:58 713628927
>>713621
На кнопку я не жму. Мне нужно метод написать, который будет кидать рейкаст от координат объекта, то бишь "под себя" рейкастить и видеть что под ним. Так вот кидаю я рейкаст по gameObject.transform.position - и он ничего под собой не ловит, следом я написал метод рейкаста от курсора мышки для теста, ну тип работает вообще всё это или нет, навёл его на объект посерединке, где в теории должен быть тот самый его gameObject.transform.position, которым пытался рейкаст кидать и ловить то, что под ним - и рейкаст с курсора всё ловит. То есть курсор кидает рейкаст с какой-то другой системы координат по юайке и всё делает правильно, и мне теперь надо разобраться как перенести в ту систему координаты координаты объекта, с которого мне нужно рейкасты кидать.
Аноним 07/12/20 Пнд 20:46:57 713629928
>>713622
>3
Импорт идеален, а хуле ему не быть, там же 1-2 формата всего.
Тайлед не лагает ты можешь ковырять карту любых размеров, в юнити возможны дикие фризи, лаги, да и прост неудобно может быть.

>4
да

>тайлсеты
да, можно

Аноним 07/12/20 Пнд 20:49:33 713630929
>>713628
Делай кнопки невидимые, они уже с встроенными методами, зачем изобретать колесо
и я догадываюсь в чем твоя настоящая проблема, но не хочу чтобы меня закидали бананами за очевидность
Аноним 07/12/20 Пнд 20:54:08 713631930
>>713630
Это тралленк такой? Просто я тут с этим ещё не сталкивался.
Аноним 07/12/20 Пнд 21:01:52 713633931
>>713631
Что тут трольного?
Аноним 07/12/20 Пнд 21:37:58 713635932
>>713467
по моим наблюдениям подъедает, но вроде жить можно. Там же фоном всякие ноджсы и агенты еще грузятся.
Аноним 07/12/20 Пнд 22:19:47 713637933
>>713467
забавно, 5-ый крашнулся не загрузив редактор. 19- вполне сносно работает, хоть и загружается долговато.
Аноним 07/12/20 Пнд 22:28:43 713638934
>>713637
Бля не понимаю этого дроча на версии. Вы что там прожекты каждую неделю высираете что вам так все необходимо апдейтить?
Я сидел спокойно на 18 несколько лет пока некоторые тут ныли что дескать 20 лагает и блабла, на что мне было, конечно же, глубоко похуй. Написано же для дурашек ЛЕГАСИ, СТАБИЛЬНЫЙ РЕЛИЗ, ТЕСТОВАЯ ВЕРСИЯ. Вы читать умеете алло. Вот недавно из-за предолинга и у меня все слетело в своей версии, я так уж и быть обновился до СУПЕР НАНО НОВЕЙШЕЙ ТЕХНОЛОГИЧНОЙ МЕГА КРУТОЙ ПРОДВИТОЙ 19ой версии, фух какой же каеф, благодарен ребяткам за бета тест.
надо будет - перейду дальше или вообще откачусь. Не надо будет - буду сидеть. В чем у вас проблемы?
Аноним 07/12/20 Пнд 23:07:30 713644935
>>713638
ну 6-ую я просто сравнить хотел, да и примеров для обучения на ней горы. А так, да, 19тя стоит.
Аноним 07/12/20 Пнд 23:08:14 713646936
>>713638
5ую просто хотел сравнить, шустрее или нет.
Аноним 08/12/20 Втр 03:07:09 713652937
>>713627
>Блендер так блендер.
Я не настаиваю, просто предложил как вариант. Сам только начинающий.

>Так влооом копаться в этом чтобы установить блендер аааргх.
Попробуй это - https://windirstat.net/ - легко сможешь найти, что занимает слишком много места. Обычно больше всего места занимают видео, музыка и современные игры. Ещё место может занимать Windows копиями обновлений и контрольными точками восстановления, это можно очистить системной утилитой (свойства диска - очистить диск). Также советую включить и настроить сжатие папок и файлов NTFS - оно не поможет с медиафайлами (картинки, видео и музыка обычно уже сжаты более эффективными методами), однако исполняемые (exe/dll) и текстовые файлы (в т.ч. скрипты) сжимает превосходно. К примеру, Unity 2020.1.16f1 с документацией и WebGL-экспортом занимает у меня всего 4 ГБ, без NTFS-сжатия она занимала бы 6 ГБ. Без WebGL и документации она вообще весила меньше 3 ГБ со сжатием.

А ещё можно скачать portable версию Blender, сейчас она весит 195 МБ в архиве и 523 МБ в распакованном виде. Если использовать сжатие NTFS - будет занимать всего лишь 321 МБ. На производительность сжатие файлов не влияет, по крайней мере я давно пользуюсь этой фичей и проблем ни разу не замечал (жалею, что раньше боялся включать это сжатие). Главное не сжимать файлы самой операционной системы, а то, говорят, может не смочь загрузиться, т.к. драйвер для разжатия загружается позже критически важных файлов, которые можно случайно сжать)) Т.е. лучше помечать отдельные папки (свойства - другие - сжимать...).
Аноним 08/12/20 Втр 03:22:50 713653938
>>713635
>Там же фоном всякие ноджсы и агенты еще грузятся
Играю в игры, не закрывая редактор Unity. Фоном оно не крутится, только когда реально что-то нужно делать.
>>713637
>загружается долговато
Ставь на SSD. И, кажется, только первый запуск самый долгий, пока происходит настройка, потом всё из кэшей.
>>713644
>примеров для обучения на ней горы
А смысл? Ассеты из стора уже не загрузишь - устаревшие купить нельзя, а новые просто не заработают. Если обнаружишь какой-то баг - надежды на исправление патчами нет, т.к. апдейтов больше не будет. Даже совет на форуме спросить - вряд ли найдётся достаточно фанатов 5-й версии, чтобы помочь тебе с какими-то проблемами в ней. Потом, это не "вчерашняя" версия, она реально устарела же, невыгодно отказываться от новых фич и багфиксов.

>>713638
Как-то слишком сильно у тебя бомбит, если ты всем абсолютно доволен и в своих решениях уверен.
Я вот сразу поставил себе 2020.01, потому что буквально через месяц-полтора выйдет 2020 LTS, так зачем мне обучаться на прошлогоднюю версию? А там уже и 2021 можно будет щупать, так, из любопытства скорее...
Аноним 08/12/20 Втр 03:53:12 713658939
Безымянный.png 36Кб, 504x496
504x496
>>713591
Сам инвентарь реализовываешь? Пакет Game Foundation не пробовал? Там вроде готовый инвентарь есть. А ещё можно было бы ассет какой-нибудь найти, хотя бы чтобы глянуть, как его можно реализовать...

>>713628
>видеть что под ним
Зачем предмету в инвентаре что-либо видеть, проверять и т.д.?

Базовый инвентарь реализуется так:
1. Есть массив NxM ячеек, в ячейках - ссылки на объекты (указатели) или типы предметов (числа).
2. То, что видит пользователь, рисуется кодом, опираясь на данные массива из пункта 1.
3. Действия пользователя изменяют массив из пункта 1.
4. Единственные датчики в системе - это ячейки, на которые пользователь может нажать.
5. В системе инвентаря есть скрытая ячейка - "рука пользователя" (см. ниже).

Перенос предмета внутри инвентаря осуществляется так:
1. Игрок кликнул на ячейку - мы записали в "руку" ссылку на эту ячейку;
2. Игрок кликнул на вторую ячейку - мы обменяли местами содержимое первой и второй ячеек.
Аналогично с переносом в/из инвентаря.

Кстати, поскольку пустая ячейка тоже содержит ссылку (null), то код получается крайне универсальным:
1. Мы можем менять местами два предмета сразу;
2. Можем перемещать предмет в пустую ячейку;
3. Можем выбирать пустую ячейку, а потом предмет для неё.
И всё это - одним и тем же кодом в три команды присваивания (X = A; A = B; B = X).

Собственно, зачем усложнять?
Аноним 08/12/20 Втр 04:10:39 713659940
>>713658
Да, забыл добавить, могут быть варианты "руки":
1. Самое простое - "рука" только помечает ячейку, с которой мы хотим произвести обмен;
2. Визуальное "перемещение" предмета - "рука" сама является ячейкой под предмет (обычно пустая, null).

С первым всё просто, поясняю второе:
1. За курсором следует невидимая "ячейка", в которой может быть иконка любого предмета;
2. Когда игрок кликает по ячейке инвентаря, она обменивает своё содержимое с этой ячейкой;
3. С этого момента ячейка видима, но создаёт впечатление "перетаскивания предмета";
4. Когда игрок кликает снова по пустой ячейке - она обменивается с этой "ячейкой руки".
Для оптимизации, невидимая ячейка может следовать за мышкой только пока открыт интерфейс инвентаря и зажата, скажем, ПКМ; когда инвентарь закрывается или ПКМ отпускается, эта ячейка автоматически возвращает своё содержимое в последнюю ячейку или в ту, над которой последний раз был курсор мыши.

Ну, в общем, нужно экспериментировать - выбирать на практике, что будет удобнее для твоей игры.
Аноним 08/12/20 Втр 04:57:24 713664941
Занимаюсь разработкой анала онлайн дрочильни на мобилки и мне нужен какой-то класс, с помощью которого я буду отправлять запросы на сервер и получать ответы от него.

Единственный рабочий вариант, который нашел, это - это gameobject с привязанным скриптом, который выполняет запросы и прочее.
Проблема в том, что чтобы им пользоваться в других скриптах - его нужно референсить во всех скриптах (где он нужен), а это не круто.
Хотелось бы иметь просто статический класс.

Есть варианты?
Аноним 08/12/20 Втр 06:15:08 713669942
>>713664
Да, использовать простой статический класс со статическими методами. вообще забудь про рефлексию, из-за неё у тебя потом будет очень много проблем
Аноним 08/12/20 Втр 07:45:44 713672943
Челы,помогайте,все перерыл.Перехожу в плей мод,если долго в нем стою и потом выхожу,вылетает юнити.Никаких ошибок,ничего,просто вылет.Думал из-за того что на новую версию перешел,но нет,уже откатился на старую,там тоже такая же беда.Раньше было такое,но очень редко,как-то не предавал значения этому,а теперь каждый раз.
Аноним 08/12/20 Втр 09:34:22 713674944
>>713672
У меня на версии 2019.4 часто вылетала, еще были проблемы с ресайзом окна (при ресайзер всё могло почернеть и приходилось перезапускать).
Перешел на 2020.1 тоже пару раз вылетело, потом обновил драва на видюху и перестало (ноут с 2мя картами)
А вообще у юнете есть лог в файл, можешь поискать где он и возможно поймешь в чем проблема
Аноним 08/12/20 Втр 10:25:30 713679945
>>713674
логи к сожалению ничего не дали,там просто никаких проблем,все идет своим ходом,но когда выходишь из редактора - вылет.Сейчас попробую обновить дрова,мб поможет
Аноним 08/12/20 Втр 11:11:09 713681946
>>713658
>>713659
Знаешь, я вот почитал тебя и понял што рейксаты могу с курсора кидать при драгэнддропе же, а они как раз работают как мне надо. Мне прост на драгндроп нужны рейкасты, чтобы смотреть куда потащил объект. А идею с инвентарём я в другом месте подхватил и немного другую, но тож массив объектов будет там, все дела. Спасибо.
Аноним 08/12/20 Втр 12:45:02 713691947
>>713681
>рейксаты могу с курсора кидать
А почему не сделать как >>713630 предлагал? Подложка ячеек может быть выполнена как кнопка UI. У неё есть события входа/выхода мыши и автоматическая подсветка (удобно, но почти не вижу такого в играх). Даже можно будет сделать управление инвентарём с клавиатуры)
Аноним 08/12/20 Втр 13:20:04 713696948
nX32sjEzrqk[1].jpg 24Кб, 808x128
808x128
Можете подробно объяснить как работает данный код.
К примеру, у нас меняются данные, мы подписываем на это действие делегат, который описываем ниже? А как это объяснить: "А obj в данном случае захватывается и хранится в делегате."? Где он хранит эти данные, и какой в этом вообще смысл?
Аноним 08/12/20 Втр 14:59:56 713732949
>>713696
Это просто анонимный метод: https://metanit.com/sharp/tutorial/3.15.php
Анонимный метод (анонимная функция) - это кусок безымянного кода, ссылку на который мы храним в переменной (в C# это "делегат"), и можем вызывать как обычный метод (функцию), но только если знаем ссылку на него. Делегат, по сути, всего лишь хранит ссылку на метод, а анонимный метод - метод, который создаётся без определённого имени.

>подробно объяснить как работает
item - экземпляр какого-то класса
onValueChanged - событие этого класса, на которое можно повесить обработчик события
item.onValueChanged - это поле для хранения ссылки на обработчик события onValueChanged
delegate (bool v) - объявление анонимного метода, который может принимать аргумент v
{ ClickButton(...); } - код анонимного метода (хранится где-то в памяти, доступ к ней по ссылке)
(v, obj, ...) - аргументы ClickButton, которая находится в анонимном методе
v - аргумент анонимного метода, передаётся в ClickButton
obj - ссылка на какой-то объект, которая передаётся в ClickButton

Как работает:
1. Мы создали анонимный метод, в которой вызываем метод ClickButton;
2. Мы присвоили ссылку на этот метод в поле onValueChanged экземпляра item;
3. В какой-то момент произошло событие onValueChanged;
4. Где-то внутри item произошёл вызов onValueChanged;
5. Вызов прошёл по ссылке и вызвал ClickButton.

>Где он хранит эти данные
Тебя это волновать не должно. Какой смысл копаться в кишках рантайма C#?

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

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

объяснил как смог, сам C# только начал изучать
Аноним 08/12/20 Втр 15:09:30 713736950
>>713732
Ты мне объяснил, что я и сам знаю. Подписка на анонимную функцию, окей. Но объясни вот что:
1) У нас вызывается onValueChanged (то есть меняется значение у кнопки), откуда берется значение переменной v
2) И второе, что мне было интересно.
>>А obj в данном случае захватывается и хранится в делегате.
Как он захватывается, откуда берется? Меня не интересует как код работает, ты мне скажи, что такое obj, ведь я в методе ClickButton над ним какие-то действия произвожу, мне нужно знать откуда я его беру.
Аноним 08/12/20 Втр 15:38:52 713744951
>>713736
>Ты мне объяснил, что я и сам знаю
Какой вопрос - такой и ответ))

>откуда берется значение переменной v
А мне откуда знать? Ты даже не говоришь, какого класса экземпляр item. Нужно открывать документацию и смотреть, что это за класс, и какой именно аргумент он передаёт в обработчик события onValueChanged. Но судя по логике, если значение item - булево, тогда v в onValueChanged - это новое значение item (true или false). Если же значение item не типа bool, тогда я без понятия, что это за аргумент - нужно смотреть документацию (или исходный код класса).

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

Теоретически, obj берётся из той зоны видимости, где создаётся анонимный метод. Но это не точно)
Аноним 08/12/20 Втр 15:43:24 713745952
>>713696
>>713736
А откуда ты этот код вообще взял? Это оно?
https://docs.unity3d.com/2019.1/Documentation/ScriptReference/UI.Toggle-onValueChanged.html

По-моему это устаревшая хрень, в 2020.1 этого уже нет вроде как. Даже в 2019.2 такой статьи уже нет.
Но если у тебя действительно UI.Toggle, тогда v по идее должен быть новым знанием тумблера (true/false).
Аноним 08/12/20 Втр 15:54:07 713747953
>>713638
>не понимаю этого дроча на версии
>В чем у вас проблемы?
Вспомнил главную проблему устаревших версий: они сильно отличаются от новых. Вот ты дрочишь-дрочишь API старой версии, а потом через пару месяцев понимаешь, что пора бы уже перекатываться на новую версию, а API новой версии ДРУГОЕ. И начинаешь учить заново, а заодно перекатывать свои старые проекты на новые API. Нахрен оно надо, учить 2018.4 LTS в 2020, когда через год 2018 станет legacy?
Аноним 08/12/20 Втр 15:58:42 713748954
>>713745
Всё, спасибо, врубился, я думал дрочь какая-то, а оказалось всё гораздо проще. А почему не используется, что сейчас используется?
Аноним 08/12/20 Втр 16:24:51 713750955
Безымянный.png 37Кб, 821x446
821x446
>>713748
>А почему не используется, что сейчас используется?
Извини, я перепутал. Unity.UI не удалили, а выделили в отдельный пакет, документация разделилась:
https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/script-Toggle.html
В новых версиях, чтобы использовать UI, нужно импортировать соответствующий пакет (пикрил).

А для того, чтобы повесить обработчик события, можно использовать инспектор, примерно так:
https://nagachiang.github.io/tutorial-pass-parameter-with-sliders-onvaluechanged-in-unity/
Я попробовал, у меня в 2020.1 работает.
Аноним 08/12/20 Втр 16:51:08 713753956
>>713750
А если я во время игры эти кнопки создаю, мне нужно через код на них события повесить. В этом случае решение с делегатом нормально подходит.
Аноним 08/12/20 Втр 17:03:27 713761957
Аноны, хэлп. Пытаюсь сделать внутриигровые покупки, создал все товары в гугл плей консоли, но один из них никак не хочет активироваться. Пишет "Произошла непредвиденная ошибка..." Два дня уже так. Все остальные товары активировались нормально, все они управляются одними скриптами по одну сценарию.
Аноним 08/12/20 Втр 18:15:39 713794958
>>713761
Может, проблема на стороне гугла? Напиши в саппорт, вдруг у них что-то в базе сломалось.
Аноним 08/12/20 Втр 19:11:20 713800959
>>713669
Так не получается нихуя. Там нужен Courotine, а его нельзя использовать в статических классах.
Аноним 09/12/20 Срд 00:28:23 713840960
>>713800
Сделай синглтон, в чем проблема
Аноним 09/12/20 Срд 11:44:07 713882961
image.png 1375Кб, 705x706
705x706
Задача: написать любую мини-игрушку чтобы в ней использовалось два паттерна проектирования на c#
Начал делать клон Reigns, пока что не знаю куда там там можно запихать паттерны. Предполагаю, что можно засунуть сохранение через Memento, но может можно как-то прям в логику свайпов или изменения показателей красиво сделать?
Аноним 09/12/20 Срд 21:29:16 713980962
Аноны, какие первые проекты вы делали/посоветуете?
Уже несколько месяцев смотрю курсы на разных платформах, копирую материал и думаю что "учусь". Но на самом деле все это хуйня видимо, пока не сядешь и не будешь делать что-то свое и сам.
Так вот, хз с чего лучше попробовать. 2д проект или 3д. 2Д игры сами по себе не особо нравятся, особенно платформеры какие-то или top-down. 2.5Д уже получше. В свое время очень много играл в такие игры, но тут беда уже с ассетами всякими. Даже для учебы.
Остается по идее только 3д. Но 3д должно быть намного сложнее чем предыдущие варианты.
В общем, на распутье короче. Посоветуйте, с чего вы начинали?
Аноним 10/12/20 Чтв 00:38:55 714011963
>>713980
Делай что хочешь, тут у всех свой ебанутый путь, который ни к чему хорошему по сути не привел. Устраивайся на работу и решай универсальные задачи, а начинай с чего хочешь, главное понимай работу Unity и C#
Аноним 10/12/20 Чтв 00:56:47 714012964
>>713980
Главное выучить C# хорошо и понимать практику программирование на этом языке. Если ты только смотрел курсы по unity - уверяю, c# у тебя на дне, нужно подтягивать серьезно. Дальше уже что угодно можно и работу попробовать найти, если скилл не позволяет, то куча разных инди команд, работающих "на энтузиазме" тебя примут. Только совсем к школьникам идти не надо.
Аноним 10/12/20 Чтв 01:22:19 714014965
>>714012
Ну c# возможно у меня и правда на дне. Хотя опыт программирования есть. 2 года работал веб-макакой с JS.
Мне бы такой проект, который по сути смог закрыть пробелы и помог в устройстве на работу. Типа, не с пустыми руками как чмоня после курсов скилбокса. Я в душе не ебу какие навыки ожидают от джунов в геймдеве. hh.ru и похожие сайты врут в основном.
Аноним 10/12/20 Чтв 09:48:53 714052966
>>714014
1) Заходишь в плеймаркет
2) Ищешь простую игру
3) Делаешь ее

Если джуном, то хватит 2-3 проекта, понимание синтаксиса и ООП (берешь метанит, реализуешь в своем проекте все принципы и учишь наизусть, чтобы не тупить на интервью). У меня в 2015 на позицию Джуна спрашивали знаю ли как работает физика и анимация, то есть знания, которые за минуту получаются. Тебе будут готовы платить за то что ты макакишь над игрой.
Аноним 10/12/20 Чтв 12:28:47 714073967
>>714052
В 2015 году видимо было легче :) Сейчас требования возросли наверное . Но спасибо за ответ, Анон.
Аноним 10/12/20 Чтв 13:24:47 714131968
Кто может подсказать можно ли с помощью playmaker'а сделать процедурно генерируемый ландшафт с пещерами, данжами, городами и биомами, используя ассет ландшафта?(если есть тутор, то было бы замечательно)
Аноним 10/12/20 Чтв 22:18:36 714249969
>>714131
Ага, можно, ты на тред посмотри
, 11/12/20 Птн 01:34:40 714270970
Такой вопрос: есть несколько монстров, у каждого есть компонент monsterView(просто пример) и контроллер (просто c# класс). Что содержит экземпляры контроллер? Есть какой-то фасад, который содержит лист контроллеров или как это происходит? Где и как они создаются?
Аноним 11/12/20 Птн 07:42:50 714281971
Сколько в месяц зарабатываете?
Аноним 11/12/20 Птн 08:39:20 714285972
>>714270
У меня обычно всегда есть рутовый класс (условно Root.cs или GameManager.cs) который уже знает про другие компоненты систем, он дергает последовательно (или параллельно) эти системы.
В каждой из систем может быть такая же вложенность или сразу какая-то логика.
Кстати на всех моих GO висят "линкеры", а не monsterView (как советуют во всех туториалах) благодаря чему я могу без оверхедов чуть ли не всю сцену обойти.

В последнем проекте пошел еще дальше: сделал опять 1 рутовый класс (с состоянием всей игры) пару менеджеров (input, animations) и кучу хелперов. На удивление получилось даже лучше чем я ожидал и текущий код очень легко переиспользовать и расширять.

>>714281
В офисе 300кк в наносекунду
На играх 0
Аноним 11/12/20 Птн 09:21:28 714287973
>>714281
В среднем 7000$ с плеймаркета.
Аноним 11/12/20 Птн 10:18:22 714289974
>>714285
Спасибо!
Можешь подробнее про линкеры рассказать или туториал как раз скинуть?
В целом у меня похожая система, есть gamerunner, внутри есть charactersManager. Но непонятно, вот, я хочу из префаба ещё монстра создать, что делать? Контроллер один на всех, а для нового монстра только вью и дата класс новые нужны? Где тогда держать лист монстров и нужно ли?
Аноним 11/12/20 Птн 10:24:22 714290975
Есть ещё вопрос: Как обычно реализуется то, что, например, при вызове меню персонаж более не реагирует на нажатия на клавиатуре, но теперь с помощью ее переключаются возможные варианты выбора в меню?
Сейчас у меня есть класс InputController,. Где есть всякие event Action типа OnMoveClicked, OnJump и тп. На них уже подписаны нужные методы персонажа
Аноним 11/12/20 Птн 11:00:47 714296976
>>713747
Станет так станет, в чем проблема? Надо будет перекатится, перекатишься, блжд.
Учить что-то раз в 3-4 года эффективнее, чем учить каждый год.
Какие-то нелогичные у тебя мысли.

>>713653
>зачем мне обучатся

Не знаю чему вы там так усердно ОБУЧАЕТЕСЬ, кек.
Мне даже сложно представить поделия кирилов которые постоянно чему-то обучаются из НОВОГО. Видимо я совсем хлебушек и отстал от профессиональных стандатов индустрии и кирильского тренда этого треда, в частности.


Аноним 11/12/20 Птн 13:37:43 714328977
>>714289
Линкерами я их так называю, возможно у них есть какое-то другое название, но у меня это чуть-ли не пустые классы UnityGo: MonoBehaviour{ }
Условных монстров расскидываю в словари [команда, List<IUnit>]
Для кастомизации все делают на ScriptedObject-ах, в них же и префабы храню.
По сути этот "линкер" и выступает в роли вью
А где хранить его дату решать тебе, я и в общей кучу хранить пробовал и в инстансе монстра, во всех кейсах работает, тут от твоей игры больше зависит как удобнее

>>714290
Если ты знаешь когда игрок открыл меню, так выставь флаг SuspendEvents = true; и в этих методах if(SuspendEvents) return
Аноним 11/12/20 Птн 14:11:29 714339978
helpPlz.png 15Кб, 916x850
916x850
Помогите решить простую задачу, самому мозгов не хватает.
У меня есть 2 вектора и мне нужен аналог Vector3.LerpUnclamped(from, to, 1.3f) только вместо условного 1.3f нужно конкретное число..
Я могу это обернуть в цикл и постепенно увеличивать 1.3f проверяя расстояние через Distance, но же какой-то костыль..
Тут есть матаны которые мне помогут одной формулой решить эту проблему?
Аноним 11/12/20 Птн 21:24:07 714455979
>>714339
Прикольный задум в твоей игре. Молодец.
Аноним 11/12/20 Птн 22:36:30 714477980
>>714339
Если правильно понял по картинке, хочешь получить почку на определённом расстоянии от объекта, который задаёт расстояние? Если так, то можно сделать так:

Vector3 dir = pos1 - pos2;
// Получаем расстояние от объекта 1 к объекту 2 + требуемое расстояние
float lenght = dir.magnitude + 4f;
Vector3 finalPos = dir.normalized * lenght;
Аноним 12/12/20 Суб 09:10:14 714531981
>>698843 (OP)
Кто-нибудь знает почему 2 кнопки в одном месте одновременно не нажимаются, нажимается только верхняя? Юнити не поддерживает пузырьковый эффект чи що?

Добавил Группу полотна, убрал галочку с блокировать луч, все равно не нажимаются одновременно.
Аноним 12/12/20 Суб 12:08:57 714544982
Аноним 12/12/20 Суб 12:12:52 714546983
Есть объект с компонентом, который принимает в поле scriptableObject. Когда я ставлю enable = false(в игре), ссылка на объект пропадает.(и поле пустое, если вернуть enable) Из-за чего это может быть? Есть объекты с аналогичными компонентами и там все норм
Аноним 12/12/20 Суб 14:55:22 714574984
>>714477
Да! Круто, спасибо!
п.с. что можно почитать чтобы стать таким же крутым как ты?
Аноним 12/12/20 Суб 19:09:03 714627985
0udAnQwVLkA.jpg 36Кб, 640x320
640x320
>>714574
Если без шуток, то нужно читать всё, но для начала про векторную математику. Сам был шокирован, как на первый взгляд сложные вещи можно красиво и лаконично решить. Не знаю, начни со статьи "Practical use of Vector Math in Games" на gamedev.net, первое что нагуглил более-менее сносное. Так же там есть ссылки на связанные с этим делом статьи, про скалярное произведение и т.п.
Аноним 12/12/20 Суб 20:08:14 714644986
>>714531
Ребят никто не знает как это работает? Очень не хочу изобретать колеса и пердолить херовый дизигн на костылях.
Аноним 13/12/20 Вск 04:12:09 714739987
Аноним 13/12/20 Вск 05:34:33 714740988
>>714531
Дык соедини две кнопки в одну. Если у тебя есть условия появления кнопое то перенеси это в функции вызываемые кнопкой.
Аноним 13/12/20 Вск 08:53:35 714743989
Можно ли сделать так, чтобы в мобильном приложении на Юнити снизу и сверху отображались стандартные панели с кнопками и времен, а не все пространство занимала игра?
Аноним 13/12/20 Вск 10:48:46 714750990
Аноним 13/12/20 Вск 10:52:32 714751991
Аноним 14/12/20 Пнд 13:48:07 714932992
Необходимо ли, в целях оптимизации, кэшировать Transform объекта в скрипте, висящем на нём самом? Или можно спокойно обращаться gameObject.tranform? Просто недавно узнал что до недавней поры прям обязалово было Camera.main кэшировать, если каждый кадр обращаешься.
Аноним 14/12/20 Пнд 14:00:47 714936993
>>714932
>Необходимо ли,
Желательно.
>>714932
>Или можно спокойно обращаться gameObject.tranform?
Будет происходить вызов transform через GetComponent и заявляется что это медленно.
>>714932
>прям обязалово было Camera.main кэшировать
Исправили только в версии 2020.2, а учитывая что многие сидят на 2018 и 2019 следует уточнять версию.
https://blogs.unity3d.com/2020/09/14/unity-2020-2-beta-is-now-available-and-we-welcome-your-feedback/
Аноним 14/12/20 Пнд 14:15:33 714939994
Кто юи тулбоксом обмазывался, там драг-н-дроп так и работает только в редакторе? Начал пилить через костыли, MouseDownEvent и MouseMoveEvent'ы.
Аноним 14/12/20 Пнд 15:12:36 714954995
>>714932
Необходимости нет, об этом говорят сами разрабы юнити
Сорс: https://blogs.unity3d.com/2014/06/23/unity5-api-changes-automatic-script-updating/
in Unity5 we also cache the transform component on the c# side, so there should no longer be a performance reason to cache the transform component yourself.

А обращаться к своему transform можно минуя gameObject - через transform прямо в скрипте: transform.position = new Vector3();
Аноним 14/12/20 Пнд 16:13:49 714967996
>>714954
Зоебись!
>>714936
>Исправили только в версии 2020.2
Ну я и говорю до недавнего времени мол это делать надо было, но у меня всё-равно 2019.2.3, пересаживаться посреди проекта очкую, как-то раз пилил говноигру на мобилку и заапдейтился под конец, а там какой-то объект новый в Юнити точь-в-точь моей одной переменной назвали, ебаторился потом с этим.
Аноним 14/12/20 Пнд 16:21:53 714968997
>>714967
>Зоебись!
Для общего развития можно почитать https://habr.com/ru/post/303562/
Кэширование при инициализации актуально также и для свойств, предоставляемых GameObject по умолчанию, таких как .transform, .render и других. Для доступа к ним явное кэширование все равно будет быстрее
Аноним 15/12/20 Втр 06:56:06 715052998
benchmark.png 36Кб, 895x395
895x395
>>714967
>>714968
Статья немного устарела, получать компоненты дженериками стало быстрее, чем приведением типов. Решил уточнить, потому что пару раз наталкивался на староверов которые голословно утверждали что именно приведением типов быстрее. Так действительно было когда-то, но давно

P.S. - большая разница между результатами моно и il2cpp по всей видимости из-за маршалинга, так что никаких аномалий. Думаю, результаты обращения по кэшированному компоненту будут примерно схожи по скорости между бэкэндами, протестирую чуть позже если интересно. Сущности того, что дженерики быстрее как в редакторе так и в билдах это не отменяет. Пикрелейтед -- функция бенчмарка, мелкими боксами вставил кусочки скринов из внутриигровой консоли
Аноним 15/12/20 Втр 17:49:35 715144999
Unity 2020.2 is[...].mp4 29175Кб, 1280x720, 00:03:09
1280x720
Аноним 16/12/20 Срд 01:38:45 7152021000
Аноны, нубский вопрос наверное задам, но он меня терзает долго.
Вот я уже несколько месяцев активно пытаюсь вкатываться в юнити, смотрю много курсов на юдеми, в ютубчике и на юнити лерн. Пока своих проектов не делал, но собираюсь после НГ. В целом, много нового узнал (я надеюсь).
Но вот все эти знания все равно можно сказать поверхностные. Никто не рассказывает о каких-то бест практис в рамках курсов, о паттернах проектирования и архитектуре проектов, типа как лучше начинать чтобы не забуксовать через 20 скриптов и т.д.
понятно что это обычно с опытом приходит и надо что-то свое писать, ведь не зная проблемы ты не поймешь решение других людей.
Поэтому вопрос - а это вообще важно на позицию джуна? Типа, от меня будут требовать ёба архитектуру проекта и паттернов. Как я тут пытаюсь не изъебнуться от синглтонов и кучи монобехейверов на объекте. В вакансиях хуй разберешься.
Есть тут аноны которые прошли путь вката или собесят кого-то? Подскажите чмохе.
Аноним 16/12/20 Срд 10:40:33 7152311001
изображение.png 19Кб, 730x276
730x276
Анон, подскажи пожалуйста, что значит вот это >= в конце?
Аноним 16/12/20 Срд 11:04:03 7152331002
>>715231
Логическая операция "больше либо равно"?
Аноним 16/12/20 Срд 11:11:39 7152341003
>>715233
Зачем она нужна в return?
Ааа, блин, я кажется понял, если там 1, то идет проверка, и возвращается true.
Блин, туплю, спс.
Аноним 16/12/20 Срд 12:59:09 7152441004
Есть тут аноны которые уже работают в геймдеве? Сколько у вас времени ушло на вкат и какая база знаний была до этого?
Аноним 16/12/20 Срд 14:48:02 7152581005
Загрузил abb в гугл плей в закрытое тестирование, скачал, а вся игра будто под зумом двукратным. Камера короче в 2 раза ближе чем надо. В редакторе все норм, естественно. Кто-нибудь знает, с чем связанно?
Аноним 16/12/20 Срд 16:42:37 7152671006
Я сильно рачила, если список предметов инвентаря передаю по ссылке через мэйнКамеру? Ну типа чтоб любым другим объектом его легко было поймать я повесил на мэйнКамеру скрипт со ссылкой на итемЛист, ещё там на сам канвас ссылка есть, точней на его графикРейкастер и ректТрансформ. К мэйнКамере легко через любой объект выйти и так кучи ссылок ручками назначать не надо будет.
Аноним 16/12/20 Срд 16:44:09 7152681007
Аноны, перестал работать мой кряк для хабы, которым патчил редакторы. Скиньте плиз рабочее решение, надо на 2019, 2020.1, 2020.2
Аноним 16/12/20 Срд 16:44:41 7152691008
>>715144
Ждём год и прееходит
Аноним 16/12/20 Срд 19:51:17 7152851009
Аноним 16/12/20 Срд 21:13:05 7152971010
image.png 4Кб, 405x43
405x43
Как же доебала эта хуйня.
Аноним 16/12/20 Срд 21:13:16 7152981011
image.png 4Кб, 405x43
405x43
Как же доебала эта хуйня.
Аноним 16/12/20 Срд 22:26:23 7153021012
>>715244
Никакой базы, два года, можно за год при желании.
>>715267
Нихуя себе ты выдумщик, не думал, что кто-то способен придумать нечто настолько извращенное и безумное.
Аноним 17/12/20 Чтв 09:40:15 7153471013
>>715302
>Нихуя себе ты выдумщик, не думал, что кто-то способен придумать нечто настолько извращенное и безумное.
Ну работает же.
Аноним 17/12/20 Чтв 12:17:47 7153601014
>>715267
У меня вместо камеры отдельный объект. На этом объекте скрипт с полями под скриптейблы. Плюс на нём же простенький моноскрипт, через который я влезаю в моно, если он вдруг когда-то требуется. Иногда просто нельзя обойтись без такой пустышки.
Аноним 18/12/20 Птн 00:49:37 7154941015
Короче, есть персонаж, он берет газету и читает.
На переднем плане газета и текст (котоырй читает герой).
На заднем плане остается все остальное (герой, окружающий мир и тп).
Как немного затемнить все, что находится на заднем плане?
Добавить полупрозрачную стеночку?
Аноним 18/12/20 Птн 00:52:23 7154951016
Создаю объект из префаба через GameObject.Instantiate, он создается почему-то задизейбелынй. WHy so?
Аноним 18/12/20 Птн 06:48:42 7155131017
>>715495
Может префаб задезейблен?
Может на объекте есть скрипт с кодом SetActive(false)
Аноним 18/12/20 Птн 06:50:12 7155141018
>>715494
2 варианта:
1 по проще - сделай quad перед камерой и через код выставляй прозрачность материала
2 по сложнее - делаешь несколько слове рендеринга, весь мир Layer 1, текст и бумага Layer 2, пишешь CustomPostProcess и затемняешь в нем весь layer1 - сложнее т.к. больше кода нужно писать + простенький шейдер нужно будет написать
Аноним 18/12/20 Птн 11:07:59 7155251019
>>715514
Спасибо! А в первом же случае он все затемнит, а не конкретный слой?
Аноним 18/12/20 Птн 11:31:50 7155261020
>>715525
Все для игровой камеры, интерфейс и другой UI нет.
Вот еще 3й вариант, в UI сделать панель просто черную и её менять, так даже лучше будет чем квад перед игровой камерой, тогда сможешь затемнять вообще все кроме книжного UI (поменяешь z position)
Аноним 18/12/20 Птн 12:56:00 7155291021
Нашёл решение для патчинга любой версии, но хуй вам скину
Аноним 18/12/20 Птн 17:53:14 7155571022
>>715529
а что ты там патчишь без остановки?
Аноним 18/12/20 Птн 23:01:58 7156161023
>>715557
>для патчинга любой версии
>ты там патчишь
Дебил блять
Аноним 19/12/20 Суб 21:57:03 7157991024
изображение.png 37Кб, 578x406
578x406
изображение.png 15Кб, 817x258
817x258
Я не понимаю, создаю из префаба объект, но он все равно создается задизейбленный, чтобы я не ставил. В дебаге пишет, что объект актив. ЧТо за хуйня?
Аноним 20/12/20 Вск 02:11:08 7158431025
>>715799
Все нашел, случайно дизейблил на старте в кастомном компонент
, 20/12/20 Вск 03:16:17 7158491026
Персонаж в игре взаимодействует с разными объектами и у него должно появляться меню с разными вариантами действий.
Есть какие-то годные гайды по подобному или по ингейм меню?
Аноним 20/12/20 Вск 08:38:59 7158621027
image.png 391Кб, 1503x958
1503x958
Почему у меня изменение значений ни на что не влияет вместо обещанного "make the bricks appear larger"?
Аноним 20/12/20 Вск 08:48:27 7158631028
>>715862
А хотя уже сам понял: я не ту текстурку редактировал, secondary map вместо main
Аноним 20/12/20 Вск 23:22:08 7159551029
Кто работал с ProBuilderMesh? Почему из скрипта ничего не меняется? Код:
foreach (ProBuilderMesh mesh in MeshSelection.top)
{
 Vertex[] vertices = mesh.GetVertices();
 // чёто делаем с vertices
 mesh.SetVertices(vertices);
 mesh.ToMesh();
 mesh.Refresh();
}
ProBuilderEditor.Refresh();
Аноним 21/12/20 Пнд 00:04:46 7159651030
Есть игра, что-то вроде рпг или квеста(2д, вид сбоку). Есть две ситуации:
1) Персонаж читает газету, которая лежит на столе. Задний фон затемняется, появляется спрайт газеты на переднем плане и сверху еще текст (что персонаж читает). При нажатии на любую кнопку, чтение прерывается
2) Персонаж прячется (в шкаф, например). На деле тоже появляется спрайт "вида из шкафа", далее локация, в которой он находится, сам персонаж и тп должны спрятаться, персонаж должен перестать реагировать на нажатия клавиатуры. Вместо этого должно появиться меню, с вариантами действий(в т.ч. выйти из шакфа)

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

-
Аноним 22/12/20 Втр 14:39:32 7162151031
>>698843 (OP)
Как не имея макбука портировать на версию для ios? Без лишних головных болей. Не для загрузки в аплстор. Хочу знакомому человеку показать приложение на его планшете. Это возможно?
Аноним 22/12/20 Втр 16:40:45 7162551032
>>716215
Возможно, но для этого все же придется взять мак на день, чтобы скачать оттуда файлы. В ассет сторе: iOS Project Builder for Windows

>One-time physical access to Mac OS/X to grab a couple files to complete the setup (simple instructions are given, as well as assistant scripts, on how to deploy the necessary files from the Mac side to the Windows side of your computer).
Аноним 22/12/20 Втр 18:55:05 7163341033
>>716255
Ни у кого лишнего мака не найдется? x)

Понравился паЗИтИффнЫй ответ одного из юзеров связки
>So I bit the bullet and dropped $1000 on a refurbished Macbook Pro

Интересно, у людей окупаются покупки маквещичек и прочих лицензий аппстора?..
Аноним 23/12/20 Срд 09:41:15 7164171034
Есть пять массивов, у них очевидно есть названия. Мне нужно взять это название, сохранить его в PlayerPrefs, а потом при необходимости забрать переменную из PlayerPrefs и пройтись по массиву с нужным мне названием. Как это сделать? Я видел можно функцию по имени вызывать, но как это с массивами сделать я не знаю, и даже не знаю какой еще костыль можно придумать, так как задача реально сложная.
Аноним 23/12/20 Срд 10:30:04 7164211035
clipping.gif 5263Кб, 380x214
380x214
Проблема литералли гифрелейтед, спрайты клипаются слишком рано при движении камеры. В теме, откуда я украл гифку, пишут поменять в SpriteRenderer bounds, но это нельзя сделать, потому что у bounds нет setterа. Есть идеи?
Аноним 23/12/20 Срд 17:06:07 7164811036
Сап, решил запилить псевдо стратегию с кучей экранов, а значит сцен
Интерфейс прописал чтобы он не удалялся при загрузке, но поскольку у боевки другой интерфейс, я старый решил отключать
SceneManager.LoadScene(levelToLoad, LoadSceneMode.Single);

if (levelToLoad == "Fight")
{
mainUI.gameObject.SetActive(false);


}
else
{

mainUI.gameObject.SetActive(true);

}
Вот если удалить все лишнее и привести в примитивный вид
Проблема в том что FindObjectOfType; при не активно возвращает null, и не могу понять как его включать обратно
Аноним 23/12/20 Срд 17:57:09 7164871037
Двач 2.png 13Кб, 1397x65
1397x65
Двач.png 15Кб, 485x368
485x368
Сап, двач. Почему не находит компонент Image? Я очень тупой в скриптинге
Аноним 23/12/20 Срд 17:58:55 7164881038
Аноним 23/12/20 Срд 18:06:24 7164901039
>>716488
>>716487
Сериализацию пока не добавлял. Знаю, что не будет сохраняться, я хочу сначала с этим разобраться
Аноним 23/12/20 Срд 18:20:08 7164911040
>>716490
Я понял, что у меня не было using UnityEngine.UI;, но всё равно код не работает
Аноним 23/12/20 Срд 18:22:53 7164931041
>>716481
по первых проще это записать так:

mainUI.gameObject.SetActive(levelToLoad != "Fight")

и ты получаешь минус 7 строк кода, а во вторых тебе нужно хранить ссылку на объект, а не постоянно её искать. к примеру вот так:

public class MyClass : MonoBehaviour {
private GameObject _mainUIGA;

private void Start() {
_mainUIGA = FindObjectOfType(typeof(MainUI)).gameObject;
}

// тут твой сраный код в с методом котором ты делаешь

_mainUIGA.SetActive(levelToLoad != "Fight");
}

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

Аноним 23/12/20 Срд 18:58:09 7164991042
Как на телефоне оставить воспроизведение музыки если игра была закрыта?
Аноним 23/12/20 Срд 19:41:55 7165041043
>>716499
>закрыта
свернута
Аноним 23/12/20 Срд 20:55:50 7165061044
Аноны, только у меня переодически слетают сейвы? Пробовал хранить и в плеерпрефс и в persistentDataPath
Аноним 24/12/20 Чтв 11:14:28 7165581045
На удеми большие скидки в честь рождества
Кто что берет или знает годного?
Сам думаю взять что-нибудь от него https://www.udemy.com/user/james-doyle-4/ поскольку годно на ютабе показывал как и почему надо делать. Да и его голос уши не режет. Но напрягает что он ни в одном курсе не затрагивает тему pathfinding
Аноним 24/12/20 Чтв 14:20:10 7165791046
>>716558
Посмотрел курсы, а что там собственно такого необычного, чего нет на ютубе? Давай я тебе найду по нужной тебе теме материал за 999 рублей.
Аноним 24/12/20 Чтв 15:38:49 7165861047
>>716558
Торрент освой чтоле наконец
Аноним 24/12/20 Чтв 15:43:33 7165881048
>>716586
С торрентов только ассеты и готовые решения можно воровать, по туториалам даже бесплатные лучше чем те что пиратят
Аноним 24/12/20 Чтв 15:55:31 7165901049
>>716588
Я в своё время(2014) начинал с уроков на оф канале юнете. Для старта самое то.
Аноним 24/12/20 Чтв 16:48:15 7166041050
Как локальный размер коррелирует с общим?
Неужели кроме bounds ничего нет и остается только каждый раз чекать соотношения реального размера к локальному?
Аноним 24/12/20 Чтв 18:58:16 7166151051
>>716558
Ну и какой смысл брать за деньги самые основы, когда они есть в бесплатном доступе? Ладно бы еще платить за продвинутый уровень. А так, бессмысленно просто.
Аноним 24/12/20 Чтв 21:06:36 7166311052
Безымянный 5.png 5Кб, 627x71
627x71
Почему верхняя команда не работает?
Аноним 24/12/20 Чтв 22:19:24 7166441053
>>716631
Ты не сконвертировал переменную очевидно же
Первый день в программировании?
Аноним 25/12/20 Птн 12:15:52 7166981054
>>716644
Не совсем.
В C# шарю более-менее, могу что-то написать, сам Unity тоже понимаю как работает, а вот конкретно в скриптах для C# я полный ебан
Аноним 25/12/20 Птн 12:19:14 7166991055
>>716698
*в скриптах для Unity
Аноним 25/12/20 Птн 13:37:30 7167041056
изображение.png 236Кб, 1819x909
1819x909
Анон, че за хуйня? ProBuilder 5

Ставлю Plane (кстати, почему у меня нет полей где можно прописать размеры? Только мышкой тягать)

Делаю материал с текстурой. Хочу эту текстуру натянуть на весь plane

Отерываю редактор UV и вот такая хуита, мой плейн разделен на 4 части, в итоге 4 текстуры. Как нормально сделать?
Аноним 25/12/20 Птн 13:57:53 7167051057
>>716704
>Ставлю Plane
А где ты его ставишь? Там где тип выбираешь, там же под ним сразу размеры.

>Отерываю редактор UV и вот такая хуита
Так просто уменьши, в этом ничего страшного нет.
В твоем окне UV слева сверху кнопка изменения размеров, в этом тоже ничего страшного нет
Аноним 25/12/20 Птн 14:50:19 7167111058
>>716705
>А где ты его ставишь? Там где тип выбираешь, там же под ним сразу размеры.
Нет там ничего. Только список с типами примитивов и пара опций у некоторых

>>716705
>В твоем окне UV слева сверху кнопка изменения размеров
Там кнопка масштаба, она дико неудобна, так как от центра, а не края. приходится сначала масштабить, потом двигать, опять масштабить, опять двигать

, 26/12/20 Суб 02:28:25 7167821059
Слетают ссылки на скриптабл обжекты(в serialeised field) при загрузке/перезагрузке уровня, как фиксить? У меня в них логика разных менеджеров, типа менеджера музыки.
Аноним 26/12/20 Суб 09:49:26 7167911060
>>716782
В статиках хранить важную инфу
в seerializedField нужно хранить просто настройки которые 1 раз загружаются (условно) и больше тебе не нужны
Аноним 26/12/20 Суб 20:58:59 7168631061
Анчоусы, собрался процедурно генерировать город и не могу решить, как собирать дорогу. Брать пачку префабов, потом получать крайные левые и правые вершины и сваривать? Или изначально генерировать дорогу плейнами плюс фурнитура по бокам? Как профитнее? Пока что начну второй вариант, но вдруг вы чего подскажете.
Аноним 26/12/20 Суб 22:43:36 7168711062
>>698843 (OP)
У меня есть миниигра на юнити и я хочу сделать для нее простенький сервер что бы там было что-то типа чата. На чем его делать и как?
Я знаю джаву.
И хотелось бы заодно что бы была проверка на подленность покупки игровых предметов, а то знаю я, как игры школота ломает, хотелось бы узнать как такого избегать. Потому что там будет рейтинг и не хотелось бы чтоб читеры были в топах
Аноним 27/12/20 Вск 07:20:34 7168871063
>>716863
В гта просто чанки идут, даже не связанные между собой.
Я тоже делал чанками, вроде получилось, немного времени потратил на механизм "соединения" т.к. у меня были умные дороги и им нужно было знать про соседей.

>>716871
Ух! Ну смотри, читеры будут в топах даже не ломая твой сервер, они могут ломать саму игру без покупок т.е. тебе нужно обсуфиксировать (или как там) твой код, потом защитить все переменные (нет, я не про private, а прям про байтоебство и хеширование), далее - как твой сервер то поймет, что ему пришел score не от читера? никак.

Про сам сервер можно хоть на ассемблере его написать и общаться простым get/post, можешь попробовать написать свой мини-протокол или отправлять байты напрямую.
Можешь использовать свою яву, можешь спринт прикрутить, можешь на ноде сделать (давно levelgd постил гайды на нашей доске, походу удалил канал).

Про подленность можешь рискнуть, но помни, твой сервер должен работать всегда и если по какой-то причине у тебя отвалится база - то ты у всех игроков заберешь предметы? думаешь им это понравится? рискуешь встрять оч сильно.
Аноним 27/12/20 Вск 10:37:25 7168951064
Unity 2020-12-2[...].jpg 70Кб, 1600x730
1600x730
Анончик, я опять к тебе со своими головняками. У меня вот есть код для поиска пути в простых ситуациях, типа обхода мелких препятствий. Я пускаю рейкаст от персонажа в точку назначения pos, куда мышкой кликнул бежать, и если а пути ничего нет - персонаж бежит прямо:
borderStuckHit = Physics2D.RaycastAll(transform.position, Vector3.Normalize(pos - transform.position), 10f);
Но допустим в ситуации как на скрине одного прямого лучика недостаточно, он не попадает по сундуку и персонаж топчется на месте около него.
Вот я нарисовал синеньким ещё два лучика, которые хочу пускать - есть ли какой грамотный способ вычислить направление для их запуска относительно точки pos? Можно на персонажа повесить ещё два дочерних геймобжекта в эти направления и по их координатам пускать, но мне кажется это как-то костыльно.
Аноним 27/12/20 Вск 13:10:56 7169001065
>>716895
навмеш тебе в помощь
Аноним 27/12/20 Вск 13:47:57 7169011066
>>716887
А может можно как-то сначала проверить пришел ли платеж а потом только давать предмет? Дело в том что игра как бы онлайн и похуй если у чела предмет будет только на клиенте, главное что бы у всех остальных это не отображалось
Аноним 27/12/20 Вск 14:02:10 7169061067
>>716901
Если говорить про андроид, то там, насколько я помню, в гугл консоли можно указать url твоего сервера и когда кто-то купит предмет, то сам гугл его дернет с параметрами типа yourserver.ru/api/gotItem?itemId=1&userName=Wanya и тд
Там же в консоли можно загрузить список всех покупок для каждого игрока, просто создай аккаунт и прочитай документацию, у меня с этим вообще никаких проблем небыло.
Аноним 27/12/20 Вск 15:26:39 7169191068
>>716895
Анон, а как ты сделал затемнение остального участка если там героя нет или он далеко?
Аноним 27/12/20 Вск 15:54:27 7169271069
>>716919
Источник света над персонажем и на все спрайты вешаю шейдер специальный, чтобы 2д на свет реагировало.
Аноним 27/12/20 Вск 17:33:45 7169471070
gta-5-road-01-c[...].jpg 18Кб, 415x389
415x389
>>716887
>В гта просто чанки идут
Так всё равно на чанки разбивать, лимит поликов рано или поздно наступит. Но чанки это только отображение, в коде никто не мешает не разбивать дороги на куски и делать их настолько умными, насколько надо. Я немного о другом спрашивал. Хотя в гта как раз плейны с фурнитурой, буду пытаться брать с них пример.
Аноним 27/12/20 Вск 17:47:16 7169501071
Unity 2020-12-2[...].mp4 23197Кб, 1600x766, 00:00:15
1600x766
>>716895
Короч запиздячил так - кидаю 4 рейкаста по вектору скорости, прибавляя к нему Vector3.up/down/left/right помноженный на 3. Вот, всё вроде пиздатенько, и новые геймобжекты не наплодил.
Аноним 27/12/20 Вск 20:33:06 7169921072
image.png 11Кб, 796x188
796x188
Нельзя так писать в update:
Input.GetAxis("Mouse X");
так как string мусорит, надо объявить выше:

string mouseX = "Mouse X";
void Update()
{
Input.GetAxis(mouseX);
...
}
Не так ли?

Аноним 27/12/20 Вск 20:41:28 7169931073
>>716992
Мне кажется ты без этого намусорил. Даже если ты в Update вызываешь функцию Crouching, то какой смысл создавать переменную вне проверки, и делать изменение высоты вне проверки, если есть такая возможность, что кнопка не зажата.
Аноним 27/12/20 Вск 21:12:57 7170001074
image.png 15Кб, 811x238
811x238
>>716993
Напиши еще раз, где у меня косяки, только малость понятнее, а то я не особо доходчивый. Немного вот поправил, так лучше?
Аноним 27/12/20 Вск 21:35:23 7170041075
>>717000
1) Зачем создавать переменную постоянно? Создай переменную и присвой ей значение на старте.
2) Почему ты в проверке на нажатие не можешь выполнять свой Lerp?
Аноним 27/12/20 Вск 21:38:13 7170061076
>>717000
Плюс с чего ты решил, что Lerp не будет работать, когда ты кнопку отожмешь? Ты изменяешь isCrouching, а проверяешь newHeight. Поработай получше над своим кодом, логику всю прочухай, а то пока нет логики в твоих строчках.
Аноним 27/12/20 Вск 21:48:26 7170071077
>>717006
А, тут я затупил, переменная же постоянно новая создается.
Моя единственная притензия - создание постоянно новой переменной + постоянное использование Lerp'a (в прошлом случае), хотя можно перенести в проверку.
Аноним 27/12/20 Вск 21:57:08 7170131078
>>716927
Ебать наука. Шейдер небось сложный?(
Аноним 28/12/20 Пнд 09:37:34 7170691079
B9g2Nh9IYAE6a-.jpg 9Кб, 604x215
604x215
Аноним 28/12/20 Пнд 11:08:27 7170911080
>>698849
можно ли писать на плюсах в юнити
кресты не преношу со времен шараги
Аноним 28/12/20 Пнд 11:10:06 7170931081
>>717091
ошибся
не переношу решетки
Аноним 28/12/20 Пнд 12:32:22 7171051082
>>717091
Можно, загугли, про это даже в документации написано
Аноним 28/12/20 Пнд 16:17:24 7171461083
Аноним 28/12/20 Пнд 21:29:48 7172371084
>>717146
Спасибо
>>717146
>>716906
>>716887
А мне вот интересно, на сколько безопасен в плане таких вот взломов айфон? Вот с андроидом мне примерно ясно, а продукция эпл?
Аноним 28/12/20 Пнд 21:59:33 7172431085
>>717237
Лол, а с хуёв ли ты взял, что яблоко чем-то лучше? Тем более, что "взламывать" будут не прошивку телефона, а твоё дырявое поделие.
Аноним 28/12/20 Пнд 23:03:13 7172471086
>>698843 (OP)
Вот я хочу сделать меню выбора уровней.
И тут возник вопрос. Сами уровни-то как лучше хранить? Допустим это сериализованные данные. Текстовые файлы. Просто их в Resources побросать? А потом пробегаться читать их и создавать по кнопке на каждый уровень в меню? А если их много? Например несколько сотен. Они же все будут в памяти торчать? Можно как-то сделать так, чтобы подгружать не более одного ассета за раз? И можно ли сделать так, чтобы не подгружая их все, уже иметь в распоряжении какую-то инфу о них (ну там номер уровня, брифинг, картинку), а потом уже подгружать остальное при собственно выборе уровня? Быть может, нужно делать уровни адресеблсами?
Аноним 29/12/20 Втр 00:15:49 7172571087
>>717247
Почему у меня такое чувство, что ты поехавший?
>Сами уровни-то как лучше хранить?
Все твои уровни - это заранее созданные и настроенные юнитисцены. Нужно выбирать между сценами? Создаёшь скриптейбл объект, в нём поля для названия уровня, картинки уровня и ссылки на сцену. Всё. А ещё лучше создать тип скриптейбл объекта для каждой сцены и ещё один скриптейбл, в котором хранить ссылки на все объекты сцен. И в память грузится только твой текст, картинка и ссылка на сцену.
Аноним 29/12/20 Втр 00:26:23 7172591088
>>717257
>Все твои уровни - это заранее созданные и настроенные юнитисцены
Не обязательно.
>>717257
>в память грузится только твой текст, картинка и ссылка
Нуфаг.
Аноним 29/12/20 Втр 11:30:01 7173041089
>>717259
Я же говорю, поехавший.
Аноним 29/12/20 Втр 22:01:33 7173941090
>>71710
ru.stackoverflow.com/questions/601420/%D0%9C%D0%BE%D0%B6%D0%BD%D0%BE-%D0%BB%D0%B8-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%A1-%D0%B2-unity3d-%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE-%D0%A1
Аноним 30/12/20 Срд 12:42:14 7175031091
Посоветуйте книги, которые помогут научиться оценивать объем времени на поставленные задачи.
Аноним 30/12/20 Срд 13:30:07 7175141092
Аноним 30/12/20 Срд 13:30:57 7175151093
>>717503
ого, я за 10 лет опыта так и не научился, но понял что лучше все оценки умножать на 2.5 т.к. делать быстрее лучше чем опаздывать
Аноним 31/12/20 Чтв 17:06:25 7178091094
Посоветуйте какой-нибудь проект, который вы где-то взяли (купили или просто скачали) и он вам понравился по архитектуре, по работе между классами, по объявлению переменных, к примеру нет какой-то загруженности и всё распределенно между классами, переменные вынесены куда-то в отдельную часть, UI подгружаются из каких-нибудь настроек и все в таком духе. У меня просто проблема, я могу сделать любую логику хоть в одном классе, но выглядит это всё убого и не красиво, хотелось бы научиться работать именно по красоте, для команды.
Аноним 01/01/21 Птн 08:33:50 7178831095
>>717809
Таких нет.
Смотрел таркова, фантазмафобию, даже хартстоун, у всех этих проектов какая-то своя хотел бы сказать костыльная архитектура.
Тебе просто нужно начать делать и все, а с опытом поймешь для какой игры какая архитектура лучше подходит
Аноним 01/01/21 Птн 13:34:50 7178891096
>>717883
Как ты посмотрел? Я ничего против костыльной архитектуры не имею, я наоборот хочу научиться делать всё хоть в какой-то архитектуре. Я говорю о том, что меня бесит, когда у меня 20 gameobject'ов в испекторе висит, и в них можно запутаться, я хочу вынести их во что-то отдельное, я хочу сделать код более менее универсальным под задачи проекта. То есть меня интересует чистота кода, а не какая-то эфимерная богом данная архитектура. Это же как-то называется, когда ты сидишь и продумываешь архитектуру. Есть у нас два таких класса, они взаимодействуют с таким-то по такой-то цепочке. Вот это вот всё как планировать, как научиться, если как я сказал выше, я могу весь проект в один скрипт уложить, а хотелось бы что-то более масштабное попробовать.
Аноним 03/01/21 Вск 17:30:27 7182311097
image.png 1293Кб, 1280x720
1280x720
народ, подскажите, в какую сторону копать и что изучать для игры с видом сбоку наподобие This War of Mine/Lone Survivor? т е минимум физики, но горсть интерактивных объектов/вейпоинтов с зачатками стелса и, опционально, многоэтажными картами
до этого был опыт в аркадах/платформерах, даже в паре джемов участвовал, но именно адвенчуры еще не пробовал делать

пикрелейтед, чтобы было понятнее, на что хочется чтобы был похож результат
Аноним 03/01/21 Вск 19:58:06 7182551098
>>716487
Тебе не нужен тут геткомпонент
Аноним 03/01/21 Вск 20:00:38 7182561099
Аноним 03/01/21 Вск 20:06:46 7182601100
>>717889
Возможно тебе стоит почитать про gof паттерны
Аноним 03/01/21 Вск 22:31:53 7183021101
Надеюсь меня тут за такое не забанят.
У меня есть заказ, написано уже где-то процентов 20, нужно его доработать, работы примерно на неделю, плачу 15 тысяч. С какими-то вопросами могу помогать, нужно ваше желание разобраться в коде (строчек 300 несложных), навести немного порядок и умение писать логику приложений, само по себе приложение не сложное. Оплачивать могу хоть каждый день, после согласования с заказчиком.
Писать в тг @nulcomp. В планах найти небольшую команду разрабов. В ходе разработки могу помочь или обсудить решение.
Аноним 04/01/21 Пнд 04:08:01 7183681102
>>718302
Чел, так тут по сути с нуля сделать и всего 15 тысяч, ты серьезно?
Ты поподробнее расписал бы что там, а то может я зря с такого жлобства охуевать начал
Аноним 04/01/21 Пнд 11:29:05 7183821103
>>718368
Там всего понемногу. Я знаю, что тут разные люди сидят. В прошлый раз я платил 15к за пару часов работы, и то люди не согласились, хотя сами в своем же проекте ради интереса это реализовали. Мне нужен именно человек с навыками ниже среднего. Для какого-нибудь школьника 15к за неделю получить это нормально, если учитывать что при этом тебе не нужно быть Васерманом.
Аноним 04/01/21 Пнд 14:27:00 7184001104
>>718382
Ну тогда теперь ясно@понятно
Аноним 04/01/21 Пнд 18:00:41 7184401105
image.png 526Кб, 1906x1038
1906x1038
image.png 733Кб, 1902x1038
1902x1038
Сап, что вот это за хуйня? Возникает от любой камеры, и в игровом режиме, и в неигровом. Как будто камера кидает тень вокруг себя. Она разве не прозрачная должна быть? Раньше такого не было, появилось ВДРУГ и без особых причин на то.
Аноним 04/01/21 Пнд 18:05:32 7184421106
image.png 867Кб, 1914x1042
1914x1042
А, вот, ещё подметил. На поверхностях, на которых нет НИКАКОЙ тени - эта штука не срабатывает.
Аноним 04/01/21 Пнд 18:10:46 7184451107
>>718442
>>718440

А, всё, понял, я имбецил. Сделал слишком огромные объекты и дальность отрисовки тени не дотягивается, лол.
Аноним 04/01/21 Пнд 21:45:12 7184861108
А можно в юнити как то равномерно осветить все объекты, без солнца и и иных источников света? Чисто для дебага
Аноним 05/01/21 Втр 00:08:55 7185041109
>>718486
В окне сцены отожми лампочку.
Аноним 05/01/21 Втр 02:11:37 7185141110
Аноны, мб у кого есть Game Creator купленный? Скачал с трекера - не хочет инсталить. Поделитесь пожалуйста.
Аноним 05/01/21 Втр 03:53:16 7185221111
image.png 38Кб, 977x303
977x303
Почему эта шляпа вешает Юнити наглухо после нажатия mouse2?
Изначально того что обведено красным не было, а вместо обведенного синим было то что выделено желтым. Но в такой конфигурации камера доходя до 90 или 0 просто застревала там насовсем и уже никуда не поворачивалась из-за того что значение угла немного перескакивало эти отметки на какие-то незначительные доли. Я решил тупо округлить теперь вообще всё виснет. Как правильно сделать? Сразу говорю я полный нуб в программировании, хотя по скрину наверное и так понятно.
Аноним 05/01/21 Втр 04:08:43 7185231112
>>718522
Там кстати двоечка зря стоит, но проблема не в ней
Аноним 05/01/21 Втр 15:19:03 7185821113
Двач.png 19Кб, 725x351
725x351
Двач 2.png 158Кб, 717x533
717x533
Сап двач. Что я делаю не так? Почему я не могу перенести предмет в Timeline?
Аноним 05/01/21 Втр 15:19:23 7185831114
>>718582
Там просто нет опции что-то добавить
Аноним 05/01/21 Втр 19:11:02 7186371115
изображение.png 82Кб, 721x388
721x388
Делаю спрайтовый шутан, есть следующие вопросы:
1) Как натянуть текстуру так, чтобы на всех объектах повторяющийся паттерн имел одинаковое кол-во пикселей? Сейчас получается, что он дублируется, но где-то растянут, где-то наоборот сжат (см пик)
2) Есть враг, который по определенной логике поворачивается и идет всегда прямо. Как сделать так, чтобы дочерний элемент со спрайтом и анимацией все время смотрел на игрока? Сделал через Looakat:
var look = new Vector3(this.player.transform.position.x, transform.position.y, this.player.transform.position.z);
this.transform.LookAt(look)
Но проблема в том, что ротейшн родительского объект все сбивает
Аноним 05/01/21 Втр 19:30:11 7186501116
Escape From Tar[...].png 2317Кб, 1920x1080
1920x1080
Здорово ребзя, а не видели ли вы примеров реализации сохранения неограниченной вложенности в json, как в Таркове обвес на стволах матрешкой. Для простоты пусть будет некий рут объект, начало дерева. На нем несколько слотов для размещения обвеса, в каждом из этих слотов стоит или не стоит модификация определенного типа, которая сама может содержать несколько слотов под модификации, и так далее. Просто сериализовать не выходит, лимит сериализации не дает, и справедливо, потому что может получиться бесконечная петля вложенных объектов.

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

Задача, конечно, непростая, может хоть подскажете, в каком направлении копать.
Аноним 05/01/21 Втр 21:57:34 7187041117
image.png 129Кб, 759x480
759x480
Этот канвас на сцене мешает наносить текстуры на объекты,я его скрывал в Layer->UI, все равно мешает, хотя и становится невидимым.
Аноним 05/01/21 Втр 22:05:34 7187081118
>>718704
Помогло снятие галочки активности
Аноним 06/01/21 Срд 00:01:05 7187201119
>>718231
Ну ищи примеры 2д платформеров. начинай с них. Потом смотри, как делается инвентарь. Далее смотри сам, что нужно игре и гугли,к ак делать
Аноним 06/01/21 Срд 00:38:39 7187301120
>>718720
ну, об этом и писал
> до этого был опыт в аркадах/платформерах, даже в паре джемов участвовал

вот с инвентарем/стелсом и подобным особого опыта не было (не считая того, что в одной из моих игр у врага перед лицом была Trigger-область, до активации которой он не начинал атаковать ГГ)
Аноним 06/01/21 Срд 02:17:32 7187391121
>>718730
Так в чем вопрос то? В интернете туториалов для инвентаря полно, гугли и делай.
Но у тебя проблема явно в том, что ты не знаешь, что в игре будет. Вопрос "как сделать игру" очень странный.
Подумай над механикой, выпиши, какие функции в игре будут и как вообще они будут работать. Потом уже пиши код. Делать без четкого плана - очень плохая затея. И в логике будет куча дырок, ТК не будет стройной картины мира + сто раз переделывать будешь
Аноним 06/01/21 Срд 10:22:12 7187681122
>>718650
Боюсь тебя огорчить, но на юнити такое сделать нельзя.
Аноним 06/01/21 Срд 14:03:48 7188081123
>>716698
Ты щас хуйню какую-то написал. Это тоже самое кодерство на сясярпе только используя апи юнити.
Аноним 06/01/21 Срд 14:06:01 7188091124
Аноны, как вам идея делать кроссплатформенные приложения а-ля нативные? Сейчас ведь можно повторить все элементы нативных на юнити ui, использовать OnDemandRendering апи чтобы не рендерить экран каждую секунду. Зато миллион ассетов в помощь и простота разработки. В отличии от нативной разработки много плюсов.
Аноним 07/01/21 Чтв 00:35:02 7189631125
>>718768
Так тарков на юнити.
Аноним 07/01/21 Чтв 09:08:11 7189931126
изображение.png 365Кб, 335x500
335x500
Аноним 07/01/21 Чтв 09:11:22 7189951127
>>718637
1 - это называется UV карта, у тебя 3 стула:
стул №1 - для каждой стены создавать материал и выставлять там tile руками, геморно и костыльно делал так когда только-только юнете изучал
стул №2 - создать шейдер и использовать world position UV, чуть сложнее и тоже придется создавать материалы с оффсетами
стул №3 - создавать мир не кубами, а правильной моделькой в 3д редакторе и руками создавать UV тайл самому
2 - у тебя есть GO - враг, дай ему дочерний GO и добавь туда спрайт, потом вызывай LookAt именно у дочернего

>>718650
Делай проще, пусть у тебя будет условный класс:
class InventoryItem {
string Id;
string Parent;
... любая твоя инфа
}
Как ты мог догкадаться твой инвентарь должен храниться одним полем InventoryItem[] items;
Сложность в соединении айтемов, в Parent нужно передать Id родительского, таким образом ты напишешь больше кода, но можешь сделать сериализацию в любую глубину.

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

>>718809
Делал так 10 лет назад, в те времена мне отказали т.к. простая логин форма с 2мя текстурами весила 20мб, а такое же приложение на нативной яве 1мб.
В целом если делаешь для себя - можешь, почему нет?
Аноним 07/01/21 Чтв 13:26:48 7190351128
>>718995
Спасибо
>2 - у тебя есть GO - враг, дай ему дочерний GO и добавь туда спрайт, потом вызывай LookAt именно у дочернего
Так я так и сделал. Но если меняется ротейшн у родительского го, то у дочернего тоже и лук эт почему-то не взлетает
Аноним 07/01/21 Чтв 13:51:46 7190451129
>>719035
Что значит не взлетает?
Тогда когда меняешь родительский, обновляй еще и дочерний.
Я вообще думал ты вызываешь LookAt в апдейте каком-нибудь
Аноним 07/01/21 Чтв 14:32:11 7190531130
Привет, юнити тредик! Столкнулся с такой дилеммой: продолжать пилить свой 3й проект, или читать техническую литературу про паттрены проектирования, SOLID и прочие ООП. С одной стороны в юнити уже более-менее ориентируюсь и не хватает знаний архитектуры. С другой - практики тоже не особо хватает. Как бы ты поступил на моем месте?
Аноним 07/01/21 Чтв 14:40:06 7190601131
>>718808
Так я знаю, но конкретно это у меня не получается
Аноним 07/01/21 Чтв 15:17:38 7190671132
>>719053
Да просто делай и все! это же ты 20 раз уже про архитектуру тут спросил?

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

Если брать твой солид и ООП то даже сейчас есть люди, которые смогут сказать где и то и другое НЕ подходят т.к. даже у них есть слабые места.
Аноним 07/01/21 Чтв 15:18:29 7190681133
image.png 25Кб, 612x332
612x332
>>719045
>Что значит не взлетает?
Спрайт не смотрит на игрока.
>Я вообще думал ты вызываешь LookAt в апдейте каком-нибудь
Так и есть.
Изначально есть отдельны компонент на объекте со спрайтом, которые его поворачивает каждый апдейт через lookat - работает ок.
Далее я добавил на родительский объект компонент с движением(См скрин).
Спрайт перестал на меня смотреть. Я списал это на то, что апдейт спрайта может вызываться до апдейта родителя, который переписывает ротейшн.
В итоге я пытался в родительском объекте в старте 1)найти подобъект и сделать лукэт для него и 2) найти компонент через GetComponentInChild и вызвать метод в нем. Оба варианта провалились. Сейчас еще посмотрю, мб где ошибся

Аноним 07/01/21 Чтв 15:42:31 7190711134
>>719068
>>719045
Блин, перестал работать и сам компонент с лукэт без движения.
Пересоздал объект, назначил компонент заново - все ок(во всех трех вариантах). Так и не понял в чем дело было, объекты одинаковые были, вроде как.
Аноним 07/01/21 Чтв 16:37:50 7190791135
>>719071
>>719068
Думаю тебе лучше сделать billboard шейдер для твоего спрайта.
Аноним 07/01/21 Чтв 16:40:37 7190811136
>>718995
>Делал так 10 лет назад, в те времена мне отказали т.к. простая логин форма с 2мя текстурами весила 20мб, а такое же приложение на нативной яве 1мб.
>В целом если делаешь для себя - можешь, почему нет?
За 10 лет многое изменилось. Сейчас игры по 1.5 гб миллионами качают. То есть для мессенджера это не подойдёт, потому что да, вес больше и скорости открытия нет. Но для чего-то, не юзающего нативные штуки типа камеры, очень даже.
Аноним 07/01/21 Чтв 19:00:35 7191141137
Как сделать, чтобы по клику на кнопку какой-то файл загружался в телефон?
Аноним 07/01/21 Чтв 20:24:44 7191491138
Как в иерархии показать сразу 2 сцены? Хочу из объекты из одной перетащить в другую.
Аноним 07/01/21 Чтв 20:31:03 7191521139
>>719149
ps
Хочу сделать отдельную сцену для главного меню. Сначала хотел ограничиться одной, но когда запускаю игру (в смысле, жму на ярлык с игрой), то приходится ждать секунд 20, то есть, загружается вся игра. Я хочу чтобы сначала быстро загрузилась меню, и только потом, в зависимости от того, что выберет игрок (новая игра, продолжить, загрузить), загрузить всю сцену игры.
Сцена для игры только одна, игра небольшая.
Аноним 07/01/21 Чтв 20:34:15 7191541140
image.png 21Кб, 512x359
512x359
>>719152
Картинка для наглядности. Я могу открыть только одну сцену, кликнув на нее в ассете, и только после этого она откроется и покажется в иерархии. Я бы хотел чтобы в иерархии были сразу две.
Аноним 07/01/21 Чтв 21:04:36 7191571141
>>719154
>>719152
>>719149
Отбой, перетащил к сцене меню сцену игры и перетащил оттуда нужные элементы. Потом сцену удалил обратно.
Аноним 07/01/21 Чтв 22:00:20 7191731142
Кароче, такая проблема. Есть персонаж с CharacterController. Когда я его двигаю в Update() функцией Move, если игра на мгновение зависает, после развисания, персонаж резко рывком движется вперед. А если в фикседапдейте, то все нормально. Но, мне нужно двигать в обычном апдейте. Как пофиксить?
Аноним 07/01/21 Чтв 22:07:29 7191751143
>>719173
ты Time.deltaTime используешь?
Аноним 07/01/21 Чтв 22:09:42 7191761144
image.png 3Кб, 578x26
578x26
image.png 0Кб, 191x17
191x17
>>719175
Да, вот так вычисляю следующую точку.
Аноним 07/01/21 Чтв 22:12:33 7191791145
The-Chameleon-g[...].webm 534Кб, 650x364, 00:00:06
650x364
смотрел на ютубе небольшой лецплей игрухи с итчи.ио и там на персонаже очень любопытный шейдер когда он превращается в другого персонажа. есть идеи как подобные вещи вообще делаются? не похоже что там просто случайный дисплейсмент вершин, а происходит именно какая-то пикселизация

если кому интересно что это за игра то вот ссылка
https://merlinogames.itch.io/the-chameleon-demo
Аноним 07/01/21 Чтв 22:23:06 7191851146
>>719176
не очень понятно почему у тебя вращение влияет на расстояние между двумя точками. если ты по вейпоинтам двигаешь то можно сделать так:

_moveSpeed = 5f;
_direction = (_nextPoint - transform.position).normalized;
_movement = _direction (_moveSpeed Time.deltaTime);

_controller.Move(_movement);

переменные тебе разделил чтоб было понятно что и в какой хранится. не уверен что это решит твою проблему, но по крайней мере вопросов что у тебя там за лерп не будет возникать. дай знать если это поможет или нет
Аноним 07/01/21 Чтв 22:27:58 7191901147
>>719185
>_movement = _direction (_moveSpeed Time.deltaTime);
двощ порезал умножение какого-то чёрта, но думаю ты разберёшься
Аноним 07/01/21 Чтв 22:31:53 7191931148
>>719067
Не, это не я 20 раз спрашивал. Просто я к тому, что это хотя бы понимать надо на базовом уровне. Чтобы потом выбрать "как надо"
Аноним 07/01/21 Чтв 22:37:25 7191971149
>>719185
Короче, лерп у меня для того, чтобы персонаж при развороте в противоположную сторону сперва до нуля замедлялся, и заново разгонялся (ну ты понял, типа идет влево, игрок нажимает стрелку вправо, персонаж не резко разворачивается и с той же скоростью идет вправо, а сперва замедляется). Но сейчас я потестил и понял, что проблема именно в лерпе. Придумаю что-нибудь другое.
Аноним 07/01/21 Чтв 22:44:47 7191981150
>>719197
тебе тогда лерпать нужно не движение, а _moveSpeed. что-то типа этого:

_moveSpeed = Mathf.Lerp(0f, _maxSpeed, _directionRatio);

где _directionRatio это значение от 0 до 1 при которых 0 это твой персонаж смотрит в противоположную сторону, а 1 это твой персонаж смотрит в нужном направлении. тогда постепенно разворачиваясь он будет ускоряться
Аноним 07/01/21 Чтв 22:49:01 7192001151
>>719198
В этом есть смысл, попробую.
Аноним 07/01/21 Чтв 23:33:14 7192101152
>>719200
мне стало скучно и я решил тебе помочь с _directionRatio

_direction = (_nextPoint - transform.position).normalized;
_directionRatio = Mathf.InverseLerp(-1, 1, Vector3.Dot(transform.forward, _direction));
_moveSpeed = Mathf.Lerp(0f, _maxSpeed, _directionRatio);

собственно при помощи Vector3.Dot мы вычисляем на сколько вектор forward твоего объекта и нужное направление схожие. проблема в том что Vector3.Dot возвращает 1 если вектор смотрит в одном направлении и -1 если в противоположном. посему там есть Mathf.InverseLerp есть который возвращает всегда от 0 до 1 в заданном промежутке (-1, 1)
Аноним 08/01/21 Птн 00:36:14 7192201153
>>719210
Спасибо, добавлю себе в todo list.
Аноним 08/01/21 Птн 00:39:54 7192211154
Жму "Новая игра", выполняется такой код
Time.timeScale = 0;
SceneManager.LoadSceneAsync("Game");

Time.timeScale = 0 я написал, чтобы игра не сразу началась, а после того, как я нажму пробел, типа, я готов. Во многих играх такое сделано.

В принципе, работает, но один Update в загруженной сцене все же срабатывает (судя по дебагу в консоле). Как фиксануть это? В принципе, не мешает, но может так не должно быть, а значит, где-то косяк закрался, который может всплыть в какой-то момент
Аноним 08/01/21 Птн 01:02:23 7192261155
>>719221
А, туплю. Update всегда будет выполняться, timescale не влияет на такое
Аноним 08/01/21 Птн 06:41:51 7192401156
Почему эта хуйня всегда false независимо от нажатия на пробел?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TimeManager : MonoBehaviour
{
public bool isGamePaused;

void Start()
{
isGamePaused = false;
}


void Update()
{

if (Input.GetKeyDown(KeyCode.Space) == true && isGamePaused == false)
{
isGamePaused = true;
}

if (Input.GetKeyDown(KeyCode.Space) == true && isGamePaused == true)
{
isGamePaused = false;
}

}
}
Аноним 08/01/21 Птн 06:59:53 7192411157
>>719240
потому что ты выставляешь её true, а потом сразу же после этого делаешь проверку является ли она true и если true, то меняешь на false. не могу удержаться и не добавить что ты идиот
Аноним 08/01/21 Птн 07:01:23 7192421158
>>719179
Возьми шейдер PSX называется, так вот этот шейдер делает перемещение вертексов и искажение UV, в этом шейдере этот параметр offset (условно) стоит 0.5, а на твоем видосе его меняют до 10 и просто меняют модельку.
Тааак чтоо ищи шейдер и микро-изменение тебе поможет.

П.с. можешь morphing погуглить, там прям все меняется и более эффектно чем тряска вертексов.
Аноним 08/01/21 Птн 07:05:08 7192431159
>>719241
Чувак, я полный нуб в программировании, перед новым годом начал смотреть туториалы, так что это нормально. Т.е. Оба эти if выполняются одновременно что ли а не последовательно? Или GetKeyDown не дискретный а продолжает выдавать true некоторое время? Я просто думал, что GetKeyDown сразу же становится false.
Аноним 08/01/21 Птн 07:12:03 7192441160
Аноним 08/01/21 Птн 07:14:31 7192451161
>>719243
>>719244
А хотя похуй, уже сам понял что надо не просто if а else if во второй проверке писать
Аноним 08/01/21 Птн 07:18:51 7192471162
>>719245
Хотя буду рад если поясните максимально примитивно за то в каком порядке что выполняется. Ибо хуйню я пофиксил, но вот эти вопросы>>719243 остались.
Аноним 08/01/21 Птн 07:23:30 7192481163
>>719245
у тебя у конкретного кадра выставляется значение Input.GetKeyDown(KeyCode.Space)

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

и да всё что тебе надо это if-else сделать или ещё короче:

if (Input.GetKeyDown(KeyCode.Space) == true) {
isGamePaused = !isGamePaused;
}

тогда каждый раз при нажатии пробела твоё поле isGamePaused меняет своё значение на противоположное
Аноним 08/01/21 Птн 07:27:04 7192491164
>>719247
если вот это >>719248 не очень понятно, то могу схему нарисовать простую ибо бессонница
Аноним 08/01/21 Птн 07:28:00 7192501165
>>719248
Спасибо за объяснения. И вот за этот isGamePaused = !isGamePaused; способ переключения, я такого не видел.
>>719249
Да все понятно отлично.
Аноним 08/01/21 Птн 07:32:35 7192511166
>>719250
! - оператор not

!true это тоже что и false и !false это тоже что и true
Аноним 08/01/21 Птн 13:42:21 7193011167
Анон, помоги тупому нуфагу.
У меня есть метод, который ищет ближайший объект к игроку и возвращает его геймобжект для дальнейших манипуляций. С геймобжекта я беру компонент класса, которые реализует интерфейс IInteractable.
Вопрос: как мне брать эти самые классы без конкретики называния каждого класса этого интерфейса? Я пытался как-то через абстрактный класс и вызывать его перегруженный метод, но с помощью дебага понял, что у меня переменная с ссылкой на интерфейс отдаёт null чтобы я не делал. Хоть наследованием, хоть интерфейсом, всегда null, хотя объект оно находит, а вот дальше тупо не могу понять как мне взять все классы этого интерфейса, если так можно сделать.
Юнити 2019.4.9f1 версии лтс
Аноним 08/01/21 Птн 18:41:51 7193501168
Как в юнити вручную расставить порталы оклюжен кулинга?
Автоматическая расстановка - глючная срань.
Аноним 08/01/21 Птн 22:33:19 7194081169
Сап двач,
подскажи плиз как сделать правильно с точки зрения архитектуры и здравого смысла.

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

Я пока не понимаю как правильно это сделать. На ум приходит следующие решения:

1. при создании префаба передавать ему делегат, который тот будет дергать с нужным параметром.
2. префаб ищет камеру сам и вызывает там какую-то функцию.

Оба способа мне не очень нравятся, но возможно придется выбрать что-то.
Так вот вопрос, если способ сделать это элегантнее. Если нет - то что принято в мире юнити?
Аноним 09/01/21 Суб 00:35:59 7194421170
>>719408
Первый вариант быстрее по производительности, да и чем он тебе не нравится, хорошее решение. Но если у тебя вся сцена - объектов 10, то зачем тебе эти делегаты, находи камеру в скрипте префаба и не еби голову. Событие клика, как и практически любой инпут, происходит относительно редко, на производительности это не скажется.
Аноним 09/01/21 Суб 10:02:54 7194801171
>>719442
ну думал может именно для этих целей что-то более красивое придумали.

Спасибо анон
Аноним 09/01/21 Суб 13:04:34 7194961172
изображение.png 226Кб, 1325x903
1325x903
Пилю такой вот инвентарь. И столкнулся с проблемой - при перетаскивании в eventData.position даются координаты относительно экрана, а мне нужны локальные координаты моей сетки инвентаря.

Самый прикол в том, что у самого таскаемого объекта в RectTransform координаты меняются правильно, локально, относительно родителя. Поясните посоны, не понимаю.
Аноним 09/01/21 Суб 14:01:06 7195031173
>>719301
Если я правильно понял - всякие GetComponent<MyAwesomeInterface>() работает, меня даже удивило что юнете может искать интерфейсы, так что скорее всего ты либо получаешь не тот объект, либо ищешь его там, где его нет (попробуй GetComponentInChildren<>)

>>719350
Скорее всего никак, неправильные флаги выставил, убери галку с Occludee Static у своих дверей.
Если не нравится юнитевское, пиши свое или в ассет сторе бери, видел там минимум 2 решения самописных

>>719496
RectTransformUtility.ScreenPointToLocalPointInRectangle возможно это поможет, до конца не понял что ты хочешь, получить координат пикселя в айтеме или сам айтем
Аноним 09/01/21 Суб 14:04:35 7195051174
>>719301
Я, честно, не оч понял, что ты хочешь, но могу свой опыт описать, мб, поможет:
У меня есть ActionManager с методами, например PrepareAction( IInteractable action), InvokeCurrentAction(), CancellAction() и полем IInteractable currentAction. Интерфейс IInteractable содержит метод Perform().
Когда игрок касается какого-то игрового предмета, в ActionManger отправляется сообщение с классом действия, который реализует интерфейс IInteractable (Действие можно получать через GetComponent<IInteractable>(), например. У меня отдельный компонент для interactable объекта, а сами конкретные действия реализуются разными скриптабл обжектами, которые пихаются в serializedfield класса IInteractable).
В методе PrepareAction( IInteractable action) (это может быть и свойство, кстати) прилетевший класс IInteractable сохраняется в IInteractable currentAction а также дергается UI класс, который отображает отметку на экране, что доступно действие.
Если игрок выходит из зоны действия интерактивного предмета, то триггерится CancellAction(), который отключает отметку в UI и чистит currentAction.
Если же игрок нажимает действие, то ActionManager запускает InvokeCurrentAction(), в котором просто делает для IInteractable currentAction.Perform();
ActionManager ничего не знает о том, что конкретно будет делать IInteractable в Perform() - его задача подготовить, соообщить о том, что действие готово и далее либо запустить, либо отменить действией.
Само действие в своем конкретном перформ уже описывает, что ему нужно делать. Мб какие-то отдельные объекты дергать, мб еще что-то.
Например, у меня есть действие, которое просит в персонажа произнести (отобразить текст) речь, есть действие, которое передает в инвентарь конкретный предмет и удаляет исходный.
Аноним 09/01/21 Суб 18:48:50 7195751175
Кириллы, подскажите площадке где можно попирать свежие версии всяких ассетов аля playmaker и тд
Аноним 10/01/21 Вск 18:15:44 7197931176
Кто-нибудь использовал официальный юнитивский Localization package (он сейчас в версии 0.9)? Назначил я в нем разные тексты для разных языков, в эдиторе все переключается как надо входящей в пакет менюшкой в углу окна, а как собственно в игре язык переключать?
Аноним 10/01/21 Вск 18:17:04 7197941177
>>698843 (OP)
Кроссреференсы это нормально вообще? А то чет иерархия по пизде идет.

Вот допустим у меня некая хуйня Y1(допустим куб контролируемый игроком), в текущий момент управляется хуйней X1(игрок1)

Я хочу процессе, менять и куб и игроков. При это не только игрок отправляет (знает о) кубу данные и команды, но куб иногда тоже хочет что нибудь сообщить.
На первый взгляд когда игрок берет под контроль куб, он еще и сообщает кубу, что ты управляешься теперь мной.

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

Как игру короче сделать?




Аноним 10/01/21 Вск 18:18:20 7197951178
>>719496
Помоему эта хуйня рейкастом делается на ячейку.
Аноним 10/01/21 Вск 18:20:44 7197961179
>>719794
Или надо что то вроде dependenci injection делать?

Т.е. делать одну абстракцию вверх (какой нибудь ControlManager) и внутри его уже прокидывать все эти связи?
Аноним 10/01/21 Вск 18:21:13 7197971180
>>719793
PS: Подозреваю что вот этим методом, но он inaccessible due to its protection level.
Аноним 10/01/21 Вск 18:21:47 7197981181
>>719797
бля сам метод-то не копипастнул:

LocalizationSettings.SelectLocale(identifier);
Аноним 10/01/21 Вск 20:40:57 7198371182
>>719798
Короче оказалось что это делается с помощью LocalizationSettings.SelectedLocale = LocalizationSettings.AvailableLocales.Locales;

Остается вопрос как назначить локализованные значения для опций в ui dropdown.
Аноним 10/01/21 Вск 20:51:40 7198411183
234234fff.png 136Кб, 814x650
814x650
4g54g4y35g.png 55Кб, 704x678
704x678
Захотел попробовать покавырять Юнити. Сейчас не могу просто добавить в него модель из 3Д Макса. Вернее куб добавляется но без текстур.
Я сейчас ставил новый макс и там работа с материалами выглядит немного иначе чем в старых версиях, к которым я привык. Но я натянул текстуру на модель. При экспорте хочу поставить галочку но потом выдает ошибку и такая модель получается без текстур. если галочку не ставить, то ошибки нет, но и текстур снова нет. Пробовал гуглить ошибку но как-то прямо мою проблему не выдает поисковик.
Может тут скажут что делать? Или может версия макса фиговая? Или может вообще блендер или что-то другое использовать?
Аноним 10/01/21 Вск 23:47:57 7198671184
Хотел сделать простую ориентировку в пространстве, в итоге уже какой день офигеваю с ротации.

.forward как и .right не работают как надо

.Rotate() не меняет оси объекта? Что? Это баг что ли, как некоторые люди на форуме жаловались, или что? если так то понятно почему оси не работают

при определенных настройках некоторые оси даже меняются, да вот только классические .forward * speed все равно нихера не работают

Я уже перепробовал и все кватернионы(изменения 2ух осей также меняют и третью), и относительность пространства, и темы все на 20 раз перечитал, везде фигня какая-то. Гайды уровня "я сам не знаю как работает эта тема, но я придумал бесполезные костыли для себя которые больше никому не помогут так что гг".

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

Я уже кукухой скоро поеду. Все темы кажутся бессмысленными, и даже доки мало чем помогают.



Аноним 11/01/21 Пнд 05:39:36 7199051185
>>719841
Я текстуру отдельно кладу в юнити рядом с моделькой, потом создай новый материал your-model.mat и туда в MainTexture перетащи свою текстуру.
Материал в 3й вкладке модельки нужно проставить и будет работать.
там больше способов как выставить текстурку для модельки
Аноним 11/01/21 Пнд 13:32:24 7199971186
slon.gif 7148Кб, 320x240
320x240
>>719905
>>719905
Да, я читал про этот способ и пока я только-только начинаю мне его хватит. Но что если у меня сложная модель с 10 текстурами и разными материаламми. И таких моделей много. Это же гемор сначала в максе назначать, а потом в юнити. Плюс куча файлов вместо одного. Вроде и сделали вариант экспорта в одном fbx, а вроде он нихуя не работает.

К сожалению я такой человек, что трудности меня сильно демотивируют. Особенно когда речь идет о чем-то, что должно делаться одним нажатием кнопки, а приходится пердолиться. Жопа горит как пионерский огонь с таких вещей.
Аноним 11/01/21 Пнд 15:06:48 7200261187
>>698843 (OP)
Сап, аноны, в общем нужна ваша помощь.

Кратко:

Пилю по гайду игру.

Есть два скрипта, в нем есть одна переменная с именем условно Peremennaya и один IEnumerator с именем условно ienum().

Автор зачем то пересоздает заново в другом скрипте эти же методы. Я хочу их просто вызвать в другом скрипте.

Для переменной я в первом скрипте объявил ее паблик, а во втором я сначала объявил переменную public Script1 peremennaya и вызвал ее как peremennaya.Peremennaya - все вроде компилится без ошибок. А вот с нумератором я не понимаю, как его вызвать.

Собсна, прошу от вас помощи как это сделать грамотно, и во-вторых, сказать, правильно ли я произвел вызов переменной по описанному мной способу? Заранее спасибо
Аноним 11/01/21 Пнд 15:09:05 7200271188
image.png 9Кб, 650x68
650x68
image.png 36Кб, 756x246
756x246
image.png 52Кб, 744x444
744x444
>>720026
Скрины, если что, 1-2 переменная и нумератор в первом скрипте а 3 - как я вызвал ее во втором
Аноним 11/01/21 Пнд 15:16:09 7200291189
image.png 58Кб, 762x458
762x458
>>720027
>>720026

Короче нагуглил такую хуйню, результат на скрине (нумератор объявил пабликом в первом скрипте). От вас просто прошу оценить качество решения. Заранее спасибо
Аноним 11/01/21 Пнд 15:20:58 7200301190
>>720029
А нет, не сработало, выдает NullReferenceException: Object reference not set to an instance of an object
Аноним 11/01/21 Пнд 17:01:09 7200581191
>>719575
cgpeers.com
Но там регистрация раз в определённый период. Я хуй знает какого числа, чисто случайно попал в нужный день и зарегался сразу.
Аноним 11/01/21 Пнд 17:02:06 7200591192
>>719867
Гугли книжку unity в действии. Там вначале показывается как это все делать
Аноним 11/01/21 Пнд 17:02:07 7200601193
>>720058
1ого и 17ого, но сейчас рега ток по промо
Аноним 11/01/21 Пнд 17:06:03 7200621194
>>719997
Старайся делать 1 материал для модельки, это и удобство и перфоманс (т.к. каждый материал создает DrawCall и внутри будто рендерит как отдельный объект).

А вообще понимаю о чем ты, из-за проблемы (и моей лени делать модельки) я уже 10 лет не могу ни одной игры доделать.
Аноним 11/01/21 Пнд 17:10:40 7200631195
>>720059
Книжки для червей.
Я уже сделал, разобрав пару ассетов. Это тупая хуйня на костылях, работающая через жопу, ну или доки кто-то через жопу пишет.
К ротации применяются разные методы чтобы они не пересекались и только тогда она блять работает.
Я ебал.
Аноним 11/01/21 Пнд 17:21:51 7200651196
>>720063
Тебе не надо всю книгу читать для этого. Просто возьми пример оттуда Или ты суп ножом ешь?
Аноним 11/01/21 Пнд 17:29:56 7200661197
>>720065
>просто возьми
Спасибо братиш, я уже сделал сам. но пометку на будущее оставлю.

>суп ножом
У меня свой, духовный путь. Май вей из э хард вей.
Аноним 11/01/21 Пнд 17:33:59 7200671198
Аноним 11/01/21 Пнд 17:44:28 7200681199
У меня много тупых шизоидных вопросов:

Предположим я хочу сделать майнкрафтоподобный графон, и чтобы в кадре было ну очень дохуя всего анимированного. При этом анимации примитивные.
1. Если скажем у меня есть некие враги, их мало видов, но при этом они существуют в больших количествах. Как в этом случае можно все сделать максимальео эффективно в плане производительности? Вот например мне кажется можно нагенерировать мешей под каждый кадр анимации(ведь вся модель из 6-10 кубов состоит, то есть треугольников там очень мало) и поместить это в видеопамять и отрисовывать нужный буфер когда надо. Это можно в юнити сделать? И норм ли будет?

2. А если каждый куб в каждом монстре анимировать отдельно - понятно что это можно сделать геймобжектами, но тогда производительность будет в говне, да и 99% функционала геймобжектов тут вообще не нужно будет. Может есть альтернатива чтобы я сам мог рисовать что хочу как хочу?
Ведь условно 10 кубов на монстра, если 100 монстров в кадре - это 1к дроуколлов при такой реализации для разных трансформаций. Норм же вроде? Или нет? При этом я смогу еще и процедурно что-то интересное анимировать прям на лету, в отличии от первого подхода.

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

4. А может мне стоит погуглить геометрический шейдер для чего-то такого?

Ну и может есть что почитать по поводу анимаций и вообще обмене данными между видеокартой и процессором?
Аноним 12/01/21 Втр 00:26:44 7201251200
Есть ли разница что юзать - system.Random или unityengine.Random?
Аноним 12/01/21 Втр 00:31:33 7201261201
>>720125
как раз недавно на хабре читал статью о том как чел жаловался на UnityEngine.Random. основной его тезис был в том что это статический объект и если ты задашь ему сид, то он будет одинаковый на весь чёртов проект, что довольно скудно и в целом рекомендовал юзать его самописный суперпростой и лёгкий рандом. я вот сиды не юзаю в рандоме, но юзаю вспомогательные методы типа Range которых в System нет. System тупой и ест память

https://habr.com/ru/post/531042/
Аноним 12/01/21 Втр 00:53:56 7201271202
>>720126
Да, чет мне кажется у меня с этим проблем не будет, мне сид не нужен.

А в других потоках юнитивский рандом будет работать? А то я слышал что юнити апи только из основного потока можно юзать.
Аноним 12/01/21 Втр 00:57:57 7201281203
>>720127
что ты имеешь в виду?
Аноним 12/01/21 Втр 01:02:27 7201301204
>>720128
Ну если у меня будет много потоков из System.Threading работать и я там буду делать Random.Range - это норм?
Аноним 12/01/21 Втр 01:04:20 7201321205
>>720130
не слышал чтоб это вызывало какие-либо проблемы, но специально не проверял
Аноним 12/01/21 Втр 04:11:40 7201451206
>>699449
Сынок, это надо знать!
Впрочем аргумент инвалид. Начиная с восьмёрки майкросовт забило хуй на это всё, из-за чего крупным корпорациям например пришлось менять целый парк принтеров, ибо старые дрова нахуй пошли, я дро их не поддерживает, разрабы принтеров тоже.
Аноним 12/01/21 Втр 04:15:35 7201461207
>>720145
Начал вкатываться в ваш Юнити. Сейчас уже третью игру пилю (в основном говно из спрайтов) за 2 недели. И при создании нового проекта хаб начал мне создавать новый проект внезапно, но предварительно решив обновиться и докачать 4 гига какого-то говна из интернетов. Уже два часа сижу и жду пока оно создаст ПУСТОЙ проект.
Отсюда вопрос. Часто у вас так? Это баг или фича? Хаб новый, всё установлено не сичтую винду 2 января, обновления все скачал тогда же. Интересно что он там качает и нахуя, если я его об этом не просил. И почему нельзя это следать в фоне например пока я Кирилю своих эльфов и грабить корованы? А что если я ААА студия? Работа встанет на 1 день потому-что юнити стреляет мне в ногу?
Аноним 12/01/21 Втр 04:24:35 7201481208
>>720146
у меня ничего не докачивает, это какая-то странная байда и смени провайдера. 2 часа ждать 4 гига это 2007й

покажи что пилишь
Аноним 12/01/21 Втр 04:28:55 7201501209
>>720148
Я хз, кстати даже что там реально качатеся, ибо хаб не показывает. Просто кинуло окно "Я качаю апдэйт". И всё. В итоге ребутнулся, оно докачало быстро и запустило.
>покажи что пилишь
Да нечего показывать пока. 2 недели как вкатился. В планах сделать что-то типа Марио или Чип и дэйла в 2d. Но обучение мне даётся как колхознику нейронные сети.
Аноним 12/01/21 Втр 04:30:47 7201511210
>>720150
>Сейчас уже третью игру пилю
>Да нечего показывать пока

две допилил или дропнул?
Аноним 12/01/21 Втр 04:34:38 7201521211
>>720151
Допилил. Но показывать стесняюсь, это скорее проекты для обучения чем "Я ща это зарелизю в СТИМ!!!". Например текстовый квест с вариантами диалогов. Там "Играть" минут 5. Или 1 левел товер дефенс, в котором иногда мобы идут не по маршруту.
Аноним 12/01/21 Втр 04:36:51 7201531212
>>720151
Вообще не имею привычки дропать что-то. Думаю в гейдеве я с этим дальше двачей не уеду.
Аноним 12/01/21 Втр 04:38:56 7201541213
>>698843 (OP)
Чап, обьясните как работают платные штуки для игры.
Например купиля тайлсет. Прям за деньги, официально, вставил его в Юнити, А сейчас читаю что в условиях использования я не могу его вствалять в проекты которые пойдут в сторы. И зачем такое вообще надо тогда? Зачем такое покупать? Кто этим пользвется? Что будет если я всё равно вставлю? Меня возьмут за жопу?
Аноним 12/01/21 Втр 04:40:25 7201551214
>>720153
тогда показывай первые две поделки
Аноним 12/01/21 Втр 04:42:47 7201561215
OkayGuy.jpg 72Кб, 1705x959
1705x959
>>720155
А как это здесь принято? Куда кидать?
Аноним 12/01/21 Втр 04:51:37 7201581216
>>720156
сделай пару скриншотов, приложи их и расскажи что там за херня. или видео запили
Аноним 12/01/21 Втр 06:17:42 7201701217
>>720068
1. через ECS можно даже 10к сложных моделек рендерить и полчуать 100fps+.
Можешь начать копать в этом направлении либо - анимируй только тех кто рядом т.е. если фигура далеко - рендери её одним объектом, так тоже никаких проблем быть не должно.

2. Можешь пойти сложным путем и написать свою систему анимаций (как в майне), менять вершины кодом, будет 1 dk и 1 меш. Прикрутишь ecs, будет еще лучше.
Обжекты не просаживают особо перфоманс, можешь попробовать решить свою проблему в лоб и просто посмотреть в профайлере что будет жрать перфоменс.

3. Типа того, указываешь оригинальный меш, вызываешь у него GetTris GetVerts и весь этот мусор, делаешь new Mesh() и ему вызываешь SetTris SetVerts. Если сохранишь результаты GetTris - то производительность не должна пропасть.

4. Ты можешь нагуглить плавные простые анимации вроде "покачивания листвы", тебе нужна конкретная анимация конкретных вершин, а для такого нужно хорошо разбираться в шейдерах и много времени потратить на это, я бы не советовал.
Аноним 12/01/21 Втр 13:28:46 7202381218
>>720154
Скорее всего тебе продали пизженные где-то в другом месте тайлсет. Поэтому его и нельзя использовать в коммерции.
Аноним 12/01/21 Втр 19:09:13 7203301219
Двач.png 54Кб, 1093x481
1093x481
>>698843 (OP)
Сап двач. Где можно заказать услугу, чтобы моё приложение скомпилировали нормально под Google Play? Я уже просто заебался с этим мучаться. Мне просто хочется выложить приложение, которое я делал несколько лет на Google play.
Я готов заплатить за это деньги
Аноним 12/01/21 Втр 19:33:16 7203421220
Аноним 12/01/21 Втр 20:27:12 7203511221
>>720342
А МОЖНО НЕ ОРАТЬ?
https://docs.microsoft.com/en-us/dotnet/api/system.collections.ienumerator?view=net-5.0

И во-вторых что за тупой вопрос про правильность вызова переменной? Вызвалась? Ну так чего тебе еще надо? Ты про расположение функционала? Ну так архитектура это ТВОЕ епт субъективное решение, никто не придумает за тебя как ТЕБЕ надо.

Я могу ошибаться, но тебе надо подтянусь основы прежде чем задавать вопросы в Юнити треде. Зайди что ли в C тред.
Аноним 13/01/21 Срд 02:22:59 7203961222
Привет гд-аноны, у меня возникла ошибка во время создания своей игры. А именно: есть скрипт обработчик свайпов, он обрабатывает свайп по экрану и определяет его тип влево, вправо, вверх или вниз был сделан свайп Также есть скрипт движения игрока который принимает эти типы свайпов и на их основе сдвигает игрока. Ошибка возникает когда я пытаюсь перезапустить сцену или запустить след уровень:

MissingReferenceException: объект типа Rigidbody был уничтожен, но вы все еще пытаетесь получить к нему доступ.
Ваш сценарий должен либо проверить, является ли он нулевым, либо вы не должны уничтожать объект.

Собсна, как ее преодолеть? Вот скрипты для понимания:
https://pastebin.com/4izcytC5 - обработчик свайпов
https://pastebin.com/TLrg2ZS3 - движение игрока
Аноним 13/01/21 Срд 02:32:53 7203971223
>>720396
C одной стороны мне иногда хочется фейспалмом лицо пробить от нашествия кириллов. А с другой стороны мне греет сердце то, что я все таки понимаю вещи чуть лучше, чем некоторые.

А теперь по делу. Зачем ты задаешь вопрос в треде, когда тебе сам юнити УКАЗАЛ на проблему и дал тут же ее РЕШЕНИЕ?
кста это платиновый вопрос с которого уже бомбил другой анон время назад

а)Делай проверки на существование объекта
б)Ищи где у тебя уничтожается объект, ты стучишься в несуществующую дверь
Аноним 13/01/21 Срд 15:30:33 7204921224
>>720351
>А МОЖНО НЕ ОРАТЬ?
Да я охуел просто всем помогли а меня обошли

Так у меня вопрос не по самому кодингу, а по тому, как мне скрипт, привязанный к одному объекту в одной сцене, вызвать в другом объекте другой сцене. Гайды, которые я искал - не помогли, он их не видит, или я правильно GameObject вызвать не могу, а ты мне просто определение IENumerator-а скинул... Спасибо конечно, но я не могу нужной инфы найти. А так, на шарпе я вроде кодить БАЗУ могу
Аноним 13/01/21 Срд 15:39:33 7204971225
>>720492
Скинь свой код на пастебин и давай сюда ссылку, я тебе напишу как можно
украду твой код и продам за миллиарды
Аноним 13/01/21 Срд 15:50:24 7205011226
>>720497
https://pastebin.com/TFpfGZg5

Короче, в первом скрипте Achievements.cs есть метод public IEnumerator FirstFarm () и переменная [SerializeField] public bool isUnlocked;. Во втором MainMenu.cs они у меня заново созданы. Первый скрипт привязан к объекту Main Camera в одной сцене, второй к к объекту Main Camera в другой сцене. Я же хочу сделать так, чтобы второй скрипт видел метод и переменную из первого скрипта, но не могу это сделать
Аноним 13/01/21 Срд 16:26:40 7205191227
>>720501
Самый простой вариант через static:
https://pastebin.com/Mggd2jS8

В MainMenu я сменил имя одного метода с Achivements на AchivementsClicked (т.к. был конфликт)
Аноним 13/01/21 Срд 16:33:47 7205231228
>>720519
Спасибо, попробую у себя
Аноним 13/01/21 Срд 17:11:05 7205371229
>>720492
>всем ответили
А никто тебе и не обязан, лол. Это тред не про "сделайте за меня домашку". Если ты посмотришь на этот тред, то то он состоит на 70-90% из кирилов, пары стремящихся челиков - только эти и могут по доброте душевной ответит на проблему с которой они сами сталкивались. Нашествие кирилов такое глобальное что все шарящие уже давно ушли или таят молчание изредка когда уж совсем бомбит от тупости намекая на косяки.

>базу могу
Нет, не можешь. кек
Аноним 13/01/21 Срд 18:50:19 7205441230
Что-то начал гуглить про ецс и охуел -юнитивский ецс все еще в превью, но есть другие, и там не всегда есть поддержка многопоточности.

Какой лучше юзать?
Аноним 13/01/21 Срд 19:41:12 7205601231
>>720537
Я про то что я посмотрел 10 постов с вопросами вверх и вниз - каждому ответили, мне нет, я про это

>Нет, не можешь.
Потому что в ООП не могу?
Аноним 13/01/21 Срд 22:02:30 7205981232
В какую российскую компанию вы бы устроились, если бы в перспективе хотели бы стать Dungeon Master'ом, город не принципиален. Я вот рассматриваю Кефир, который тюрягу для ВК сделали, и еще кучу интересных проектов на Unity сейчас разрабатывают. Хочется найти такую, подойти под ее требования, и дальше стремиться и развиваться. А если вы против такого, то напиши как по вашему мнению или опыту стоит всесторонне развиваться Unity разработчику, чтобы любая компания через год этих тренировок взяла вас на тим лида или синеора.
Аноним 14/01/21 Чтв 05:54:34 7206251233
>>720598
Ты хочешь начать ненавидеть делать игры? Тогда делаешь всё правильно.

>>720544
кодманки на ютубе на ецс уже несколько игр сделал и запилил сотни гайдов. Про другие ничего сказать не могу.
Для начала можешь использовать джобы и бурст без ECS.
Аноним 14/01/21 Чтв 10:42:14 7206371234
>>720625
Нет, я хочу услышать мнение очередного долбаеба, который ничего толкового не скажет.
Аноним 14/01/21 Чтв 13:51:24 7206671235
Как заинклюдить в шейдеры текстуру из проекта (чтобы её не было в интерфейсе). Только с помощью Custom GUI?
Аноним 15/01/21 Птн 03:56:32 7208441236
Аноним 15/01/21 Птн 10:49:26 7208851237
>>720492
Да у тебя каша в голове,ну ты реально хуйню пишешь. Иди про Шарп читать, ни какую базу ты не шаришь
Аноним 15/01/21 Птн 12:04:05 7209071238
>>720492
Сделай объект dont destroy on load, чтобы при переключении сцены не удалялся и вызывай в нужной сцене
Аноним 15/01/21 Птн 22:10:45 7210991239
>>698843 (OP)
Когда перекатываться собираетесь? Я еле нашёл через каталог.

Какую актуальную версию ставить? 2020.2.1f1, да?
Когда примерно стоит ждать LTS выпуск 2020? И стоит ли ждать?
Аноним 15/01/21 Птн 22:43:07 7211031240

>>721099
>Какую актуальную версию ставить? 2020.2.1f1, да?
Да.
>Когда примерно стоит ждать LTS выпуск 2020?
Скорее всего весной.
> И стоит ли ждать?
Чего ждать то, потом обновишься и нормально.
Аноним 15/01/21 Птн 22:47:37 7211051241
изображение.png 4Кб, 330x175
330x175
>>721103
Спасибо за ответ.

>>2020.2.1f1, да?
>Да.
Тут новые шаблоны для мобилок, документации на них не нашёл. Я как раз подумываю сделать игру под мобилки, начинаю с нуля. Стоит пробовать "Mobile 3D"?
Аноним 15/01/21 Птн 23:02:21 7211071242
>>721105
>Стоит пробовать "Mobile 3D"?
Уже попробовал... Чёт не совсем то, чего я ожидал. Тут просто пара пакетов для логирования на андроиде и нотификаций, и всё, в остальном как обычный пустой проект. Может в настройках что-то особенное для мобилок настроено... Ладно, значит, придётся самому всё делать. Я надеялся на готовые приблуды для мобильного UI
Аноним 16/01/21 Суб 02:04:54 7212471243
TEMP.jpg 168Кб, 1231x906
1231x906
>>698843 (OP)
Почему, если текстуру изменить в шейдере, тень будет как от исходной текстуры?
Аноним 16/01/21 Суб 05:35:22 7212631244
>>721247
Потому что тень вычисляется отдельным от твоего шейдером? Не знаю.
Аноним 16/01/21 Суб 06:46:08 7212681245
>>720126
>https://habr.com/ru/post/531042/
Это какой-то странный человек, чем именно ему не угодила повторяемость поведения ботов/разброса пуль?

>все пули будут разлетаться в четком порядке для заданного seed’a,
>Как минимум - игроки заметят и в дело вступит эффект отмены.
Что он имеет в виду? И с чего он приплёл "эффект отмены"?
>Синдром отмены, реакция отмены, или состояние отмены, — реакция организма, возникающая при прекращении или снижении приёма лекарственного средства и проявляющаяся ухудшением состояния пациента (развитием симптомов или состояний, на устранение которых было направлено действие препарата, а порой и возникновением качественно новых симптомов или состояний, отсутствовавших у пациента прежде). Под синдромом отмены также понимается синдром, возникающий в результате прекращения интенсивного употребления любых психоактивных веществ, также называемый «абстинентным состоянием».

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

А ему видите ли "разброс пуль после каждой загрузки одного и того же сейва одинаковый", лол.
Аноним 16/01/21 Суб 08:49:11 7212821246
>>721268
отмена тут к тому что это влияет на погружение. овервоч это мультиплеерная состязательная игра, тут контроль играет важную роль и патч этот был именно для того чтобы уменьшить случайность. если ты играешь в сингл и видишь одни и те же паттерны везде это делает из симуляции аркаду

собственно автор в первом же абзаце предыстории тебе рассказывает в чём проблема. он хочет чтоб левел генерировался случайно, но управляемо (с возможностью указания сида), а поведение мобов генерировалось тоже случайно, но отдельно от левела
Аноним 16/01/21 Суб 15:25:49 7213931247
Подскажите как привязать состояние анимации к переменной. Есть фитиль горит ориентируясь на таймер хода, на таймере можно накрутить значение во время игры, нужно что бы фитиль тоже менял своё состояние вместе с таймером. Как то вроде мысли есть, но все они топорные.
Аноним 16/01/21 Суб 17:13:32 7214351248
>>721282
>делает из симуляции аркаду
1. Большинство игр - аркады, а не симуляторы.
2. Симуляторы должны быть детерминированными, в них нет места полному хаосу.

>он хочет чтоб левел генерировался случайно, но управляемо
>поведение мобов генерировалось тоже случайно, но отдельно от левела
Вот я не понимаю, зачем отделять мобов от уровня?
Возьмём две игры:

1. Пошаговая аркада, где мобы ходят по клеточкам и паттерны легко увидеть. Если игрок загружает старый сейв, он ожидает, что мобы пойдут точно по тем же маршрутам, по которым шли раньше. Если они пойдут по новым маршрутам - это будет выглядить как "испорченный сейв". Просто представь, что ты сохранил карту, по которой летела пуля, а после загрузки этой карты пуля полетела в случайном направлении. Какой в этом смысл? Моб, который сидел в клетке А, перед сейвом собирался пойти в клетку Б, ему нужно было что-то там сделать. Если он после загрузки сейва пойдёт в клетку Б - это будет выглядеть так, будто бы игра не прерывалась. Если он после загрузки пойдёт в любую другую клетку - это будет выглядеть так, будто игра стёрла ему память, или это совсем другой моб, или он где-то гулял в промежутке между сейвом и лоадом и теперь у него другие планы.

2. Сложная реалтаймовая симуляция, где мобы могут гулять где-то по карте, пока игрок их не видит, заниматься своими делами и т.д. В такой игре игрок не сможет заметить паттернов, если не будет ходить по пятам за одним мобом и наблюдать, чем он занимается. Если вспомнить игры типа GTA - там пешеходы хотят по строгим маршрутам, но ты этого не заметишь, если просто пройдёшься по улице. Ты заметишь это только если будешь следить за одним конкретным пешеходом - в какой-то момент поймёшь, что он бессмысленно ходит по кругу. Следовательно, в такой игре вообще не важно, каким образом будут генерироваться решения ботов - детерминировано или нет. Но и в такой игре лучше, чтобы поведение было детерминировано. Допустим, ты послал бота за выпивкой, бот ушёл из твоего поля зрения, ты сохранил игру, снова загрузил её - и бот пропал, то есть не вернулся с выпивкой. Может быть, он решил пойти в театр или на работу, но про выпивку он уже забыл, ибо его поведение оказалось сгенерировано с нуля.

Итого - в обоих случаях необходимо детерминированное поведение ботов, связанное с зерном карты или, если точнее, с неким общим потоком симуляции игры, который мы сохраняем целиком, а не по частям. Я даже представить не могу ситуацию, где бот должен выбирать новое поведение после загрузки старого сейва...
Аноним 16/01/21 Суб 17:16:46 7214371249
Тааак. Я правильно понимаю, что смешивать ецс и стандартный подход - норм?
Аноним 16/01/21 Суб 17:18:48 7214381250
>>721282
Единственное, в чём я согласен с автором статьи - это то, что плохо использовать генератор чисел, который используется какими-то плагинами и ядром движка. Если удалить такой плагин или обновить его версию, это повлияет на генерацию игрового контента. Если обновить ядро движка, это тоже повлияет на генерацию контента игры. Такого быть не должно, игра должна быть абстрагирована от стороннего ПО, тем более если это симулятор, а не "аркада". Но, если кто-то делает такую игру-симуляцию, он наверняка позаботится о создании собственного генератора чисел, а встроенный нужен только для быстрых тестов там, где не важна детерминированность игры.
Аноним 16/01/21 Суб 17:20:51 7214391251
>>721393
>состояние анимации
Если анимация покадровая, просто выбирай кадр по значению переменной, в чём проблема?
Аноним 16/01/21 Суб 17:39:51 7214491252
>>698843 (OP)
Аноны, подскажите пожалуйста литературы (?) по клиент серверным приколам в юнити. Читал обзорные штуки и понимаю на базовом уровне, пытался изучать mlapi, но потом узнал что есть и llapi и hlapi и что то приуныл, я думал будет технология уровня сокетов в дотнете, а тут что то довольно немало. Подскажите пожалуйста как это все изучать?
Аноним 16/01/21 Суб 19:00:01 7214771253
>>721449
>пытался изучать mlapi, но потом узнал что есть и llapi и hlapi и что то приуныл
Так вроде не надо всё сразу учить. Я бы на твоём месте начал сразу работать над проектом и уже по ситуации изучать то, что нужно для решения конкретных задач. А вообще для юнити какие-то фреймворки готовые были...
Аноним 17/01/21 Вск 01:00:48 7216481254
TEMP2.jpg 46Кб, 631x401
631x401
>>721263
Я уже понят, что там отдельная сущность для теней. Просто может кто-то уже сталкивался с этим?

И ещё вопрос - я добавляю к объекту дополнительные трианглы (трава) геометрическим шейдером, но они пропадают, когда исходный объект выходит за пределы видимости. Вернее, когда из камеры пропадает специальный box видимости. Как его расширить?
Аноним 17/01/21 Вск 11:11:51 7217051255
>>721477
Так low\mid\high-level api это и есть фреймворки, я просто не могу понять, какие из них и как вместе юзать. Чтобы знать что применять для решения конкретных задач нужно немного о самих фреймворках иметь представление.
Аноним 17/01/21 Вск 12:25:58 7217171256
Я пытаюсь двигать риджит бади к объекту, но проблема в том, что когда он приходит к точке, то начинает дергаться туда и обратно, даже если я ставлю условие.

Vector3 dir = ((Vector2)destination - (Vector2)transform.position);
dir = Vector3.Normalize(dir);
if(Vector2.Distance((Vector2)destination,(Vector2)transform.position) > 1f)
{
rb.velocity = dir * 5f;
}
Аноним 17/01/21 Вск 15:01:13 7217481257
>>721435
>1. Большинство игр - аркады, а не симуляторы.
не знаю к чему ты клонишь. если большинство игр это аркады, а не симуляторы, то симуляторов не существует?

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

к слову о gta. в red dead redeption ботам случайно генерируют довольно интересную модель поведения. если будешь за ним ходить, то он сходит на работу, потом пробухает деньги в выходные, ночью пойдёт в свой(!) дом спать и тд. но это уже офтопик который думаю тебе интересно будет ресёрчнуть самому
Аноним 17/01/21 Вск 18:22:35 7218021258
image.png 34Кб, 801x199
801x199
лол. пока я не замечал юнити научилось добавлять контекстное меню в элементы массивов для инспектора. чтобы вот можно было нажать на него и удалить, или сделать дубликат. только у меня до этого было куда более функциональное контекстное меню и оно теперь не вызывается! ну спасибо. не подскажете куда залезть чтобы оно не вызывалось?
Аноним 17/01/21 Вск 19:22:26 7218141259
Чому бамп лимит такой огромный? читать тонны текста приятного мало. сделайте 500, будьте людьми
Аноним 17/01/21 Вск 19:33:40 7218191260
>>721814
а вдруг в этом тексте есть ответ на чей-то вопрос?
Аноним 17/01/21 Вск 22:51:38 7218811261
>>721705
>low\mid\high-level api
>Чтобы знать что применять для решения конкретных задач
Ну чисто по названию понятно, что low-level - это когда тебе нужно иголкой в Ethernet-кабель тыкать, типа ассемблер, high-level - это когда тебе достаточно пропукать html-страничку из сети к себе в игру, всё остальное тебя вообще не парит, как будто ты на питоне пишешь, а mid-level - это где-то посередине. Вообще ничего не знаю про эти API, но я бы начал с high-level, потренировался запросы пропукивать, а на низкоуровневое переходил только если нужно какой-то оптимизированный велосипед запилить, которого в высокоуровневый не завезли. Вообще, изучать инструмент в отрыве от практики - бесполезная трата времени, нужно делать какие-то практические проекты, на практике осваивать применение каких-либо технологий. А то если только читать и ничего не пробовать своими руками, так и останешься теоретиком без практических навыков и понимания, что нужно делать на практике.
Аноним 17/01/21 Вск 23:28:55 7218931262
image.png 654Кб, 680x530
680x530
image.png 35Кб, 478x457
478x457
У меня character controller в такой ситуации (см. скрин) либо останавливается, либо с подергиванием все же идет вперед. Как я понял, коллайдеры столкнулись таким образом, что для игрока это и правда препятствие. Можно как то сделать что-то типа скольжения? На стенах, полу и косяке навешен mesh коллайдер. Чела двигаю с помощью CharacterController.Move
Аноним 18/01/21 Пнд 00:57:40 7219051263
>>721893
Отбой, разобрался
Аноним 18/01/21 Пнд 01:10:47 7219061264
Desktop 2021.01[...].mp4 559Кб, 640x360, 00:00:11
640x360
Ох уж эта юнити физика... Проблема еще была, что почему то персонаж подпрыгивал в косяке. Эта проблема оказывается решается установкой Min Move Distance = 0 (у меня было 0.001, дефолтное значение ) или Skin width = 30% от радиуса контролера (было 0.0001, тоже дефолт)
Аноним 18/01/21 Пнд 01:11:58 7219071265
изображение.png 429Кб, 445x372
445x372
>>721893
>>721905
В следующий раз описывай, как именно ты разобрался.
Аноним 18/01/21 Пнд 01:13:12 7219081266
>>721906
RTFM, там написано, какие значения рекомендованы, и они отличаются от дефолтных (лол).
Аноним 18/01/21 Пнд 01:19:51 7219091267
Безымянный.png 18Кб, 646x337
646x337
>>721717
У тебя что-то вроде пикрила происходит, я прав?

У тебя неправильное условие завершения. Правильным будет так:
1. Считаем дистанцию от объекта до точки назначения;
2. Если дистанция меньше одного шага (5f), смещаем объект на один шаг к точке, возвращаемся к п.1;
3. Если дистанция больше одного шага, смещаем объект к точке назначения и/или прекращаем передвигать.

А вообще вангую, что ты пилишь какой-то велосипед, и для твоей задачи нужно юзать встроенные функции.
Аноним 18/01/21 Пнд 01:20:35 7219101268
>>721907
В том, что застревал, у меня там колайдер от стены на милиметр торчал, то есть, реально было препятствие
Аноним 18/01/21 Пнд 01:30:27 7219111269
Безымянный.png 9Кб, 557x281
557x281
>>721717
>>721909
А, я перепутал. Короче, у тебя происходит вот это:
1. Из точки А1 определяешь вектор направления в О;
2. Из точки А1 прыгаешь на 5 единиц в точку А2;
3. Расстояние от А2 до О больше 1 (около 2);
4. Из точки А2 определяешь вектор направления в О;
5. Прыгаешь из А2 в А1, т.е. снова на 5 единиц;
6. От А1 до О расстояние по-прежнему больше 1;
7. ???
8. Замкнутый цикл!

Я с таким тоже сталкивался, но не на юнити. Не знаю, как это корректнее всего решить на юнити.
Аноним 18/01/21 Пнд 01:31:31 7219131270
image.png 16Кб, 352x278
352x278
image.png 376Кб, 494x580
494x580
>>721908
Да, в мануле я прочитал и решил попробовать. Но, непонятно, почему у меня произошла проблема с застреванием с подпрыгиванием, если из коллайдеров у меня был только plane в качестве пола, и один дверной косяк с кастомным mesh коллайдером (пикрил).
У коллайдеров идеально ровные поверхности коллайдеров. Без дыр, ям, трещин, выпуклостей. Почему персонаж начал скакать, как Ромка-попрыгун, и почему помогло уменьшение MinMoveDsiance и Skin Width я так и не понял.
Аноним 18/01/21 Пнд 01:45:44 7219141271
>>721748
>симуляторов не существует?
В симуляторах важна детерминированность событий. В аркадах на (не)детерминированность плевать.

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

Будет крайне нелогично, если игра ВДРУГ решит после загрузки сохранения удалить этого монстра, развернуть его в рандомном направлении или сделать ещё что-нибудь рандомное. Если она это делает и ты несколько раз загрузишь одно сохранение, ты заметишь, что монстр каждый раз выбирает рандомную стратегию поведения, ломая саму концепцию "сохранение состояния мира". Первая вещь, которую ты должен после этого сделать - создать issue с заголовком вроде "баг: поведение монстров не сохраняется". Или написать на почту разработчику. Или, если ты агрошкольник, написать гневный отзыв в стиме "эта игра даже не умеет сохранять себя!!1" - что угодно, лишь бы показать, что игра багнута. Авось разраб исправит это недоразумение.

>то что там автор пишет отсебятину это, мне кажется, нужно игнорировать
Автор бьёт тревогу о совершенно очевидных вещах. Если мы обращаемся к какому-то объекту, который мы не создавали - очевидно, он используется не только нами, и его состояние может меняться без нашего ведома. Если мы хотим контролировать состояние этого объекта, мы должны создать его сами. А он выдумывает какие-то абстрактные проблемы и предлагает якобы универсальное решение всех вымышленных им проблем, дезориентируя новичков и вызывая испанский стыд у тех, кто в этом что-то понимает. Вообще не вижу смысла в его статье.
Аноним 18/01/21 Пнд 01:49:34 7219171272
>>721802
а да. чуть не забыл. отвечаю на свой вопрос:

if (Event.current.type == EventType.ContextClick) {
//вызвать собственное контекстное меню
Event.current.Use();
}
Аноним 18/01/21 Пнд 02:14:45 7219201273
Безымянный.png 12Кб, 504x250
504x250
>>721913
>Почему персонаж начал скакать
По-моему он не подскакивает, а пытается заехать/подняться на какое-то препятствие...
>один дверной косяк с кастомным mesh коллайдером (пикрил)
Зачем тебе коллайдер порога в дверном проёме? Может, на нём персонаж и подскакивал.

>почему помогло уменьшение MinMoveDsiance и Skin Width я так и не понял
>Skin width
>Two colliders can penetrate each other as deep as their Skin Width. Larger Skin Widths reduce jitter. Low Skin Width can cause the character to get stuck. A good setting is to make this value 10% of the Radius.
>Min Move Distance
>If the character tries to move below the indicated value, it will not move at all. This can be used to reduce jitter. In most situations this value should be left at 0.
Судя по в всему, ты столкнулся как раз с этими jitter и stuck, дрожанием и застреванием.

Skin Width по-моему должен работать как на пикриле, но я не уверен. Проблема в том, что Character Controller не использует полноценную симуляцию физики, поэтому и может "застревать" в объектах. Вроде читал рекомендацию использовать Rigid Body вместо Character Controller, если нужно реалистичное взаимодействие персонажа с окружающими объектами...
Аноним 18/01/21 Пнд 11:08:06 7219671274
>>721911
>Я с таким тоже сталкивался, но не на юнити. Не знаю, как это корректнее всего решить на юнити.

Спасибо за ответ. Я пока решил так, что если расстояние меньше 0,2f, то transform.position = destination, работает, но пришлось пожертвовать плавность, введя маленький прыжок.

А без этого у меня вектор движения скакал то в плюс, то в минус. Объекты был то дальше, то ближе, но никак не останавливался на точке назначения.
Аноним 18/01/21 Пнд 12:58:11 7219991275
>>721967
>transform.position = destination
я ни хрена не читал что вы тут понаписали, но если у вас перелёт когда движитесь к какой-то цели, то юзай лучше так

transform.position = Vector3.MoveTowards(transform.position, destinaton, speed * Time.deltaTime);

https://docs.unity3d.com/ScriptReference/Vector3.MoveTowards.html

беда этого подхода в том что если у тебя есть вейпоинты, то на каждой точке движение будет не таким равномерным как тебе бы хотелось
Аноним 18/01/21 Пнд 13:38:19 7220061276
>>721999
>беда этого подхода в

Я хотел двигать через RigidBody и Velocity, потому что так, насколько я знаю, не будет проблем, когда объект упирается в стенку, а если использовать transform.position, то объект будет дергаться возле стенки.
Аноним 18/01/21 Пнд 13:56:20 7220111277
image.png 22Кб, 830x259
830x259
Джвач, не могу понять в чём проблема, в эдиторе код работает нормально через юнити ремоут и если инпут через мышку
Но на андроиде всегда возвращает False, даже когда рейкаст по факту должен попадать куда надо
Аноним 18/01/21 Пнд 15:48:26 7220411278
>>721893
Сharacter controller это и есть kinematic rigidbody внутри, можно rigidbody убрать.
Аноним 18/01/21 Пнд 16:58:46 7220581279
>>722011
не знаю поему возвращается false, но есть несколько косяков в твоём коде:

1. если хочешь сравнивать по тегу то тебе нужно не
hit.collider.gameObject.tag == "GroundBlock"
а
hit.collider.gameObject.CompareTag("GroundBlock")

2. лучше проверку по тегу убрать нахер и сделать проверку по компоненту

if (hit.collider.gameObject.TryGetComponent(out GroundBlockControl groundBlock) {
coords = (Vector2) groundBlock.coords;
}
Аноним 18/01/21 Пнд 17:17:49 7220681280
>>698843 (OP)
Сап, помогите советом, как соединить визуальную новеллу и пиксельную рпг, тип андетейла, в Юнити. Планирую Пиксельную бродилку с линейным сюжетом, выборами в диалогах и анимированными (если допру как, и играбельными) вставками. Есть ток пару проблем - не ебу как 1) сделать возможность выборов в игре с последствиями (вроде как то с переменными связано) (нужно чтобы выборы сделанные при первом прохождении влияли на последующие), 2) Как бл@н сделать формат изображения (камеры) 4/3 вместо 16/9, в ютабе говорят лишь про подстраивание экрана под монитор. Может скрипы или еще чё-нить дадите, советы там.
Аноним 18/01/21 Пнд 17:26:05 7220701281
>>722068
лол а почему спрашиваешь в треде юнити? когда это вопросы из области геймдизайна? интерфейс то нынешний в юнити легко же под разные разрешения подстраивать.

>>722011
а нахуй нуллабл структами пользуешься? че бы по старинке не bool MyFunction(input, out Vector2 resultIfTrue)
Аноним 18/01/21 Пнд 18:05:42 7220851282
>>722006
>RigidBody и Velocity, потому что так, насколько я знаю, не будет проблем, когда объект упирается в стенку
Да, он должен по идее начинать скользить вдоль стенки. Но если тебе нужно движение по местности со стенками, тогда лучше сразу определиться с каким-либо способом обнаружения стенок для перестроения маршрута вокруг них. Например, рейкастом проверять наличие препятствия и сворачивать с траектории, боковым рейкастом проверяя, не закончилась ли стенка. Или строить клеточную карту и использовать A-star или что там ещё используют для поиска маршрута. В общем, если ты знаешь, что объект может упираться в стенки на пути к цели - ты должен это как-то обрабатывать, а не оставлять решение на физический движок (который вообще нифига не детерминирован и может выкинуть любую хрень, особенно после обновления движка).
Аноним 18/01/21 Пнд 18:20:10 7220861283
>>722068
>сделать возможность выборов в игре с последствиями (вроде как то с переменными связано)
Если ты даже такое не понимаешь, то ты вообще нулевый программист. Подучи программирование перед разработкой игр.
Вкратце - да, можно через переменные. Условно у тебя есть:
- хранилище переменных выбора пользователя (для доступа из разных участков кода и сохранения состояния игры)
- в этом хранилище есть переменная выбор1
- ситуация, которая изменяет значение хранилище.выбор1
- ситуация, на которую значение хранилище.выбор1 влияет
- проверка в коде if (хранилище.выбор1 == 0} { не меняем ситуацию } else { меняем ситуацию }
Ну как-то так, в самом простейшем случае.
Да, к юнити это отношения не имеет, это имеет отношение к программированию в целом.

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

>Как бл@н сделать формат изображения (камеры) 4/3 вместо 16/9
RTFM, например, https://docs.unity3d.com/2020.2/Documentation/Manual/class-Camera.html
А вообще, зачем тебе 4:3? На современных ультравайд мониторах твоя игра будет выглядеть как унылое говно.
Лучше тогда затачивай игру на работу в маленьком окошке, типа 800x600 пикселей, так будет проще для всех.
Аноним 18/01/21 Пнд 18:29:19 7220881284
>>722041
Не помню, но вроде без rigidbody raycast игнорится
Аноним 18/01/21 Пнд 18:33:36 7220891285
>>722088
ноуп. не игнорится. у юнити много забавных багов с физоном, но для рэйкастов нужен только любой сорт коллайдера.
Аноним 18/01/21 Пнд 18:38:37 7220921286
>>722089
>>722088
сорт коллайдера + ригидбади
в character cotnroller есть и то и другое
Аноним 18/01/21 Пнд 19:47:53 7221141287
Нужно ли использовать Sprite Atlas, если я уже загрузил один большой SpriteSheet и нарезал его через Sprite Editor? Это получится одно и то же?
Аноним 18/01/21 Пнд 21:26:09 7221371288
Вопрос такой, как запилить инверсию движений мыши в определенный момент игры?
Аноним 19/01/21 Втр 01:29:16 7221891289
>>722137
Орбитальная камера? Или прямо курсор в обратном направлении от центра экрана двигать?
Если камера - просто умножай на -1 одну из осей там, где ты эту камеру крутишь.
Если курсор - если курсор системный, то не получится/будет сложно это сделать.
Если курсор в виде управляемого спрайта, а системный скрыт - аналогично камере.
Аноним 19/01/21 Втр 01:44:16 7221921290
Годится ли такой способ плавного увеличения какого то значения?:
Код в update:
obj.val = Math.Lerp(obj.val, newVal, Time.deltaTime * 2).
Вроде по такому способу obj.val никогда не достигнет newVal. И длится будет не две секунды , а больше (или меньше, хз)
Аноним 19/01/21 Втр 02:31:26 7221951291
Математики, нужна ваша помощь. Допустим число 367 это 0% а 1567 это 100%. Как узнать, какой тогда процент составляет число 1243? Мне бы формулу, или название математической функции в Юнити, если таковая имеется.
Аноним 19/01/21 Втр 02:46:05 7221961292
Аноним 19/01/21 Втр 03:06:20 7221971293
вопрос. есть где почитать про перфоманс в самом эдиторе? много всякого говна работает в сбилженных проектах быстрей чем в эдиторе. но иногда надо писать код для самого эдитора и вот тут то приходится городить всякий пиздец.
Аноним 19/01/21 Втр 03:09:40 7221981294
Аноним 19/01/21 Втр 08:07:13 7222101295
image.png 5Кб, 300x86
300x86
Что сейчас актуальнее: арм7 или арм64?
Может ли арм64 в режиме совместимости запускать арм7
Какиие калки тыкать?
Аноним 19/01/21 Втр 08:19:36 7222141296
Аноним 19/01/21 Втр 10:43:04 7222361297
Скажите, есть ли готовая функция, чтобы реализоваться такое:
Значение x надо поменять с 1 до 5 за 2 секунды. Однако, если x уже равен 3, то остается 1 секунда, чтобы достичь 5. Чтобы скорость была постоянной
Аноним 19/01/21 Втр 11:08:54 7222381298
>>722236
зачем тебе готовая функция для арифметики 5го класса?

float x_per_second = (5 - 1) / 2;

private void Update()
{
x += x_per_second * Time.deltaTime;

//ну и тут значение можешь клемпнуть чтоб оно не выходило за нужные значения:

x = Mathf.Clamp(x, 1, 5);

}
Аноним 19/01/21 Втр 11:26:47 7222411299
>>722238
Спасибо, сохранил
Аноним 19/01/21 Втр 12:41:33 7222571300
image.png 23Кб, 432x400
432x400
Не жестко ли вот так в каждом кадре присваивать параметры?
Аноним 19/01/21 Втр 13:05:14 7222621301
Аноним 19/01/21 Втр 13:15:48 7222631302
Аноним 19/01/21 Втр 14:47:08 7222971303
>>722257
Нет. Жёстко создавать динамические переменные.
Аноним 19/01/21 Втр 16:25:15 7223191304
>>722297
>Жёстко создавать динамические переменные.
Можно немного об этом? Я нуб и мне все интересно.
Аноним 19/01/21 Втр 16:26:42 7223211305
>>722319
upd точнее, интересно, какое это имеет отношение к тому коду на скрине
Аноним 19/01/21 Втр 17:08:21 7223291306
>>722321
Ну если в апдейте создавать переменные будет чаще вызываться gc, что будет давать фризы.
Аноним 19/01/21 Втр 19:41:40 7223821307
Аноним 19/01/21 Втр 21:33:13 7224041308
>>722189
Можешь, пожалуйста, расписать подробнее? Просто я не для себя спрашиваю, пилим с товарищем игру и он не знает как инверсию мыши сделать. Сам я вообще в кодерстве не шарю.
Суть такова:
В определенный момент включается мини-игра: на экране появляется картинка и на ней рандомно выскакивают спрайты, на которые надо нажимать. Стандартный курсор меняется на спрайт и надо на время этой мини-игры инвертировать мышь. По завершении мини-игры (кончилось время) мышь должна опять стандартно работать.

Если можно - подробно начиная со смены стандартного курсора на спрайт и заканчивая обратной сменой.
Аноним 19/01/21 Втр 21:33:31 7224051309
>>722382
Смотря для какого девайса. На пеке это будет незаметно, а вот на мобиле легко, если у тебя много таких мест.
Аноним 19/01/21 Втр 22:26:45 7224491310
>>722404
ебать инверсию не может сделать. дельту мыши по нужной оси отрицательной сделать не может лол. ктож поверит что твой друг тупой такой. пускай он сюда приходит и картинками объясняет свои проблемы. у тебя явно с этим проблемы.
Аноним 20/01/21 Срд 01:51:12 7225441311
>>722449
Ты раздел с /b/ перепутал, видимо. Пиздуй туда лолируй.
Аноним 20/01/21 Срд 02:13:37 7225451312
>>722210
>Что сейчас актуальнее
А какая разница? Делаешь два apk, заливаешь в гугл. Гугл сам устанавливает клиенту тот apk, который совместим с его устройством. Если зальёшь только одну версию - люди будут находить твоё приложение, но им будет отображаться "это приложение не совместимо, бла-бла-бла, идите нахрен". Если не будешь заливать в гугл, просто выкладываешь два apk с пометками "это для такой-то платформы, это для такой-то", так обычно на 4PDA делают.
Аноним 20/01/21 Срд 02:24:58 7225471313
>>722297
>динамические переменные
>>722329
>создавать переменные будет чаще вызываться gc
Так динамические структуры (экземпляры классов, например) или просто переменные?

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

Правда, это всё в отрыве от языка, я не знаю, как это устроено в C#. Но судя по туториалам - не рекомендуется создавать экземпляры объектов, а вот переменные - сколько угодно, т.е. как я и говорю, затратно только выделять память в куче, а место на стеке функция в любом случае занимает.
Аноним 20/01/21 Срд 02:44:53 7225501314
image.png 156Кб, 1087x751
1087x751
>>722544
есть адекватные проблемы которые требуют какого-то базиса знаний, а есть всякая хуйня мелочная. над этой проблемой можно только посмеяться в том виде в котором она была обьяснена.
Аноним 20/01/21 Срд 04:19:33 7225561315
bitmap.png 66Кб, 800x600
800x600
out.webm 188Кб, 800x600, 00:00:09
800x600
>>722404
>Можешь, пожалуйста, расписать подробнее?
Лучше визуально покажу, а то вдруг словами не поймёшь.

>пилим с товарищем игру и он не знает как инверсию мыши сделать
У меня для тебя плохие новости... Удачи приятно провести время.
Аноним 20/01/21 Срд 06:12:11 7225671316
Аноним 20/01/21 Срд 07:09:02 7225691317
Screenshot 2021[...].png 226Кб, 1754x1486
1754x1486
>>722405
вот, мужик, специально для тебя сделал профилирование на андроиде 4х-летней давности. никакого мусора локальные переменные не создают. есть разница между тем что незаметно и тем что ничего нет
Аноним 20/01/21 Срд 07:36:28 7225711318
>>722569
>локальные переменные
Что ты подразумеваешь под "локальными переменными"? Переменные простых типов int, float, bool? А попробуй теперь создавать в цикле какие-нибудь спрайты. Ссылка на спрайт будет внутри локальной переменной и потеряется после выхода из функции, но место под спрайт будет выделяться в куче. Если ссылку потерять, т.е. не высвободить память кучи или не передать ссылку в другое место - да, сборщик мусора посчитает эту сущность мусором и удалит при первой возможности.

Я думаю, вы просто не сошлись в понятиях.
Аноним 20/01/21 Срд 07:44:28 7225721319
>>722382
>оказывается это откровенное и безобразное враньё
Там чувак тестил только Vector3, тот хранит в себе только три float - x, y, z. Почему бы не протестировать на более сложных "переменных"?
Аноним 20/01/21 Срд 07:52:29 7225731320
>>722571
>>722572
там есть ссылка на код. скачайте, протестируйте, выложите результаты

>>722405
вот этот хрен сказал что пример из статьи на мобильных устройствах будет работать иначе. я доказал что он не прав и что мусор генерироваться не будет
Аноним 20/01/21 Срд 08:01:59 7225741321
202008121338281.jpg 150Кб, 1024x576
1024x576
Сап двач, подскажите нубяре как реализовать сохранение новелки на Юнити в любой момент и многослотовость? Сначала подумал префабами это делать, но тогда надо индексировать каждый фон и что самое главное каждую реплику, что превратится в какой-то пиздец.
Гугл так же ответов не дал на тему новелл.

Алсо, пилю всë это дело на fungus, но у него сохранения погано реализованы. Думаю даже мб в ренпай на время перекатиться раз такая хуйня.
Аноним 20/01/21 Срд 08:07:36 7225761322
>>722574
да что у людей за проблемы то. то мышку инверсировать не могут, то сохранить своё добро.
какие нахуй префабы? ты что сохранять то собрался?
Аноним 20/01/21 Срд 08:27:52 7225781323
>>722576
Сохранять собрался текущее расположение в диалогов системе, в том числе фон на заднем фоне, спрайт говорящего персонажа в текущий момент и все в этом ключе.
Аноним 20/01/21 Срд 08:28:44 7225791324
>>722578
Именно систему сохранения для юзера.
Аноним 20/01/21 Срд 08:34:53 7225811325
P6.png 702Кб, 1680x1010
1680x1010
>>722578
а нахуя тебе всё сохранять если эту информацию должна содержать сама сцена? как ты там сцены собрался сохранять твое дело. я бы сохранял в скриптабл обжектах и пользовался юнити для организации процесса.
собери всё че те надо для воссоздания сцены, сохрани в ФАЙЛИК. а когда придет время ты такой читаешь файлик и у тебя уже всё что надо там есть чтобы воссоздать предыдущее состояние!
Аноним 20/01/21 Срд 09:11:23 7225901326
>>722581
помню во времена моей юности работали над проектом (не на юнити) и там чуваки чтоб сильно мозгами не шевелить делали на хард просто дамп оперативы. занимало тонну времени и места и программисты говорили: "да ладно, потом сделаем как надо"
Аноним 20/01/21 Срд 09:17:25 7225911327
P25.png 1726Кб, 1678x875
1678x875
>>722590
лол. ну, работало же наверняка! сейчас вот у всех ссд стоят, даже лучше работать будет!
Аноним 20/01/21 Срд 09:20:56 7225921328
>>722574
>>722578
Ты упоролся.

Новелла:
1. [анон1]: смотрите, я сделал новеллу! [пик: скриншот новеллы]
2. [анон2]: это говно, переделывай [пик: тёмыч]
3. [анон3]: ха-ха, я такое за день делал [пик: мэдскиллз из пейнта]
4. [анон4]: сюжет вялый, я не возбудился [пик: вялый огурец]
5. [анон5]: а мне понравилось [пик: me gusta]
6. [анон2]: говноед! [пик: кот смотрит с отвращением]
7. [анон1]: неужели никому не понравилось? [пик: грустная аниметян]

Сейв.txt:
4

Что движок делает во время загрузки:
- открывает сейв.тхт;
- считывает число N (у нас 4);
- открывает N-ю страницу новеллы (4-ю);
- отображает на экране страницу (у нас будет [анон4]: сюжет вялый, я не возбудился [пик: вялый огурец]).

Зачем что-то усложнять? Поколение раздутого ПО с пелёнок учится раздувать ПО...
Аноним 20/01/21 Срд 09:26:39 7225931329
>>722590
Как они потом грузили-то? Или это было во времена DOS, 640 КБ и реального режима?

>>722591
Готов пожертвовать 32+ ГБ SSD на один сейв? Ах, ну да, это всего лишь треть от объёма сохраняющейся игры...
Аноним 20/01/21 Срд 09:30:41 7225951330
>>722581
- Как написать хелло ворлд?
- Тащемта вопросов нет Берёшь и пишешь через обращение к консоли.

>>722592
Спасибо, это уже более внятный ответ. Я так и хотел делать изначально, но по этому принципу есть следующие проблемы:
- Ну загрузишь и считаешь ты реплику номер 4, а отрисовывать фон, который должон быть в этой сцене + музыка и ранее появившиеся спрайты ты как собрался?
- Если через сцены делать и сейвпоинтами, как писал анон из предыдущего ответа то это будет работать, ты сможешь сохраняться в любой момент но загружаться только с определённой сцены, но не реплики. Например в твоём случае я бы сохранился на 4 реплики, но при загрузке начал бы с 1.
Аноним 20/01/21 Срд 09:33:52 7225961331
>>722595
Ещё кстати удачи не запутаться в индексах, если будет много ветвления.
Аноним 20/01/21 Срд 09:36:09 7225971332
P16.png 797Кб, 1680x1010
1680x1010
>>722595
кекс у тебя каждый твой вопрос имеет в себе ответ. резиновую уточку на стол поставь

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

>>722596
если у тебя есть ветвления то сохраняй помимо номера сцены номер ветки лол. будет у тебя не одно число а два.
Аноним 20/01/21 Срд 09:53:28 7225991333
>>722593
>Как они потом грузили-то?

честно говоря понятия не имею, как-то грузили. я только-только начинал прогать и моя работа была тестировать. даже что за игра уже вспомнить не могу, на сколько мне известно она потонула. приблизительно 2004-2005й год. надо было на 4х-ногом роботе-пауке по лесам ходить и расстреливать разных мобов. основной фишкой было то что юзали ik и ноги он ставил как надо
Аноним 20/01/21 Срд 13:47:55 7226291334
image.png 18Кб, 965x196
965x196
image.png 32Кб, 1599x152
1599x152
>>722569
Вот, мужик, тебе мужицкий ответ
Аноним 20/01/21 Срд 14:04:07 7226301335
>>722629
дык ты списки новые создаёшь в апдейте, понятное дело будет мусор, он и не в апдейте будет. изначально там человек спрашивал плохо ли присваивать переменные в апдейте, что довольно странный вопрос, потом речь зашла о том что создавать их условно дорого. я скинул пример где чел ссылается на уже существующие данные генерируя при этом на него ссылки и рассказывает что мусора при этом никакого нет. я скинул подтверждение этому факту
Аноним 20/01/21 Срд 14:15:56 7226311336
Привет, анончики, недавно пересек планку в 100к зеленых и в связи с этим такой вопросик возник: как юнитеки узнают о прибыльности игры, если у меня нет компании и, исходя из этого, капитализации? А монетизация через гугл и донаты. Не хочется делиться заработанным потом с нахлебниками.
Аноним 20/01/21 Срд 14:28:55 7226331337
>>722630
Я создаю переменные, не важно списки или нет. В общем я думаю мы поняли друг друга и тому чуваку тоже теперь понятно, что можно делать, а что нужно отслеживать.
Аноним 20/01/21 Срд 21:36:15 7226961338
>>722581
>>722597
Это шейдерграф? Как тебе работать с ним? Многие плюются от него. Вот встала необходимость писать шейдеры, и сейчас ищу инструмент. Кодом, шейдерграфом или сторонним ассетом (Amplify ). Подскажи, каким путем лучше, если шаришь
Аноним 20/01/21 Срд 21:58:53 7227021339
Анон, подскажи, я миддл джавист, хочу как сайдпроджект поделать игру, может и перекатиться в гейдев, но суть не в этом.
Шарп вроде похож на жаву, хочу подготовить почву, смотрю в чем различия между языками, мне интересно, на сколько глубокого погружения в кодинг требует юнити? Стоит для этого сначала поснашать учебники по шарпу или можно уже прыгать?
Аноним 20/01/21 Срд 22:29:16 7227081340
>>722702
>можно уже прыгать?
Можно. Для начала хватит и школьных знаний по программированию.
Аноним 20/01/21 Срд 23:12:20 7227131341
привет всем.
делаю игру по вот этому туториалу:
https://noobtuts.com/unity/2d-pong-game
и столкнулся с проблемой. в туториале есть шаг когда надо написать скрипт, описывающий движение ракеток. проблема в том что при редактировании скрипта в visual studio те методы и объекты, которые указаны в уроке как будто не видны в visual studio при этом в начале скрипта прописано using UnityEngine;
при попытке написать код как он выглядит в уроке и запустить проект в юнити с таким скриптом приводит к ошибке компилятора.
где я проебался?
Аноним 20/01/21 Срд 23:32:07 7227211342
>>722713
так, кажется отбой.
уже нашел решение. надо было просто выбрать vs как внешний редактор кода в настройках юнити.
Аноним 22/01/21 Птн 01:04:10 7229211343
Снимок экрана 2[...].png 155Кб, 580x1464
580x1464
ПАМАГИТЕ
Аноним 22/01/21 Птн 03:53:37 7229261344
image.png 12Кб, 586x390
586x390
nnnn.mp4 4374Кб, 1280x720, 00:00:26
1280x720
Добавил немного живости:
Куки на фонарь.
Плавное перемещение луча фонаря.
Луч фонаря теперь немного дрожит, но, не как у алкаша, а плавно так. Это заметно если не двигаться.
Ранее позиция и вращение для фонаря напрямую брались у камеры, так что не было видно теней. Все было каким-то 2D-шным. Сдвинул вниз и немного влево, примерно в то место, где обычно люди и держат фонарь.
Тени появились, но они были полностью черные. То, что находилось в тени, не было видимым. Поэтому добавил несколько источников света вокруг персонажа, которые включаются с фонарем.
Также фонарь теперь с фокусировкой - его rotation направлен именно в ту точку, куда смотрит камера.
Дрожание при беге добавил. Сразу немного драйва и шухера добавилось.
Аноним 22/01/21 Птн 06:10:36 7229281345
>>722926
Если выключить тень - то вообще не понятно что он снизу, но это мне так кажется, вообще молодец.
обосрался от первого появления черного мужика
Аноним 22/01/21 Птн 23:18:31 7231411346
Анон, посоветуй книгу для вката в математику не ради жидовки, честно. Я просто понимаю, что я нихуя не могу без неё сделать и хочу не просто копировать с гугла, а что-то допереть сам. Или может там хороший курс\канал на ютубе.
Аноним 22/01/21 Птн 23:47:37 7231701347
Аноним 22/01/21 Птн 23:55:00 7231781348
>>723141
>книгу для вката в математику
Не нужна, только зря время потеряешь
Аноним 23/01/21 Суб 22:54:03 7233901349
Тут в треде вообще помогают?
Аноним 24/01/21 Вск 06:39:06 7234321350
>>723390
Давай помогу, в чем вопрос?
Аноним 24/01/21 Вск 09:29:26 7234341351
>>722926
Я бы хедбоб открутил немного, а то больно трясет
Аноним 24/01/21 Вск 19:20:11 7235041352
>>722595
>отрисовывать фон, который должон быть в этой сцене + музыка и ранее появившиеся спрайты
Тогда можно сделать так:
- если новелла кинетическая (без развилок):
- - считываем номер страницы X;
- - начинаем со страницы 1 и до X "мысленно пролистываем", т.е. проходим по массиву страниц со всей информацией;
- - таким образом определяем, какой должен быть фон и какая фоновая музыка должна играть;
- - всё это запускаем и отображаем.
- второй вариант:
- - как в предыдущем, но не от 1 до X, а от X в обратном порядке до тех пор, пока не найдём всю нужную информацию.
- третий вариант:
- - каждая страница имеет ссылку на бекграунд и музыку, и на мне нужно искать, что нужно переключить.
- если новелла с развилками:
- - в сейв кроме страницы сохраняем все сделанные игроком выборы;
- - используем первый или второй метод с учётом развилок.
- или:
- - в сейве по-прежнему храним развилки, загружаем их (на всякий случай, вдруг понадобится);
- - но следуя третьему варианту, нам достаточно считать страницу со всей необходимой информацией.

>загружаться только с определённой сцены, но не реплики
Имхо, в текстовых/текстографических играх одна сцена = одна страница с текстом и картинкой.
Либо, нужно хранить два числа - номер сцены и номер реплики.

А вообще ты изобретаешь колесо и используешь неподходящий инструмент. Нужны только новеллы - бери ренпи.
Аноним 24/01/21 Вск 19:38:02 7235111353
>>722631
>как юнитеки узнают о прибыльности
А как налоговая узнаёт о том, что ты не плотиш нологи?
Так и тут. На тебе лежит ответственность уведомить о наступлении оговоренных в договоре условий и выполнять обязательства договора, а если сознательно молчишь и нарушаешь - то когда они узнают, тебе будет а-та-та, и вряд ли это тебе понравится.
Аноним 24/01/21 Вск 19:52:10 7235131354
Подскажите, как лучше писать поля классов:
>public float playerSpeed = 2.0f;
или
>[SerializeField]
>float playerSpeed = 2.0f;
Я слышал, что [SerializeField] позволяет оставить поле класса приватным, но при этом отобразить в редакторе сцен. А public не рекомендуют объявлять там, где не нужны собственно публичные поля. Меня просто [SerializeField] чисто визуально бесит, бросается в глаза и занимает лишнюю строчку, и я привык что есть только public/published/protected/private (Delphi/FPC).


>>723390
Просто тред старый и о нём знают лишь избранные, кто умеет пользоваться каталогом доски.
Аноним 24/01/21 Вск 23:44:38 7235741355
>>723513
А что тебе мешает написать
[SerializeField] float playerSpeed = 2.0f;
?

Я лично всегда сериалайз использую, если нужно в инспекторе что-то настраивать\дебажить, но в целом если проект небольшой, то можно и паблики юзать
но лучше нет
Аноним 25/01/21 Пнд 00:46:36 7235831356
Установил Bolt, какие подводные он теперь будет во всех проектах или только в том, в который я его ставил? Просто процесс установки и настройки больно уж долгий, не хочется в каждый новый проектик ставить его "с нуля"...
Аноним 25/01/21 Пнд 00:49:34 7235841357
>>723574
>А что тебе мешает написать
Я пробовал, так оно ещё хуже выглядит. У этой метки могут быть параметры (Range(), например), она будет ещё длиннее становиться.
Аноним 25/01/21 Пнд 02:19:21 7235981358
изображение.png 19Кб, 279x332
279x332
>>723583
>Установил Bolt
Ещё вопрос: вот эти "ассеты" болта не попадут в билд? Это же документация на сам болт. Как юнити определяет, какие "ассеты" должны попасть в билд, а какие нет? Нужно ли вручную выпиливать такие лишние файлы?
Аноним 25/01/21 Пнд 05:11:03 7236091359
image.png 558Кб, 1157x672
1157x672
Пацаны, такую башку покрутить не получится? Хотел сделать типа анимации оглядывания, но изменения rotation в редакторе не дает никакого эффекта, поэтому программно ее еще не изменял.
Это я бесплатный ассет юзаю, 3d проекта модели не имеется
Аноним 25/01/21 Пнд 05:27:52 7236111360
изображение.png 1Кб, 176x23
176x23
>>723609
У этой модели кости есть? Посмотри, нет ли костей в пикриле. Крутить нужно кости, а не меш.
Аноним 25/01/21 Пнд 06:03:23 7236171361
>>723513
Как альтернатива можешь писать:
[SerializeField] private float m_playerSpeed = 2.0f; в одну строку, но вообще рекомендуется использовать private SerializeField только для тех, которые ты будешь через инспектор настраивать. А вот я больше 5 лет использовал паблики.
Вообще вся это еботня нужна для читаемости и предсказуемости кода, если ты 1 работаешь то клади хуй и делай как ТЕБЕ удобно.

Ах.. >>723513 ровно тоже самое советует

>>723584
Ты про несколько аттрибутов?
Сортируй код, пиши сначала переменные с аттрибутами, а после них уже без, такой разделенный код нормально читается глазом
Аноним 25/01/21 Пнд 06:34:48 7236181362
>>723617
>m_
Что этот префикс значит?
Аноним 25/01/21 Пнд 08:09:15 7236201363
Аноним 25/01/21 Пнд 08:34:51 7236211364
Аноним 25/01/21 Пнд 11:30:56 7236501365
>>723598
То, что используется в игре - попадет в билд, доккументы, демо сцены, неюзаные спрайты - не попдут
Аноним 25/01/21 Пнд 11:31:49 7236511366
>>723609
Можно
Но проще будет в mixamo анимацию idle для зомби взять, или анимацию оглядывания
Аноним 25/01/21 Пнд 14:46:56 7236881367
>>723617
>рекомендуется использовать private SerializeField только для тех, которые ты будешь через инспектор настраивать
Так а я о чём? Это же самая полезная фича юнити (как и любого аналогичного движка) - ты пишешь скрипт, выставляешь наружу какие-то свойства, затем накидываешь один скрипт на несколько разных объектов и выставляешь им разные свойства через редактор сцен. С другими инструментами пришлось бы писать отдельный файлик с настройками и, если это велосипед, загружать его вручную, или давать каждому классу метод "loadConfig()" и всё в таком духе. А тут эта фича из коробки. Только синтаксис как-то не очень выглядит... Ну, я не разбираюсь в шарпе, возможно такие [директивы] - это норма.

>делай как ТЕБЕ удобно
Это понятно, просто не хотелось бы словить потом какие-то проблемы с производительностью или типа того.
Аноним 25/01/21 Пнд 14:50:19 7236891368
>>701992
Инкскейп может создавать файлы шрифтов. Так что придется обводитьв Инкскейп
Аноним 25/01/21 Пнд 14:51:13 7236901369
Безымянный.png 39Кб, 554x399
554x399
>>723650
Понятно. Хотя не совсем, если я считываю ассет (допустим, txt) из кода - это считается за "используется в игре"?

Заметил вчера проблему, но источник проблемы обнаружил только что. Почему окошко Variables загружает одно ядро процессора на 100% (при том на 100% системными вызовами) и на 60% 3D-рендерер видеокарты? Если это окошко закрыть или переключиться на соседнюю вкладку - нагрузка падает до почти 0%. Сцена пустая. Вообще, окошко Variables - это инструмент Bolt'а, или встроенный? Я просто не видел его раньше, Bolt поставил только вчера. Вроде штука полезная, но с такой нагрузкой юзать не хочу.
Аноним 25/01/21 Пнд 14:56:05 7236921370
>>723689
>Инкскейп может создавать файлы шрифтов
Через какой-то плагин? Никогда не видел в нём такой функции.

мимопроходил
Аноним 25/01/21 Пнд 15:58:06 7237051371
>>723690
>окошко Variables загружает одно ядро процессора на 100%
Окна Graph и Gragh Inspector тоже грузят ядро процессора на 100%. Походу это проблема конкретно Bolt. Может можно как-то оптимизировать? Или я что-то неправильно сделал? Работать с юнити это не мешает, лагов нет, но меня напрягает, что что-то впустую гоняет процессор почти на пределе. Наверняка там просто нет фиксированной частоты отрисовки и окна рисуются максимальное число кадров в секунду или что-то в этом роде...
Аноним 25/01/21 Пнд 18:50:29 7237351372
mA8DGz1Kce.gif 5591Кб, 627x512
627x512
>>723651
Прикольно. целая куча бесплатных анимаций
Аноним 25/01/21 Пнд 22:02:58 7237591373
>>723735
Лучше б какой-нибудь психологический хоррор замутил, чем негров в тёмных комнатах прятать.
Аноним 26/01/21 Втр 01:00:45 7237921374
flow.png 96Кб, 876x503
876x503
state.png 86Кб, 944x626
944x626
Интересный всё-таки Bolt. Хотя многого нехватает, например:
- не смог найти inc()/dec() (или ++/--), прибавить единичку сложно;
- многим блокам хочется ввести значение в поле, но они просят блок;
- поиск по блокам довольно медленный, списки блоков не кэшируются.
Иногда щупаю Automate для Android, там визуальный кодинг получше.
Аноним 26/01/21 Втр 01:14:25 7237971375
add.png 27Кб, 494x294
494x294
>>723792
>многим блокам хочется ввести значение в поле, но они просят блок
Вот это больше всего смущает.

...бла-бла-бла...

...сейчас проверил - оказывается поле ввода у Add есть, но оно скрывается, если есть связь.
А у блока типа Equal не может быть поля, т.к. он просит ссылку на объект (зелёная точка).

Короч чёт я поторопился с выводами, спать пора...
Аноним 26/01/21 Втр 01:37:15 7238021376
>>722921
>П М Г ТЕ
Получилось пофиксить? Может, у тебя оперативной памяти на компе мало (кэш шрифтов повредился)?
Аноним 26/01/21 Втр 05:49:08 7238161377
>>723735
Ой-вей, монстр потерялся.
Аноним 26/01/21 Втр 10:55:11 7238301378
>>723802
16 должно хватать. Пару раз такая хрень была.
Аноним 26/01/21 Втр 17:09:43 7238771379
Сап, убрал превьюшку юнити перед запуском игры и залил в плеймаркет, будут ли какие либо последствия? Больше 100 скачиваний в месяц не будет, за игру скорее всего даже копейку не получу
Аноним 26/01/21 Втр 18:38:03 7238911380
Как в этом ваше юнити запилить анимацю например ходьбы, только не в блядском аниматоре????
Аноним 26/01/21 Втр 19:32:13 7239041381
Аноним 27/01/21 Срд 12:25:04 7239711382
>>723877
Эта привилегия доступна только для тех, кто пользуется платной версией, бесплатная (до 100к зелёных в год) показывает заставОчку. Хз, вряд-ли при таких числах скачиваний у тебя проблемы будут, если появятся значительные числа могут на тебя что-то вроде страйка кинуть, так что лучше не балуйся
Аноним 27/01/21 Срд 13:31:29 7239801383
>>723877
Я ломаю, у меня 1к загрузок в день и 3к прибыли. За плюс платить не собираюсь.
Аноним 28/01/21 Чтв 00:05:36 7241181384
image.png 87Кб, 547x880
547x880
FOEFlN5uos.gif 222Кб, 403x464
403x464
image.png 21Кб, 570x211
570x211
хэлп!
Где я тут проебался?
Эх, хотелось бы пойти легким путем, но похоже придется засесть за изучении анимации, хотя я хочу только один персонаж надо по простому анимировать
Аноним 28/01/21 Чтв 00:23:57 7241191385
>>724118
Отбой, эта модель кривая была видимо. Скачал другую, проделал все то же самое - работает.
Это я решил покачать модели без встроенных анимаций, но с готовым аватаром, и поучиться назначять им сторонние анимации
Аноним 28/01/21 Чтв 14:33:29 7241751386
>>711523
Юнити работает на .net framework?
Аноним 28/01/21 Чтв 14:58:13 7241841387
Аноним 28/01/21 Чтв 21:10:59 7242281388
>>724175
На чём бы она ни работала под виндой, в кроссплатформенном варианте будет Mono, альтернатив вроде нет.
Аноним 29/01/21 Птн 06:42:49 7242691389
>>724228
IL2CPP альтернатива, не весь функционал шарпов поддержиает, например в рефлексию не умеет
Аноним 01/02/21 Пнд 15:28:40 7248741390
Когда тред перекатывать будете?
Аноним 01/02/21 Пнд 18:08:24 7250241391
>>724269
Зато декомпилить сильно сложнее, а рекфексия в геймдеве не нужна
Аноним 01/02/21 Пнд 19:49:08 7251571392
>>724269
Умеет уже. Инфа 100%.
Аноним 01/02/21 Пнд 22:58:56 7252841393
Здравствуйте. Я совсем новичек во всем этом. Подскажите пожалуйста куда копать в моем вопросе. А именно:

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

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

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

Ебать пот какой-то, подскажите.

Кста, че вы свой тред не перекатываете, еле нашел его.
Аноним 01/02/21 Пнд 23:27:23 7252981394
>>725284
Короче забейте, я понял что анимировать персонажа в изометрии это хуевая идея. Теперь встал вопрос как поместить 3д персонажа в изометрический мир
Аноним 02/02/21 Втр 15:10:51 7254391395
кто-нибудь долбится в UI Toolkit? мне нужно генерировать список и если в старом ui для этого нужно было делать префаб, то в то в новом я не понимаю как указать шаблон из которого элементы этого списка буду генерироваться. нужна помощь
Аноним 02/02/21 Втр 15:24:46 7254441396
>>725439
UI Toolkit это последняя дефолтная версия юая в юнити?
Если да - абсолютно точно так же, создаешь префаб и делаешь transform.setParent(yourOwner);
Если хочешь указать размер или позицию делаешь так:
(transform as RectTransform).deltaSize или (transform as RectTransform).anchorPosition

>>725298
У камеры сделай ортографический прожектор и выставь правильно углы
Аноним 02/02/21 Втр 16:13:18 7254571397
image.png 9Кб, 407x161
407x161
Сап, харкач. Это тот анон, что заёбывал вас сейвами в новелке в этом треде парой десятков постами назад. Я почти допилил весь механ, но осталось одно дело, с которым я на удивление ебусь слишком долго.

Имеется:
- UI Префаб.
- В этом префаба UI панелька.
- На этой панельке text.
- В зависимости от сценария текст на панельке меняется и появляется в точке курсора при наведении на определённую область.

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

И ещё. Пытаюсь рамку красивее сделать по той же схеме, добавив чёрные края, чтобы и они менялись в зависимости от размеров серой панельки (которая в свою очередь меняется от размеров текста внутри).
Но че-то получается какая-то ебала и либо черная панелька застилает серую, либо серая панелька застилает чёрную. И в том и в ином случае пропадают края. Реализаю это кстати через content size и layout group.

Аноним 02/02/21 Втр 16:21:19 7254661398
>>725444
нет это не последняя дефолтная версия юая в юнити. это то что у них давно в разработке на замену старого ui и с недавних пор можно запускать в рантайме. никаких, кроме родительского, gameobject там нет. по факту это flexbox css
Аноним 02/02/21 Втр 17:03:49 7254881399
image.png 5Кб, 145x153
145x153
Господа, вопрос уровня б, но пощадите и поясните дегенерату-ньюфагу за эту хуйню. Юнити 2019.4 лтс, если что.
Вот на пикреле у меня настройки графики чистого проекта. Ультры выставлены в дефолт, но когда я жму плеймод - у меня автоматом выставляются минималки, что бы я не делал. Это так задумано?
Пытался гуглить и нашёл только такой же вопрос на вопрос-ответе юнити, но без ответа.
Аноним 02/02/21 Втр 20:48:54 7255261400
Как сделать так, чтобы число, выводимое в UI разделялось автоматически точками?
Типа не
100000
А
100.000

Гугл не помог. /gd/ратья выручайте.

И да, желательно чтоб с любым числом это делалось корректно, так как число будет возрастать от 0 до миллиона.
Аноним 02/02/21 Втр 20:51:21 7255271401
P15.png 4578Кб, 3339x937
3339x937
P25.png 1726Кб, 1678x875
1678x875
out123.webm 34279Кб, 1140x950, 00:01:05
1140x950
забыл про тред юнити.

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

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

кодом проще. в начале сложно, много непонятных магических слов, какая-то неочевидная хуйня кругом, нет нормальной подсветки синтаксиса, документация как какой-то пазл разбросанный по всему интернету и всё такое. но лучше пользоваться им. к тому-же у тебя появится могущество использовать вычислительные шейдоры.
Аноним 02/02/21 Втр 20:55:53 7255281402
>>725526
uiText.text = "{0:F4}" + val;

val - переменная с нужным тебе числом, F4 - 4 точки после запятой, F3 - три, ну ты понял
Аноним 02/02/21 Втр 21:04:53 7255291403
Аноним 03/02/21 Срд 16:09:07 7257111404
есть какой нибудь быстрый курс по unity c#?
Аноним 03/02/21 Срд 19:41:36 7257521405
А чем в таком методе обусловлено использование параметра nameState? Это просто для удобства?

public enum MyState
{
None, Dyldo, BlackCock, Stop
}
public MyState _State;

public void SetSexState(MyState nameState)
{
switch (_State)
{
case MyState.Dyldo:
print("Im lonely");
break;
case MyState.BlackCock:
print("Your cock very cool");
break;
case MyState.Stop:
print("Stop");
break;
default:
print("default");
break;
}
}
Аноним 03/02/21 Срд 19:44:39 7257531406
>>725752
этот параметр не используется в функции и обусловливается пиздоглазием того кто его написал.
Аноним 03/02/21 Срд 20:04:53 7257581407
>>725753
А если сделать вот так, какая практическая польза?
public void SetSexState(MyState nameState)
{
switch (nameState)
{
.......
}
}
Аноним 03/02/21 Срд 20:05:26 7257591408
>>725758
Когда public MyState _State; не используется.
Аноним 03/02/21 Срд 20:13:34 7257631409
>>725759
>Когда public MyState _State; не используется
В параметре функции не используется, но используется как аргумент при её вызове.
Аноним 03/02/21 Срд 20:52:57 7257741410
1496162929646.jpg 221Кб, 1081x1504
1081x1504
Вопрос на миллиард долларов кто ответит у того игра выйдет в топ магазина

Какую настройку камеры юзать- с галочкой Physical Camera или без?
Какая вообще разница? Влияет ли это на что-то?

Всем заранее спасибо, чего кстати не перекатываетесь?
Аноним 03/02/21 Срд 21:36:04 7257871411
Аноним 03/02/21 Срд 21:52:46 7257881412
>>725787
>This is useful for importing camera information from 3D modeling applications that also mimic real-world cameras
Что это всё значит? Мне её в играх использовать или нет?
Аноним 03/02/21 Срд 21:56:42 7257891413
>>725788
если тебе нужны фичи перечисленные ниже то да. если нет то нет.
Аноним 03/02/21 Срд 21:59:31 7257911414
>>725789
Я вообще почему спрашиваю- есть мнение, что использование именно физической камеры помогает сохранять на всех девайсах одинаковые аспект экрана, т.е. на всех устройствах будет одинаковая ширина изображения.
Аноним 03/02/21 Срд 22:08:48 7257991415
>>725791
а хуй знает. у меня нет ответа на этот вопрос. всегда можно сказать "у нас только такое разрешение" и ограничить пространство камеры добавив черные полосы если это прямо совсем суперважно. способов контролировать аспект экрана много и без этого. если надо посмотреть оба варианта то пиши с расчетом что будут использоваться оба. можно потом даже в настройки добавить.
Аноним 03/02/21 Срд 22:50:57 7258291416
У вас было такое, что простую задачу (или просто не шибко сложную), не получается решить? Лезут какие-то странные, неадекватные и тяжелые решения, и вроде как-то подсознательно чувствуешь, что есть решение легче, а это какая-то хуйня. А потом спустя пару дней вуаля рожаешь неплохое решение и переписываешь то говно.
Хотя наверное это только со мной, нубом.
Что это было, мозг устал? Захавал много сладкого и мысли стали тягучими и тупыми?
Аноним 03/02/21 Срд 23:14:33 7258411417
U - RVO9.webm 10524Кб, 1680x1050, 00:00:11
1680x1050
>>725829
лол да обычное дело. чё ты. каждый день такая хуйня если что-то интересное делаю. ближе к вечеру проще перестать думать и переключится на какие-то тривиальные мелкие задачи. коменты там написать, код причесать который ещё не скоро будешь переписывать. некоторые задачи требуют длительной медитации на проблему. я например некоторые сложные задачи требующие творческого подхода с хитрой математикой решаю по многу дней. в течении которых я открываю пэйнт и делаю доску с картинками на которой сам себе объясняю проблему. а когда устаю себе объяснять, то переключаюсь на другие задачи.

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

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

хотя иногда достаточно сменить ненадолго обстановку. мне помогает иногда сесть на краешке ванны, начать окачивать себе ноги из душа тепленькой водой. отвлекает, расслабляет, заставляет вместо монитора как предмета медитации использовать мысли в своей голове.
Аноним 05/02/21 Птн 00:55:29 7259941418
image.png 192Кб, 1015x685
1015x685
утомительное юнити. написать редактор который повторяет функционал стандартного редактора коллайдеров это было уже интересной задачей. но написать чтобы оно ещё скейлилось так-же как коллайдеры это было уже куда более утомительной задачей. три дня. три дня медитации на ебучие трансформации одной хуйни в другую. господи, кто придумал эту хуйню.
Аноним 05/02/21 Птн 10:06:35 7260121419
0270bbdc7d9f1ed[...].jpg 83Кб, 907x707
907x707
>>725841
Я вот кстати еще пол года назад с тобой переписывался, ты как пилишь патфаиндинг хитрый так и продолжаешь это делать? Или это старые записи?
Чем вообще занимаешься, если не секрет? Работаешь где-то или фрилансишь?
Аноним 05/02/21 Птн 18:26:46 7260641420
33.png 176Кб, 1427x605
1427x605
34.png 91Кб, 1067x651
1067x651
35.png 98Кб, 1061x609
1061x609
>>726012
пол года назад как раз по всяким личным причинам я перестал делать всякую активность и теперь сравнительно недавно вот обратно к этому вернулся.
у меня сейчас несколько параллельных проектов, но пассфайндинг наверно единственное что буду показывать. у меня накопилась стопка всяких там интересных пожеланий и идей которые следует реализовать в нём. до этого я таки перелопатил и сделал оптимизон триангуляции и перевёл координаты во время генерации на цельночисельные чтобы ошибки точности float меня больше не доебывали и вообще всячески облагородил проект. теперь вот занялся теми проблемами которые усложняют его применение в реальных проектах с множеством людей. например сделал чтобы ссылка на "зону" везде передавалась как скриптабл обжект, чтобы ничего не зависело от какого-то центрального файлика с зонами который их описывает. сделал во время генерации хранилку множества наборов маркеров, чтобы можно было добавлять во время генерации места с одинаковыми зонами, но разными свойствами. теперь например управлять навмешем через объект может всё что его меняет, а не только специальные зоны. сделал более универсальным код который накладывает зоны по карте и сделал специальный компонент который делает то-же самое для любого обьекта. так как некоторые используют свою процедурную хуйню а нормально на неё накладывать зоны нельзя.

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

надо ещё 3 крупные фичи сделать да наверно останутся только какие-то косметические вещи из того что надо.

ну а видео старое, да. так и не закончил пока работу над избеганием групп. избегание групп есть, но над ним ещё дальше надо работать. сейчас вяло фрилансю, но стараюсь особо не брать какой-то работы. у меня осталась некоторая финансовая подушка, лучше своей хуйней займусь.
Аноним 06/02/21 Суб 00:25:53 7260961421
Перекат пилите.
Аноним 06/02/21 Суб 07:33:48 7261181422
Аноним 06/02/21 Суб 12:47:53 7261331423
>>726096
тут так не принято
Аноним 07/02/21 Вск 12:27:04 7263931424
>>726064
Я знаю, что уже спрашивали это десяток раз тебя, но нахуя это всё нужно?
Ты хочешь юнити не для игр использовать, а для каких-то программ специальных? Хочешь ассет продавать потом? Или хочешь в резюме указать это и потом устроиться куда-нибудь в условный гугл?
Аноним 07/02/21 Вск 21:43:43 7265261425
Ребят привет, начал проходить курс по программированию на юнити. Тот который закреплен в шапке. Кто из местных его пробовал, какого оно?Стоит потраченного времени? Если не стоит тратить время, можете посоветовать что нибудь на ваш взгляд более полезное(книги,ютуб, другие бесплатные курсы?)

За ранее спасибо дорогие анонимы))
Аноним 07/02/21 Вск 23:26:21 7265371426
>>726393
Вполне возможно, что анон для себя это пилит ну и для резюме
По себе знаю, что если только работать - деградируешь потихоньку, поэтому стоит постоянно какой-то сайд проект иметь, за которым время убиваешь.

>>726526
На Udemy есть много хороших курсов только англоязычные, русские все скипай нахуй
Мне хороший старт дал вот этот
https://www.udemy.com/course/unitycourse2/

Была база других языков, поэтому после этого курса + пары своих проектов спокойно устроился джуном. Но вообще можешь почекать другие курсы от тех же ребят.
+ рекомендую Введение в ООП почитать
https://newobj.ru/oop/index.php

На юдеми постоянно скидка на курсы, поэтому, если ее сейчас нет - можешь просто подождать.
Или спиратить с торрента, если не жалко места диске
Аноним 07/02/21 Вск 23:31:52 7265381427
>>726537
Спасибо огромное)) как затравочка подойдёт курс от юнити или скорее время потрачу. И что нибудь слышал про книгу Джереми Гибсона Бонда чё то там unity и c# от идеи до реализации?
Аноним 07/02/21 Вск 23:34:09 7265401428
>>726537
И то что ты посоветовал на юдеми. Там ведущий норм по инглишу или индусский/европейский?
Аноним 07/02/21 Вск 23:36:28 7265411429
>>726540
Про книгу слышал, но не читал, ничего тебе сказать по ее поводу не могу. В любом случае время зря не потратишь, если прочитаешь.
На юдеми для всех курсов сразу доступна вводная часть, можешь запустить и сам решить стоит ли брать.
Аноним 07/02/21 Вск 23:37:31 7265421430
>>726541
Спасибки)) Ты похоже спонсор моих красных глаз))
Аноним 08/02/21 Пнд 00:14:58 7265441431
Вот было бы круто, если бы UI элементы можно было бы пилить, как например используя vue.js+css, кто в теме.. Чтобы была реактивность и все такое
Аноним 08/02/21 Пнд 00:28:43 7265451432
>>726544
Я не в теме, но разве на этой комбе уже нельзя игру запилить?
Аноним 11/02/21 Чтв 14:31:34 7273201433
Короче извиняюсь сразу за тупой вопрос, совсем не умею в программирование, планировал что этим будет заниматься другой человек, который пока не может. Смотрел тутор на Ютубе по управлению. Скачал модельку как там, сделал аниматор и написал скрипт на поворот персонажа в нужную сторону, как в видео. Все бы ничего, но персонаж вращается вокруг не той оси. Мне кажется что дело не в скрипте, и эту ось нужно ещё где-то выбрать, но никак не могу понять где.
Аноним 11/02/21 Чтв 15:29:33 7273391434
Аноны, реквестирую книги или курсы, которые помогут писать и строить красивую архитектуру игры. Устал говнокодить.
Аноним 11/02/21 Чтв 16:42:20 7273571435
>>727320
все пофиксил уже
Аноним 11/02/21 Чтв 21:39:25 7274071436
Аноним 11/02/21 Чтв 22:02:27 7274091437
>>727407
Я в целом понимаю, что такое ООП, знаю основные принципы, некоторые паттерны. Вопрос скорее в том, как красиво все это использовать в юнити с ecs, чтоб все не превращалось в спагетти.
Аноним 12/02/21 Птн 03:39:22 7274451438
дрочу баланс игры и возникла проблема. в общем я сделал scriptable object с параметрами типа фейдаутов некоторых элементов, скорости вращения камеры (она вращается по заданным углам), фризтайма и подобной мишурой. ну и сделал и нормально, а потом смотрю что у меня разные компоненты к scriptableobject ассет обращаются и понимаю что если я вдруг захочу сделать пяток конфигов и быстро их свапать, то мне придётся искать все компонент которые на него ссылаются и руками заменять. отсюда вопрос: на сколько это дурная затея сделать scriptableobject-обёртку? по сути в нём абсолютно ничего не будет кроме ссылки на другой scriptableobject, а уже на эту обёртку будут ссылаться компоненты. собственно из бонусов это я быстро могу заменять конфиги не ища где на них ссылаются, а из минусов получается какая-то колбаса в духе:

[SerializedField] private ConfigSO _config;

и дальше в коде где-нибудь обращение к переменным будет выглядеть так:

_config.configVariant.variable

есть какие-нибудь решения более элегантные или это нормальная абстракция?
Аноним 12/02/21 Птн 04:03:04 7274461439
Х А Л П
Мне унити нужен модельки потестить. Давно на старой версии бы стандартный контроллер от первого лица. Кинул на сцену и в хуй не дуешь. А чё сейчас? Я чёт ваще нихуя не понял. Они его выпилили не предоставив альтернативы? Они ебанутые? Или чё там вместо него?
Аноним 12/02/21 Птн 04:05:36 7274471440
Аноним 12/02/21 Птн 04:07:08 7274481441
>>727447
Ну в том плане, что он поддерживался, а сейчас он не работает нихуя.
Аноним 12/02/21 Птн 04:08:52 7274491442
>>727448
поставь 18й юнити и тести, какие проблемы то?
Аноним 12/02/21 Птн 04:13:56 7274501443
>>727449
Пиз дос
Пошла жара, обмазываться кучей версий.
Так а нахуя они это сделали? Ну тип. В чём звмысел? Убрать такую основополагающую вещь и нихуя не дать взамен. Я когда увидел "для 2018" думал, мол, ну ща для 2020 найду. Пиздец.
Аноним 12/02/21 Птн 12:21:12 7274661444
>>727450
абсолютно ненужная хуета это во первых, а во вторых это не для версии 2018, а от версии 18, так что может всё ещё работать. в любом случае там 4 файла всего и поправить их и закинуть себе на гитхаб с этим и щенок справится, а если не справится, то на гитхабе или просто в гугле решений больше чем у тебя пальцев
Аноним 12/02/21 Птн 12:45:19 7274691445
>>698843 (OP)
Какие же хуёвые скрипты в книге Разработка игр на Unity 2018 за 24 часа. Больше половины работают через жопу
Аноним 12/02/21 Птн 18:27:13 7275191446
Посоветуйте игру, откуда можно стыбзить идею UI. Я хочу повторить похожее, прям от элементарных вещей, до чего-то сложного, на новой системе UI в Unity. Какие игры вас мотивировали больше всего? Прям хардкор, не обязательно красивое что-то. Просто хочу закрыть все возможности UI в одном проекте.
Аноним 12/02/21 Птн 18:38:10 7275201447
>>727519
честно говоря новая значительно удобней того что было, но у меня каждые полтора дня что-то в ней ломается, сыпятся хреновы ворненги, загружается в сейфмоуд и тд. моё предположение что всё будет ещё несколько раз переделываться, хотя проект я один уже поздамутил
Аноним 12/02/21 Птн 18:58:31 7275251448
>>727520
>поздамутил
>По запросу поздамутить ничего не найдено.
Аноним 12/02/21 Птн 18:59:23 7275261449
>>727520
Аа, подзамутил..
Ну я надеюсь они особо много менять не будуть, либо тупо багфиксы
Аноним 12/02/21 Птн 19:12:59 7275311450
>>727525
>>727526
>поздамутил
это когда не на продажу, а просто собрал проект с простым функционалом который реагирует на ui и на который ui реагирует тоже. bindings там и прочее
Аноним 12/02/21 Птн 19:29:49 7275331451
>>727531
Мне тоже не для работы, я хочу для портфеля собрать проект, где будет пиздатенькая менюшка, какая-нибудь сложная система типа крафта, и настройки, со всякими свестоперделками. Но у меня нет идей, откуда это можно спиздить, а сам я не дизайнер, чтобы придумать.
Аноним 13/02/21 Суб 12:40:10 7276151452
>>727547
что же мы тут без тебя будем делать?
толсто
Аноним 13/02/21 Суб 14:40:56 7276321453
двощи на помощь! первый раз долблюсь в ragdoll, подключил всё окей, когда отключаю аниматор – модель шлёпается на пол как нужно. теперь я кастую из камеры луч и когда он попадает в нужный коллайдер, то мне нужно отключать этот аниматор на родительском объекте, а на Rigidbody коллайдера, в который я попал, делать AddForce. внимание вопрос: я собираюсь делать проверку на наличие компонента у родителя, ну, например, NiggerController. Rigidbody, понятное дело, не знает об этом компоненте и, как следствие, такая штука у меня отменяется:

if (hit.rigidbody.tryToGetComponent(out NiggerController niggerController)) {
// жмур спёкся
}

как мне проверять что я пульнул именно в ниггера, а не в человека? мне что на каждый Rigidbody вешать компонент DefinitelyNigger с ссылкой на родительский NiggerController?

if (hit.rigidbody.tryToGetComponent(out DefinitelyNigger nigger) {
nigger.niggerController.dieMotherfuckerDie();
}
Аноним 14/02/21 Вск 12:16:31 7277491454
>>727445
да.
>>727632
>как мне проверять что я пульнул именно в ниггера, а не в человека?
Теги? Лееры?
Еще можно через скрипты проверять, но я вообще не понял, чего ты там насобирал у себя, поэтому если хочешь именно через скрипты свои делать что-то, то сам разбирайся, тебе виднее.
Мне обычно решение мутных вещей таких только через пару дней приходит, просто продолжаешь работу и через некоторое время придумываешь, как это решить.
Аноним 14/02/21 Вск 12:17:44 7277501455
>>727749
Еще добавлю:

Если уж пишешь
[SerializedField] private ConfigSO _config;
То пиши лучше
[SerializedField] private ConfigSO _config = null;
Тогда не будет спамить варнинги в консоль
Аноним 14/02/21 Вск 16:33:11 7277761456
>>727749
проверка по тегам и слоям это проверка по строчным что само по себе неверно. честно говоря вообще не знаю зачем существуют теги, а слои только для того чтоб разделить физику нужны

>>727750
>[SerializedField] private ConfigSO _config = null;
= default обычно пишу чтоб ворнингов не было
Аноним 14/02/21 Вск 19:46:18 7278201457
Desktop 2021.02[...].mp4 1490Кб, 1280x720, 00:00:37
1280x720
Как подружить анимацию с navmeshagent? Я скачал анимацию ходьбы, но там скорость переменная. Если я поставлю свою скорость в navmeshagent.speed, то персонаж будет скользить.
Немного погуглив, нашел решение, что надо установить apple root motion = true и agent.updatePosition = false, чтобы перемещение лежало на анимации, но в этом случае персонаж у меня тупо не может правильный путь проложить, проходит сквозь препятствия, и идет не на ту точку, которую я указал..
Ох, чую, это на пару месяцев засяду... В документации по анимации и агентам вообще ни хрена не понятно. Точнее написано то подробно, про каждую галочку и чекбокс, но непонятно как?зачем?в каких случаях?смысл?
Аноним 14/02/21 Вск 20:02:17 7278231458
duWUCGHdMH.gif 364Кб, 555x366
555x366
А вот с apple root motion=false и agent.updatePosition = true, все четко. Я ьы это и использовал, но мне нужна переменная скорость, чтобы соответствовало анимации. В моем случае это анимация ходьбы, где зомбак прихрамывает, и при этом скорость ниже.
Аноним 14/02/21 Вск 21:28:00 7278451459
MGWSrSspF0.gif 1871Кб, 910x414
910x414
Аноним 14/02/21 Вск 22:48:53 7278561460
У всех drag n drop всегда нормально работает? У меня изредка возникают проблемы с отсутствием срабатывания события при завершении драга и соответственно вызова OnEndDrag. Пиздец, какой трудно уловимый, редкий и только случайно воспроизводимый баг. Сейчас вписал проверку в событии OnPointerEnter, если флаг isDragging у объекта выставлен, то запускаю тот же метод что и в OnEndDrag. Может такие костыли и сработают. Может кто подскажет, почему может баг подобный возникат, или костыль получше предложить?
Аноним 15/02/21 Пнд 00:43:23 7278711461
image.png 80Кб, 865x561
865x561
image.png 36Кб, 547x645
547x645
У персонажа несколько состояний
(idle, walk, crawl, run) и я хочу реализовать, чтобы можно было перейти из любого состояние в другое. Я пока сделал, как на скринах, и это вполне себе работает.

Может есть вариант попроще?
Аноним 15/02/21 Пнд 13:47:54 7279151462
>>727871
Можно вместо бул параметров сделать один float velocity и апдейтить через setfloat ("velocity", велосити твоего персонажа).
Состояния менять по нему, волк на 2, ран на 4 и тд

idle -> walk -> run можно запаковать в blendtree
и останется воще два стейта у тебя, типа grounded -> crawl
(кровл обязательно соединять с бегом/ходьбой? переход из лежа сразу в бег/прыжок должен выглядеть неплавно/крипово)
(
Аноним 15/02/21 Пнд 19:01:27 7279731463
>>727915
>idle -> walk -> run
Поверхностно знаком с blendtree. Как я понял, он нужен для плавной смены схожих анимаций. Например, если я хочу с idle перейти на walk, я должен плавно изменить переменную с 0 до 0.5. А если сразу на run, то с 0 до 1.То есть, когда будет смена 0 до 1, также затронется и анимация walk, не так ли. А в моем случае это будет выглядеть странно, так как в анимации walk зомби идет с вытянутыми вперед руками, а бежит без них, по нормальному. Получается, мне в bleentree лучше оставить walk и run, а idle в отдельный state.
Аноним 15/02/21 Пнд 21:03:44 7279921464
>>727973
Там скорость смены зависит от параметра, который ты ему обновляешь. Если велосити зомби резко перескочит с 0 до 1, он сразу бег включит.
Аноним 15/02/21 Пнд 21:36:02 7279981465
>>727776
>честно говоря вообще не знаю зачем существуют теги
Ну например чтобы решать твою проблему.
Если ты действительно опытный прогер ты не писал бы тут такие вопросы. Если хочешь изобретать свой велосипед- пожалуйста, вариантов уйма.
Но если ты просто хочешь решить проблему и не усложнять, то используй теги.
Аноним 15/02/21 Пнд 22:05:06 7280021466
>>727998
>Но если ты просто хочешь решить проблему и не усложнять, то используй теги.
Ты видимо плохо прочитал вопрос. Мне не просто нужно делать проверку, но и нужно получить доступ к компоненту родителя. Проверка по тегу это инструмент для тех кто вчера первый раз открыл Unity и не поймёт как и что там устроено. В идеале там нужна проверка по интерфейсу и уже взаимодействие с ним. Мой вопрос был не в том как определить в кого попал, а в том как лучше всего организовать передачу данных о коллизии родительскому классу после проверки. В моём варианте есть кэширование хотя бы, с тегами на каждой коллизии мне придётся помимо проверки по строчной переменной делать ещё и GetComponentInParent, и после этого делать nullcheck на этот компонент. Это не решение проблемы, а создания дополнительных и усложнение задачи
Аноним 15/02/21 Пнд 22:16:10 7280041467
>>727856
Похоже в Юнити с OnEndDrag реально есть проблемы. Решил проблемы проверкой, нажата ли левая кнопка мыши при isDragging == true в функции Update. Если да, то сам вызываю метод из обработчика OnEndDrag.
Аноним 16/02/21 Втр 01:37:06 7280201468
keepgoing.mp4 2984Кб, 1280x720, 00:00:11
1280x720
Аноним 16/02/21 Втр 20:47:51 7280981469
>>728002
Сделай на родительском компоненте скрипт, на нем ивенты, подпиши части тела на ивент, я хуй знает. Сделай интерфейсов себе разных.
Это же архитектурные проблемы, единственного верного решения не существует.
>как лучше всего организовать передачу данных о коллизии родительскому классу после проверки
Лично мне кажется сделай как считаешь нужным, тем более ты сам уже не чайник, оставь там TODO и в будущем переделай если надо будет но скорее всего не надо будет и ты просто прокрастинируешь тут вместо того чтобы игру делать
Аноним 17/02/21 Срд 07:15:29 7281401470
1. где можно почитать про скейлинг интерфейса, чтобы не обосраться на разных разрешениях экрана?

2. и как подгружать только 1 сцену, а то у меня все загружаются

мимо 2 дня назад вкатился
Аноним 17/02/21 Срд 14:08:28 7281901471
>>728098
>но скорее всего не надо будет и ты просто прокрастинируешь тут вместо того чтобы игру делать
ну я сделал решение, написал сюда вопрос на случай если есть решение лучше и продолжил работу. залипать мне не шибко свойственно
Аноним 17/02/21 Срд 17:20:03 7282261472
Как-то можно перенести функционал создания меша по сплайну в игровой режим?
Аноним 18/02/21 Чтв 01:17:06 7282941473
Как отучить себя постоянно переписывать код "в лучшую сторону" хотя он работает? Я ж никогда не доделаю игру
Аноним 18/02/21 Чтв 05:59:00 7283061474
>>728140
>1
Я бы мог загуглить за тебя, но мне лень
>2
Уточни под чем ты понимаешь "загружается все"?
Все сцены? Список сцен? Объекты на сцене?

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

>>728226
Первая ссылка в гугле: https://catlikecoding.com/unity/tutorials/curves-and-splines/
Аноним 18/02/21 Чтв 06:59:33 7283101475
>>728306
>Уточни под чем ты понимаешь "загружается все"?
Все сцены? Список сцен? Объекты на сцене?

загружается главное меню и первый уровень и скрипты из первого лвла работают в меню или проще в скриптах делать проверку на текущий уровень?
Аноним 18/02/21 Чтв 11:06:35 7283371476
>>728294
Сколько бы ты ни переписывал код в лучшую сторону, в итоге в игру он может и не пойти
Аноним 18/02/21 Чтв 11:14:55 7283381477
>>728310
Ух.. может не загружать первый уровень вместе с меню?
Еще возможно используешь DontDestroyOnLoad? Если да, то оно тебе точно нужно?
Если нужно, то через какой-нибудь синглтон выключай его.
Аноним 18/02/21 Чтв 13:22:42 7283631478
Начал реализовывать паузу в игре используя timeScale = 0, и проблема оказалась в том, что хоть игра и стоит, обрабатываются все Input.GetKey, то есть, во время паузы игрок может ходить, прыгать и прочее. В итоге мне пришлось искать все места, где чел нажимает на кнопки и добавлять новую проверку
if (Input.GetKeyDown(JUMP) && !Game.Pause()) {

}
Потом узнал про input manager или типо того, где все нажатия должны обрабатываются в одном месте и передаются в нужные места. И проверку на Game.Pause() можно добавить только туда. Сейчас не знаю, то ли реализовать такое, опять переписав код, добавить интерфейс, то ли забить. Решил не реализовывать - теперь мучаюсь, что код говно, и чтобы было бы легче, если бы реализовал этот способ; решил сделать - становится жалко времени, ведь можно обойтись и без этого, ведь работает. Короче, с бедами в башкой как у меня в гамедев лучше не лезть
Аноним 18/02/21 Чтв 15:40:00 7284061479
Ad1yihlkD1.gif 79Кб, 780x414
780x414
Што за
Аноним 18/02/21 Чтв 15:44:12 7284071480
>>728406
Разобрался, это с камерой проблема была, в Clear Flags стояло значение Dont Clear
Аноним 18/02/21 Чтв 15:58:28 7284101481
>>728406
Чем экран пишешь?
Аноним 18/02/21 Чтв 16:24:59 7284181482
>>728363
Это норма, не парься, ты же не убийцу вов там делаешь?
В следующем проекте сможешь применить свои новые классные знания и сразу написать классный код!
Аноним 18/02/21 Чтв 19:16:25 7284681483
Привет. Мб тупой вопрос, но можно ли как то сделать анимацию через скрипт. Пытаюсь для себя сделать Ball Sorting Puzzle. Но я не понимаю. Неужели нужно для каждого шарика из всех позиций сделать анимации во все позиции. То есть если у меня одна анимация передвигает объект на 1 вправо и на 1 вниз, а другая на 2 вправо и 1 вниз, неужели мне надо разные анимации для этого делать? Можно ли как то в скрипте?
Аноним 18/02/21 Чтв 19:39:08 7284761484
hyQJLfLZqI.gif 137Кб, 722x530
722x530
Аноним 18/02/21 Чтв 19:49:40 7284771485
>>728468
Только что понял, что я же могу юто через трансформ.транслэйт сделать вроде.
Аноним 18/02/21 Чтв 23:13:26 7285061486
Аноним 20/02/21 Суб 00:29:41 7287801487
Сап геймдевы
Начал читать книгу Юнити в действии, там начинают рассматривать проект Unity Car Example, который несовместим с новой версией. Подскажите похожий проект чтоб по нему учить, или более новую книгу что ли...
Аноним 09/03/21 Втр 17:34:23 7320671488
3123123123.png 6Кб, 339x363
339x363
Сап двач, почему объект не удаляется?
Аноним 09/03/21 Втр 17:38:08 7320701489
>>732067
Очки прибавляются, а объект сам не уничтожается
Аноним 09/03/21 Втр 17:55:40 7320751490
Аноним 19/03/21 Птн 12:52:43 7340471491
Сап. Как засунуть приложение, которое весит больше 400 мб в Гугл плей?
20/12/21 Пнд 05:18:25 7815281492
test
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов