Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 532 106 154
Unity 3D #38 Аноним 20/10/24 Вск 09:42:54 980548 1
image.png 917Кб, 1200x675
1200x675
Последние новости: релиз 6

Прошлый тред: >>960910 (OP)

Официальный сайт: https://unity.com/ru
Документация: https://docs.unity3d.com/Manual/index.html
Уроки: https://unity3d.com/ru/learn/tutorials
Форум: https://forum.unity3d.com
Магазин ассетов: https://assetstore.unity.com

На Unity сделано много замечательных игр: Zenless Zone Zero, V Rising, Hearthstone, VRChat, Escape from Tarkov, Valheim, Pathfinder, Cuphead, Genshin Impact, Subnautica, Albion Online, Endless Space, Beat Saber, Boneworks, Rust, Блицкриг 3, Pillars of Eternity, Tyranny, Kerbal Space Program и многие другие.

Главным преимуществом Unity перед другими движками является его простота для одиночной разработки. Не нужно иметь целую компанию девелоперов, чтобы сделать хорошую игру. Если ты один или имеешь небольшую команду и хочешь сделать хорошую игру без претензий на ААА, то Unity станет лучшим выбором. Тем не менее, даже крупные корпорации зачастую выбирают для своих игр именно Unity.

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

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

На каких языках я могу писать скрипты для Unity?
Поддерживается написание скриптов на C# 9.0
https://docs.unity3d.com/Manual/CSharpCompiler.html

Какие есть готовые решения для создания мультиплеерной игры?
https://www.photonengine.com
https://mirror-networking.com
https://playfab.com

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

Часто вижу скриншоты с красивой природой на Unity. Как такое создать?
Очень просто! В Unity встроены удобные инструменты для создания террейна и SpeedTree для создания деревьев и готовая реализация ветра - не нужно ничего писать или скачивать и подключать плагины - ландшафт в 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# книги на русском языке:

1. C# для чайников Автор книги – Джон Пол Мюллер
2. Программирование на C# для начинающих 2е части Автор: Алексей Васильев
3. Head First. Изучаем C# 4е издание Авторы: Эндрю Стиллмен, Дженнифер Грин
4. Unity и C#. Геймдев от идеи до реализации Автор: Джереми Гибсон Бонд
5. Язык программирования C# 7 и платформы .NET и .NET Core Авторы: Филипп Джепикс, Эндрю Троелсен

Для людей абсолютно не знакомых с движком есть 3и основные книги на русском языке:

1. Разработка игр на Unity 2018 за 24 часа Майка Гейга
(Знакомство с движком, изучение редактора, создание 4х простых игр практически без кода, отличное пособие для полных новичков).
2. Изучаем C# через разработку игр на Unity. 5-е издание Харрисон Ферроне
(Пошаговое освоение всех базовых знаний по программированию на языке С# в редакторе юнити, создание одной игры стрелялки от первого лица, написание искусственного интеллекта врага, книга переведена не совсем корректно и порой встречаются не просто опечатки, а серьёзные неточности перевода.)
3. Unity в действии. Мультиплатформенная разработка на C#. 3-е межд. издание Хокинг Джозеф
(Правильное построение архитектуры кода для сложных проектов, углублённое изучение программированию на C#, создание 4х полноценных игр на движке, обязательно нужно скачать код проектов, так как в книге он местами уже устарел.)

Шапка:
Аноним 20/10/24 Вск 12:02:49 980556 2
Бердыев беспред[...].mp4 578Кб, 1280x720, 00:00:03
1280x720
О, охуенно, первый (почти)

Мне кто-нибудь может объяснить, какого хуя в Юнити обновления сделаны так что я качать вынужден именно всю новую версию движка? Не как в нормальных программах где скачивается новый пакет обновления и просто устанавливается к установленной версии, а сука брать скачивать отдельно целиком новую версию, удалять старую и еще потом оптимизировать проект на старой версии под новую? Это же блять просто идиотизм какой то. Какого хуя то блять?
Аноним 20/10/24 Вск 13:10:36 980565 3
image.png 16Кб, 565x156
565x156
Сделал вебсокеты, запускаю webgl билд все работает, сообщения читаются и пишутся. НО постоянно пытается сделать player connection multicast, куда-то законнектиться и получает ошибку.

Http, ws серверы запускаются в докере на 8080, 8081
20/10/24 Вск 13:20:21 980567 4
Блять, тупое говно даже шапку по ссылке не смогло скопировать
Аноним 20/10/24 Вск 13:43:28 980570 5
image.png 1Кб, 50x43
50x43
Аноним 20/10/24 Вск 14:24:14 980574 6
image 15Кб, 676x166
676x166
Аноним 20/10/24 Вск 16:37:06 980590 7
Делаю перемещение игрока через
transform.Translate
с параметрами (Vector3.left Time.deltaTime _playerSpeed, Space.World); для перемещения влево.
Можно как-то ограничить движение влево размерами экрана или такое через translate не прокатит и надо по другому реализовывать?
Аноним 20/10/24 Вск 16:40:45 980591 8
>>980556
было бы прикольно при обновлении движка проебывать свой проект или создавать в нем большое кол-во багов, хз
Аноним 20/10/24 Вск 16:52:36 980592 9
Лента на телефоне прорекламировала хабр, и как всегда после его чтения я в печале, с одной стороны инфоцигане неправильно учать, с другой школьники который только в школе прораммировали на хабр на серьезных щах вещают что в юнити тоже "поля" а не переменные

Поэтому подбодрите и расскажите что там в новой версии
Что там в итоге то, пишут что теперь нормальный и функциональный UI делать меньше страданий, кто пробовал уже?
Сохранение/загрузку так юнити и не сделал своими функциями? Это уже просто интересно, посколкьу я знаю что нет
>>980590
>Можно как-то ограничить движение влево размерами экрана
так тебе не игрока надо ограничивать а камеру наверное, а саму камеру впринципе скриптовать чтобы за ее предел игрок выйти не мог
Ну это я с твоих слов понял что тебе надо
Аноним 20/10/24 Вск 17:10:05 980594 10
>>980556
Потому что чтобы ничего не сломалось, разработчики работают в дохуя разных версиях, одновременно
К примеру старый, уже выпущенный проект который ты все еще поддерживаешь у тебя на 2019, а новый уже на 2020
Аноним 20/10/24 Вск 17:21:21 980595 11
>>980594
>>980591
Неправильные ответы.

На самом деле:
1. Разработчики юнити не умеют в обратную совместимость.
2. Разработчики юнити не умеют в миграции своего же кала.
Аноним 20/10/24 Вск 17:49:18 980601 12
>>980595
бля, чел, открывая свой проект, в котором работаешь уже хз сколько молишься, чтоб он нормально открылся, а тут еще обновы накатывать
Аноним 20/10/24 Вск 18:00:32 980603 13
>>980592
Не, у меня камера фиксированная, плывет вперед нонстоп. Игрок управляет 3d корабликом, вид камеры сверху, двигается кораблик по x и z осям только. Управление я сделал через transform.Translate Vector3.left/right/forward/back. Но я не знаю как ограничить, чтобы игрок за пределы экрана не вылетал. Я пытался ограничить перемещение в определенном радиусе через Mathf.Clamp, но это не будет зависеть от разрешения экрана и это ограничение статичное, не будет двигаться вместе с камерой.
Аноним 20/10/24 Вск 18:26:23 980606 14
>>980603
>Не, у меня камера фиксированная, плывет вперед нонстоп.
ну так тем более, хуярь на камеру колайдер, и ограничивай хоть слева хоть всю
>Игрок управляет 3d корабликом, вид камеры сверху, двигается кораблик по x и z осям только.
Не совсем понимаю почему 3д кораблик но не 2д, но поскольку z ось тебя не интересует кроме как высоты камеры, то должно прокатить
Аноним 20/10/24 Вск 18:30:09 980608 15
у кого в Юнити 6 в 3д-проектах поломалось освещение - Edit - Lighting - Generate Lighting чтобы повторно сгенерить
Аноним 20/10/24 Вск 19:29:18 980611 16
Внезапно в проекте на ровном месте появился баг при рисовании текстур на земле. Теперь вместо любой текстуры черные пятна рисуются.
Ничего связанного с этим вообще не менял. Просто взяло и отвалилось с ошибкой(вообще сразу с 4 только у них Соурс 0 и 1 и Дестинейшен 0 1 меняются)
"Graphics.CopyTexture source and destination have different mipmap limits. Source 1, Destination 0 UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)".

В голову пришла мысль возможно как-то пути проебались к текстурам поэтому зашел в менюшку и попытался добавить новую текстуру и тут же вылетело еще ошибок 999(! штук)

GUI Error: You are pushing more GUIClips than you are popping. Make sure they are balanced. UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

NullReferenceException: Object reference not set to an instance of an object
UnityEditor.TextureInspector.OnPreviewGUI (UnityEngine.Rect r, UnityEngine.GUIStyle background) (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEditor.EditorWrapper.OnPreviewGUI (UnityEngine.Rect position, UnityEngine.GUIStyle background) (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEditor.ObjectSelector.WidePreview (System.Single actualSize, System.String s, UnityEngine.Object o, UnityEditor.EditorWrapper p) (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEditor.ObjectSelector.PreviewArea () (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEditor.ObjectSelector.OnObjectGridGUI () (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEditor.ObjectSelector.OnGUI () (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEditor.HostView.OldOnGUI () (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <e4aa9769bc9f4f948b09465d0a172220>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

NullReferenceException: Object reference not set to an instance of an object
UnityEditor.TextureInspector.OnPreviewGUI (UnityEngine.Rect r, UnityEngine.GUIStyle background) (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEditor.EditorWrapper.OnPreviewGUI (UnityEngine.Rect position, UnityEngine.GUIStyle background) (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEditor.ObjectSelector.WidePreview (System.Single actualSize, System.String s, UnityEngine.Object o, UnityEditor.EditorWrapper p) (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEditor.ObjectSelector.PreviewArea () (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEditor.ObjectSelector.OnObjectGridGUI () (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEditor.ObjectSelector.OnGUI () (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEditor.HostView.OldOnGUI () (at <0e74aaecc5d24ba79f82222a4901f731>:0)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <e4aa9769bc9f4f948b09465d0a172220>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <e4aa9769bc9f4f948b09465d0a172220>:0)
UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at <e4aa9769bc9f4f948b09465d0a172220>:0)
UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Single pixelsPerPoint, System.Exception& immediateException) (at <e4aa9769bc9f4f948b09465d0a172220>:0)
Rethrow as ImmediateModeException
UnityEngine.UIElements.UIR.RenderChain.Render () (at <e4aa9769bc9f4f948b09465d0a172220>:0)
UnityEngine.UIElements.UIRRepaintUpdater.Update () (at <e4aa9769bc9f4f948b09465d0a172220>:0)
UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at <e4aa9769bc9f4f948b09465d0a172220>:0)
UnityEngine.UIElements.Panel.UpdateForRepaint () (at <e4aa9769bc9f4f948b09465d0a172220>:0)
UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at <e4aa9769bc9f4f948b09465d0a172220>:0)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <e4aa9769bc9f4f948b09465d0a172220>:0)
UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at <e4aa9769bc9f4f948b09465d0a172220>:0)
UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <e4aa9769bc9f4f948b09465d0a172220>:0)
UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at <e4aa9769bc9f4f948b09465d0a172220>:0)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at <9953c8b718944232b780cdbafb1fcd69>:0)


Ну и что и это за хуйня блядь? Попробую сейчас 6 поставить может пропадет "это"
Аноним 20/10/24 Вск 19:35:51 980613 17
>>980606
Вот я и не понимаю как это нормально сделать коллайдером.
У меня моделька игрока или не реагирует на коллайдеры, или если добавить ей rigidbody, то начинает при столкновении отскакивать от стен и как это отключить я хз.
Аноним 20/10/24 Вск 19:54:40 980616 18
>>980613
проджекет сетиингс, физикс 2д, там у тебя дерево какой слой с каким взаимодействует
ригидбоди все равно придется оставлять на кораблике
Аноним 20/10/24 Вск 20:00:22 980617 19
>>980616
Звучит как фигня, ибо если все оставлять на физие движка, то как я говорил, при столкновении с коллайдером объект отскакивает от него, либо начинается дрочиться на месте, пытаясь пройти насквозь и иногда у него это получается. А мне надо, чтобы просто упирался в границу и не дергался при этом.
Аноним 20/10/24 Вск 20:03:58 980619 20
>>980594
Обратная совместимость? Не не слышали
Аноним 20/10/24 Вск 20:05:35 980620 21
>>980617
В настройках ригидбоди поставь массу и гравитацию в 0. Тогда он просто стопатся будет о стенку. Может ты туторы начальные какие посмотришь хотя бы, это же совсем базовый уровень.
Аноним 20/10/24 Вск 20:09:15 980621 22
>>980619
Это один из недостатков которые я готов простить Юнити, хотя и считаю их редкостными пидорасами. Там хоть как проверяй, все равно где-нибудь что-нибудь наебнется
Как будто сам игры не патчил свои, и не видел во что это может перейти
Аноним 20/10/24 Вск 20:15:22 980624 23
>>980621
Да, не патчил. Я изначально делал нормальные и такими чтобы в случае чего легко было все поддерживать
Аноним 20/10/24 Вск 20:34:48 980626 24
Unity Learn норм тема или кал? Как стартовая точка сойдёт для вката в движок?
Аноним 20/10/24 Вск 20:44:27 980631 25
4545р33333.JPG 60Кб, 798x590
798x590
Стабильный РЕЛИЗ 6.0 СМОТРИТЕ ВСЕ
> поддержки ВСКода нет.
Аноним 20/10/24 Вск 20:46:46 980632 26
бля юнитихолопы реально одноклеточные
Аноним 20/10/24 Вск 20:51:25 980633 27
>>980631
потому что поддержка пакетом ниже
Аноним 20/10/24 Вск 20:55:00 980634 28
>>980632
Меня за подобный пост в сторону годика, но в шутливой манере и без оскорблений и ещё и с полезной инфой для спрашивающего забанили нахуй. Аккуратней
Аноним 20/10/24 Вск 21:09:00 980636 29
boxr.mp4 209Кб, 824x656, 00:00:06
824x656
>>980620
Так в том и дело, что посмотрел, все уже поперетыкал, никакого эффекта. Если он сам по себе влетает в препятствие, то еще плюс-минус ок, объект просто дрожит, но остается на месте. А вот если его двигать в сторону препятствия, то он просто отскакивает от стены и начинает улетать в рандомную сторону.
Аноним 20/10/24 Вск 21:32:45 980638 30
>>980592
> на серьезных щах вещают что в юнити тоже "поля" а не переменные
В чём они не правы? Терминология сишарпа.
Аноним 20/10/24 Вск 21:33:42 980639 31
Аноним 20/10/24 Вск 21:35:34 980640 32
У кого-нибудь есть положительный опыт по засовыванию юнити в сандбокс? Удалось дойти до создания проекта, но компилируется с бубном и ошибками. Годот что характерно лезет в сандбокс без проблем вообще.
Аноним 20/10/24 Вск 21:39:29 980642 33
>>980640
Зачем его в сандбокс сувать вообще?
Аноним 20/10/24 Вск 21:42:23 980644 34
>>980642
Ну например чтобы можно было доставать из архива и в архив без проблем, и иметь бэкап устанавливающийся одним кликом. И чтоб мусор по всему харду не расползался, и не мешал потом устанавливать старую или новую версию параллельно. Дофига для чего на самом деле.
Аноним 20/10/24 Вск 21:50:10 980646 35
>>980636
Лень открывать юнити и проверять сейчас, но мне кажется у тебя проблема из-за незнания основ каких-то. Почему у тебя ускоряется кубик при подлете, а не летит как есть, в коде может херни понаписал лишней.
Аноним 20/10/24 Вск 22:01:58 980647 36
>>980646
Настолько элементарные основы, что опытный гуру вроде тебя не знает что с этим делать.
Аноним 20/10/24 Вск 22:20:38 980648 37
2024-10-20 22-1[...].mp4 1843Кб, 1920x1080, 00:00:27
1920x1080
>>980647
Я не гуру, а новичок: пару месяцев юнити открыл только. Is kinematic на стене включи и в ригидбоди на 0 всё поставь как на видео, а то оно вверх будет ползти при столкновении.
Олсо тебе проще делать, чтобы всё не двигалось, а стояло на месте и по краям "стенки" поставить для объекта игрока. А фон пусть сам там движется - так проще будет.
Аноним 20/10/24 Вск 22:39:21 980649 38
Лучше скажите как в юнити можно дороги делать для города, попробовал много способов, но все они каловые, блять
Аноним 20/10/24 Вск 22:52:04 980650 39
Аноним 20/10/24 Вск 22:58:23 980652 40
>>980590
Вычислить координаты краев экрана, при выходе за них ограничивать. В гпт вбей.
Аноним 20/10/24 Вск 23:03:05 980653 41
boxd.mp4 276Кб, 824x656, 00:00:08
824x656
>>980648
Спасибо анончик, хз что именно помогло, еще снял флаги с автоопределения центра масс и куб перестал улетать. Но все еще есть другая проблема: если зажимать клавишу, куб может проникнуть сквозь коллайдер, причем только в одну сторону, обратно он трясется, но не возвращается. Пробовал менять Collision detection, как пишут в некоторых гайдах, но все без толку.
Что до движения фона, я хотел сделать сложный фон с движущимися по нему объектами. Тянуть разом кучу объектов на экране вместо движения одной модельки так себе затея как по мне, тем более, что в такой ситуации будет непонятно как синхронизировать движение фона с движением объектов на нем.
Аноним 20/10/24 Вск 23:18:21 980657 42
>>980653
Двигай через rigidBody.MovePosition
Аноним 20/10/24 Вск 23:49:26 980660 43
>>980653
По идее без разницы зажимаешь ты клавишу или через translate pos постоянное движение дается. У тебя Inertia Tensor единички стоят, попробуй на 0 поставить.
Олсо, подписан на одного геймдева и поглядываю, чего он творит, т.к. идея игры его немного схожа с моей
https://www.youtube.com/@madcookiesstudio
У него там 3д фон процедурный генерится и удаляется в пределах обзора камеры(конкретное видео сейчас не могу найти). Хз как он это реализовал, я не вникал, но похоже на твою идею с 3д фоном.
Аноним 21/10/24 Пнд 04:59:17 980666 44
>>980638
Почитай документацию юнити, они об этом очень анальны. так же как и анриал кстати
Аноним 21/10/24 Пнд 11:06:48 980675 45
>>980666
> Почитай документацию юнити, они об этом очень анальны.
Что?
Аноним 21/10/24 Пнд 11:55:08 980683 46
Можно как-то гонять юнити без установки вижуал студио? Просто ненавижу эту опердень за размер и навязывание аккаунта МС. Жыдбрейнс тоже не пойдет ибо хрен теперь нормально поставишь.
Аноним 21/10/24 Пнд 12:02:00 980685 47
Аноним 21/10/24 Пнд 13:06:19 980705 48
>>980683
Можно. Просто не ставишь вижуал студию и всё.
Аноним 21/10/24 Пнд 14:50:51 980739 49
>>980683
ставишь vs code и плагины шарповские, юнитёвкие - где-то гиг может два всё вместе будет весить
Аноним 21/10/24 Пнд 15:21:03 980745 50
>>980683
Для разработки в юнити у тебя буквально два стула - райдер или студио. Всё блять, больше нихуя нет у тебя выбора. Вскод для юнити это не серьезно. Вообще если ты не осилил программу поставить, куда ты в геймдев лезешь?
Аноним 21/10/24 Пнд 15:45:14 980749 51
>>980745
да ладно тебе, нормально вскод переваривает все, ну если ты меркуриал не используешь только.
Аноним 21/10/24 Пнд 16:07:25 980754 52
>>980749
>вскод
Пробовал его пару раз в течение нескольких лет, работать вообще не возможно если брать в сравнение со студией.
Аноним 21/10/24 Пнд 16:08:45 980755 53
>>980754
что значит невозможно ебучий ты шизоид? ты можешь нормально описать проблемы?
Аноним 21/10/24 Пнд 16:32:31 980762 54
>>980755
2 главных проблемы.

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

И да я ставил расширение от юнити и c# специально. Тупо нерабочий кал.
Аноним 21/10/24 Пнд 16:35:16 980763 55
>>980762
>1. Начиная писать что либо вскод не показывает кучу вариантов что можно прописать как в студии.
>2. Вскод не показывает кол-во вызовов функций, и откуда они вызываются.
буквально надо плагины ставить, а чтобы посмотреть вызовы функции надо ктрл зажать и кликнуть по ней
Аноним 21/10/24 Пнд 16:35:59 980764 56
>>980763
Нахуй пошел со своими фантазиями гнида, иди маняфантазируй в другом месте.
Аноним 21/10/24 Пнд 16:40:07 980767 57
image.png 32Кб, 276x352
276x352
>>980764
хех, найс тупое животное порвало, вот это поставь и убедись сам
ангуляр можешь не ставить если ты дебил не понял
Аноним 21/10/24 Пнд 16:42:01 980768 58
>>980767
Где плагин юньки? А? А? А? Кого наебать решил? НАХУЙ ПОШЕЛ
Аноним 21/10/24 Пнд 16:43:00 980769 59
3 .mp4 1421Кб, 854x480, 00:00:11
854x480
>>980768
хорошо же я тебя проткнул...
Аноним 21/10/24 Пнд 16:43:01 980770 60
>>980749
Какой смысл в блокноте с костылями вместо полноценной ide с прямой поддержкой со стороны юнити?
Аноним 21/10/24 Пнд 22:39:17 980801 61
>>980745
>если ты не осилил программу поставить
Я ее поставил. А недавно виндовс снес, и с тех пор наслаждаюсь тем что система запускается за 10 секунд а не за 100, и каждый раз когда отхожу на 5 минут это ебучее студио не дрочит диск, пытаясь проверить обновления или что у него там. Ну ладно райдер так райдер, буду искать торрент.
Аноним 22/10/24 Втр 00:18:16 980808 62
>>980801
Какие-то странные вещи рассказываешь, и вижуал студия тут не при чем.
Аноним 22/10/24 Втр 01:45:51 980811 63
Не подскажете, где искать семплы проектов на unity, желательно разных жанров?
Аноним 22/10/24 Втр 03:27:13 980818 64
>>980811
Где угодно, главное не на гитхабе, вбив в поиске "unity"
Аноним 22/10/24 Втр 08:29:33 980822 65
image.png 131Кб, 874x805
874x805
image.png 63Кб, 1476x471
1476x471
image.png 127Кб, 1035x820
1035x820
image.png 68Кб, 725x619
725x619
Где я сру себе в штаны?

Мне надо получить ответ от сервера и обновить хп юнитов на сцене.

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

Скорее всего какой-нибудь датарейс поймал, но где я вообще хз. Роутер ивентов неймспейс => обработчик на пике 3. Я уже и Syncronize() добавил и в буфер перекопировал. Сам роутер под синкмапой.
Аноним 22/10/24 Втр 08:37:42 980823 66
Аноним 22/10/24 Втр 09:18:58 980827 67
>>980822
Лул, эпик фейл, на сервере когда мапил сущности создал себе массив с длиной, а не капасити 2
Аноним 22/10/24 Втр 10:05:10 980829 68
изображение.png 5Кб, 281x97
281x97
Сап, хотел в коде прописать чтобы ждал 9 секунд прежде чем остальную часть кода выполнял, но он нихуя не ждет
Аноним 22/10/24 Втр 10:10:44 980830 69
filth laugh.mp4 1367Кб, 1280x544, 00:00:09
1280x544
Аноним 22/10/24 Втр 10:11:34 980831 70
>>980829
Ты на приколе? Или это троллинг треда?
Аноним 22/10/24 Втр 10:11:46 980832 71
>>980822
Надеюсь ты знаешь что вебгл сингл тхреад онли
Аноним 22/10/24 Втр 10:13:34 980833 72
>>980832
Делал выделенный сервер на GameNetObjects с кучей потоков и асинхронностью, проблем 0.
Аноним 22/10/24 Втр 10:29:08 980836 73
>>980832
Теперь знаю, но у меня же тут конкурентность и не числодробилка
Аноним 22/10/24 Втр 10:37:50 980838 74
image.png 36Кб, 941x365
941x365
image.png 29Кб, 768x179
768x179
>>980833
>проблем 0
Слабо верится. В доках буквально написано что в вебгл многопоток через жопу. И причем тут асинхронность, ясен хуй асинхронность будет работать в любом случае.
>GameNetObjects
?
Аноним 22/10/24 Втр 10:45:46 980839 75
17088597230310.mp4 3048Кб, 720x1280, 00:00:11
720x1280
анальнички, веб гл ВСЁ, настала эпоха веб гпу, кстати насколько там всё пиздато щас?
Аноним 22/10/24 Втр 10:49:05 980841 76
>>980838
1. Netcode for Entities
2. Netcode for GameObjects
3. Multiplayer Tools
Забыл там же переименовали, вот то что используется.

>И причем тут асинхронность, ясен хуй асинхронность будет работать в любом случае.
Асинхронность прямо связана с потоками пчел, или как по твоему в разных тредах выполняется коннект с разными игроками? Я же специально выделил что сервер "выделенный", там до десяти тысяч коннектов одновременно.
Аноним 22/10/24 Втр 10:55:07 980842 77
>>980841
Асинхронность всего лишь означает, что код не блокирует основной поток. Это как с корутинами. Каждый апдейт происходит опрос состояния. Чтобы получить ответ от сервера, тебе не нужно блокировать поток, тебе всего лишь нужно каждый апдейт опрашивать канал на наличие данных. И всё это происходит в рамках одного потока.
Аноним 22/10/24 Втр 11:01:03 980844 78
>>980842
Нифига, там по максимуму все потоки забиты, еслиб был один поток он здох уже наверное на сотне игроков или даже раньше. Так что мимо пчелик.
Аноним 22/10/24 Втр 11:21:49 980848 79
>>980844
Какой же ты ебанат блять. У тебя понятия абстрагированы, что такое поток вообще не ебёшь.
Аноним 22/10/24 Втр 11:49:03 980851 80
Аноним 22/10/24 Втр 11:52:14 980853 81
>>980844
Чел, асинхронность - это абстракция над задачами которые ЯКОБЫ выполняются параллельно. Будет ли там реально отдельный поток или нет - для асинхронности не важно, это уж как тв сделаешь так и будет.
Аноним 22/10/24 Втр 11:55:04 980854 82
изображение.png 53Кб, 1083x380
1083x380
>>980851
Да уже, ктож знал что юнити все таймы от апдейтов мерит
все отрабатывает кроме выставление цвета,
Аноним 22/10/24 Втр 11:56:12 980856 83
>>980848
>>980853
Челы без обид, но нах вы лезите туда чем не пользуетесь? У меня реальный кейс работы, у вас какие-то маняфантазии на уровне чтения документации без реального опыта.

Просто повторю еще раз, если бы я был не прав, сервак сдох бы на первой сотне человек, ну или пинг у людей был в секундах. А так +- 150мс задержка при одновременном коннекте до 1к людей. Если что это 3д игра по типу раста.
Аноним 22/10/24 Втр 12:07:04 980859 84
>>980856
> Челы без обид, но нах вы лезите туда чем не пользуетесь? У меня реальный кейс работы, у вас какие-то маняфантазии на уровне чтения документации без реального опыта.
С чего ты взял что не пользуемся?

Ты хоть прочитай что тебе вообще пишут, никто не отриуает что твой сервак многопоточный.
Но у тебя проседает понимание того что есть асинхронность в си шарпе. Если ты не понимаешь в каком слусае асинк будет в отдельном потоке, а в каком нет, то ты:
1. Просто в какой-то момент обосрёшься и не будешь понимать почему асинки все в одном треде
2. Не сможешь пользоваться асинками в клиентском юнити коде, что тожн очень мощная возможность, только вот для этого у тебя все асинки в мейн треде должны быть.
Аноним 22/10/24 Втр 12:26:08 980865 85
>>980856
Ну ты реально прекол, какая связь между количеством клиентов и многопоточностью клиента? Нету ее нахуй. Сервер в одном батче может отправить хоть миллион положений трансформа, в одном потоке блять.
Аноним 22/10/24 Втр 12:41:14 980867 86
>>980859
>>980865
Ребят я вас понял, можете дальше маняфантазировать как и что должно работать, но у меня работающий сервер, а не просто фантазии как и что должно работать.
Я рад за вас что в ваших фантазиях весь неткод работает в одном потоке, и что 4гц сервак с 6 ядрами и 12 потоками использует лишь 1 поток, да, очень верю, и люди играющие на сервере верят.
Удачи вам с такими познаниями.
Аноним 22/10/24 Втр 12:56:31 980869 87
>>980867
А, так ты реально читать не умеешь просто. Рекомендую научиться, полезный навык.
Аноним 22/10/24 Втр 13:02:13 980871 88
Screenshot88.png 25Кб, 831x305
831x305
Сап. Перехал из говнодота.
Подскажите как организовать ожидание в юнити. В тупорылом говнище для вокнутых долбоебов которые долбят друг друга писюнами в очко между крашами движка можно было просто написать асинк вызов функции, как организовать подобное в юнити с минимальным кол-вом кода?
Аноним 22/10/24 Втр 13:05:05 980872 89
>>980867
Ты тролешь чтоле? Сука, когда мы вообще про сервер начали говорить. Или у тебя сервер на юнити вебгл крутится? Ты идиот?
Аноним 22/10/24 Втр 13:08:06 980873 90
Аноним 22/10/24 Втр 13:09:10 980874 91
>>980871
самый простой способ - Coroutine
Аноним 22/10/24 Втр 13:12:37 980875 92
>>980871
Абсолютно также можно.

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

Плюс у юнитасков околонулевые аллокации.

>>980873
>>980874
Нахуй корутины, если чел знаком с асинком то лучше сразу расчехлять юнитаск.
Аноним 22/10/24 Втр 13:17:28 980876 93
>>980875
ты ещё забыл про красивый дебагер в котором видно все запущенные таски
Аноним 22/10/24 Втр 15:26:19 980891 94
>>980548 (OP)
Юнити 6 кто-нибудь ставил уже? Вроде там обнов не особо много интересных и лучше на старом проверенном сидеть, я ведь прав?
Аноним 22/10/24 Втр 15:57:52 980893 95
>>980891
> Вроде там обнов не особо много интересных
Много, просто пиздец как
>и лучше на старом проверенном сидеть
есть такое
>Юнити 6 кто-нибудь ставил уже
Тут люди не особо используют юнити
Аноним 22/10/24 Втр 16:25:28 980896 96
>>980891
Я с него начал, хз что было до Unity 6.
Аноним 22/10/24 Втр 17:26:50 980904 97
>>980891
Смотря с какой целью. Скорее всего если задаешь такой вопрос - стоит поставить юнити 2022 лтс.
Аноним 24/10/24 Чтв 14:29:38 981147 98
asmdef это шутка какая-то или что? Я как еблан должен файлы раскладывать по всему проекту, чтобы ебучие юнит тесты запустить?
Аноним 24/10/24 Чтв 15:02:26 981149 99
Замена этим вашим корутинам.
Например, надо подождать 7 секунд. Легко:
var current_time = Time.time;
while (true)
{
If (Time.time - current_time > 7) {break}
}
//Код здесь выполнится через 7 секунд, отвечаю.


Ладно, шучу. А если серьезно, то почему этот код работать не будет?
Аноним 24/10/24 Чтв 15:06:49 981150 100
image 546Кб, 850x850
850x850
>>981149
>Ладно, шучу. А если серьезно, то почему этот код работать не будет?
Аноним 24/10/24 Чтв 15:20:03 981153 101
>>981149
Что за треш ты родил?

float MyTimer = 7f;
MyTimer -= Time.deltaTime;
if(MyTimer<=0) { MyFunction(); gameobject.setActive(false); }
Аноним 24/10/24 Чтв 15:23:42 981154 102
>>981153
Это если в update запихать код будет работать. А если я хочу например в Start()?
Аноним 24/10/24 Чтв 15:24:38 981155 103
>>981154
Используй корутины или async.
Аноним 24/10/24 Чтв 16:41:00 981171 104
>>981155
Пиздец.
Либо шуток не понимают.
Либо посты до конца не читают (где я написал что это шутка)
Либо это gpt отвечает.

В любом случае, отпало желание что либо тут спрашивать.
Аноним 24/10/24 Чтв 17:10:46 981178 105
>>981171
Это кто у нас такой охуенный клоун? Рядовой Шутник, а? Съеби отсюда нахуй, дебилёнок.

>отпало желание что либо тут спрашивать
ЗАШЁЛ ПОШУТИТЬ
@
БЫЛ ПОСЛАН НАХУЙ
@
АРЯЯЯЯЯЯКАКОЙ ПЛАХОЙ ТРЕД!!!!!
Аноним 24/10/24 Чтв 17:28:04 981182 106
>gpt
Я являюсь gpt на этой доске для поднятия постинга.
Шутка. Я человек как и вы.
Аноним 24/10/24 Чтв 18:10:39 981192 107
>>981178
Нет, истина в том, что тебя корежит от того ты принял это всерьез )) ну ты такой всегда по жизни))
Аноним 24/10/24 Чтв 18:42:20 981199 108
2024-10-2418-38[...].png 98Кб, 465x660
465x660
2024-10-2418-37[...].png 40Кб, 453x675
453x675
Делаю уровень с небоскребами и столкнулся с такой проблемой.
Как правило камера нормально проезжает мимо объектов, отображая их на экране до тех пор, пока он не скроется из виду. Но иногда, видимо зависит от ракурса, объект перестает отображаться раньше времени и кусками становится прозрачным. Можно ли это как-то пофиксить?
Аноним 24/10/24 Чтв 20:47:54 981213 109
>>981147
Нахуя? Просто погугли как реф на другой асмдеф добавить
Аноним 24/10/24 Чтв 21:07:59 981219 110
15474096006440.jpg 116Кб, 768x1024
768x1024
Поясните принцип работы ебаного InputField, кто знает.
Вот я создал InputField (плейсхолдер и текст уже внутри него) и приделал к нему такой скрипт:

public Text inputText; // размещаю здесь объект Placeholder
public Text namePlayer1; // размещаю здесь объект Text

void Start()
{
inputText.text = "Ivanov_1"; // задаю стартовое значение, оно выводится сразу в плейсхолдере на старте
}
public void SetData() // на этот метод ведут обе кнопки с инпутфилда (при изменении в строке ввода и при выходе из нее)
{
namePlayer1.text = inputText.text; // присваиваю выводимому тексту, значение того, что печатается в поле ввода
inputText.text = namePlayer1.text; // добавлено, т.к. без этого при стирании всех символов, автоматически (с какого-то хуя) появляется надпись заданная еще в старте - "Ivanov_1", хотя ее уже сто раз могли перезаписать
}

Теперь, что я недогоняю. Вот у меня в начале выводит "Ivanov_1" и я хочу его дописать, например до "Ivanjv_1990". И нихуя, курсор прыгает в начало строки и типа затирай все нахуй и пиши заново. Причем после того, как я это написал все без проблем, блять работает. Ставь курсор и правь где надо. Но, сука, не на старте - на старте курсор, хуй поставишь. Только переписать все заново
Я пытался просто вставить в старт работающий в SetData() код
namePlayer1.text = inputText.text;
inputText.text = namePlayer1.text;
, но в старте он нихуя не работает и просто выводит в строке нихуя.
Попытка вбить код таким методом, в старте тоже нихуя не дает namePlayer1.text тупо остается = ""
namePlayer1.text = "Ivanov_1";
inputText.text = namePlayer1.text;

В целом, я понимаю, что тот пидорас кто писал этот код для редактора хотел все автоматизировать, но, блять, не методом же поломки алгоритма? Какого хуя один и тот же код не работает в двух разных местах и как это обойти, блять?
Аноним 24/10/24 Чтв 22:02:25 981237 111
15876718121080.jpg 248Кб, 1837x2528
1837x2528
>>981219
вообщем, нашел сам - в методе Старт
нужно писать:
GetComponent<InputField>().text = inputText.text;
namePlayer1.text = inputText.text; - не срабатывает с какого-то хуя для компонента в инпутфилд, а только для namePlayer1, там остается пустое место и курсор встает в начало строки

Тогда текст пропишется и в компоненте InputField и в namePlayer1.text . И можно будет ставить курсор в нужное место стартового имени.


Причем, уже в методе SetData() все прекрасно работает и
namePlayer1.text = inputText.text; меняет текст в обоих местах, как и нужно, а не только у себя. Это явный косяк юнитеков, ебал их рот (в этом конкретном случае).
Аноним 24/10/24 Чтв 22:30:02 981256 112
15341223767730.jpg 196Кб, 853x1137
853x1137
>>981237
В итоге все работает, но заметил, что при выделении всего или части Имени курсором и затем удалении его при помощи кнопки Delete или Backspace, удаленный текст иногда остается, хотя курсор и прыгает в начало строки. И нужно начать писать текст или щелкнуть курсором в другой части экрана, чтобы он исчез. Причем это срабатывает через раз и я не вижу логику почему так происходит.
Аноним 24/10/24 Чтв 22:39:49 981258 113
>>981237
Нет у них косяков, ты что тотнамудрил.

Кидай полностью код какой был и каеой стал
Аноним 24/10/24 Чтв 22:51:07 981267 114
>>981258
Вот код, жирным строка которую добавил, т.к. код namePlayer1.text = inputText.text; работающий в методе
SetData(), в старте не работает.
namePlayer1.text остается всегда равным ""

public Text inputText; // размещаю здесь объект Placeholder
public Text namePlayer1; // размещаю здесь объект Text

void Start()
{
inputText.text = "Ivanov_1"; // задаю стартовое значение, оно выводится сразу в плейсхолдере на старте
GetComponent<InputField>().text = inputText.text;
}
public void SetData() // на этот метод ведут обе кнопки с инпутфилда (при изменении в строке ввода и при выходе из нее)
{
namePlayer1.text = inputText.text; // присваиваю выводимому тексту, значение того, что печатается в поле ввода
inputText.text = namePlayer1.text; // добавлено, т.к. без этого при стирании всех символов, автоматически (с какого-то хуя) появляется надпись заданная еще в старте - "Ivanov_1", хотя ее уже сто раз могли перезаписать
}
}
Аноним 25/10/24 Птн 03:21:30 981295 115
Вообще мне хочется найти работу, зря я юнити что ли много лет тыкаю, но реально интересно, насколько там реально отличается код/архитектура от того как я пишу. Такое чувство, что на первом рабочем дне открою исходники, увижу какое там охуенное архитектурное исполнение и затревожусь, что это выше моего уровня и что я своими рученками все испорчу.

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

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

Я вот нашёл один такой https://github.com/jynew/jynew/tree/main есть релиз в Стиме, для инди результат хороший, все довольны
Аноним 25/10/24 Птн 04:08:54 981297 116
>>981295
Написано так себе, причём шизом, не стоит на это ориентироваться(именно с точки зрения программирования)

> Короче хз, может кто посоветует открытые репозитории, мне для ознакомления , близкие к среднестатистическому исполнению кода?
Ниче нету. И исполнение с архитектурой сильно варьируются в зависимости от компании(в ИП Васян если не повезёт то может быть любое говно, самое страшное, что ты только можешь себе представить даже близко не опишет масштаб катастрофы).

Правило в целом такое - если ты смог сделать игру от начала до конца, то ты либо уже можешь идти работать, либо не очень далёк от этого.
Можешь смело откликаться на вакансии и смотреть чё будет, после собеседований смотреть что надо подтянуть. Плюс посмотри видосы по собеседованиям вроде этого мок собеса https://youtu.be/yP9rZt501kI
Это не на ждуна, но тоже будет полезно.

А так в целом сложнее на собес попасть, чем работать, лол.
Аноним 25/10/24 Птн 04:52:34 981299 117
>>981297
>страшное, что ты только можешь себе представить
Заинтриговал. Например?
Аноним 25/10/24 Птн 05:19:45 981300 118
>>981299
Ну что получается когда на качество кода поебать либо не хватает квалификации, при этом нету контроля, а кабан кабаныч просит фичи поскорее. И это приправить сменой разработчиков.

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

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

Своими глазами не видел, но боюсь ту самую мемную архитектуру на СО тоже кто-то использует...
Аноним 25/10/24 Птн 07:42:14 981304 119
>>981300
Нет, это все специфика работы, и ничего страшного в этом нет
Хуево, когда ответственный за проект знает шарп парадигмы или еще какую то хуйню, но не знает юнити или даже как апдейт работает. И в лучшем случае идут изобретание велосипедов, в худшем изобритания велосипедов+не использования функционала
Аноним 25/10/24 Птн 08:24:07 981312 120
kartracing.jpg 594Кб, 2560x1707
2560x1707
Делаю гонку, посоветуйте пожалуйста пак звуков мотора и музыки для саундтрека.
Буду благодарен если посоветуете уроки по созданию гонки.
Купил данный курс:
https://www.udemy.com/course/kart-racing
На мой взгляд в нем есть практически все, что нужно для начинающего разработчика мультиплеерных гонок (кроме реализации спидометра).
Аноним 25/10/24 Птн 09:58:33 981318 121
>>981312
>Купил данный курс:
ясно понятно нахуй путешествуй
Аноним 25/10/24 Птн 10:32:53 981322 122
Аноним 25/10/24 Птн 10:46:07 981323 123
Аноним 25/10/24 Птн 15:49:33 981358 124
>>981300
> кабан кабаныч
Поэтоум в идеале Кабаном Кабанычем должеть быть сеньор, который в свое время пожевал говна и знает, как оно все на самом деле может быть, поэтому обладает определенным набором эмпатии и потому должен хотя бы немного контролировать, чтобы архитектура шла в правильном/менее болезненном направлении
Аноним 25/10/24 Птн 16:14:23 981362 125
Вот серьезно.
Я не работал в геймдеве, хотя хочется (хоть казуалки пилить, хоть порнуху, все равно кроме этого мне больше ничего не интересно), но меня пугает именно торопливость, дедлайн и прочее.
Я, работая над своей игрой (которую доделал) иногда над какой-то проблемой мог сидеть неделю. Вскрываются, так сказать, непредвиденные проблемы.

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

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

Поэтому здорово наверное работать в таких компаниях, где сроки не имеют особо значения, точнее нет конкретного плана уложится в такое-то время. Поэтому в идеале - это когда Кабан Кабаныч просто хочет воплотить свой проект в жизнь, и больше заинтересован в том, чтобы проект просто вышел, пусть на два-три года позже, но он уверен что окупится, да и вообще проект для него хобби, а не реально материальное обеспечение
Аноним 25/10/24 Птн 16:42:49 981364 126
8.mp4 289Кб, 480x360, 00:00:05
480x360
>>981362
>Поэтому здорово наверное работать в таких компаниях, где сроки не имеют особо значения, точнее нет конкретного плана уложится в такое-то время.
хуя дебил
Аноним 25/10/24 Птн 21:49:16 981401 127
Эх как же хочется работать в валв, и пилить третью халву двадцатый год подряд и никто не стоит на душой, а Гейб Кабанович где-то в Зеландии и ему похуй, ведь Стим приносит деньги, а игры так, для души
Аноним 25/10/24 Птн 22:09:50 981404 128
>>981401
Гейб Кабанович вроде как целыми днями в ВоВ задротит. Наверняка он всю жизнь завидовал близзардам... Сейчас пытается это компенсировать через захват игрового рынка.
Аноним 25/10/24 Птн 22:31:10 981408 129
>>981405
>разогнали всех разноцветноволосых в итоге
Этот тот конкорд, который 8 (восемь) лет пилили? А их потом все разогнали? Пиздец, у них там жестко со сроками. Вот российский кабан кабаныч их только лет через 12 бы разогнал, а то и через 15
Аноним 25/10/24 Птн 22:51:23 981414 130
16399120362830.png 1918Кб, 700x700
700x700
>>981410
А когда у нас когда кредиты давали под 7% у нас прям гд-рай что ли был? В РФ геймдев очевидно не очень работает пока и держится на инди, да и то так себе, посмотрим правде в глаза.
Но странно сейчас про него вспоминать, когда 25% появилось сегодня. Я выше где-то писал, что у нас норм с этим всё что ли или к чему ты тут 25 приплёл вообще?
Аноним 25/10/24 Птн 22:53:38 981415 131
>>981412
>либо хотя бы на мобилки уходить андроиды или айфоны
Ну, на мобилки самое то уходить, с учетом того, что там все решают бюджеты на рекламу. И ты заранее в проебе западному кабану и по объемам доступных кредитов на траффик и по их цене. Такое себе в общем решение
Аноним 25/10/24 Птн 22:57:18 981417 132
>>981415
>все решают бюджеты на рекламу
Ну да, тут верно. А странно, что тут обсуждение идёт, а не в общем. Причём тут юнити-то?
Аноним 25/10/24 Птн 22:58:10 981418 133
>>981414
> к чему ты тут 25 приплёл вообще?
К тому, что кабан взявший в банке под 25% на разработку, шкуру будет спускать со своих подчиненных разрабов даже за возможное затягивание сроков. И в таких условиях искать нормального понимающего кабана - это надо быть долбоебом
Аноним 25/10/24 Птн 23:00:49 981419 134
>>981417
юнити почти ни при чем, просто тред почти мертвый и чел спросил, почему за сроки так ебут
Аноним 25/10/24 Птн 23:01:01 981420 135
>>981418
Неужели работать будет просить и зп отрабатывать? Кошмар какой
Аноним 25/10/24 Птн 23:05:16 981422 136
>>981419
>просто тред почти мертвый
Ну это да. Я работаю вот сейчас и попиливаю игрушку, но когда вопрос возникает, то мне проще в гугле найти решение проблемы, т.к. их сотни уже таких вопросов либо у гпт спросить. А тут хз чего спрашивать. В других тредах и движках (не буду говорить в каких) спрашивают всякую ерунду, но у них документаций меньше и тредов на сторонних форумах меньше, наверное.
А свой прогресс мне проще завтра в субшоте выложить, чем тут.
Аноним 26/10/24 Суб 00:00:15 981425 137
>>981358
Ну тут когда как. Кабан кабаныч может быть и годным управленцем
Аноним 26/10/24 Суб 00:16:16 981427 138
>>981362
> В вакансиях пишут, чтобы чел мог "трезво оценивать" свои сроки.
Скорее всего это "ИП Кабан Кабаныч".

Сроки выполнения отдельных тасок оценивает либо лид, либо команда на покере планирования, либо их вообще нет.
Если на тебе ответственность за оценку задач и ты обычный разраб - значит процессов в компании нет, а работают там(в том числе на руководящих постах) не особо квалифицированные ребята.

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

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

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

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

>>981364
Такое бывает пчел

мимо 2 работы, 400к
Аноним 26/10/24 Суб 00:19:02 981428 139
>>981418
Не надо идти туда, где кабаныч кредит взял и нихуя не понимает что делать, это же очевидный ред флаг.

Надо идти только в продуктовые компании, которые делают свои игры и уже нормально живут с них, а не на кредиты.
Аноним 26/10/24 Суб 00:29:34 981429 140
>>981428
Изи мани с кабанчика лоха.
Аноним 26/10/24 Суб 02:00:23 981430 141
>>981427
>мимо 2 работы
Ты на двух работах всего поработать успел или сейчас одновременно на двух работаешь?
Аноним 26/10/24 Суб 03:14:57 981431 142
Аноним 26/10/24 Суб 07:09:43 981443 143
image.png 7117Кб, 2560x1440
2560x1440
1.jpg 1383Кб, 1835x1182
1835x1182
2.jpg 1303Кб, 1835x1182
1835x1182
>>980548 (OP)
Привет всем, у меня вопрос по поводу unity shader graph. Unity 3d у меня версии 2022.
Какая проблема?
В неправильном отображении Normla Map под разными ракурсами.
Как вы можете увидеть, стандартный lit материал отображает normal map правильно (трещины), но в shader graph фиг пойми как.
Sample texture у меня стоит normal map (tangent) Пробовал так же инвертировать каналы (r и g через ноду Plip)
Кучу всего пробовал и безрезультатно. Быть может кто -то из вас сталкивался с такой проблемой и её решил.
Аноним 26/10/24 Суб 07:47:17 981444 144
>>981427
>Сроки выполнения отдельных тасок оценивает либо лид, либо команда
Что за хуйня, может если у каких нибудь ипешников которые делают софт для компаний из двух человек. Лид на проектах занят более важными вещами, чем марать руки о загрузку говнокоддеров, по крайней мере до того момента когда они действительно вафлить начинают и тормозят все всем
Для этого всегда и во всех нормальных компаниях отдельный человек, который еще и отстаивает эти сроки перед заказчиком и перед нанятыми ебанатами оутсорсерами типа тебя. И кстати оценать свои временные затраты на задачу хоть как-то, это все равно уровень джуниора, и хз что вы пишете что это не картошку копать и невозможно
Аноним 26/10/24 Суб 12:25:29 981450 145
>>981430
Одновременно на двух

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

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

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

> И кстати оценать свои временные затраты на задачу хоть как-то, это все равно уровень джуниора, и хз что вы пишете что это не картошку копать и невозможно
Любой тебе "хоть как-то" оценит, но всегда будут неточности.
Аноним 26/10/24 Суб 15:02:07 981460 146
Аноним 26/10/24 Суб 16:14:44 981469 147
Почему Юнитеки с упорством сумасшедшего продолжают называть свойства с маленькой буквы? При этом в новых кодовых пакетах они называют свойство с большой буквы, как и должно быть в C#. У них там раздвоение что ли.
Аноним 26/10/24 Суб 16:15:15 981470 148
Аноним 26/10/24 Суб 19:11:02 981495 149
>>981469
>свойство с большой буквы, как и должно быть в C#
ты скозал? даже сами майки это правило не соблюдают, всем похуй
Аноним 26/10/24 Суб 20:54:57 981511 150
>>981443
умножать на -1 пробовал?
Аноним 26/10/24 Суб 21:08:00 981513 151
>>981495
>не соблюдают
>всем похуй
Буквально во всём дотнете, во всех популярных сторонних библиотеках следуют стандарту PascalCase, но тут у нас дурачок отрицает реальность. Пиздец. Видимо основу юнити закладывал такой же имбецил. Для тебя и переопределение оператора "==" норма наверняка (хотя ты наверное даже об этом не знаешь, ты же даун).
Аноним 26/10/24 Суб 22:00:23 981516 152
>>981513
Этот базарит, отвечаю.
Три года пилил игру, да что то нихуя прогресса не было, потом понял, что_писал_неправильно, и в итоге НачалПисатьВотТак - и вот что я в итоге - дела сразу пошли в гору, процесс пошел быстро, релизнулся в стиме, 10000 положительных отзывов.
Думайте.
Аноним 27/10/24 Вск 14:14:48 981561 153
>>981513
Тоже начал с большой буквы писать, теперь все мужики руку жмут.
Аноним 27/10/24 Вск 14:59:34 981565 154
>>981469
Сишарперы вообще ебанаты сумасшедшие с 25 разными видами написания названий.

+ Кстати раздражает, что сокращения пишутся votTak и получается Uc, Vm и прочий кал
Аноним 27/10/24 Вск 23:48:24 981596 155
Вопрос по реализации вращения персонажа.
Если у нас персонаж это 3д кораблик в игре с видом сверху, то при перемещении в стороны он должен поворачиваться вокруг своей оси, а при отжимании клавиши возвращаться в исходное положение.
С одной стороны это проще всего реализовать через Rotate, но это нужно будет постоянно отслеживать его последние координаты, будет поворачиваться его коллизия и т.д. Может это можно сделать анимацией какой нибудь? Целесообразно ли это или лучше просто ебануть rotate и не париться?
Аноним 28/10/24 Пнд 06:14:39 981617 156
>>981596
Через ротейт делай.
Если надо чтобы коллизия по какой то причине не поворачивалась, сделай ее в родительском объекте, а модель в дочернем и вращай дочерний
Аноним 28/10/24 Пнд 08:57:43 981622 157
>>981443
В общем, вы вами ничего не знаете
28/10/24 Пнд 10:33:23 981625 158
>>981622
Просто unity 3d говно.
Перешел бы давно на богоподобный unreal engine, там такой хуйни нету.
Аноним 28/10/24 Пнд 18:09:55 981712 159
Аноним 28/10/24 Пнд 21:41:39 981748 160
image 52Кб, 1021x318
1021x318
image 109Кб, 799x1087
799x1087
image 828Кб, 1280x720
1280x720
Как вам новый цветовой дизайн в Юнити шесть тысяч? Лично я бы за такое бил палкой до смерти. Резкие чёрные переходы между серыми панельками это пиздец. Хотя может на вин 11 оно лучше, судя по последнему скрину, но на десятки оч всрато.
Аноним 28/10/24 Пнд 21:50:02 981749 161
>>981748
>палкой до смерти. Резкие чёрные переходы между серыми панельками это пиздец.
Объясни почему. Я не вижу ничего страшного.
Аноним 28/10/24 Пнд 22:02:54 981750 162
>>981748
есть только светлая тема
Аноним 28/10/24 Пнд 22:44:03 981756 163
>>981750
>светлая тема
ну, за такое сразу на плаху...
Аноним 29/10/24 Втр 10:43:26 981774 164
эвэитблом пользуется хоть кто-то?

using UnityEngine;
using System;
using System.Linq;

using Random = UnityEngine.Random;

public sealed class SpawnTest : MonoBehaviour
{
[SerializeField] GameObject _prefab = null;

[field:SerializeField] public int BatchSize { get; set; } = 100;
[field:SerializeField] public int BatchCount { get; set; } = 30;
[field:SerializeField] public float TimeSlice { get; set; } = 2;
[field:SerializeField] public float Interval { get; set; } = 1;

int TotalCount => BatchSize BatchCount;

async Awaitable WaitInterval()
=> await Awaitable.WaitForSecondsAsync(Interval);

async void Start()
{
AsyncInstantiateOperation.SetIntegrationTimeMS(TimeSlice);

// Position/rotation array
var range = Enumerable.Range(0, TotalCount);
var pos = range.Select(x => Random.insideUnitSphere
10).ToArray();
var rot = range.Select(x => Random.rotation).ToArray();

await WaitInterval();

// Simple spawn test
var spawned1 = new GameObject[TotalCount];
for (var i = 0; i < TotalCount; i++)
spawned1 = Instantiate(_prefab, pos, rot);

await WaitInterval();

// Cleaning up
foreach (var o in spawned1) Destroy(o);

await WaitInterval();

// Batch spawn test
var spawned2 = new AsyncInstantiateOperation<GameObject>[BatchCount];
for (var i = 0; i < BatchCount; i++)
spawned2 = InstantiateAsync(_prefab, BatchSize,
new Span<Vector3> (pos, i BatchSize, BatchSize),
new Span<Quaternion>(rot, i
BatchSize, BatchSize));

// Completion
for (var i = 0; i < BatchCount; i++)
while (!spawned2.isDone) await Awaitable.NextFrameAsync();

await WaitInterval();

// Cleaning up
for (var i = 0; i < BatchCount; i++)
foreach (var o in spawned2.Result) Destroy(o);

await WaitInterval();

Application.Quit();
}
}
Аноним 29/10/24 Втр 11:10:45 981775 165
>>981774
пользуюсь иэнумерейтером
Аноним 29/10/24 Втр 11:53:40 981780 166
>>981774
Ты совершенно непраильно пользуешься асинком. Почитай статьи про async await.

> async Awaitable WaitInterval()
> => await Awaitable.WaitForSecondsAsync(Interval);
Нах надо

> AsyncInstantiateOperation.SetIntegrationTimeMS(TimeSlice);
Нах надо

> await WaitInterval();
await Task.Delay

> for (var i = 0; i < BatchCount; i++)
> while (!spawned2.isDone) await Awaitable.NextFrameAsync();
for (var i = 0; i < BatchCount; i++)
await spawned2.Task;
Аноним 29/10/24 Втр 19:07:06 981870 167
>>981774
>эвэитблом пользуется хоть кто-то?
Они чо, наконец саппорт добавили?

Бля, я прочитал. Это пиздец. Чо это за хуйня ЛОЛ????
https://docs.unity3d.com/2023.2/Documentation/Manual/AwaitSupport.html

Вам какую-то лютую хуйню скармливают, я хз что это нахуй лол. Это не нормальный async/await.
Аноним 29/10/24 Втр 19:18:50 981872 168
>>981870
Тот же самый асинк авейт, с пулингом для оптимизации.

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

Ньюфагам пригодится, кто и так на юнитаске так и будут на нём сидеть.
Аноним 29/10/24 Втр 21:56:46 981894 169
>>981870
Хм, неужели нативная замена UniTask?
Аноним 30/10/24 Срд 00:39:02 981914 170
Насколько сложно писать шейдер для unity и тем более под hdrp?
Shader graph не предлагать. Он конечно хороший, но вот косяки с nm по uv2 и более - напрягают
Аноним 30/10/24 Срд 01:42:43 981919 171
>>981872
>Тот же самый асинк авейт
В том самом - авейт бы никогда в мейн треде бы не вызывался, потому что всё бы повесилось.
Аноним 30/10/24 Срд 01:51:24 981920 172
>>981919
Не.

Погугли как асинк авейт работает в шарпе.
Аноним 30/10/24 Срд 01:59:40 981921 173
Вот бы они ещё замену UniRX сделали, а то его больше развивать не планируют.
Аноним 30/10/24 Срд 02:08:55 981924 174
12345.jpg 322Кб, 1956x1440
1956x1440
Короче. Проблему изобразил. Хочу функционал беседки где персонаж появляется в одном месте 0 0 0, ходит по разным дыркам и выходит там же где входил. Т.е входит в 1 1 1 шляется там выходит так же в 1 1 1 идет дальше входит в 2 2 2 шляется там выходит в так же в 2 2 2.
Все мои попытки и гайды что находил либо не делают что хочу либо не работают в 3Д. Я уже устал, может конечно туплю уже от раздумий.
Если делать через обычные переходы сцен
SceneManager.LoadScene(LevelToLoad);
то все работает но он каждый раз он выходит в 0 0 0 и из 1 1 1 и из 2 2 2.
Пытался добавить позицию по вектору с точками перехода. Но в таком случае нужно указывать стартовую точку 0 0 0 и при загрузке стартового уровня он в неё всё равно прыгает первым делом из 1 1 1 и 2 2 2 а все попытки передать в позицию из другой сцены либо не засчитывает либо переписывает при переходе и загрузке сцены. Помогайте, завтра почитаю сегодня уже трудно мыслить рационально
Аноним 30/10/24 Срд 02:27:49 981928 175
Аноним 30/10/24 Срд 02:40:01 981929 176
>>981920
Мы вам перезвоним, как только ты эвейтаешь тред идет обратно в пул. Проблема в том, что если тред основной у тебя в нём евент луп крутится и ты не можешь события ловить. Попросту говоря у тебя окно зависает. Другой тред не подхватит выполнение лол, это не так работает в оконных приложениях.
Аноним 30/10/24 Срд 02:43:34 981930 177
>>981924
Нихуя не понял че ты написал, но я уверен что все решится если перестанешь привязывать игрока к сцене
Аноним 30/10/24 Срд 02:58:19 981932 178
>>981930
Что ты не понял? Я же написал и даже нарисовал беседки функционал это фелаут, скайримы и прочее.
Заходишь в город такой и бежишь до ближайшего здания, входишь в него через дверь и переносишься в другую сцену выходишь из этой сцены там где и входил и тебя переносит ко входу этого здания. Туда же где ты и входил. Все мои попытки повторить это упираются в то что при выходе из здания персонажа ко входу в город переносит а не ко входу в здание.
Аноним 30/10/24 Срд 03:15:18 981935 179
>>981929
Спасибо, перезванивать не надо, я уже принял оффер в другой компании.

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

Просто вот попробуй напиши код и ты увидишь в чем ты не прав.

Вот тебе объясняние как все работает:

Функция Петух()
Инструкция1
Авейт Таск2
Инструкция3

Когда ты вызываешь функцию Петух она выполняется ровно до момента Таск2 как и любая другая функция.

Если Таск2 не завершён на этот момент - данные упаковываются и кладутся в особый списочек.

Периодически в определённом месте компьютерной программы этот списочек проверяется, если Таск2 ещё не выполнился - ну так там и лежит. Если выполнился - убираем из списочка и продолжаем выполнение на Инструкция3.
Всё это работает а одном потоке. Но можно сконфигурировать так, чтобы после авейта брался любой поток из пула, а также то что авейтится может быть как в другом потоке, так и в этом, так и вовсе не быть чем-то активно использующим цпу - все что нам важно это индикатор готово или не готово и результат.


Как оно так хитро работает?
Любой асинхронный метод с хотя бы одним авейтом генерируется в стейт машину, которая хранит весь необходимый контекст - значения локальных переменных и текущую стадию(промежуток между авейтами).
Аноним 30/10/24 Срд 03:17:03 981936 180
Аноним 30/10/24 Срд 08:25:55 981948 181
на самом деле асинхронные методы не имеют никакого отношения к потокам. они просто генерируют машину состояний, типа как IEnumerator и yield return. только разница в том, что у IEnumerator нужно просто вызывать MoveNext(), а асинхронные методы используют callback'и у специальных awaiter-объектов, которые вызывают MoveNext() (типа task.GetAwaiter().OnCompleted(stateMachine.MoveNext))

потоки используются только внутри самих объектов Task во время их создания (например, через Task.Run()) или во время их продолжения (Task.ContinueWith()).
Аноним 30/10/24 Срд 12:29:26 981960 182
>>981932
Я бля просто не могу представить где у тебя могут возникнуть проблемы если у тебя игрок в донтдестрой. Берешь и назначаешь позицию когда надо.
Аноним 30/10/24 Срд 12:31:30 981961 183
>>981928
>R3
Фигасе. Да ещё и от автора оригинала. Спасибо.
Аноним 30/10/24 Срд 12:40:37 981962 184
image 246Кб, 1417x864
1417x864
Вот что пишет автор UniTask про Awaitable. Значит продолжаем сидеть на юнитасках.
Аноним 30/10/24 Срд 12:52:02 981963 185
>>981962
Чем тебе корутины не нравятся? Не советую использовать async для геймплея.
Аноним 30/10/24 Срд 12:52:36 981964 186
1234567.JPG 62Кб, 1088x357
1088x357
>>981960
Ну так создай простую сценку уровня пикрил что бы каждый куб переносил на новую сцену и оттуда можно было вернутся назад на эту сцену ко входу в куб. И расскажи почему у тебя проблем нет а то у меня что-то проблемы
Аноним 30/10/24 Срд 12:54:09 981965 187
2024-05-09 23-0[...].mp4 14476Кб, 1920x1080, 00:00:14
1920x1080
заебись я вас прогрел на общение
Аноним 30/10/24 Срд 13:29:22 981970 188
image 259Кб, 1280x905
1280x905
>>981965
>заебись я вас прогрел на общение
Отдрали тебя как юнитесу!
Аноним 30/10/24 Срд 13:35:56 981972 189
>>981935
Джун, поезжай обратно на курсы. Ты так и не понял как это на самом деле работает.

>Когда ты вызываешь функцию Петух она выполняется ровно до момента Таск2 как и любая другая функция.
Именно. Поставь await Task.Delay(10000) в апдейт.
>не быть чем-то активно использующим цпу
Асинхронность гораздо больше нужна для IO-таск.
Аноним 30/10/24 Срд 13:39:25 981973 190
image.png 111Кб, 935x731
935x731
>>981964
У тебя хотя бы какая-нибудь хуйня типа пикрила написана?
Аноним 30/10/24 Срд 14:13:32 981982 191
>>981972
> Джун, поезжай обратно на курсы. Ты так и не понял как это на самом деле работает.
Я сеньор ващет

> Именно. Поставь await Task.Delay(10000) в апдейт.
Так давай, поставь

Блин жалко только в юнити апдейт НЕ асинхронный и там нельзя писать await, да?)))

Зато смари чё можно сделать

async void Start()
{
Debug.Log("kek");
await Task.Delay(10000);
Debug.Log("kek2");
}

Запусти это и посмотри как у тебя 10 секунд будет висеть юнити(с иделальной отзывчивостью🤣)

> Асинхронность гораздо больше нужна для IO-таск.
Я и говорю, там что угодно может быть, мы абстрагируемся от того что и как там делается
Аноним 30/10/24 Срд 14:25:09 981983 192
Почему в юнити не могут добавить контекст сцены и контекст проекта из коробки? Ну типа блять можно же будет просто передавать его потом в Run(ctx) нужных методов, чтобы весь кал самоудалялся/закрывался в OnDestroy даже в асинках, хуинках и тд.

Я не понимаю, почему нигде блять никто практически не использует токены при работе с сетью и файлами че за хуйня
Аноним 30/10/24 Срд 14:30:49 981985 193
5.mp4 1307Кб, 960x520, 00:00:05
960x520
>>981983
>токены
не знаю не ебу, я даже не знаю нахуя это всё

мимо 2 проекта в стиме
Аноним 30/10/24 Срд 14:33:14 981986 194
>>981973
4 варианта, твой 5тый. Тоже самое показал что и те 4. Он всё равно возвращается в позицию в редакторе выставленной где он на карте находится а не в позицию перехода сцен.
Аноним 30/10/24 Срд 14:38:12 981987 195
>>981983
Возьми и добавь. Нах из коробки?
Аноним 30/10/24 Срд 14:39:07 981988 196
>>981986
>Он всё равно возвращается в позицию в редакторе выставленной
Нахуй он там выставлен блять? Понимаешь что игрока на сцене быть не должно вообще в редакторе? СУка.
Аноним 30/10/24 Срд 14:40:29 981989 197
>>981987
Чтобы остальные макаки добавляли и юзали контекст первым аргументом в функциях
Аноним 30/10/24 Срд 14:42:11 981990 198
>>981988
А где ему быть? И как он должен из того места на сцену попадать?
Аноним 30/10/24 Срд 14:48:02 981991 199
>>981990
Префабом ему быть. Спавнишь его на стартовой сцене как хочешь. Бля слово спавн вообще тебе о чем нибудь говорит? Ты в игры играл вообще?
Аноним 30/10/24 Срд 14:49:25 981992 200
>>981982
>Блин жалко только в юнити апдейт НЕ асинхронный и там нельзя писать await, да?)))
Жалко что барин запретил.
>Зато смари чё можно сделать
Это работает потому что корневой код, который вызывает Start уровнем выше - как раз не вызывает await. await блочит выполнение. Ты не можешь в мейнлупе вызывать await.

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

using System;
using System.Threading;
using System.Threading.Tasks;

class Program
{
static async Task Main() {
Console.WriteLine("kek");
await Task.Delay(10000);
Console.WriteLine("kek2");
}
}
Аноним 30/10/24 Срд 15:07:24 981993 201
>>981991
Появилось подозрение у меня, что частично не так что-то делаю. Я и так префабом его сделал только без удаления из сцен полагая что это и будет его спавн поинтом. Ни одного гайда не встречал из игроделов кто бы это делал, даже упоминаний о корректном использовании префабов и спавнов не видел. Ну либо я уже сам запутался и нихуя не догоняю буквально никто этого не делает в гайдах.
Есть какой-то гайд по этому?
Аноним 30/10/24 Срд 15:27:34 981996 202
>>981993
Какие гайды, используй логику. Если у тебя уже есть игрок в донтдестрой, то если ты загружаешь новую сцену у тебя не должно быть в новой сцене игрока, дубликат же получится. И когда идешь обратно в главную сцену, он опять загружается, и там опять же не должно быть игрока, он у тебя уже есть в донтдестрой. Мне кажется тебе нужно просто почитать что такое DontDestroyOnLoad.

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

Если идти по способу который ты описал, когда игрок уже есть на сцене, то тут игрока пихать в донтдестрой использовать не надо конечно. Но это подход для игр где не нужно параметры игрока хранить и сцены между собой не связаны.
Аноним 30/10/24 Срд 15:32:44 981998 203
что делает этот код

if (Vector3.Dot(speed, velocity.normalized) < maxSpeed) {
speed += velocity.normalized acceleration Time.deltaTime;
}
Аноним 30/10/24 Срд 15:44:55 982000 204
>>981924
>Проблему изобразил. Хочу функционал
Общий алгоритм (начала игры) такой:
1. Закрываешь экран чёрной заглушкой.
2. Загружаешь персонажа, если его ещё нет.
3. Загружаешь карту отдельно от персонажа.
4. Размещаешь персонажа где хочешь на карте.
5. Снимаешь с экрана чёрную заглушку.
Тогда ты можешь хоть по всей карте персонажа телепортировать - игрок ничего не увидит. Без "загрузочного экрана" (чёрной заглушки) такие внезапные переходы выглядят уж очень тупо.

>>981996
>синглтон игрока
Вредный совет. А если он мультиплеер захочет?

>>981973
Этот код не подходит для ситуаций, когда комнаты связаны друг с другом в цепочки/лабиринт.

Для максимально общего случая перехода, нужно:
1. На каждой карте обозначены точки перехода.
2. Каждая точка перехода хранит в себе какую-либо форму ссылки на сцену, в которую она отправляет игрока, и одну из точек спавна в этой другой сцене.
3. При активации перехода игроком:
- смотрим, куда нам нужно перейти;
=> загружаем необходимую карту;
- смотрим, где нам нужно появиться;
=> размещаем игрока в точке спаяна.

Тогда можно делать сколько угодно переходов в совершенно любом порядке, даже создавать в игре своего рода неевклидовое пространство из комнат.
Аноним 30/10/24 Срд 15:46:37 982001 205
>>981996
Чел до сих пор не понимаешь проблемы. У меня работают переходы. У меня персонажи появляются на новой сцене где надо, выходит из нее тоже где надо
ПРОБЛЕМА
БЛЯДЬ
В ТОМ
ЧТО
ОН ВОЗРВАЩАЕТСЯ
НА ОСНОВНУЮ
СЦЕНУ
В ТОЧКУ
ОТКУДА ИГРА НАЧИНАЕТСЯ
А НЕ ВМЕСТО ПЕРЕХОДА

Я только что буквально удалил со сцена персонажа. Поставил ему точку входа в игру в методе старт при запуске новой игры. И он там появился без всяких проблем. Добежал до перехода в другую локацию и перешел в неё. В той сцене тоже удалил персонажа с редактора и так же поставил точку спавна куда он и переместился благополучно. Побегал но второй локации и вернулся назад к переходу в основную локацию И МНЕ НУЖНО И ДОЛЖЕН БЫЛ ЧАР ВЕРНУТСЯ В ТОМ МЕСТО ОТКУДА Я ВЫШЕЛ но он снова кинул меня на стартовую позицию игрока в сцене. Переход кстати по вот этому твоему >>981973 сейчас осуществляется.
Аноним 30/10/24 Срд 15:50:15 982002 206
>>982000
>Вредный совет. А если он мультиплеер захочет?
Без обид но пошел нахуй, этот чел до сих пор не шарит почему при старте сцены вызывается старт на скриптах которые в сцене. А ты про мультиплеер.
Аноним 30/10/24 Срд 15:52:50 982003 207
>>981992
> Жалко что барин запретил.
Не барин запретил, а спецификация языка.
await можно писать только в методе который async.
Зато асинк метод можно заколлить в неасинк методе без авейта. Он будет выполняться как я расписал выше.

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

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

А давай чуть чуть посмешнее программу напишем. Вот так:
class Program
{
static async Task Main()
{
Console.WriteLine("rofl1");
Prekol();
Console.WriteLine("rofl2");
await Task.Delay(15000);
Console.WriteLine("rofl3");
}

static async Task Prekol()
{
Console.WriteLine("kek");
await Task.Delay(10000);
Console.WriteLine("kek2");
}
}

Какой будет вывод? В каком потоке что выполняется?
Аноним 30/10/24 Срд 16:02:40 982004 208
>>982001
>МНЕ НУЖНО И ДОЛЖЕН БЫЛ ЧАР ВЕРНУТСЯ В ТОМ МЕСТО ОТКУДА Я ВЫШЕЛ
Так ты контролируй хоть, что у тебя загружается и выгружается из памяти. В Unity такое невозможно?

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

>>981993
>никто этого не делает в гайдах
Учи движок по официальным руководствам.
Слепо следовать "гайдам" - путь в Tutorial Hell.

>>982002
>А ты про мультиплеер.
Он же про игры беседки говорил. Наверняка свою собственную убийцу TES:O / F76 планирует сделать.

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

Поэтому привычка делать игрока синглтоном может навредить, когда захочется сделать две+ фигурки.
Аноним 30/10/24 Срд 16:03:13 982005 209
image.png 44Кб, 813x133
813x133
>>982001
> но он снова кинул меня на стартовую позицию игрока в сцене
КТО ОН БЛЯТЬ??? Пикрил метод вызывется? PreviousScenePosition задан? После метода что еще вызывается? Проверяй все нахуй. Хуйли ты на меня орешь.
Аноним 30/10/24 Срд 16:14:28 982006 210
>>982003
>а спецификация языка.
Это в архиткетуре юньки заложено, что сущности нельзя апдейтить асинхронно, а не в языке.
>Могу.
И чо будет делать программа дальше по-твоему? Бля, как же вы нахуй вообще не понимаете что под капотом ваших инструментов происходит, это просто пиздец.

>А давай чуть чуть посмешнее программу напишем
Именно так и выглядит то, что происходит в юньке. Твой start не заавейчен, поэтому юнька и отзывается.
Аноним 30/10/24 Срд 17:01:13 982008 211
>>982006
> Это в архиткетуре юньки заложено, что сущности нельзя апдейтить асинхронно, а не в языке.
Что значит "сущности апдейтить асинхронно".
1. Какие сущности?
2. В чем заключается апдейт?
3. Чем различается апдейт сущности синхронно и не асинхронно.
4. Каким образом можно это заложить архитектурно.

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

> И чо будет делать программа дальше по-твоему? Бля, как же вы нахуй вообще не понимаете что под капотом ваших инструментов происходит, это просто пиздец.
Так это ты не понимаешь, а я понимаю. Я тебе объяснил как всё работает вот тут >>981935

> Именно так и выглядит то, что происходит в юньке. Твой start не заавейчен, поэтому юнька и отзывается.
В юнити в мейн лупе нету слова асинк ни в одном месте. Что бы ты ни делал где угодно с использованием слова асинк в юнити - оно никогда и никак не заблокирует(определение - блок потока - это когда там постоянно выполняются команды длителньое время, условно while true например или вычисление тяжелое) основной поток.

Знаешь почему я до этого доебался?
Вот поэтому:
>>981919
> В том самом - авейт бы никогда в мейн треде бы не вызывался, потому что всё бы повесилось.
Каким образом можно "в мейн треде вызвать авейт"?
Давай покажи с примерами.
Как я понял в юнити авейтаблах ты утверждаешь можно "в мейн треде вызвать". Покажи как. А потом покажи как по-другому обычными тасками не вызвать.
Т.е. жду от тебя 2 вещи:
1. Как в в новых юнитевских эвейтеблах "всё повесить" с помощью слова авейт
2. Как всё НЕ повесит в "том самом"

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

Давай рассмотрим вот этот код:
void Start()
{
Kek1();
await Kek2();
Kek3();
}
async Task Kek1()
{
Debug.Log("k1");
await Task.Delay(1000);
Debug.Log("k11");
}

async Task Kek2()
{
Debug.Log("k2");
await Task.Delay(2000);
Debug.Log("k22");
}

async Task Kek3()
{
Debug.Log("k3");
await Task.Delay(5000);
Debug.Log("k33");
}

Под спойлерами ответы

Вопрос 1: В каком "треде" будет вызван каждый из методов Debug.Log?
все в мейн треде

Вопрос 2: А если переписать такой же код без юнити апи и сделать консольное приложение - что-то изменится?
ничего, все в мейн треде

Вопрос 3: Возможно ли изменить это поведение
Да, через конфигурАвейт


А также поэтому
>>981929
> ты эвейтаешь тред идет обратно в пул.
Что значит "эвейтаешь тред"?
Можно авейтит сущность под названием Таск, которая содержит маркер завершена ли некая задача или нет.


Можешь конечно попытаться чето дальше расписывать, но я тебе рекомендую просто зайти в юнити и сделать эксперименты + почитать теорию и всё встанет на свои места тогда.
Аноним 30/10/24 Срд 19:17:07 982024 212
Нашел себе гайд который покрывает все мои вопросы, правда он для 2д но если что переделаю. Завтра попробую сегодня всё равно заебался так ничего и не сделав.
Аноним 30/10/24 Срд 19:20:28 982025 213
Я правильно понимаю, чтобы запустить Юньковское приложение из того же VS Code, я должен в Start, например, создать пустой компонент и в него добавить файл с главным циклом?

И второй вопрос: что происходит, если в сцене всего 2 компонента с навешанным на них одинаковым скриптом?
Аноним 30/10/24 Срд 20:12:47 982034 214
16325925131950.mp4 1905Кб, 1280x720, 00:00:22
1280x720
>>982025
Ты можешь самые базовые туториалы пройти? У тебя вопросы даже не уровня новичка, а уровня душевнобольного.
Аноним 30/10/24 Срд 20:44:47 982044 215
>>982034
Хорошо. Можешь ткнуть носом в документы, где описаны различные точки входа в Юньковское приложение?
Аноним 30/10/24 Срд 21:18:02 982054 216
4.webm 343Кб, 640x360, 00:00:04
640x360
>>982034
>а уровня душевнобольного.
таким лучше даже не отвечать, может на следующий день забудут про юнити навсегда
Аноним 30/10/24 Срд 21:25:50 982056 217
>>982054
Большая, я смотрю, конкуренция у ассетфлипперов.
Аноним 30/10/24 Срд 22:11:18 982072 218
>>982008
>1. Какие сущности?
Монобэхи.
>2. В чем заключается апдейт?
https://docs.unity3d.com/ScriptReference/MonoBehaviour.Update.html
>3. Чем различается апдейт сущности синхронно и не асинхронно.
Ну асинхронно ты бы мог апдейтить отдельную сущность в отдельном потоке и в зависимости от проца значительно ускориться.
>4. Каким образом можно это заложить архитектурно.
Да любым. ECS как пример.

>другое значение общепринято.
Не знал что в юньке апдейт - это на самом деле не апдейт.

>"в мейн треде вызвать авейт"
Если барин запрещает всегда можно вызвать Task.GetAwaiter().GetResult()
и произёдт упс. А всё потому что ты ограничен мейнтредом.

Рекомендую тебе побольше РАБотать и поменьше готовиться к собеседованиям, это полный кринж.
Аноним 31/10/24 Чтв 00:17:00 982091 219
>>982072
> >1. Какие сущности?
> Монобэхи.
> >2. В чем заключается апдейт?
> https://docs.unity3d.com/ScriptReference/MonoBehaviour.Update.html
> >3. Чем различается апдейт сущности синхронно и не асинхронно.
> Ну асинхронно ты бы мог апдейтить отдельную сущность в отдельном потоке и в зависимости от проца значительно ускориться.
> >4. Каким образом можно это заложить архитектурно.
> Да любым. ECS как пример.
А смотри у меня есть
public class Kek : MonoBehaviour
{
public int Rofl;
public void GigaUpdate()
}
Я могу изменить значение рофл и вызвать гигаапдейт... из другого потока!

Нельзя вызывать большую часть Unity API. А не "апдейтить сущности" рофл.

> Не знал что в юньке апдейт - это на самом деле не апдейт.
Я про "авейтить", "авейтить тред", "асинхронно".

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

> Если барин запрещает всегда можно вызвать Task.GetAwaiter().GetResult()
Это не "авейт", это то что внутри будет из себч предстаалять
while(!task.IsCompleted){}

Почему ты используешь термин языка "авейт" если подарзумеваешь не "авейт" а какое-то своё маняпонимание этого термина?

> Рекомендую тебе побольше РАБотать и поменьше готовиться к собеседованиям, это полный кринж.
Да я уж понял, что ты тупа троленгуешь.

Хз что тут ещё отвечать, все мои вопросы по сущесвту описаны в этом посте >>982008 ты их тактично проигнорил.

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

Либо понимание у тебя есть, но с терминологией беда и поэтому нихуя не понимаешь что я пишу и сам пишешь чушь.
Ну тут уж сорян, что я могу сказать, если async/await в C# используется в контексте асинхронности(что в свою очередь НЕ синоним многопоточности) и это конкретные ключевые слова языка для описания программы с точки зрения этой самоц асинхронности, а в твоем личном понимании await это while(!task.IsCompleted){}
Тут только могу развести руками.
Аноним 31/10/24 Чтв 02:07:46 982101 220
>>982091
>Опять путаешь многопоточность и асинхронность.
Бляяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя.

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

Остальное даже комментить лень чо то. Нахуй ты апдейт хочешь вызывать из жопы, ты ебанутый?
Аноним 31/10/24 Чтв 02:16:59 982102 221
ты-же-долбоеб.mp4 5510Кб, 1280x720, 00:00:24
1280x720
>>982101
>Асинхронность должна выполняться в нескольких потоках, иначе она просто не имеет практического смысла
Аноним 31/10/24 Чтв 02:31:11 982103 222
>>982101
> Асинхронность должна выполняться в нескольких потоках, иначе она просто не имеет практического смысла. Ты понимаешь что однопоточный асинхронный код медленнее синхронного?
Нет не должна. Кому должна?

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

Ты можешь просто ебануть
async UniTask AutoFire()
{
while(true)
{
Fire();
await UniTask.Delay(1000);
}
}

И в любом месте ты можешь просто вызывать
AutoFire() и у тебя будет автоматом стрельба идти разумеется с прокидыванием токенов для отмены

Ты видишь тут где то многопоточность? Вот и я нет.

Можно вообще делать хуйню по типу
async UniTask IdleBehavior()
{
var petookh = await SearchForPetookh();
FollowPetookh(petookh);
}

Многопоточность есть, нет?

async UniTask OpenWindow()
{
await window.PlayOpenAnimation();
window.Initialize();
}
Есть многопоточность? Нету? Значит нет смысла так писать что ли по твоей логике?

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

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

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

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

> Нахуй ты апдейт хочешь вызывать из жопы, ты ебанутый?
Это ты ебанутый, я тебе просто показываю где твоя логика по швам трещит.
"Сущности"(как выяснили монобехи) нельзя апдейтить из других потоков - закономерно показываю тебе пример, что можно че угодно делать с монобехами из других потоков, если тебе надо - ебош. Нельзя только часть юнити апи использовать.
Аноним 31/10/24 Чтв 02:38:14 982105 223
>>982101
> Ты понимаешь что однопоточный асинхронный код медленнее синхронного?
Код везде один и тот же пчел.

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

Если ты не будешь пользовать асинхронностью, то тебе придётся самому думать как ращбивать выполнение на несколько частей и созранять стейт для продолжения(и у этого внезапно тоже будет оверхед)
Аноним 31/10/24 Чтв 06:14:07 982108 224
>>981998
зачем здесь Vector3.Dot()
Аноним 31/10/24 Чтв 13:09:12 982145 225
>>982105
Не всегда асихронный код это набор коллбэков, которые у тебя внезапно хотят управление перехватить, поэтому аналогичный синхронный код не всегда будет требовать стейт.

Так то ребятки.
Аноним 31/10/24 Чтв 13:23:21 982147 226
>>982145
Нууу у тебя есть функция, в которой тебе тебе надо дождаться когда что-то выполнится и продолжить выполнения.

Как это сделать без асинка так, чтобы не использоватт колбеки и не сохранять стейт?
Ну только если подписками, но это не сказать что лучше.
Аноним 31/10/24 Чтв 15:04:35 982155 227
Screenshot 2024[...].png 10Кб, 388x76
388x76
Сколько весит пустая Юнити свежая установленная ?
Аноним 31/10/24 Чтв 15:37:08 982161 228
1.png 8Кб, 329x229
329x229
2.png 8Кб, 344x231
344x231
>>982155
Только вчера поставил, чистая. Хаб + юнька.
Аноним 01/11/24 Птн 22:42:03 982311 229
image.png 33Кб, 804x505
804x505
image.png 18Кб, 621x175
621x175
image.png 11Кб, 502x148
502x148
Что за хуйня, рабоатю с новой инпут системой, нужно чтобы персонаж приседал при удержании кнопки приседа. И вроде бы все хорошо, ведь я уже реализовал подобное с полетом на удержание кнопки прыжка, но вот незадача, при удержании кнопки приседа всегда CallbackContext с TRUE блять получается, какого блять хуя, если буквально идентичные ситуации с прыжком и приседом. На обоих экшенах добавлена Press в Interactions. Вот этот OnCrouchInput всегда инвокается с тру, хотя с прыжком аналогичная ситуация и там такого нету. Оба метода подписываются actionName.performed+=. Ну вот что тут может быть не так, я в ахуе
Аноним 01/11/24 Птн 23:20:46 982320 230
>>982311
Бля ебанина какая то, я обычно генерю класс в инпут системе и к нему прощаюась типо inputSystem.OnCrouch...
Аноним 03/11/24 Вск 03:15:37 982437 231
qwe1.JPG 37Кб, 507x485
507x485
qwe2.JPG 59Кб, 869x800
869x800
>>982311
>>982320
Да это пиздец а не система я уже который день пытаюсь сделать управление которое на старой системы было сделано за пару часов неспеша. Я её вообще не понимаю блядь это дурость какая-то.

Окей, сделал кое как передвижение, вращением камерой для персонажа, прыжки, бег, приседания, открытие менюшки внутриигровой на Esc и уже обрадоваться успел что наконец эта херня закончилась как тут внезапно оказалось что менюшка не работает потому что внезапно видимо новая система требует реализации OnClick механики, из коробки эта хуйня не работает. Со старой системой такой проблемы даже не было. И я уже кучу опять видосов пересмотрел и кучу всяких тупых способов перепробывал о которых даже говорить не хочу но так и не смог сделать банальный сука он клик. Механика сука простейших движков которая есть из коробки ну везде в рабочем виде.

Сука я даже не могу понять как сформулировать это всё и как решить. Оно просто блядь не работает хуй пойми почему.
Всё по ебучим гайдам прям по пунктам - не работает. Клики по менюшке просто не зачитываются, не то что функционал не запускает а просто даже обработчик кнопки что на неё нажали что бы перекрасить банально не срабатывает.
UI система включена, схема составлена. Но просто блядь не работают клики мышкой.
Аноним 03/11/24 Вск 09:24:04 982447 232
>>982437
делай на старом input'е.
Аноним 03/11/24 Вск 10:05:17 982451 233
>>982437
Двачую этого >>982447

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

Еще могу посоветовать скачать third person контроллер и там посмотреть на живую как импут в скрипте работает, (импут сбора скрипт+перенаправление в контроллер персонажа).

Вангую ты где-то мелочь пропускаешь и проебываешься.
Аноним 03/11/24 Вск 13:06:15 982470 234
>>982437
Зачем тебе Click для меню, я не понимаю? Какую задачу ты решаешь?

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


Инпут система простейшая вещь и работает понятнее чем старая.

У тебя когда ты её сейыишь должен сгенерится класс.
Даллше делаешь

var inputSystem = new InpuSystem();
inputSystem.Enable();

inoutSystem.OnJump. ...тут подписываешься на событие
Аноним 03/11/24 Вск 14:14:52 982479 235
TEST1.mkv 1409Кб, 1920x1080, 00:01:13
1920x1080
>>982451
Да что там можно пропустить я уже заебался, вот ради примера тестовый новый проект сделал.
Заблудится там негде. Но в основном проекте это просто не работает, никаким образом сколько бы я не пытался и я хуй знает что я упускаю уже.
>>982470
Меню в игре я же написал, нажимаешь ESC канвас с менюшкой появляется на ней кнопочки на которые нажимать нужно. Что не понятного? И вот нажатия на эти кнопочки никак не фиксируются.
хотя все необходимые вещи настроены >>982437
Аноним 03/11/24 Вск 14:34:33 982482 236
TEST2.mkv 1972Кб, 1920x1080, 00:00:49
1920x1080
Вот иллюстрация если со словами трудно.
Аноним 03/11/24 Вск 14:45:36 982484 237
>>982479
>>982482
А нах тебе инпут система для UI? Так никто не делает
Аноним 03/11/24 Вск 14:49:39 982485 238
>>982484
Захотелось?
На старой системе работает проблем никаких не было.
Твой вопрос не по теме. Проблему так и не увидел? с 2х видосов?
На 1 всё работает как мне и нужно, на 2 уже не работает и почему так в этом и заключается мой вопрос.
Аноним 03/11/24 Вск 15:02:11 982486 239
>>982479
>>982482
А ты про UI, что там у тебя за косяк и не работает?
Ты ловишь ui эвент на наводку кнопки, и в чем трабла?
На видосе где не работает очевидно что идет конфликт каких то эвентов или перекрытий.

Для теста советую сделать дубликат сцены, и зайти в нее экспериментировать. Удалить все кроме нужно, сделать новое и т.п.
100% твой косяк где-то. Очередность еще может не соблюдаться, эвент должен быть последним в сцене для уменьшения шанса перекрытич.
Аноним 03/11/24 Вск 15:15:38 982488 240
>>982486
>что там у тебя за косяк и не работает?
А мне откуда знать я об этом и спрашиваю
>что там у тебя за косяк и не работает?
Не фиксирует вообще ничего, я же показал специально на видео сделав его таким же как первое не работает
-он клик
-наведение на кнопкку
- её удержание
вообще нихуя не работает хотя это функционал из коробки о чем я перое видео и снял. Там вообще нихуя делать не надо даже что бы это работало.

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

>Для теста советую
Для теста я сделал новый проект что бы проверить что всё работает как надо из коробки даже, и даже видео снял - работает.
И до 6 утра сидел экспериментировал с этой хуйней на основном так и не добившись какого-либо успеха. После чего уже сюда обратиться решил но тут похоже тоже никто нихуя не знает в чем причина может быть.
Аноним 03/11/24 Вск 15:19:13 982489 241
>>982488
>но тут похоже тоже никто нихуя не знает в чем причина может быть.
Да потому что ты хуйню какую-то пишешь без конкретики.

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

Я тебя уверяю ты обосрался в какой-то мелочи либо из-за перекрытий или ломания скриптами.
Аноним 03/11/24 Вск 15:20:43 982490 242
>>982485
Обычно инпут систему используют для кнопок. Ивенты от мышки - только если для геймплейной логике.

Клики по кнопкам в меню - для этого никто не подклбчает инпут систему, нахуй надо, если оно и так работает?

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

> Твой вопрос не по теме. Проблему так и не увидел? с 2х видосов?
> На 1 всё работает как мне и нужно, на 2 уже не работает и почему так в этом и заключается мой вопрос.
Почему нк по теме? Мой ответ - нет смысла юзать инпут систему для юи.
Аноним 03/11/24 Вск 15:26:56 982492 243
>>982488
> Для теста я сделал новый проект что бы проверить что всё работает как надо из коробки даже, и даже видео снял - работает.
Ну и подключи теперь туда инпут систему, посмотри будет ли работать. Поч ты этого не сделал ещё?

А так, скорее всего действительно у тебя просто что то перекрывает и всё. Покликай по сцене, удостоверься что ничто не перекрывает кнопки, отклбчи всё кроме кнопок и иаент системы, сделай чистую сцену в том же проекте с одной кнопкой
Аноним 03/11/24 Вск 15:36:24 982495 244
>>982489
>Тебе блять по русски написано, сделай дубликат сцены и на нем экспериментируй
А я тебе написал
>И до 6 утра сидел экспериментировал с этой хуйней на основном так и не добившись какого-либо успеха
Я уже это и так делал ДО 6 УТРА ЕЩЕ РАЗ СУКА ТЕБЕ Пишу что бы ты понял. Я и так заебался эту проблему искать еще с вами теперь обьяснять всё по 30 раз одно и тоже одно и то же. Сука, сколько раз вам повторять нужно одни и те же вещи. Что не так с вами?

>Я тебя уверяю ты обосрался в какой-то мелочи либо из-за перекрытий или ломания скриптами.
ИМЕННО ЭТО Я И СПРАШИВАЮ БЛЯДЬ СУКА СКОЛЬКО РАЗ УЖЕ ПОВТОРИЛ ГДЕ МОЖЕТ БЫТЬ БЛЯДЬ ОШИБКА?
Я и так знаю что где-то что-то пошло не так и если бы я знал ГДЕ И ЧТО я бы вопросы не задавал ГДЕ И ЧТО. Пиздец.

>>982490
ЭТО ФУНКЦИЯ БУКВАЛЬНО БЛЯДЬ НАЗЫВАЕТСЯ UI INPUT MODULE
ОН ДЛЯ ЭТОГО И СДЕЛАН БЛЯДЬ. Что бы можно было делать меню пауз и прочую хуйню которую я тут и делаю с которой у меня и проблема. Блядь чел просто не отвечей ничего не по теме плз. Толку от тебя всё равно 0, а твои рассуждения на другие темы мне не интересны я тебя о них не спрашивал.
Аноним 03/11/24 Вск 15:39:53 982496 245
>>982495
>Я уже это и так делал
Пиздабол ты, нихуя ты не делал, если бы ты это сделал то дошел бы до момента когда все бы заработало и понял в чем косяк.

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

Любая проблема в юнити даже без знания куда и где копать решается тупо перебиранием.
В твоем же случаи решается элементарным удалением по очереди разных вещей в сцене пока не останется одно модуля, и все начнет работать, далее возврат по очереди того что удалял и ожиданием когда снова поломается.
Аноним 03/11/24 Вск 16:32:00 982505 246
>>982496
Вообще-то я заебался скрипты переписывать, переподключать модули, создавать их с 0 и прочей хуйней заниматся. Всю ночь и до утра этим занимался.

Но внезапно да, всё это было совершенно бесполезно потому что всё работало.

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

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

Простейшее решении тупо всё выключить нахуй - частично помогло. Теперь в самой игровой сцене(1) если запустить её из редактора меню работает. Но если запуск производить из сцены игрового меню который открывается при запуске игры (0) и перейти на игровую сцену(1) по кнопке играть меню снова не рабочим становится. И канваса этого который руинил всё уже нет. Поэтому проблема снова тут.
Блядь какой же пизец. Как я ненавижу нахуй эту ебучую новую систему.
Аноним 03/11/24 Вск 16:50:00 982508 247
17028653272960.mp4 2460Кб, 1920x1080, 00:00:08
1920x1080
>>982505
>Вообще-то я заебался скрипты переписывать, переподключать модули, создавать их с 0 и прочей хуйней заниматся. Всю ночь и до утра этим занимался.
ты ебучий даун можешь посмотреть видео ютубовских протыков на анлийском? просто повтори за ними ёбаный твой рот блядь
Аноним 03/11/24 Вск 16:53:51 982510 248
>>982508
Нихуя ты гений а я то не додумался до этого
Аноним 03/11/24 Вск 19:51:45 982540 249
Кто нибудь сталкивался с таким что vs студия перестает подсвечивать и продолжать написанное?
Клацию в preference - Regenerate project files, какое-то время работает все как надо, но спустя мин 5-10, тупо перестает. Будто в ней не поставлен модуль для юнити и шарпа, вообще.
Недавно началась такая трабла после переустановки юньки и студии.

Прям настолько критичная хрень что бери да переходи на другую IDE.

Что может быть? Куда копать? Понятное дело попробовать переставить студию, но что-то сомневаюсь что поможет.
Аноним 03/11/24 Вск 19:57:08 982542 250
>>982540
Классы от юньки начинают как бы мигать, подсвечиваться на сек и становится серыми будто простой код в комментариях. Ёбаный врот.
Аноним 03/11/24 Вск 20:23:00 982546 251
>>982540
Наверное, падает language server
Аноним 03/11/24 Вск 21:35:47 982554 252
>>982505
> Как бы глупо не звучало но именно это и помогло. Просто сейчас вообще всё повырубал и оно заработало, Проблема оказалась в канвасе
А МЫ ТЕБЕ ПРО ЧТО ГОВОРИЛИ АААААААААААААААА
Аноним 03/11/24 Вск 21:38:55 982555 253
>>982554
Да это было понятно сначало, что он где-то обосрался в куче своих геймобджектов и ему было лень нахуй потратить 15 минут на то чтоб по очереди все отключать ища проблему, просто пиздец.
Зато срался в треде за десятерых считая себя правым.
Аноним 03/11/24 Вск 21:55:11 982557 254
>>982555
Ну да если забыть хуеву гору часов копешения в скриптах в которых как я думал была ошибка то да. Лень пиздец было. А то что все решилось бездумным перебором никак не связанных объектов это осознанный труд. Я тебя понял.
Аноним 03/11/24 Вск 22:43:50 982561 255
>>982557
Так а хули ты хотел если ворвался в тред с претензий и отрицал самое простое и очевидное решение? Что ты ожидал?
У тебя не какая-то ультра редкая ошибка или похожий кейс.
Например в юньке есть редкие баги которые нельзя воссоздать, но обычно они решаются простым перезапуском юньки.

Твой же кейс был такой очевидный и простой для всех, что тебе сразу указали на путь решения проблемы.
Ты начал охуевать и говорить что все тупые и не понимают, на что очевидно был обоссан и правильно.
Аноним 04/11/24 Пнд 01:38:05 982568 256
>>982557
> Ну да если забыть хуеву гору часов копешения в скриптах в которых как я думал была ошибка то да.
Не, тут ты объективно не прав, просто таой подход не верен и не ведёт тебя к решению проблемы.

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

Как делать надо:
1. Проверит работоспособность нечта на начальном этапе
2. Впилить в него инпут систему

Или:
1. Сделать минимальный супер простой работающий пример без инпут системы
2. Добавить туда инпут систему
3. Добавить инпут систему
Аноним 04/11/24 Пнд 01:44:04 982569 257
>>982568
> 3. Добавить инпут систему
Добавить инпут систему в масштабное нечто


Короче бля надо сужать область поиска проблемы это база насколько это возможно, а тупой перебор(я не про отклбчение гейм обдектов, а про шаманство со скриптами которое как я понял ты без понимания делал) - только когда область поиска сужена на максимум.
Аноним 04/11/24 Пнд 10:38:59 982580 258
1.jpg 27Кб, 388x164
388x164
>>982540
>>982542
Короче трабла так и не решилась, поставил vs code и эта хрень тоже тупо не работает и не может найти sdk хотя все скачал и поставил.
Ебаный кал и пердолинг, мне игру надо делать а не ебаться с ide бесконечно.
Чо там еще осталось rider затестить поставить, помню давно ставил тоже нихуя не работало. Почему из всего дерьма только студия работает, заебло.
Аноним 04/11/24 Пнд 11:10:25 982581 259
>>982580
а ты открой командную строку и напиши dotnet --info
Аноним 04/11/24 Пнд 11:13:37 982582 260
>>982580
нет сдк скачай с сайта микрософт дура больная
Аноним 04/11/24 Пнд 11:54:24 982585 261
>>982581
>>982582
Ой как смешно, я уже качал отдельно по ссылке которую и дает vs code, затем пробивал по цмд где стоит это было програм файлс, перезагружал комп, этот кал всеравно ничего не видет, а еще дрочил расширения по кругу в самом vs code, дот нет, с# и юнити пакедж.
Пиздец вы забавные, я пару часов гуглил эту траблу.
Аноним 04/11/24 Пнд 12:27:06 982594 262
>>982585
у тебя не установлено расширение для unity для visual studio. или ты используешь старую версию, которая создает старую версию c# проекта.
Аноним 04/11/24 Пнд 13:06:23 982600 263
>>982594
В смысле не установлена, все стоит в юньке, или как по твоему оно работало до этого.
Аноним 04/11/24 Пнд 17:43:19 982667 264
>>982600
Для вскод и встудия отдельные пакаджи
Аноним 04/11/24 Пнд 18:24:24 982670 265
>>982667
Нихуя, в юньке лишь один есть.
Аноним 04/11/24 Пнд 18:56:33 982674 266
>>982670
Да, вроде с шестой версии теперь объединены. Я ебу какая у тебя версия
Аноним 04/11/24 Пнд 19:00:47 982677 267
>>982674
>Я ебу какая у тебя версия
Ты из тех додиков которые не юзают ласт версию, а сидящих на старом говне мамонта?
Аноним 04/11/24 Пнд 19:56:26 982698 268
>>982677
Видно у тебя нет проекта который не был начат вчера блять.
Аноним 05/11/24 Втр 09:32:03 982775 269
У меня релоад домеин идет по полторы минуты. Это мне нужно колдунски все по асембли калу размазывать, чтобы было быстрее или что?
Аноним 05/11/24 Втр 10:36:27 982777 270
>>982775
Странно.
Релоад домеин это не компиляция, не знаю будет ли профит от деления на ассембли, думаю нет.

Edit, Project Settings, Editor, Enter Play ModeOptions галочку поставь и убери Reload Domain.

Но учти, что Reload Domain релоадит статику, поэтому если ты так сделать static int yoba;
yoba = 5;
То при перезапуске сцены это значение останется.
Аноним 05/11/24 Втр 20:35:33 982883 271
херь.png 1330Кб, 1585x530
1585x530
Я не понимаю как работает Height Map в URP.
Оно не делает ничего подобного как тут https://docs.unity3d.com/Manual/StandardShaderMaterialParameterHeightMap.html
У меня, какую бы хейгхт мапу я не использовал, она просто сдвигает части текстуры куда-то вбок и всё. Не вглубь, а вбок, и на положение камеры никак не реагирует. Текстуру импортировал и обычную и в грейскейле, и сРГБ галку ставил/снимал и всё делал. Ебанина какая-то.
Аноним 06/11/24 Срд 21:28:46 982984 272
Ну что, перекатились на шестерку?
Аноним 06/11/24 Срд 22:49:24 982993 273
Привет. Уже скачал Юнити-хаб и запустил чей-то проект с гитхаба.
Почему редактор такой медленный на мобильном i7-8750H и GTX2060 (Win11).
На Линуксе пошустрее?
Аноним 06/11/24 Срд 23:06:18 982997 274
>>982775
У меня как раз с кучей ассемдефов была пиздец долгая компиляция. Без них - шустро.

>>982883
В настройках текстуры не забыл выбрать, что это нормалмап?

>>982984
Теперь ждём семёрку и уж тогда-то точно начинаем игры делать.
Аноним 07/11/24 Чтв 19:47:47 983054 275
Как вы реализовуете воду? В плане тригера, вот я прилепил колайдер isTrigger = true. И все хорошо, но как адекватно персонажем переходить в стейт плаванья, если делать проверку в обжекте воды на onTriggerEnter то как только персонаж кончиком ноги в эту воду попадает идет тригер, я хотел проверять рейкастом на персонаже, есть ли на достаточной высоте вода, но рейкаст не видит колайдеры с isTrigger = true. Так вот, что в этой ситуации делать? Как знать когда игрок оказался в воде на достаточной глубине, а не только край колайдера задел
Аноним 07/11/24 Чтв 20:56:09 983072 276
>>983054
Можно сделать коллайдер не триггером, а ращместить его в другом слое.
В настройках сделать, чтобы этот слой ни с чем не взаимодействовал.
Аноним 07/11/24 Чтв 22:02:43 983091 277
>>982984
Накатил, в редакторе при запуске игрульки от любого чиха фпс падает, от инпута, от движений мыши, если над рамками окон редактора, все дергается. Даже если, например, есть двигающийся по кругу куб, и в редакторе он выделен, в рантайме все лагает нахуй, снимаешь выделение перестает
Аноним 07/11/24 Чтв 22:06:45 983093 278
Аноним 07/11/24 Чтв 22:11:49 983096 279
>>983093
r9 7900.
В билде все хорошо, но в редакторе просто позорно. Реально от инпута лаги, даже если в скриптах нет инпута
Аноним 08/11/24 Птн 08:59:39 983134 280
>>983054
Ну так у тебя персонаж состоит не из одного сплошного спрайта наверное, лепи чтобы проверял когда жопа в воде оказывается
Аноним 08/11/24 Птн 15:54:57 983173 281
image.png 44Кб, 696x597
696x597
image.png 124Кб, 746x565
746x565
Кек, показалась черепушка в духе hollow knight
Аноним 08/11/24 Птн 15:56:21 983174 282
image.png 84Кб, 776x570
776x570
Не забудь снять галочку, анон!
Аноним 08/11/24 Птн 16:37:46 983177 283
UnityTCRroYCFub.gif 389Кб, 1453x741
1453x741
Все когда-то бывает в первый раз. Сегодня например я в первый раз нарисовал 2d рисунок, и впервые в самом юнити с помощью 2D Animation поставил кости и заанимировал их
Аноним 08/11/24 Птн 20:05:34 983216 284
>>983177
тоже норм, но очевидно одну единственную травинку ты не будешь использовать, а значит гораздо лучше шейдером анимировать - сильно процессор разгрузит
Аноним 08/11/24 Птн 20:31:59 983226 285
>>983216
>гораздо лучше шейдером анимировать
Что-то на сеньорском

Вообще я 2д платформер пилю, в камеру попадет мало анимированных объектов
Аноним 11/11/24 Пнд 15:26:46 983653 286
Unity thread RIP
????-2024
Земля пухом
Аноним 12/11/24 Втр 15:27:28 983841 287
Аноним 13/11/24 Срд 12:55:37 984066 288
1.jpg 6Кб, 225x44
225x44
2.jpg 8Кб, 498x55
498x55
Да как же заебало, поставил студию, поставил плагин для юньки, в юньке стоит расширение для студии и всеравно хуита не может нормально работать, какого хуя нахуй.
Вот прям ща хоть бери да накатывай комьюнити 2019 года которая работала как часы.
Аноним 13/11/24 Срд 13:27:46 984071 289
>>984066
Какая у тебя версия юнити
Аноним 13/11/24 Срд 13:45:36 984077 290
>>984071
Последняя, 6000.0.26f. Регенерат в перференсах делал. Тупо кучу нативных слов которые должны поддерживаться не видит.
Аноним 13/11/24 Срд 13:46:07 984078 291
>>984066
Я не знаю, в чем у тебя проблема.
Я обысно делал так:
1. Устанавливаю вижуал студиж, ставлю галочку юнити
2. Устанавливаю юнити хаб, во вкладке инсталлс выбираю нужную мне версию, отжимаю галочку об установке вижуал студии

Всё.

Я это делал не меньше 10 раз, и не только для себя, на самых разных компах. Ни разу не было такой проблемы.
Аноним 13/11/24 Срд 13:48:57 984080 292
>>984078
Дак вот у меня 100 лет тоже все работало, и не раз, кучу раз перестанавливал, а не давно началась такая шляпа, и хрен знает куда копать.
Аноним 13/11/24 Срд 14:16:43 984086 293
>>984080
Ты когда открываешь проект, должен быть где-то список ошибок, почему проект не загрузился
Аноним 13/11/24 Срд 14:18:24 984088 294
>>984086
0 ошибок, я бы заметил если бы хоть одно предупреждение было, не говоря об ошибках.
Или там, где-то тихо без палево в спрятанный лог файл что-то пишется?
Аноним 13/11/24 Срд 14:34:41 984094 295
>>984088
Не знаю как в visual studio, но в vs code во вкладке output можно выбрать c#, там есть лог
Аноним 13/11/24 Срд 17:35:40 984124 296
Не использую студию, использую вскод.
Все равно я использую 1% от всех возможностей
Аноним 13/11/24 Срд 18:29:33 984136 297
>использую вскод
Пытался юзать вскод для юнити, нихрена не работает.
Аноним 13/11/24 Срд 20:00:08 984167 298
>>984066
студиоблядки страдают, это норма, а всё почему? потому что не хотят ставить vs code
Аноним 13/11/24 Срд 21:13:58 984185 299
>>984136
>нихрена не работает
у дегенератов нихрена не работает
Аноним 14/11/24 Чтв 07:58:42 984320 300
Если бы не было vscode каким редактором вы бы пользовались
Аноним 14/11/24 Чтв 09:34:22 984324 301
>>984320
ебаное ты уёбище, множество гайдов есть на ютубе как заставить работать вс код с юнити
Аноним 14/11/24 Чтв 10:49:27 984325 302
>>984320
>vscode
Сумасшедший что ли? Для юнити только райдер, теперь бесплатный есть
Аноним 14/11/24 Чтв 23:46:36 984393 303
Аноним 14/11/24 Чтв 23:57:28 984395 304
>>984393
И что теперь? Из за веса будешь отказываться от охуенного инструмента?
Аноним 15/11/24 Птн 06:25:17 984429 305
>>984393
Юнити слишком тяжелый движок ёпта
Аноним 17/11/24 Вск 11:19:45 984652 306
Где можно скачать исходный код юнити без регистрации и смс?
Аноним 17/11/24 Вск 12:04:00 984658 307
Аноним 17/11/24 Вск 15:15:45 984674 308
>>984652
У меня есть, могу в личку кинуть.
Аноним 17/11/24 Вск 16:13:14 984678 309
image.png 37Кб, 535x162
535x162
Аноним 17/11/24 Вск 19:30:31 984695 310
prkl.png 405Кб, 615x765
615x765
>>984678
Я говорю об утекших исходниках. Где их можно достать.
Аноним 17/11/24 Вск 22:11:27 984711 311
Аноним 18/11/24 Пнд 17:36:29 984815 312
image.png 137Кб, 570x314
570x314
пацаны, такой вопрос... Стоит ли тратить время на изучение английского языка, если я не претендую на сеньора и не хочу работать на зарубежных kabanchikov и не планирую жить за бугром.
В гугле на русском тоже находятся нормально ответы. И по шарпу есть, и по графону на хабре...
Да и нейросеть норм дает ответы.
Просто изучение анга все же требует много времени и ресурсов, так вот и сомневаюсь, стоит ли. Время, затраченное на английского я бы лучше потратил на изучение юнити, шарпа, ecs там и т.п.
Аноним 18/11/24 Пнд 17:44:27 984819 313
Ну для себя я уже решил не изучать, но может услышу контраргументы
Аноним 18/11/24 Пнд 17:55:46 984822 314
>>984815
Доки все на англюсике, всё равно хотя бы небольшой уровень лучше иметь.
Аноним 18/11/24 Пнд 17:59:45 984823 315
>>984822
В браузере жму правый клик -> перевести страницу на русский.
Вряд ли я переведу лучше, чем машинный нейросетевой перевод от гугла
Аноним 18/11/24 Пнд 19:20:01 984846 316
хуя долбоёбы, язык сам должен был выучиться, если бы вы хотя бы играли в игры на английском
Аноним 21/11/24 Чтв 09:12:22 985235 317
Посоветуйте хороший курс по unity для начинающих, с меня нихуя.
Аноним 21/11/24 Чтв 23:04:25 985311 318
image.png 159Кб, 324x400
324x400
Посаны, здорово.
Решил в пажилом возрасте вкатиться в ваш уютненький юнити.
До этого пробовал godot, но что-то в нём отталкивает, хз что именно, мб gdscript, мб недавние срачи, мб то, что у них там с версиями пиздец каждый раз происходит при обновах и все сидят тупа либо на 3, либо на 4.
Короче, заебало.
Сейчас тихонько заканчиваю курс по блендеру, чтобы уметь делать простенькие модельки ps1 style с ригами, ищу для юнити книжки.
Упал глаз на это, что скажете?
Вроде, многие говорят, что годнота, просто и понятно.
Сам по бэкграунду сетевик, если что, немного фронт ковырял, с дотнетом знаком слабо, как и с оопшными языками, если писал скрипты, то на го, либо на питоне. А вообще баш наше всё.
TLDR:
Learning C# by Developing Games with Unity by Ferrone H.
Годная книга для вкатывания тому, кто за c#, ооп и unity не шарит?
Аноним 22/11/24 Птн 08:01:14 985343 319
>>985311
Норм. Главное практикуйся каждый день. Книга без практики супер бесполезная.
Аноним 22/11/24 Птн 09:04:24 985350 320
Я могу игру по типу фнафа склепать на юнити относительно просто?
Аноним 22/11/24 Птн 09:42:43 985357 321
Аноним 22/11/24 Птн 09:55:48 985359 322
Аноним 22/11/24 Птн 12:18:11 985372 323
Аноним 23/11/24 Суб 19:53:26 985524 324
error CS0246: The type or namespace name 'Controls' could not be found (are you missing a using directive or an assembly reference?)
И как контрить эту хуйню? знаю что нужен неймспейс но какой? полинтернета провылазил ваще хз
Аноним 23/11/24 Суб 20:28:13 985527 325
image.png 49Кб, 955x539
955x539
>>985524
>полинтернета провылазил ваще хз
Устанавливай пакет Input System.
Аноним 23/11/24 Суб 20:30:15 985530 326
>>985524
Покажи код, объясни почему ты решил написать слово Controls, или где ты взял чужой код с этим словои.
Аноним 23/11/24 Суб 22:22:50 985566 327
Аноним 24/11/24 Вск 07:34:37 985584 328
>>985311
Книгу не читал, но от одного названия порвало немного
Если видел шарп только из юнити, то понятия о нем будут вообще пиздец неверные, точно так же как и ебанаты которые хорошо знают шарп и приходят руководить юнити девами, и в первую очередь пытаются отказатсья от апдейт
Аноним 24/11/24 Вск 08:33:56 985587 329
image.png 18Кб, 901x144
901x144
почалось...
Аноним 24/11/24 Вск 18:46:05 985629 330
>>985584
Что по шарпу посоветуешь почитать?
Аноним 24/11/24 Вск 18:53:29 985631 331
>>985584
> Если видел шарп только из юнити, то понятия о нем будут вообще пиздец неверные
Схуяли?
У шарпа в юнити только одна проблема - тебе чтобы игру запустить надо кнопку плей нажать, компиляция будет дольше чем в вижуал студии сразу. Не удобно так азы изучать.

> точно так же как и ебанаты которые хорошо знают шарп и приходят руководить юнити девами
Хм?

> и в первую очередь пытаются отказатсья от апдейт
Шо?

>>985629
Metanit, первые несколько глав для начала. Дальше можно идти в юнити
Аноним 24/11/24 Вск 22:10:53 985641 332
{01A42ACB-54EF-[...].png 30Кб, 688x346
688x346
4.webm 343Кб, 640x360, 00:00:04
640x360
оказывается ил2спп не может в процесс старт... кек лол хех мда
Аноним 24/11/24 Вск 22:58:23 985642 333
>>985641
А зачем оно тебе надо?
Аноним 25/11/24 Пнд 12:20:45 985668 334
Аноним 25/11/24 Пнд 14:28:03 985691 335
>>985668
это буквально очередной сэмпл для тулкита, но красивый
Аноним 27/11/24 Срд 07:53:30 986052 336
Анончики, скиньте Final IK по-братски!
Аноним 27/11/24 Срд 13:29:25 986171 337
image.png 143Кб, 700x879
700x879
Аноним 27/11/24 Срд 13:42:49 986173 338
>>986171
https://reddit.com/r/Unity3D/comments/1h07q5n/unity_accounts_suspended_after_releasing_our/lz3sifm/
Новая фобия получена:
1. Ты сделал игру и начал продавать
2. Кто-то ее декомпилировал, выпустил свою игру или мод
3. Злоумышленник получил бан, например за подозрительные дествия
4. Юнити банит тебя автоматом, потому что твой код совпал с кодом злоумышленника.
Красиво.
Аноним 27/11/24 Срд 13:53:29 986176 339
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Linq;

public class Road : MonoBehaviour
{
public List<GameObject> blocks; //Коллекция всех дорожных блоков
public GameObject player; //Игрок
public GameObject roadPrefab; //Префаб дорожного блока
public GameObject carPrefab; //Префаб машины NPC



void Update()
{
float z = player.GetComponent<Moving>().rb.position.z; //Получение положения игрока

var last = blocks[blocks.Count - 1]; //Номер дорожного блока, который дальше всех от игрока

if(z > last.transform.position.z - 100f * 1f) //Если игрок подъехал к последнему блоку ближе, чем на 10 блоков
{
//Инстанцирование нового блока
var block = Instantiate(roadPrefab, new Vector3(last.transform.position.x, last.transform.position.y, last.transform.position.z + 100f), Quaternion.identity);
block.transform.SetParent(gameObject.transform); //Перемещение блока в объект Road
blocks.Add(block); //Добавление блока в коллекцию

}

void OnTriggerEnter(Collider collision)
{
if(collision.gameObject.tag=="Road")
Destroy(gameObject);
}
}
}

Как пофиксить??? Нужна бесконечная дорога но участки только добавляются но не удаляются нихуя
Аноним 27/11/24 Срд 16:25:03 986205 340
>>986176
Ты вообще шаришь в программировании?
Аноним 27/11/24 Срд 16:35:24 986209 341
>>986176
>void Update()
>GetComponent
Японский стиль программирования, ценю!

Но по сути, положение игрока тебе нахуй не нужно
Коллайдер у тебя проверяет блок в блоке, а не игрока в блоке из не понятно откуда, а должен проверять из игрока встру с блоком или из блоков встречу с игркоами. Там же дистанцию где игрок и где последний блок проверять можно, хули
А так охуенно
Аноним 27/11/24 Срд 17:23:22 986218 342
>>986205
Не, отсюда брал
>>985566

>>986209
Там код так выглядел после инстанцирования
foreach (GameObject block in blocks.ToList())
{
bool fetched = block.GetComponent<RoadBlock>().Fetch(z); //Проверка, проехал ли игрок этот блок

if(fetched) //Если проехал
{
blocks.Remove(block); //Удаление блока из коллекции
block.GetComponent<RoadBlock>().Delete(); //Удаление блока со сцены

}
}
}
Но проблемав том что таким образом у меня выпиливается сам префаб через блок и он перестаёт ехать вообще потому что файл найти не может
Аноним 27/11/24 Срд 17:27:25 986221 343
>>986176
Хотел, расписать почему ты маслёнок, потом вспомнил, что меня здесь постоянно обвиняли в том что я самоутверждаюсь за счёт маслят и решил вообще ничего не писать

Помогать вам только время тратить.
Аноним 27/11/24 Срд 17:33:11 986223 344
>>985311
Одна из лучших, тем более новое издание, бери не пожалеешь.

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

Маня прекращай бредить. Освой уже эвенты и делегаты и прекращаю всю хрень пихать в апдейт.
Аноним 28/11/24 Чтв 00:34:35 986317 345
>>986221
Когда мнишь себя Абдулем, а на деле стухшая утка.
Аноним 28/11/24 Чтв 01:26:35 986325 346
>>986223
> Если видел шарп только из юнити, то понятия о нем будут вообще пиздец неверные, точно так же как и ебанаты которые хорошо знают шарп и приходят руководить юнити девами, и в первую очередь пытаются отказатсья от апдейт
Так почему, я так и не понял?
Сишарп он везде сишарп.

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

А наличие/отсутствие апдейта это чисто архитектурный подход, оба имеют право на жизнь.
Аноним 28/11/24 Чтв 07:01:52 986348 347
>>986325
В шарпе, да и вообще куче языков программирования, проверка на null считается страшным зашкваром поскольку должен с самого писать так чтобы его не получать никогда, не важно насколько большой проект(люди все равно делают). В юнити, да и любом другом игровом движке она очень часто обязательна поскольку игроки все равно изловчатся и получат его, особенно когда в дело вступают их внешние скрипты
как пример
Аноним 28/11/24 Чтв 08:18:34 986355 348
>>986348
Если ты удалишь объект со сцены, то обязательно появится скрипт, который ссылается на этот объект, поэтому желательно всегда проверять на null или не удалять, а прятать объекты.
Я не знаю, шутка это или нет, но в скайрим и семействе игр есть всегда определённая комната в которую помещают все трупы, убитые играком, думаю по этой причине.
Аноним 28/11/24 Чтв 08:51:56 986370 349
>>986348
Угу таким "страшным" что во всех мейнстрим языках добавили оператор ?.
Давно никто не "боится" null кроме крестовиков, у всех это просто еще одно возможное значение.
Аноним 28/11/24 Чтв 09:31:40 986377 350
>>986348
> В шарпе, да и вообще куче языков программирования, проверка на null считается страшным зашкваром поскольку должен с самого писать так чтобы его не получать никогда, не важно насколько большой проект(люди все равно делают). В юнити, да и любом другом игровом движке она очень часто обязательна поскольку игроки все равно изловчатся и получат его, особенно когда в дело вступают их внешние скрипты
Бред полный.

Игроки не изловчатся и не получат, это изначально вопрос архитектурных принципов пооекта.

Приведи любой пример где необходима проверка на null в юнити, я тебе перепишу его и это останется кодом на юнити.

На всякий случай сразу пример который я думаю ты имел в виду под "внешними скриптами":

Было
var a = GetComponent<Govno>();
if (a != null) ...

Стало
if (TryGetComponent<Vovno>(out var a)) ...

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


По поводу зашквара тоже вопрос есть. В сишарпе есть куча всего где может вылезать null defaul, FirstOrDefault - вот тебе и null, чего в этом плохого - хз.
Это просто вопрос архитектуры, можно писать без null, можно с null, у обоих вариантов свои плюсв и минусы.

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

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

> Я не знаю, шутка это или нет, но в скайрим и семействе игр есть всегда определённая комната в которую помещают все трупы, убитые играком, думаю по этой причине.
Не имеет связи с данной проблемой и необходимости никакой в этом нет.
Аноним 28/11/24 Чтв 09:54:14 986380 351
>>986377
>Игроки не изловчатся и не получат
Ну если ты игры не делал до конца и не выпускал, конечно не получат.
>Было
>var a = GetComponent<Govno>();
>if (a != null) ...
>Стало
>if (TryGetComponent<Vovno>(out var a)) ...
Так это та же самая проверка на null, но не суть важно
>Приведи любой пример где необходима проверка на null в юнити
Любое действие с интерфейсом где игрок при настройке мышки может пропустить шаги. Пример: при наведении мышки на игрока интерфейс высвечивает информацию( не важно через гет компонент, прямой ссылкой или молитвой аллаху) и разблокирует кнопку строительства которое меняет значение по умолчанию(не null, просто черный квадрат который был одним из значений), уже лет двадцать как любой еблан может через простой макросс/скрип на мышке влезть туда быстрей чем юнити(да и тот же анриал если про ++) у тебя это полностью отработает
Где собственно и нужен твой, чтобы спастись и не получить то значение которого там точно быть не должно
>if (TryGetComponent< Govno>(out var a)) ...
Аноним 28/11/24 Чтв 10:17:29 986384 352
>>986380
> Так это та же самая проверка на null, но не суть важно
А, вот как.
А в чём тогда прикол?
От проверки на null обычно если отказываются, то отказываются не под капотом, а в коде проекта. И делается это с простой целью - перенести предварительные сейвовые проверки как можно выше по стеку и соответственно не перегружать код проверками на null в каждой функции.
А не ради того чтобы просто null не было.

А покажи мне как на сишорпе писать, чтобы не иметь проверок на null. Подкапотных проверок на null там хватает, так, если что.

Как перкпишешь
if (items.Any())
{
var a = Items.First();
}
?
Это ж тоже считай та же самая проверка на null.

А diconary.TryGetValue или dictionary.ContainsKey - это тоже проверки на null? Как их избежать тогда?

> Пример: при наведении мышки на игрока интерфейс высвечивает информацию( не важно через гет компонент, прямой ссылкой или молитвой аллаху) и разблокирует кнопку строительства которое меняет значение по умолчанию
А где необходимость в null?

public class InfoDisplay
{
public void SetData(DisplayData data)
{
...
}
}

Что делать если надо отобразить ничего?
infoDisplay.SetData(DisplayData.Empty);
Где Empty это статический инстанс класса DisplayData с вбитыми значениями.

Если бы мы писали код с null, то внутри SetData была бы проверка на null. Но мы пишем без налл, поэтому у нас её нет и вместо этого заведён пкстой объект.

Как получить данные эти?
Ну например
if (Physics.Raycast ...
if (collider.TryGetComponent<DisplayInfoContainer>()....
Аноним 29/11/24 Птн 02:40:13 986543 353
>>986355
Камера трупов существует просто потому, что скрипты могут запросить телепортировать к тебе нпс, а если он удалён из игры - проверки нет. Так что на некоторых нпс вешается флаг, который запрещает их деспавнить полностью, но все остальные удаляются без проблем. В любом случае, это проблема кривой архитектуры игры, а не какая-то фундаментальная.

>>986380
>и разблокирует кнопку строительства которое меняет значение по умолчанию
Так а кто тебе не даёт сначала менять значение, а потом разблокировать стройку? И никакой еблан не влезет никуда быстрее, чем бул переключится с фолс на тру.
Аноним 29/11/24 Птн 12:21:46 986583 354
Юнька оказывается банит разработчиков когда те начинают копейки зарабатывать, пиздос
Аноним 29/11/24 Птн 12:43:22 986589 355
>>986583
хуя жара, мне теперь придётся вскрываться?
29/11/24 Птн 12:51:08 986591 356
>>986583
Только если ты воришка.
Аноним 29/11/24 Птн 13:29:16 986598 357
IMG202411291325[...].jpg 38Кб, 784x775
784x775
IMG202411291326[...].jpg 30Кб, 790x571
790x571
Подскажите, где почитать по поводу реализации запуска проджектайлов в полет в определенной области, например, как на этих пикчах.
Аноним 29/11/24 Птн 13:46:21 986599 358
>>986591
Или кто-то другой воришка, а ты пользуешься таким же набором ассетов что он украл.
Аноним 29/11/24 Птн 14:56:15 986608 359
>>986599
да всем похуй, тварь, ты хуесосня безигорная
Аноним 29/11/24 Птн 19:37:18 986640 360
>>986598
Нейросетке кинь да и всё они ваще щас имба.
Аноним 01/12/24 Вск 18:15:10 986884 361
image.png 147Кб, 648x364
648x364
image.png 932Кб, 1280x720
1280x720
Я правильно понимаю, что нужно Camera Stacking сделать чтобы что-то похожее сделать? Но, вероятно будет 2д спрайт телефона просто.
Точно знаю что первая на юнити была сделана, так что какие-то способы есть такое оформить.
Аноним 01/12/24 Вск 21:51:55 986902 362
Аноним 02/12/24 Пнд 09:15:21 986958 363
>>986171
Не пугай, я только решился вкатиться в юнити.
Кстати реально из России опубликоваться в стим? Пока не вникал в это? И реально опубликовать игру физ лицу?
Аноним 02/12/24 Пнд 09:46:45 986965 364
>>986958
>Кстати реально из России опубликоваться в стим? Пока не вникал в это? И реально опубликовать игру физ лицу?
Да
В Москве и еще паре городов еще есть банки куда стим выводит деньги
Юнити в целом пидорасы, но то что там блядь команда больше чем из 10 людей пользовалась бесплатной версией юнити уже должно тебя было насторожить
>я только решился вкатиться в юнити.
Вкатывайся в анриал лучше, меньше мозгоебли, и в отличии от этого треда там люди действительно делают хуйню
>И реально опубликовать игру физ лицу
Стиму похуй, а в России надо быть ИП(нажать кнпоку в приложении альфабанке)
Аноним 02/12/24 Пнд 10:08:26 986968 365
>>986965
>Юнити в целом пидорасы, но то что там блядь команда больше чем из 10 людей пользовалась бесплатной версией юнити уже должно тебя было насторожить
Так они не зарабатывают больше 100к
Аноним 02/12/24 Пнд 13:20:55 987001 366
Какой стек сторонник программ для юнити надо почитать:
1. Блендер?
2. Что еще?
Аноним 02/12/24 Пнд 16:21:05 987068 367
Аноним 02/12/24 Пнд 17:17:54 987080 368
Аноним 02/12/24 Пнд 19:16:41 987101 369
Аноним 02/12/24 Пнд 19:29:25 987102 370
>>987101
Зависит от жанра и визуального стиля.
Ну блендер, фотошоп. Может сабстанс пеинтер или дезигнер, zbrush.
Аноним 02/12/24 Пнд 19:40:07 987104 371
>>986171
А за что бан то, я так и не понял? Автор поста не приложил причину бана.
Аноним 02/12/24 Пнд 19:57:30 987109 372
>>987104
>А за что бан то, я так и не понял?
Пусть ричителе пишет узнает.
Аноним 02/12/24 Пнд 20:12:59 987111 373
>>987104
пиздёж ебаный, меня с 2021 в одной игре не банят за ворованный изи сейв 3
Аноним 03/12/24 Втр 04:32:34 987189 374
Могу я по одной регистрации установить юнити на двух компах?
Аноним 03/12/24 Втр 07:42:00 987202 375
>>987189
Кто'ж тебе запретит
Аноним 03/12/24 Втр 09:33:15 987213 376
>>987202
Вроде нагуглил что на две машины можно.
>Кто'ж тебе запретит
Так отследить что ты под одним аккаунтом на разных машинах сидишь - это как хеллоу ворд написать.
Аноним 03/12/24 Втр 20:53:42 987288 377
>>987213
И что, что ты на разных сидишь? Хоть на 10ти сиди, если у тебя не прошка, да и там думаю можно спокойно сидеть, если не одновременно. Какая разница, если бесплатная версия?
Не слышал про баны за такое. Может ты игорь на пеке пилишь, а тестишь на древнем ноуте потом производительность.
Аноним 03/12/24 Втр 21:48:21 987293 378
Тред такой мертвый, тут вообще есть кто-то, кто разрабатывает что-то?
Аноним 03/12/24 Втр 21:53:29 987296 379
>>987293
Да вот хз, года три назад тут ещё была движуха, был прям позитив, почтили интересное . Дело скорее в дваче, точнее в том, что с ним стало. Судя по ,/b тут осталась сидеть наглухо отбитая школота и студентота которые устраивают срач ради срача. Нормальные люди тут покинули ибо смысла тут нет, даже на нейтральную тему поста обосрут. Я сам в разы уменьшил времяпровождения, захожу чисто по мышечной памяти от скуки
Аноним 03/12/24 Втр 21:53:50 987297 380
>>987296
>почтили
*Постили
Аноним 03/12/24 Втр 22:10:53 987302 381
>>987293
А чего тут обсуждать? Инфы по юнити полно в инете, в крайнем случае можно и у гпт спросить. Кто чето делает, то свои треды заводят. Я попиливаю свой игорёк в свободное от работы время, но очень медленно, сейчас вообще паузу на 3 недели взял отдохнуть от всего.
Аноним 03/12/24 Втр 22:39:23 987308 382
>>987296
А где тогда можно пообсуждать юнити и проекты на нем?
Аноним 03/12/24 Втр 23:36:50 987313 383
>>987308
Мне кажется надо гуглить конфы в дискорде и тг. В тг я правда чет не нашёл, когда навскидку искал. Там вроде все любители попиздеть собираются.
И выше правильно заметили: на двачах как будто народу меньше стало, либо меньше тех, кто чето делает, а не просто чатрулетки покрутить или чем там щас в б занимаются.
Аноним 03/12/24 Втр 23:50:02 987316 384
image.png 95Кб, 537x971
537x971
>>987313
>В тг я правда чет не нашёл
Но как можно не найти!
Аноним 04/12/24 Срд 02:32:11 987335 385
Аноним 04/12/24 Срд 02:53:25 987336 386
>>987335
>>987316
Спасибо, гляну потом как выйду из творческого отпуска. Я просто написал в поиске Unity, там предложили чат, типа заходи спрашивай и вторая группа какая-то была, где типа новости. Подумал, а зачем мне что-то спрашивать, я не хочу спрашивать ничего и подписался на вторую, а потом увидел, что там раз в день постят, как какой-то хер делает очередную анимацию удара партиклами типа для вдохновения и ворованные ассеты сомнительного качества. Надо наверное подписаться будет потом на группу, где 11к человек сидит.
А чего там хоть обсуждают? Игорей много в разработке или пиздеж ни о чем?
Аноним 04/12/24 Срд 09:34:21 987374 387
238861584-a1d8c[...].png 4844Кб, 3624x13531
3624x13531
>>987336
>А чего там хоть обсуждают? Игорей много в разработке или пиздеж ни о чем?

Да все там есть. Главное что шизиков модеры отстреливают.
Аноним 04/12/24 Срд 14:45:01 987423 388
>>987336
>>987335
> unity3d_ru
Вопросы по юнити, в основном от новичков. В шапке есть флуд чат с школьниками.
> ecschat
Обсуждение ецс и просто обсуждение около юнити выше уровнем чем в чате ввше
> unity_architecture
Обсуждение архитектуры
> network_devs
Обсуждение мультиплеера
Аноним 05/12/24 Чтв 03:30:43 987524 389
>>987374
Нечитаемая картинка. Все что нужно знать об геймдевелоперах и геймдизайнеров.

Просто выписать базворды в текстовый файл столбиком с отступами было бы куда практичнее.
Аноним 05/12/24 Чтв 03:42:03 987525 390
>>987336
>А чего там хоть обсуждают? Игорей много в разработке или пиздеж ни о чем?
Запомни в таких чатах в основном сидят ноулайферы компенсирующие потребность в общении и потребность в принятии обществе. Там всегда найдется группа лобызающих друг друга людей, которым срать вообще на тематику и они будут пассивной агрессией развлекаться над тобой (а если ты уйдешь от темы сразу накинуться как бешенные вахтеры). Даже тут есть пару шизиков в ньюфаг треде, которые просто бросается на всех подряд, а это анонимный форум.
Аноним 05/12/24 Чтв 03:53:29 987528 391
>>980648
Чем записывать видосы?
Аноним 05/12/24 Чтв 13:30:36 987581 392
>>987528
Конкретно этот записал через OBS Studio, потом пережал в Media Encodere'е, чтобы меньше весил. Сейчас для записи использую GeForce Experience, т.к. он меньше тормозит и не пропускает кадры.
Аноним 05/12/24 Чтв 15:43:20 987623 393
Есть люди которым нужно потеребить чувство собственной важности и они готовы по-менторить ньфага с тупыми вопросами в чате?
Я уверен что есть скучающие геймдевы, которым уже лень пилить что-то свое, но по-наставлять готовы.

Области - юнити и блендер, с шарпами смогу сам, единственное нужно иногда пнуть в сторону базворда какого-нибудь алгоритма (в основном какие-то решения для игровой ИИшки). в попу не даю
Аноним 05/12/24 Чтв 15:46:32 987626 394
>>987581
Ох, много действий, помню был софт который за клик записывал, но спасибо за инфу, какой-то, видимо, ютюберский набор у тебя.
Аноним 06/12/24 Птн 04:21:27 987721 395
>>987626
Так оно в один клик и записывает же. Нажимаешь и потом нажимаешь ещё раз и запись останавливается и у тебя мп4 в папке. Энкодер можешь исключить из цепочки, я просто жму, чтобы сюда выкладывать и местные не охуевали от размеров особо без сильных потерь качества.
На ютуб выкладываю деморилы в исходном, т.к. ютуб сам пережимает дополнительно, как и тг. Я просто видеодизом-аниматором работаю и привычка такая с видео работать: чтобы меньше весило и выглядело более-менее так же для заказчиков. Не в 4к же постить сюда 30с ролик, он весить будет пиздец и за рамки 50мб далеко выйдет

>>987623
Вон там выше пару постов обсуждали чаты в тг и дискорде. Туда иди, там таких любят наверное лол. Ну либо тут вопросы задавай, но нас тут мало
Аноним 06/12/24 Птн 05:22:38 987723 396
>>987721
>Ну либо тут вопросы задавай, но нас тут мало
Нужно лучшие практики.
1) Вот у нас масштабирование в 1 единицу, можно считать это за игровой метр реального мира для 3Д игры или это будет неудобно? Ну, то есть, у нас есть персонаж 1,7 метра в каких единицах ориентировать его размер:
1,7
17,0
170,0
Если 1,7 - будет ли проблема с работой мелких объектов (у типа float весьма ограниченная точность или же просто будет потом неудобно работать с числами вида 0,03475)

2) Какие практики blender -> unity
a) Делаешь крайне простую модельку и переносишь по одной штуке в юнити и ручками собираешь в префабы, а потом расставляешь в сцене.
b) Делаешь сложную модельки сразу префабом, но сцену по прежнему собираешь в юнити.
c) Или же можно сразу всю сцену сделать в блендере и сразу готовое портировать одной сценой?
Аноним 06/12/24 Птн 05:41:32 987726 397
>>987723
>Если 1,7 - будет ли проблема с работой мелких объектов
Я в юнити 2д делаю, но работаю по работе в 3дмаксе и немного гудини с симуляциями. В гудини, как и в остальном 3д, считается хорошим тоном работать с реальными размерами, т.к. физика (и рендер материалов) на них рассчитана, а в супермелких и суперкрупных объектах там пиздец может быть. Обычно стараются выставлять в 3д реальные размеры, например шкафа, прежде чем его разрывать, разрушать или взрывать. Думаю для юнити будет хорошей практикой следовать этому при подготовке моделек для экспорта из блендера. С блендером не работал, но думаю там тоже можно выставлять размеры в метрах/сантиметрах.
Для инди по идее похер такие вопросы, ты же там не реальные разрушения собираешься делать, как и реальную физику всего, но можно держать такое в голове.

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

>Или же можно сразу всю сцену сделать в блендере и сразу готовое портировать одной сценой
В юнити думаю ограниченный функционал по 3д и редактированию. По-крайней мере, скорей всего слабее, чем в спец 3дпакетах. Но тут зависит от того, что ты там хочешь вообще собрать
Аноним 06/12/24 Птн 05:49:00 987727 398
>>987726
Быстро почекал перенос с блендера в юнити. Там обычно не все так гладко. Я так понял это проблема всех 3д студий при порте в игровой движок (или скажем условный 3д макс может портировать лучше)?

Пока не знаю что выбрать для работы с 3Д
Аноним 06/12/24 Птн 06:02:56 987728 399
>>987727
Для работы с 3д анрил внезапно хорошо справляется с импортом всего, даже камер для катсцен. Я в нём работал немного и было достаточно гладко, там даже плагин есть специальный который более-менее материалы переносит из 3дмакса и врея с учетом того, что это игровой движок и у него есть свои ограничения. Юнити судя по роликам последним тоже 3д подтянули, но я не курил этот вопрос, надо тебе гуглить самому.
Я в юнити разрабатываю свой игорь, т.к. 2д там проще вроде как делать. Для 3д хз, хотя на юнити уже повыходили крутые 3д игры, просто видимо относительно новое пока для них измерение и может мало пока вышло крутых плагинов облегчающих работу.
Но с этим вопросом тебе наверное в движкосрачи уже или вообще в /td, может там более конкретно посоветуют

>условный 3д макс может портировать лучше
Не, по идее блендер более современный уже и быстрее адаптируется. 3д макс чет застрял давно и на нём только старые динозавры сидят лол, по моим ощущениям. Хотя там tyflow даёт просраться всем по моушенграфике, хоть и сторонний плагин
Аноним 06/12/24 Птн 06:11:14 987729 400
>>987728
Насколько может хватить ProBuilder? Или лучше сразу в блендер копать?
Аноним 06/12/24 Птн 06:20:45 987730 401
73458678678.PNG 903Кб, 1352x873
1352x873
>>987729
А что он умеет? Я не в курсе.
Пощелкал первые видео и там кубизм какой-то просто. Думаю, что для оптимизации даже будет лучше, если тоже самое делать в условном блендере, упрощать сетку и потом импортить. Мне кажется в юнити делать 3д модели - это работа через жопу. Те же кубы ты и в блендере/синьке/максе/майке сделаешь и они там у тебя лучше выйдут и сможешь количество полигонов контролировать. Как и что-то посложнее, если ты не майнкрафт2 делаешь там.
Просто принципы 3д везде более-менее одинаковые. Тебе проще блендер подучить за несколько дней, чем ебаться в юнити и такое же собирать и в юнити больше времени займёт это
Аноним 06/12/24 Птн 06:42:18 987732 402
>>987730
Я хотел лоу-поли, но точно не кубизм.
Заметил что работать с красивой картинкой интересней, надо наверное сначала с блендером разобраться.

Хотя для тестовых штук очень хорошо подходит pro buider + pro grids
Аноним 06/12/24 Птн 06:52:33 987733 403
>>987732
Тебе проще несколько дней туторы покурить в блендере, мне кажется. Или аналоги. Юнити - это не пакет для 3д моделинга.
Пробилдер мне кажется больше для тестовых сцен и проверок как что работает и потом там заменяют уже на норм модельки. Если конечно там не кубизм у них дизайн лол.

>Заметил что работать с красивой картинкой интересней
Это да, я как диз могу подтвердить. В своём игорьке не могу даже игровые фичи толком тестить, пока они красиво не начинают выглядеть. Просил гпт написать мне красивые 2д эффекты взрыва (мог сам нарисовать, но хотелось каждый раз разные процедурные), а вернее советы как это сделать и потом их доработал и только потом вставил их у себя и потом уже только их прописывал в последнюю очередь, чтобы они появлялись после попадания. Ну зато сразу видишь красоту же и стараешься, чтобы это всё там не зря было.
Аноним 06/12/24 Птн 09:55:38 987736 404
>>987733
>Пробилдер
Да, какая-то шляпа, у меня раз крашнулось и какие-то ошибки постоянно сыпятся (или я рукожоп). А еще они в 6 версии поменяли интерфейс, вроде удобнее стало, но все туториалы по старому интерфейсу. Да и думаю по блендеру будет больше туториалов. Да и я когда-то в 12 году дергал 3дмакс, там помню удобнее было, а там еще хоткеи настраивать.

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

Буду разбираться.
Аноним 06/12/24 Птн 10:01:46 987737 405
>>987736
Или это сама юнити 6 крашилась, лол.
Меньше что хотелось в работе с 3 сценами это краша несохраненной сцены (я еще протупил и скипнул, не отправив репорт)
Аноним 07/12/24 Суб 11:36:57 987935 406
Используют ли паттерн entry point?
Аноним 07/12/24 Суб 13:34:31 987953 407
Аноним 07/12/24 Суб 22:38:12 988003 408
Используют ли паттерн синглтон?
Аноним 08/12/24 Вск 07:16:10 988037 409
Аноним 08/12/24 Вск 07:26:13 988039 410
Аноним 08/12/24 Вск 14:12:51 988075 411
>>988003
Обычно если используют, то для какой-то инфраструктурной штуки.

Например в юнити есть EventSystem - это синглтон.

А для игровой логики - не особо.
Аноним 08/12/24 Вск 19:49:19 988115 412
Реально без покупки плагинов (и ассетов) на юните написать среднюю игру?
Аноним 08/12/24 Вск 20:53:55 988127 413
Аноним 08/12/24 Вск 23:24:44 988150 414
>>988115
Да. Можно даже лучше средней.
Аноним 09/12/24 Пнд 09:54:15 988182 415
>>988115
Пизда вопрос, нормальную игру без юнити написать можно
Аноним 09/12/24 Пнд 12:18:24 988198 416
image.png 310Кб, 700x600
700x600
>>988182
С омолаживателем и машиной времени?
Аноним 09/12/24 Пнд 13:04:07 988210 417
>>988198
всё зависит от мотивации
Аноним 09/12/24 Пнд 21:46:15 988348 418
>>988210
Мотивации не существует.
Аноним 10/12/24 Втр 07:53:37 988377 419
Аноним 10/12/24 Втр 10:01:23 988383 420
>>988377
И твои тоже, вера в некую общую мотивацию это смешно.
Аноним 10/12/24 Втр 10:16:23 988385 421
>>988383
мне похуй на тебя безигорный выблядыш, это твои проблемы, как я уже сказал
Аноним 10/12/24 Втр 10:34:35 988388 422
>>988385
Но у тебя тоже же нет мотивации, тебе вбили в голову что вот если она у тебя была, ты бы мог все, но это неправда.
Нельзя съесть весь снег, даже если очень захотеть.
Аноним 10/12/24 Втр 13:00:02 988411 423
17286160423910.mp4 516Кб, 360x408, 00:00:06
360x408
>>988390
ещё одна тупая бесноватая мразь выползла из параши
Аноним 10/12/24 Втр 13:33:02 988419 424
Вникая в говнокурсы по юнити понял что вся разработка сводиться к использования того или иного api юнити (типа физики, рейкастов, риджитов и прочее).

Есть курсы/книги вида Unity by Example, где бы просто разбирали популярное апи и разные подходы, без попытки создания очередного шедевра на коленке?
Аноним 10/12/24 Втр 13:44:14 988420 425
>>988388
Узнай сперва определение мотивации, ты путаешь мотивацию с результатом деятельности, мотивация это абстрактное побуждение к действию, оно и не должно гарантировать тебе результат. То, что ты не можешь добиться цели одной лишь мотивацией не отменяет существование данного понятия.
Аноним 10/12/24 Втр 14:02:28 988426 426
>>988420
Так я и говорю что мотивация - это обман или атавизм психологии как, например, Фрейдизм, кстати мотивация продукт ученика Фрейда, Юнга.

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

Мотивации как и Деда мороза не существует.
Аноним 10/12/24 Втр 16:07:16 988448 427
>>988419
Не совсем. На первом месте архитектура и вменяемый код.
Я не говорю про то что надо упарываться чтобы было всё идеально, но изучение C# и хороших практик программирования даст больше профитов чем изучение апи юнити.

Апи юнити учится как правило на практике под конкретную задачу, и наизусть знать его не надо. Это абсолютно нормально, когда ты прям на месте начинаешь разбираться с какой-то штукой в юнити, с которой пока не доводилось работать
Аноним 10/12/24 Втр 17:09:58 988466 428
1.png 13Кб, 272x144
272x144
3.png 17Кб, 626x211
626x211
2 2 2.png 31Кб, 630x291
630x291
Один и тот же фбикс при импорте в блендер имеет ротейшен у root.x, а при импорте в юнитю не имеет, только позишен. Вроде все "улучшалки" при импорте вырубил. Анимация в блендере работает с учетом этого ротейшена рут.х, а в юнити эта кость имеет по 0,0,0 ротейшен и вся анимация под неправильным наклоном. Что за дичь и как чинить?

Видимо, если кость не меняет свой ротейшен во времени, то его просто вырезает из анимации и ты ничего с этим не сделаешь, его как будто нет
Аноним 10/12/24 Втр 19:27:12 988505 429
>>988466
Я не понимаю, тут какая то обработка импортируемой анимации по-любому виновата, потому-что этот же фбикс при импорте обратно в блендер работает нормально и все кости у него есть и все норм. Хотя я вроде всю обработку типа компрессии отрубил, как видно на скринах.
Аноним 10/12/24 Втр 22:36:17 988523 430
>>988466
Это происходит из-за разных систем координат в 3д редакторе и юнити. В итоге получаем вращение на 270 градусов, которое отображается, как -90 в редакторе. Для блендера тебе нужно прокрутить модель по нужной оси на 90 градусов, нажать контрол+а, выбрать вращение и нажать экспорт. В некотором 3д софте, который по-настоящему 3д софт, а не потешная хуйня на коленке, есть галочки для подобного.
Аноним 11/12/24 Срд 10:42:35 988550 431
Если я средствами юнити сделаю атлас из спрайтов - я могу удалить эти спрайты, чтобы они память не занимали?
Аноним 11/12/24 Срд 10:47:01 988551 432
>>988523
Так у меня ротейшен кости не появляется при импорте анимации почему-то, а не ротейшен модели. Он в animation clip вообще отсутствует, что сказывается на модели, как будто он постоянно установлен в 0,0,0
Аноним 11/12/24 Срд 13:07:29 988574 433
Аноним 13/12/24 Птн 10:35:11 988930 434
image.png 15Кб, 723x71
723x71
Аноним 14/12/24 Суб 15:00:18 989096 435
Правильно ли я понимаю, что в апдейте инструкции выполняются строго последовательно и это всегда надо учитывать?
Просто столкнулся с тем, что проверка условия при запуске проекта в первом кадре не срабатывала, а потом понял, что я в коде сперва меняю параметр, а потом проверяю условие. Я думал, что последовательность здесь не важна. Или это особенность шарпа как такового, что интерпретация происходит последовательно только в методах?
Аноним 14/12/24 Суб 16:24:25 989114 436
>>989096
> Правильно ли я понимаю, что в апдейте инструкции выполняются строго последовательно и это всегда надо учитывать?
Конечно.

Каждый кадр юнити проходится по всем твоим компонентам и вызывает у них метод апдейт. Порядок вызова - не гарантированный, поэтому если хочешь его учитывать, тебе надо сделать свой метод для апдейта у нужных тебе объектов, хранить все эти объекты в каком то менеджере и самому вызывать его
Аноним 15/12/24 Вск 13:53:54 989258 437
Ребят, как двигать kinematic rigidbody - через transform.position, или rigidbody.MovePosition()
Аноним 15/12/24 Вск 17:01:23 989320 438
Аноним 16/12/24 Пнд 22:19:39 989631 439
silent-hill-bêb[...].gif 435Кб, 220x166
220x166
Есть ли максимально простые ассеты/темплейты, чтобы сделать игру от третьего лица с инвентарем/катсценами/мобами, аля Сайлент Хилл / Резидент 1-2-3(не ремейк)
Аноним 16/12/24 Пнд 22:33:21 989634 440
>>989631
на гитхабах не искал клоны*
Аноним 16/12/24 Пнд 23:54:18 989650 441
Можно ли в Unity обращаться к паблик методу класса в другом классе без создания промежуточных полей класса? А то смотрю рандомный курс, там чел для вызова внешнего метода создает промежуточное поле, а в юнити для этого нужно еще и механически перетащить в инспекторе в поле нужный тебе объект со скриптом. Но это же бред каждый раз так руками делать, для вызова каждого метода каждый раз в инспекторе объект перетаскивать в поле.
Аноним 17/12/24 Втр 00:03:51 989653 442
>>989650
Singleton / Service Locator / Dependency Injection / Composition Root
Аноним 17/12/24 Втр 02:19:27 989668 443
>>989653
Видимо, это будет дальше в курсе и автор просто показал самый примитивный вариант решения.
Аноним 17/12/24 Втр 02:24:49 989669 444
>>989668
Не факт, что будет всё это, но хотя бы синглтон должен быть.

Суть в том, что ты поднял вопрос прокидывания зависимостей - как сделать так, чтобы объекты знали друг о друге - вот это я перечислил типовые способы решения этой проблемы.
Аноним 17/12/24 Втр 02:44:48 989673 445
>>989669
И за это тебе спасибо, анон.
Аноним 17/12/24 Втр 12:05:57 989727 446
Аноним 17/12/24 Втр 13:19:25 989752 447
Начал вкатываться в корутину.
Долго не мог допетрить(а может и сейчас не могу) зачем она нужна и в чем кардинальное отличие от метода, ведь она все также выполняется в основном потоке.
Как я понял со своей новичковой колокольни, корутина нужна для выполнения операций, растянутых во времени, чтобы не забивать поток, в этом ее главная фишка. Ресурсы ведь не тратятся на нее в режиме ожидания или тратится меньше? Но я не совсем понимаю, что значит выполняется один раз? Типа, ее нельзя больше одного раза вызывать?
Я так понимаю, ее хорошо использовать во всяких чекерах, спавнерах, которые просто на протяжении всего времени работы игровой сессии активны. А если ее вызывать в апдейте? В режиме ожидания она не будет каждый кадр проверяться?
Аноним 17/12/24 Втр 13:24:28 989755 448
>>989727
таких уже 100500 существует
Аноним 17/12/24 Втр 13:36:25 989758 449
>>989752
Забей на оптимизацию, и про другие потоки даже не думай - юнити работает в одном потоке. Если ты специально не сделаешь хитрости, но до этого тебе пока далеко

Корутина нубна вот зачем:

Тебе надо описать процесс длящийся долго по времени.

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

А с корутиной изи:
public IEnumerator SpawnCoroutine()
{
yield return new WaitForSeconds(1.0f);
SpawnMonster();
yield return new WaitForSeconds(10.0f);
SpawnEpicMonster();
}

Запускать жту корутину можешь сколько угодно раз, можно одновременно.

Каждый раз когда делаешь StartCoroutine(SpawnCoroutine()) - ставится на выполнение новый экземпляр этой корутины.
Аноним 17/12/24 Втр 13:59:11 989763 450
>>989758
Ну да, я до этого, когда писал себе спавнеры задумался, что мне для каждого спавнера нужен каждый раз новый метод и новый счетчик, который каждый кадр в апдейте будет считать время и проверять, пора липора родной, пора респавнить мобов. На дистанции это пиздец как неудобно и убьет производительность.
По поводу одновременности, что имеется ввиду, что несколько корутин запускаются одновременно? И прям реально одновременно или там просто незначительная разница в долях милисекунд?
Аноним 17/12/24 Втр 14:13:30 989768 451
>>989763
таймер в апдейте меньше бьёт по производительности чем корутина и не генерирует гарбадж.
Аноним 17/12/24 Втр 15:19:37 989788 452
>>989768
Тогда какой смысл? Синтаксический сахар?
Аноним 17/12/24 Втр 15:47:58 989793 453
>>989788
тебя ебать не должно
Аноним 17/12/24 Втр 15:50:48 989794 454
>>989752
https://en.wikipedia.org/wiki/Coroutine
Вкратце - процессор досрочно выходит из функции, возвращаясь в неё при заданном тобой условии. Позволяет отложить выполнение кода на потом, не прибегая к сложной технике многопоточности.

>>989758
>Как ты это реализуешь?
С помощью таймера, очевидно же.
https://learn.microsoft.com/en-us/dotnet/api/system.timers.timer
>А с корутиной изи
А как прервать 10-секундный таймер?

>>989768
>таймер в апдейте меньше бьёт
Яндередев, ты?
>не генерирует гарбадж
Об этом нужно было думать до выбора движка.

>>989788
Не слушай его, считать время в update вредно.
Аноним 17/12/24 Втр 16:03:28 989800 455
>>989793
Схоронил этот образец уровня обучения в восточной европе.
Аноним 17/12/24 Втр 16:04:03 989801 456
IMG202412171559[...].jpg 73Кб, 991x500
991x500
Аноним 17/12/24 Втр 16:05:47 989804 457
>>989763
Не думай о производительности пока. Пиши код так, как он логичнее и понятнее.

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

>>989794
> >Как ты это реализуешь?
> С помощью таймера, очевидно же.
> https://learn.microsoft.com/en-us/dotnet/api/system.timers.timer
Лол, ну так делать это уебанство. Тебе надо со временем взаимодейстсовать только через апи юнити, т.е. тут придется это прокидывать. Но если сделать свой нормальный хелпер-таймер который будет в апи юнити работать то пойдет как идея.

Но, конечно, оно тоже нахуй не нужно.

> >А с корутиной изи
> А как прервать 10-секундный таймер?
StopCoroutine

Ну и если ты скиловый то таски.

>>989788
Да.

>>989794
> Вкратце - процессор досрочно выходит из функции, возвращаясь в неё при заданном тобой условии. Позволяет отложить выполнение кода на потом, не прибегая к сложной технике многопоточности.
Многопоточность тут вообще не причем.
Смысл корутины один - вместо того чтобы делать таймер и спинлок в апдейте который будет минусовать время от него(либо ожидать выполнения операции из другого потока, операции чтения с диска например), ты просто пишешь корутину чтобы было красиво и читаемо, а по своей сути это тоже самое.
Аноним 17/12/24 Втр 17:14:07 989818 458
>>989794
вы, ретарды, бы ему хоть MEC посоветовали, если он о производительности думает, в отличие от вас. Хотя если цель пиковая производительность то один хуй таймер в апдейте бьёт и дефолтные всратые корутины и MEC
Аноним 17/12/24 Втр 18:30:02 989832 459
Аноним 17/12/24 Втр 18:31:48 989833 460
>>989794
> Не слушай его, считать время в update вредно.
Он говорит объективный факт - считать время в апдейте производительнее чем делать корутину.

Но также и факт - это нахуй не нужно и не будет узким местом. Поэтому не нужна ебанина с тацмерами в апдейте, лучше просто сделать корутину.
ну или юнитаск
Аноним 17/12/24 Втр 18:44:14 989834 461
>>989804
>юнити каждыы кадр проходится по нему
>ага тут уже время подшло, выполняем
>вместо того чтобы делать таймер
При чём тут таймеры? Корутины - это EDA. Вместо абстрактного таймера может быть всё, что угодно.

>взаимодейстсовать только через апи юнити
Зачем? Нужно абстрагироваться от движка, чтобы бизнес-логику можно было переносить. Например, когда CEO Unity снова насрёт индюкам в штаны. Используйте движок как тонкий клиент игры.

>>989833
>считать время в апдейте производительнее
Это когда у тебя 150 NPC каждый кадр проверяют, не пришла ли пора пойти на следующий урок?

Смысл EDA как раз в том, чтобы избавиться от непрерывного поллинга в 100500 местах проги.
Аноним 17/12/24 Втр 18:55:33 989837 462
>>989834
> При чём тут таймеры? Корутины - это EDA. Вместо абстрактного таймера может быть всё, что угодно.
Я в скобках дальше что написал? Ты не читал?

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

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

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

> Смысл EDA как раз в том, чтобы избавиться от непрерывного поллинга в 100500 местах проги.
Это со стороны пользовательского кода, а со стороны инфраструктуры там что угодно может быть внутри.
Но так или иначе, если нам надо подождать какое-то время, мы каждый кадр должны чекать статус - дождались или не дождались.
Поэтому в том или ином виде там будет проход по списку всех текущих таймеров/корутин и т.д., просто с оптимизациями - например корутины которые ждут какое-то время можно в сортированный по времени список класть.
Аноним 17/12/24 Втр 20:42:06 989851 463
IMG6807.MP4 22502Кб, 720x1280, 00:01:00
720x1280
image.png 145Кб, 1224x927
1224x927
>>980548 (OP)
Какие же пиздатые игры можно делать на юнити!
Аноним 17/12/24 Втр 21:04:05 989859 464
image.png 788Кб, 893x622
893x622
image.png 267Кб, 1415x750
1415x750
Есть два стула

на одном 3д-проект в лоуполи-стиле аля Сайлент Хилл 1 с сюжеткой (уже готовы механы инвентаря/хождения/юза итемов/пушек и тд - по сути, допилить систему катсцен и врагов и можно пилить сюжетку)

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

ЗЫ: не бульте за нейронки, я рисую еще хуже
Аноним 17/12/24 Втр 23:25:17 989876 465
>>989859
Делай то, что самому больше нравится и что сможешь довести до конца. Но видимо, если тебя так кидает, то в процессе появится третья и четвертая игра ещё в мечтах.
Аноним 18/12/24 Срд 00:00:53 989880 466
>>989851
Общительная найкпро пикми
Аноним 18/12/24 Срд 18:09:03 990008 467
>>989859
Если ко 2 прикрутить хентай то в целом годно.
1 непонятно только если сильно уверен в идее
Аноним 19/12/24 Чтв 11:20:54 990127 468
Desktop 2024.12[...].mp4 3767Кб, 636x394, 00:00:23
636x394
>>989859
Ля, с одной стороны, "для общего развития" и как собранный за вечер прототип относительно норм (за кадром остались перемещение между локациями, юз вещей и боевка)

Но я слегка надеюсь, что даже если я что-то допилю и куда-то залью, это убожество на нейро-модельках никто и никогда не увидит
Аноним 19/12/24 Чтв 11:23:57 990128 469
image.png 25Кб, 606x310
606x310
>>990127
конструктор диалогов, как и весь код, кста, тоже самописный

из ассетов только модельки/картинки (все на нейронках, на пеке даже блендера и 2д-редакторов нет)
Аноним 19/12/24 Чтв 13:27:10 990145 470
Аноним 19/12/24 Чтв 18:00:41 990194 471
>>990127
А где нейромодельки делаешь? Заборы вроде неплохо смотрятся.
Аноним 19/12/24 Чтв 19:26:29 990224 472
>>990194
https://lumalabs.ai/genie

сейчас скачивание сломано, но через консоль на ф12 можно качать модельки в формате glb (импортер в Юнити дефолтный с оффсайта)

const searchParams = new URLSearchParams(location.search);

const response = await fetch(`https://webapp.engineeringlumalabs.com/api/v3/creations/uuid/${searchParams.get("one")}`);
const output = (await response.json()).response.output;

const modelUrl = output.find(
item => item.metadata.key === "model_glb"
)?.file_url;

console.log(modelUrl);
Аноним 19/12/24 Чтв 19:47:27 990229 473
>>990224
А как у них со стилизацией дела? Или все только в псевдореализме?
Аноним 19/12/24 Чтв 21:16:51 990246 474
image.png 232Кб, 813x730
813x730
>>990229
там прямо на глагне примеры промптов и для мультяшек, и для закоса под пиксель-арт
Аноним 19/12/24 Чтв 21:59:37 990249 475
image.png 180Кб, 927x672
927x672
>>990229
ток не забудь обработать модельки после скачивания, "сырой" GLB оттуда имеет 50к+ полигонов (когда починят скачку, там, вроде как, будет опциональная ретопология, емнип, до 5к)
Аноним 21/12/24 Суб 00:50:31 990420 476
>>989859
Зачем заканчивать игры?
Ну то есть чаще есть такой психологический паттерн, когда поиграешь во что-то и думаешь как бы тут сделал ты лучше или просто греешь какие-то свои геймплеи в голове. Но в реале когда начинаешь делать запал кончается и вообще делать до конца нудно и не интересно (а еще идеи кажутся уже банальными или плохо в игру вписываются и надо вечно додумывать).
Аноним 21/12/24 Суб 14:53:36 990472 477
>>990420
Если ты не планируешь этим хоть сколько-нибудь зарабатывать, а делаешь лишь для себя в качестве хобби, то да, прототипы доделывать нет смысла.
Аноним 24/12/24 Втр 12:54:37 990965 478
кто делал передвижение на рейкастах и векторах? насколько это быстрее аи навигации?
Аноним 24/12/24 Втр 13:08:06 990969 479
>>990965
Рейкасты - это способ получения информации о мире, а не навигация.
Аноним 24/12/24 Втр 13:11:59 990971 480
>>990969
рейкасты пускаешь - проверяешь слой объекта (террейн, враг и т.д) и делаешь то что хочешь
Аноним 24/12/24 Втр 13:15:05 990972 481
>>990971
> и делаешь то что хочешь
Вот там уже и может быть навигация. А может и не быть.


Кароч если вкратце - рейкасты можно использовать для примитивного локального обхода препятствий.
Но не для поиска пути.
Аноним 24/12/24 Втр 18:30:04 991005 482
Unity7NSlkPJHtx.mp4 540Кб, 1144x628, 00:00:08
1144x628
Зацените параллакс, пилю 2д игрушку, учусь рисовать.
Не слишком укачивает?
Аноним 24/12/24 Втр 22:31:46 991029 483
Скоро начну рисовать свою первую в мире 2d тян
Аноним 25/12/24 Срд 06:09:17 991052 484
>>991005
Неплохо.
Не укачивает.
Аноним 25/12/24 Срд 15:16:37 991106 485
>>991005
У тебя параллакс не настроен. Эффект очень слабый. Поиграй со скоростями слоёв.
Аноним 25/12/24 Срд 15:49:29 991113 486
image.png 74Кб, 1770x795
1770x795
Друзья, кто шарит за zenject-ы и прочее DI поясните pls на моем примере.
Я вот просто в редакторе перетаскиваю один компонент в SerializedField другого компонента.
Cкажите, как с помощью того же zenject примерно реализуется такое же, и в чем будут преимущества.
Ну хоть убей, не могу вдуплить , пока на живом примере не увижу практическую пользу.
Аноним 25/12/24 Срд 16:03:19 991114 487
>>991113

public class PlayerMoney
{
public int Money {get; private set;}
public void Add(int value)
public void Take(int value)

public event Action OnUpdate
}

public class MoneyDisplay
{
public TMP_Text text;

private PlayerMoney _money;
public void Construct(PlayerMoney money)
{
_money = money;
}
private void Start()
{
UpdateMoney();
_money.OnUpdate += UpdateMoney();
}
private void OnDestroy()
{
_money.OnUpdate -= UpdateMoney();
}
private void UpdateMoney()
{
text = _money.Money.ToString();
}
}

public class Coin
{
Инжектим плеер мани и делаем чтобы добавлял монеты игроку при подборе
}

> Я вот просто в редакторе перетаскиваю один компонент в SerializedField другого компонента.
> Cкажите, как с помощью того же zenject примерно реализуется такое же, и в чем будут преимущества.
Всё просто - тебе не придётся перетаскивать. Вернее придётся, но только чтобы зарегать, либо что-то внутри префаба.

Плюс можно делать не монобех классы.
Аноним 26/12/24 Чтв 14:08:13 991247 488
Вопрос, создал заранее кучу обьектов с переменой(календарь делаю, хули) System.DateTime
Когда прогонял скрипт создать все, в каждую записывал свою собственную дату. Через дебаг.лог проверял достовая из каждого, все записывалось нормально
Но, когда запускаю саму игру, то System.DateTime в каждом созданом тогда обьекте обнуляется(то есть первое число первого месяца первого года)
Аноним 26/12/24 Чтв 15:18:15 991271 489
>>991247
Кидай код на pastebin

Не совсем пончтно что тут имеется в виду
> Когда прогонял скрипт создать все, в каждую записывал свою собственную дату.
> Но, когда запускаю саму игру
Аноним 26/12/24 Чтв 15:34:34 991277 490
>>991271
>Не совсем пончтно что тут имеется в виду
То что прогоняю скрипт просто в открытом конфигураторе и создаю все обьекты заранее
Ну как ты эксель таблицы грузишь чтобы не вбивать все переменные вручную в массивах, хз как еще сказать
У меня есть подозрение что System.DateTime похуй что в нее записали и он просто обнуляется при нажатии кнопки плей. Хотел про это узнать
Аноним 26/12/24 Чтв 16:48:31 991297 491
>>991277
Ну так код бв скинул.

Как я понял, ты вне плеймода их заполняешь, а в плецмоде слетают?

Всё потому, что DateTime не сериализуемый тип.
При переходе из едитора в плей мод и обратно, происходит сериализация данных компонентов, все что туда не попадает обнуляется.
Аноним 26/12/24 Чтв 17:16:15 991310 492
>>991297
>Всё потому, что DateTime не сериализуемый тип.
Почему. Там шизики это делали что ли.
Аноним 26/12/24 Чтв 17:26:10 991316 493
>>991310
Потому что у юнити были свои чёткие правила сериализации, DateTime под них не попадает - там внутри есть приватное поле, которое и хранит дату, и оно не сериализуется юнитевским сериализатором.

Поэтому, лучшим вариантом было бы сделать свой кастомный сериализуемый тип, который можно будет конвертировать в дейт тайм туда и обратно.
Аноним 26/12/24 Чтв 17:36:04 991324 494
>>991297
>При переходе из едитора в плей мод и обратно, происходит сериализация данных компонентов, все что туда не попадает обнуляется.
Так я и думал
жопа конечно, но варианты все равно есть
Аноним 27/12/24 Птн 11:46:37 991449 495
изображение.png 21Кб, 690x121
690x121
изображение.png 34Кб, 1045x107
1045x107
изображение.png 92Кб, 1131x820
1131x820
>>991324
>>991247
Блин, этот календарь сводит меня с ума, вроде простая вещь
Если генерирую на 90 дней, то в четвертом месяце такой ебанутый отступ
Если генерирую на 900, то он все далет красиво как и должен
Аноним 27/12/24 Птн 13:51:30 991469 496
Кто-нибудь с компьют шейдерами работал? Где можно про них зачитать максимально доступно?
Хочу прикрутить такую хуйню:
-на компьют подается меш
-хуевертит вершинами
-обычный шейдер результат рендерит
Что-то типа скиннед меш рендерера но мой собственный хочу.
Однако, обычный шейдер в моем случае это мегакомбайн, в который я залез как-то и охренел.
Есть ли вообще способ прикрутить компьют шейдер к обычному без правок в последнем?
Знаю что в новой юнити есть меш апи в который можно вершины дергать не приходя в сознание и это идеально вообще, я видел@облизывался на всякие разные хуевины на ней сделанные, но в моем говне мамонта этого просто нет, а переносить весь проект ради одной штуки выглядит бредом.
Аноним 27/12/24 Птн 15:16:10 991492 497
>>991469
Для трансформации вершин не нужно compute shader. skinned mesh просто использует вершинный шейдер.
compute шейдер можно использовать для обновления матриц. Если например у тебя тысячи ренедеров, то на cpu умножать все кости будет большой overhead.
Аноним 27/12/24 Птн 17:47:39 991557 498
>>991492
>skinned mesh просто использует вершинный шейдер
Как он это делает и сверху любым другим шейдером обмазывает? Хардкод? Меня именно это интересует. Просто я обыскался уже, все кто такие штуки вытворяет на гпу пишут свои шейдеры, которые все это и рендерят.
Аноним 27/12/24 Птн 20:12:21 991586 499
{69A70AE1-6074-[...].png 45Кб, 899x390
899x390
Почему Resource.Load возвращает null GameObject?
Модели .obj лежат в папке вместе с .obj.meta

Класс, в котором функция загрузки не наследуется от Моно, Скриптабл обжект, а просто в главном Монобехе в Start() запускается.
Аноним 27/12/24 Птн 20:28:39 991589 500
>>991586
.obj это не геймобжект.
Аноним 27/12/24 Птн 20:50:55 991593 501
>>991589
На Стековерфлоу писали, что лоадер сам анализирует и конвертирует загружаемые ресурсы.

А если нет, то как obj в рантайме грузить? Нужно просто меш из него достать.
Аноним 27/12/24 Птн 21:15:18 991597 502
>>991593
> На Стековерфлоу писали, что лоадер сам анализирует и конвертирует загружаемые ресурсы.
Хз че там писали.

> А если нет, то как obj в рантайме грузить? Нужно просто меш из него достать.
Попробуй Load<Object>
Аноним 27/12/24 Птн 21:16:31 991599 503
Аноним 27/12/24 Птн 21:22:09 991600 504
Аноним 27/12/24 Птн 22:32:04 991613 505
>>991557
Я нашел какой-то compute-шейдер для скиннинга в юнити.
Я не понимаю гениальность этой задумки, читать и записывать вершины, вместо того чтобы один раз это сделать в вершинном шейдере.
Может это используется где чтобы получить вершины меша в скрипте для определенной позы анимации.
Аноним 27/12/24 Птн 23:00:34 991614 506
>>991600
Ассетдатабейз в билде вроде работать не будет
Аноним 28/12/24 Суб 01:15:20 991631 507
>>991614
Печаль. А какие тогда варианты загружать сырой obj средствами Юнити? Мне без излишеств, чисто статичный меш получить и uv-развертку.
Аноним 28/12/24 Суб 08:45:37 991649 508
Аноним 28/12/24 Суб 09:47:15 991651 509
>>991631
Resources.Load

У тебя путь неправильно написан
Assets/Resoueces не должно быть в пути
Аноним 28/12/24 Суб 09:47:30 991652 510
Аноним 28/12/24 Суб 09:49:33 991653 511
>>991586
Короче в ресурсес лоад должно быть Models/название модели

Файлы нало искать не через директорию - так работать не будет

Потом как время бкдет покажу как надо
Аноним 28/12/24 Суб 10:36:57 991654 512
Кто шарит за 2д спрайты.
Есть размер игры 1920х1080.
Есть камера.
Загружаю спрайт 1920х1080.

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

До этого делал по канвасу image, работало четко, но мне надо перейти на спрайты для нормальной работы по типу 2-live.
Аноним 28/12/24 Суб 16:47:17 991693 513
17311887816541.jpg 600Кб, 1536x1536
1536x1536
string x = "haha";
int y = x[0]; // интовому у присваиваем строковое значение - нет проблем братан просто запишу его в виде числа 104
string z = x[0]; // строковой z присваиваем строковое же значение - ты ебанулся?! нельзя так делать, как тебе в голову такое пришло?! тут надо писать string z = "" + x[0]; - это же, очевидно!

где логика, блеать, кто это нахуй придумал?
Аноним 28/12/24 Суб 22:51:33 991792 514
>>991693
>где логика, блеать, кто это нахуй придумал?
А ты не догадался прежде чем писать подумоть что ты пишешь, или книгу почитать? Я даже хуй знает откуда начинать объяснять, с того что такое типы данных, что есть фундаментальные типы, что такое объекты, что такое конструкторы и прочее.

Короче, с начала:
>интовому у присваиваем строковое значение
Неверно!
Запомни, ты когда пишешь type a = b, то сначала вычисляется результат правого выражения (b), потом причисляется левому (type a). Ты у языка спросил взять из строки x элемент [0]. Строка это массив из символов, array of chars, просто чтобы не ебаться с этим как в Си, тебе это завернули в обёртку ООП. Ты спросил первый символ строки, тебе вернули этот символ типа char равный h. Дальше ты СИМВОЛ присваиваешь ЦЕЛОМУ ЧИСЛУ. На вопрос "кто тупой" ответ - ты.
Символы исторически хранятся как целое число, отличаются они чисто типом, внутри одно и то же - 8 /16 /32 бита.
Дальше компилятор автоматом кастует это число в целое число и присваивает твоему int y.
Ты попросил взять символ из строки, присвоить его целому числу. Т.к. чимвол внутри хранистя как целое число, токомпилятор услужлимво его преобразовал и всё на этом.
Всё, ты что написал, то и получил.

>строковой z присваиваем строковое же значение
АВОТХУЙТАМ!
Начнём с того что все эти char, int, double это фундаментальные типы. Ты один раз договорился как оно работает, всё, они так и работают. Компилятор берёт 8 / 16 /32 бита, переводит твоё целое число в двочное число, размером n бит и хранит у себя метку что по адресу такому-то у нас число лежит. То же для символа или числа с плавающей точкой.
Так вот, строка. Что такое строка? Набор символов? Сколько символов в строке, ну в средней такой, как в батином супе? Да пошёл ты нахуй с такими вопросами уважаемый! У нас сириус бизнес, сколько спросишь столько и будет. Создаёшь массив размером 5, в него пихаешь буквы О, П, Х, У, Й, получаешь массив из 5 символов, т.ё строку ОПХУЙ.
Всем это быстро надоело, тоэтому массив завернули в ООП, сделали его объектом. Но объект это тебе не базовый тип, его нужно создавать каждый раз. Для этого у объектов есть конструктор, в который ты передаёшь набор параметров, какой именно объект.
И таки строка это объект, просто от тебя это опять же завернули чтобы удобне было.
Поэтому идёшь и ситаешь как работает ООП в C# и как работает контсруктор типа String.

Вторая твоя строка скорее всего заработает так:
String z = new String(x[0])
И слева это объявление, что у нас будет тип "Строка" под названием "з", а справа равно это конструктор, создай "Cтроку" с такими входными данными: один символ по месту 0 из строки x.

А теперь, когда ты всё это прочитал и понял что творишь хуйню, иди читай что такое метод .substring().
Вероятно тебе надо что-то вроде:
String x = "haha";
String z = x.substring(0, 1);
Аноним 28/12/24 Суб 23:10:25 991798 515
>>991792
Ты такой умный! Можно тебе отсосать?
Аноним 30/12/24 Пнд 01:42:05 991904 516
Где взять пример правильной архитектуры RTS?
Аноним 30/12/24 Пнд 07:36:09 991915 517
>>991904
Точно не в юнити, из игровых движков наверное только рпг мейкер хуже для игр где много обьектов одновремено ищут пути себе.
Хотя, может прокатить
Аноним 30/12/24 Пнд 10:38:20 991923 518
>>991915
Чем Юнити плох?
А в целом, мне не нужна конкрктная реализация, хочу посмотреть просто архитектуру, да даже в виде структурной схемы.
Вопрос в треде по Юнити, потому что сейчас он в приоритете.
Аноним 30/12/24 Пнд 13:20:58 991941 519
>>991904
Не бывает правильной архитектуры.
Но в целом, гугли ecs. Ecs это даже не архитектура(т.к. на нем можно самыми разными способами реализовать одно и то же), а скорее ближе к парадигме если так подумать.

>>991915
Шиза

>>991923
Он шизу несёт, в юнити буквально самая лучшая производительность для такой задачи лол, т.к. есть годные сторонние ецс фреймворки вроде morpeh и leo ecs, так и юнитевский dots который выдаёт вообще нереальную производительность в связке с burst и job system, лучше чем си.
Аноним 30/12/24 Пнд 13:33:14 991943 520
>>991941
А чем ecs отличается от структур с динамическим добавлением полей и коллбеком обработчика?
Аноним 30/12/24 Пнд 20:11:14 992032 521
>>991943
> структур с динамическим добавлением полей
Это что значит

> и коллбеком обработчика
Коллбек куда вешается? Кто его вешает? Что коллбек делает?

Как минимум тем, что в ecs есть 3 ключевых элемента - ентити, компонент(данные), система, и функционал запросов к данным. То что ты описал вроде бы не совсем то
Аноним 31/12/24 Втр 00:21:00 992087 522
>>992032
А entity как-то кешируются/группируются, чтобы избежать худшего случая, когда придётся по всему их списку проходить и проверять наличие требуемого компонента?
Аноним 31/12/24 Втр 12:39:49 992112 523
Уезжаю на новый год, может кто, что посоветует к моменту когда вернусь
Надо как то запланировать выполнение функций, то есть куда-нибудь их отложить, и у пользователя выбор или подтвердить их выполнение, или отменитть и очистить запланированый лист.
Пока ничего умнее чем в каждую функцию отправить в корутину с WaitUntil(() которая или отменит или даст продолжить дальше, не придумал
Аноним 31/12/24 Втр 15:10:51 992149 524
Аноним 01/01/25 Срд 10:32:04 992205 525
>>992149
Например? В кратце.
Аноним 01/01/25 Срд 18:10:45 992252 526
>>992205
Что в кратце? В каждом ецс фреймворке свои оптимизации, гугли.
Аноним 04/01/25 Суб 20:23:03 992751 527
как лучше хранить данные о событиях в сейвах в полностью линейной игре с головоломками, аля сайлент хилл/резидент? чтобы не хардкодить каждый чих отдельным классами/переменными

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

звучит не оч, как по мне
Аноним 05/01/25 Вск 08:51:18 992782 528
>>992751
enum EChapters
{
Chapter1_Puzzle1,
Chapter1_Puzzle2,
Chapter2_Puzzle1
}

public EChapters CurrentChapter;
Аноним 14/01/25 Втр 14:47:11 994444 529
Насколько по васянски будет если мне нужно окно которое блокировало бы любое кликанье на другие обьекты интерфейса пока активно, просто растянуть рейкаст паддинг этого окна на весь канвас?
Там кроме того что размер самому подбирать, вроде полностью работает и подводных камней не вижу, но везде пишут что лучше скриптами
Аноним 14/01/25 Втр 17:50:57 994477 530
>>994444
Типо затемнения фона за активным окном? Да норм, хули тут. Не понял только нахуя размер подбирать если можно просто якоря на края экрана ебануть.
Аноним 16/01/25 Чтв 12:59:13 994808 531
Аноним 17/01/25 Птн 08:42:09 994943 532
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов