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

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 1080 201 326
Unity thread #13 Аноним 18/02/21 Чтв 23:12:19 728504 1
08400700-c2e3-1[...].jpg 42Кб, 1680x872
1680x872
Unity-Editor.jpg 327Кб, 1910x1152
1910x1152
16134286293750.mp4 2984Кб, 1280x720, 00:00:11
1280x720
16122882823372.webm 34279Кб, 1140x950, 00:01:05
1140x950
Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности!

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

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

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

FAQ

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

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

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

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

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

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

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

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

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

Обучение

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

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

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

Шапка: http://www.writeurl.com/publish/zukmrogwv45ptyuseyol
Аноним 18/02/21 Чтв 23:23:54 728507 2
Что следует обработать и обновить в шапке? Мои мысли:
- выпилить упоминание UnityScript, раз его закопали сами разрабы.
- вместо него добавить упоминание Bolt https://unity.com/ru/products/unity-visual-scripting
- почистить список туториалов, добавить новые, убрать устаревшие
- убрать упоминание стартер-китов
- добавить ссылки на сайты с бесплатными ассетами
Аноним 18/02/21 Чтв 23:47:50 728513 3
WiNDUP Award-wi[...].mp4 31260Кб, 640x360, 00:09:55
640x360
>>728507
Да можно все убрать и оставить только ссылку на офф.сайт.
Аноним 19/02/21 Птн 01:36:31 728532 4
>>728513
Перед УЕчерами стыдно. У них то полноформатная шапка, а у нас огрызок будет. Надо хоть базовую инфу.
Аноним 19/02/21 Птн 09:25:20 728552 5
7a30ac17ae53ef3[...].jpg 23Кб, 564x460
564x460
Как делать архитектуру пошаговых игр?
Есть ли альтернатива корутинам?
Аноним 19/02/21 Птн 10:11:58 728558 6
>>728552
Я прямо сейчас делаю онлайн пошаговую хрень, использую курутины только для кеширования элементов и эффектов при загрузке сцены.
Если расскажешь более подробно что собираешься делать, обсудим
Аноним 19/02/21 Птн 11:13:02 728563 7
>>728552
Машины состояний (у юнитов и контроллера ходов) с обработкой поведения в Update как вариант?
Аноним 19/02/21 Птн 11:47:57 728567 8
>>728558
Просто пошаговая игра, надо выполнять произвольные действия по очереди. Например как в JRPG.
Я думаю все на корутинах делать. А у тебя как сделан цикл хода?
у меня как-то так.
while (true) {
var unit = NextUnit();
yield return Turn(unit);
if (GameOver()) yield break;
}
Аноним 19/02/21 Птн 12:25:54 728576 9
>>728552
У тебя механика на них? Или просто используешь для прогрузки ресурсов?
В пошаговой игре, где нет риал тайм механик, они практически не нужны. У тебя архитектура должна строиться на последовательном выполнение нужных скриптов, всё другое излишне.
Аноним 19/02/21 Птн 13:02:29 728596 10
>>728567
Т.к. у меня работа с сетью то у меня есть центральная точка со всей инфой по игре (грубо говоря GameState) и я в своем GameManager-е подписываюсь на GameStateChange.
На клиентах локально сохраняю чей сейчас ход и когда стейт меняется проверяю что "владелец хода" тоже поменялся.
А разные события через broadcast работают (без сети просто вызываешь какой-нибудь метод с действием).
> if (GameOver()) yield break;
При смене состояния игры прохожусь по условиям победы/поражения и если одно из них подходит - забираю у игроков управление и показываю им окно "поздравляю".
Аноним 19/02/21 Птн 13:52:49 728613 11
А кто нить async юзает, заместо корутин? Выглядит не так говнокодисто +манябехевиор не нужен.
Аноним 19/02/21 Птн 13:55:18 728614 12
>>728563
>Машины состояний (у юнитов и контроллера ходов) с обработкой поведения в Update как вариант?
кстати, у меня такая реализация - через статик переменные, собранные в одном скрипте - штук 400-500 разных, с проверками в апдейте у каждой карточки.
типа такого
// проверка на сплеш-атаку от огра, смотрим не находится ли этот герой на линии огня
if (MenuBattle.splash_2 == false) { splashTarget_2 = true; } // взводим триггер этого героя, для последующих проверок на доступность сплеш-атаке
if (MenuBattle.splash_2 == true && splashTarget_2 == true) // огр атакует, проверяем положение данного героя, относительно линии огня
{
if ((MenuBattle.p == 1 || MenuBattle.p == 2) && (PosBattle_1.s_1 == 7 || PosBattle_1.s_1 == 8)) { splashTarget_2 = false; AxeSwing(); }
if ((MenuBattle.p == 3 || MenuBattle.p == 4) && (PosBattle_1.s_1 == 9 || PosBattle_1.s_1 == 10)) { splashTarget_2 = false; AxeSwing(); }
if ((MenuBattle.p == 5 || MenuBattle.p == 6) && (PosBattle_1.s_1 == 11 || PosBattle_1.s_1 == 12)) { splashTarget_2 = false; AxeSwing(); }
if ((MenuBattle.p == 7 || MenuBattle.p == 8) && (PosBattle_1.s_1 == 1 || PosBattle_1.s_1 == 2)) { splashTarget_2 = false; AxeSwing(); }
if ((MenuBattle.p == 9 || MenuBattle.p == 10) && (PosBattle_1.s_1 == 3 || PosBattle_1.s_1 == 4)) { splashTarget_2 = false; AxeSwing(); }
if ((MenuBattle.p == 11 || MenuBattle.p == 12) && (PosBattle_1.s_1 == 5 || PosBattle_1.s_1 == 6)) { splashTarget_2 = false; AxeSwing(); }
}
// проверка на сплеш-атаку от гиганта, смотрим не находится ли этот герой на линии огня
if (MenuBattle.splash_3 == false) { splashTarget_3 = true; } // взводим триггер этого героя, для последующих проверок на доступность сплеш-атаке
if (MenuBattle.splash_3 == true && splashTarget_3 == true) // гигант атакует, проверяем положение данного героя, относительно линии огня
{
if (MenuBattle.p == 2 || MenuBattle.p == 4 || MenuBattle.p == 6)
{
if (PosBattle_1.s_1 == 8 || PosBattle_1.s_1 == 10 || PosBattle_1.s_1 == 12)
{ splashTarget_3 = false; SwordSwing(); }
if ((MenuSquad.a8 == 0 && MenuSquad.a10 == 0 && MenuSquad.a12 == 0) && (PosBattle_1.s_1 == 7 || PosBattle_1.s_1 == 9 || PosBattle_1.s_1 == 11))
{ splashTarget_3 = false; SwordSwing(); }
}
if (MenuBattle.p == 8 || MenuBattle.p == 10 || MenuBattle.p == 12)
{
if (PosBattle_1.s_1 == 2 || PosBattle_1.s_1 == 4 || PosBattle_1.s_1 == 6)
{ splashTarget_3 = false; SwordSwing(); }
if ((MenuSquad.a2 == 0 && MenuSquad.a4 == 0 && MenuSquad.a6 == 0) && (PosBattle_1.s_1 == 1 || PosBattle_1.s_1 == 3 || PosBattle_1.s_1 == 5))
{ splashTarget_3 = false; SwordSwing(); }
}
}
// проверка на сплеш-атаку от дракона, смотрим не находится ли этот герой на линии огня
if (MenuBattle.splash_4 == false) { splashTarget_4 = true; } // взводим триггер этого героя, для последующих проверок на доступность сплеш-атаке
if (MenuBattle.splash_4 == true && splashTarget_4 == true) // дракон атакует, проверяем положение данного героя, относительно линии огня
{
if (MenuBattle.p <= 6 && PosBattle_1.s_1 > 6) { splashTarget_4 = false; FireWind(); }
if (MenuBattle.p > 6 && PosBattle_1.s_1 <= 6) { splashTarget_4 = false; FireWind(); }
}
и таких штук проверок 30-40 в каждой карте


вопрос насколько сильно нагружают систему постоянные прогоны по условиям в апдейтах 30 объектов?
Аноним 19/02/21 Птн 15:14:06 728641 13
Аноним 19/02/21 Птн 15:29:31 728645 14
Аноним 19/02/21 Птн 15:36:05 728649 15
>>728614
Если ты не делаешь GetComponents в каждом кадре, то это вообще фигня, 30 юнитов? твой телефон миллионы операций в секунду делает, 30 юнитов для пк меньше мухи.
Я бы посоветовал тебе комменты ставить или описывать что такое ==1, а что такое .p или _3 т.к. если возмешь паузу на месяц в разработке, потом сложно вспомнить что это за секретные названия и цифры.

>>728613
Я юзаю, очень счастлив, только для WebGL пришлось немного потанцевать
Аноним 19/02/21 Птн 15:50:45 728654 16
>>728649
>Я юзаю, очень счастлив
Покажи какой-нибудь минимальный пример.
Аноним 19/02/21 Птн 16:01:53 728659 17
>>728576
>В пошаговой игре, где нет риал тайм механик, они практически не нужны
>У тебя архитектура должна строиться на последовательном выполнение нужных скриптов
Как ты поймешь когда надо выполнять следующий скрипт-то?
В корутинах это из коробки все есть. Когда yield return закончился, значит закончилось старое действие, можно выполнять новое.
Аноним 19/02/21 Птн 16:10:40 728662 18
Аноним 19/02/21 Птн 16:17:06 728664 19
external-conten[...].jpg 62Кб, 1280x720
1280x720
>>728614
>if ((MenuBattle.p == 1 || MenuBattle.p == 2) && (PosBattle_1.s_1 == 7 || PosBattle_1.s_1 == 8)) { splashTarget_2 = false; AxeSwing(); }
это у тебя обработка интерфейса?
Аноним 19/02/21 Птн 16:21:05 728666 20
20210219160207.jpg 10Кб, 360x74
360x74
WQXl9ufeViE.jpg 8Кб, 283x34
283x34
D5vo-7Vqqk.jpg 18Кб, 691x35
691x35
Мб тут кто-то поможет. Только начал вкатываться в юнити и столкнулся с тем, что за гранью моего понимания.
Нахожу GameObject на сцене (1 строчка на 1 скрине). И проблема в том, что у меня это происходит в Update. Соответственно чтобы каждый кадр не искать его, я закинул это в If. В следствие чего GameObject стал локальным. То есть за пределами If не получится использовать. Тогда я в классе, в самом начале добавил строчки как на втором скрине, то есть объявил глобальные. В итоге мне Юнити выдал кучу ошибок (3 скрин). Я понимаю что там говорят прописать объявление в Start. Но когда я их туда вставляю, ошибки остаются.
Мб кто знает что я не так делаю, потому что я уже даже хз что гуглить. Буду благодарен за помощь
Аноним 19/02/21 Птн 16:24:16 728667 21
>>728666
Вставь строчки на втором скрине внуть класса.
Аноним 19/02/21 Птн 16:24:46 728668 22
>>728613
async не пойдет для написания игровой логики, т.к. таски по умолчанию выполняется в пуле тредов. это нужно люто велосипедить чтобы сделать из асинка аналог корутин
Аноним 19/02/21 Птн 16:27:39 728672 23
>>728666
А зачем создаешь их ?
оставь просто
GameObject One;
GameObject Two;
Аноним 19/02/21 Птн 16:27:51 728673 24
>>728667
>>728666
То есть, сделай так
public class TvoiClass : MonoBehaviour{

public GameObject One;
public GameObject Two;

Не пиши у них = new.
Аноним 19/02/21 Птн 16:29:07 728674 25
>>728666
Зачем ты пытаешься создать новый GameObject, если тебе надо найти уже существующий?
вставь GameObject.Find в Start(), а переменную объяви как поле класса
Аноним 19/02/21 Птн 16:36:34 728681 26
>>728668
>таски по умолчанию выполняется в пуле тредов
Можно поподробнее плиз, в чем подводные камни этого?
Юнити зажует?
Аноним 19/02/21 Птн 16:41:17 728687 27
>>728659
>Как ты поймешь когда надо выполнять следующий скрипт-то?
Не знаю как у тебя реализовано, но если это что-то пошаговое, то у тебя в мэйн скрипте битвы/карты/или чего-угодно, есть список объектов которые вызываются. У каждого объекта также есть свои функции, в том числе по нажатию действия связанного с ним, которые вызывают след функции, к примеру проверку не изменилась ли последовательность объектов в списке из-за изменения какой-нибудь характеристики.
Бля тут можно целое полотно писать как устраивать архитектуру чего-то пошагово.

>В корутинах это из коробки все есть. Когда yield return закончился, значит закончилось старое действие, можно выполнять новое.
Реализовывай как ты хочешь, но держи в уме, что это не правильная и не оптимальная реализация пошаговой игры(либо той где нет риалтайм механик).
Аноним 19/02/21 Птн 16:45:46 728691 28
>>728681
юнити однопоточный и все изменения объектов надо производить из одного треда, из того, в котором выполняются Start(), Update(), корутины и т.д.

после await в async методе ты можешь внезапно обнаружить, что метод продолжается уже в другом треде.
там очень геморройно это все, надо знать внутреннее устройство асинка, чтобы не выстрелить себе в ногу. лучше корутины.
Аноним 19/02/21 Птн 16:45:50 728692 29
welp.png 25Кб, 1000x420
1000x420
>>728654
Ну ок, смотри..
Еще можно написать свой или взять готовый авейтер фреймов, делаю так в "тяжелой" логике, чтобы код выполнялся не в 1 тик, а за 5, так не заметно просадок фпс-а, аналог yield return null;

>>728681
Если неправильно сконфигуришь таску, то начнешь получать ошибки "you can't move object from different threads".
Эту же ошибку получишь если создашь сам новый тредик и попытаешься взаимодействовать с юнити апи
Аноним 19/02/21 Птн 16:59:14 728699 30
>>728691
>>728692
ну ясно спс, не то чтобы я использовал корутины в игровой логике, предпочитаю апдейт корутине всегда
Аноним 19/02/21 Птн 16:59:58 728700 31
>>728692
>Ну ок, смотри..
Спс
Аноним 19/02/21 Птн 17:09:01 728704 32
>>728673
>>728672
Я так делал, ошибки не исчезают. Подумал что неправильно объявляю, решил создать пустой. В общем так же остается все, не помогает
>>728674
Да у меня там после каждого клика перемещается по иерархии объект, в итоге каждый раз надо искать в разных местах.
Аноним 19/02/21 Птн 17:16:10 728707 33
>>728704
>Да у меня там после каждого клика перемещается по иерархии объект, в итоге каждый раз надо искать в разных местах.
ты его удаляешь и создаёшь новый чтоль? можно же просто перемещать и при этом в коде ссылка на него будет та же самая
Аноним 19/02/21 Птн 17:20:02 728710 34
>>728704
??
выложи скрипт весь тогда, чето ты мутишь там
Аноним 19/02/21 Птн 17:34:43 728714 35
>>728667
>>728672
>>728673
>>728674
>>728707
>>728710
Все спасибо. Все починилось простым перезапуском компа. Хотя до этого юнити писал что даже запустить нельзя игру, потому что ошибки компиляции.
Аноним 19/02/21 Птн 17:37:19 728715 36
>>728699
>предпочитаю апдейт корутине всегда
просто ты не делал пошаговые игры.
Аноним 19/02/21 Птн 17:39:03 728716 37
А с помощью async как реализовать Update, чтобы выполнялось каждый фрейм?
Аноним 19/02/21 Птн 17:39:46 728717 38
>>728715
при чем здесь пошаговые игры?
Аноним 19/02/21 Птн 17:47:58 728718 39
>>728716
через кастомный awaiter только.
итераторы (корутины) и асинк внутри по разному устроены. чтобы продолжить итератор, надо просто вызвать MoveNext(). в асинк на месте await генерируется callback с продолжением, который передается в awaiter и это уже обязанность awaiter'а вызвать этот каллбек и продолжить функцию.
Аноним 19/02/21 Птн 17:57:40 728719 40
>>728649
> то это вообще фигня
отлично, а то это немного беспокоило
> комменты ставить или описывать что такое ==1, а что такое .p или _3
это просто номера позиций на поле от 1 до 12, но комменты нужны это да..
>>728664
>это у тебя обработка интерфейса?
сначала проверка, не находится ли атакуемый юнит PosBattle_1.s_1 в ячейке 7 или 8 напротив выбранной(атакующей) карты MenuBattle.p в ячейке 1 или 2, если да - то сразу отрубаем триггер splashTarget_2 чтобы отсечь повторный вызов кода и выписываем этой карте урон в методе AxeSwing()
Аноним 19/02/21 Птн 19:51:57 728724 41
А что, корутины есть только в юнити, в ванильном шарпе их нет?
Аноним 19/02/21 Птн 22:00:46 728748 42
Otori.Kohaku.fu[...].png 1447Кб, 2000x2865
2000x2865
>>728507
В шапку следует добавить аниме-девочку Unity-chan. Без аниме-девочки тред не тред, игры не игры, движок не движок. Как у тебя вообще рука поднялась убрать её из шапки? Зато гадости какие-то добавил. Зачем?
Аноним 20/02/21 Суб 00:30:03 728781 43
Сап геймдевы
Начал читать книгу Юнити в действии, там начинают рассматривать проект Unity Car Example, который несовместим с новой версией. Подскажите похожий проект чтоб по нему учить, или более новую книгу что ли...
Аноним 20/02/21 Суб 00:31:11 728782 44
>>728781
Какой год издания книги?
Аноним 20/02/21 Суб 00:31:47 728783 45
>>728782
2019
хотя в книге какого то хера используется юнити 2017 года
Аноним 20/02/21 Суб 00:37:17 728784 46
unity Learn - годная тема? Можно обойтись только ею?
Аноним 20/02/21 Суб 00:47:39 728785 47
>>728781
>>728784
Смотри - сейчас идёшь на https://www.youtube.com/playlist?list=PLX-uZVK_0K_6JEecbu3Y-nVnANJznCzix и смотришь все видео по порядку. Там всё подробно разжёвывается с самых основ, плюс работает на современной версии юнити. Если не знаешь английского - похуй, код и действия в редакторе юнити всё равно говорят больше, чем трындёж на фоне. Или можешь любой другой его плейлист взять - https://www.youtube.com/c/inScopeStudios/playlists
Аноним 20/02/21 Суб 00:51:15 728786 48
Otori.Kohaku.fu[...].png 392Кб, 1026x801
1026x801
>>728748
Вот самый лучший и ламповый её арт.
Аноним 20/02/21 Суб 01:29:37 728790 49
>>728504 (OP)
заметил, что если не присваивать переменным значения, а оставлять в виде
int a;
bool y;
то по умолчанию будет считаться, что а == 0, y == false
сейчас прочитал, что так делать нежелательно и надо самому присваивать значения, вопрос нахуя, раз программа сама предусматривает такой вариант?
Аноним 20/02/21 Суб 04:25:08 728804 50
>>728790
>заметил
Ты новичок в программировании, да?

>то по умолчанию будет считаться, что а == 0, y == false
Не всегда, только если произошла правильная инициализация нулями (false == 0).

>так делать нежелательно и надо самому присваивать значения
Именно так. Тому несколько причин:
1. Ты не можешь знать наверняка, какие значения будут в не инициализированных переменных. Это зависит от множества причин, и лучше подстраховаться, чтобы потом не ловить неуловимые и непонятные баги.
2. Для читабельности кода лучше явно написать, что y = false, это будет понятнее и проще для чтения, чем просто объявление переменной. Ты явно говоришь: здесь точно false, а не какое-то другое значение.
3. Если ты в будущем будешь править код и ВНЕЗАПНО потребуется поменять начальное значение переменной на любое другое, тебе придётся ввести присваивание значения. Если оно у тебя уже есть, ты только поменяешь число и всё.

Может ещё что-то есть, не знаю.

В общем, нет смысла экономить символы. Ты ведь быстро печатаешь? Вот и печатай, полезно будет.
Аноним 20/02/21 Суб 08:55:58 728814 51
>>728659
Поставь в сцену пустой геймобжект. Прикрепи к нему скрипт с названием GameManager. Управляй последовательностью вызовов методов внутри этого класса. Например, будет функция MakeNextTurn(), которая вызывает свои MakeNextTurn () для всего списка активных игровых персонажей. Если персонаж должен узнать, может ли он идти вверх, он запрашивает функцию IsTyleFree(x, y) у GameManager-a.
Можно либо у каждого персонажа прописывать ссылку на объект GameManager, либо внутри класса GameManager создать static переменную instance и хранить там ссылку на this. Внутри любых классов можно получить доступ к публичным методам геймменеджера через запросы вроде GameManager.instance.IsTyleFree(x, y). Да, так у тебя получается глобальный суперкласс и лучше при любой возможности выбирать альтернативу запросам вида GameManager.instance.Blablabla(), но в большинстве случаев будет получаться самый простой и понятный код. В целом этот правильно все пояснил >>728687. Нахуй всякие короутины.
Альтернативно можно использовать события, обработчики событий с делегатами и прочим. В Юнити это не очень удобно, требует много дополнительного кода. Но для сложной надёжной системы лучше использовать их. У тебя же вряд ли суперсложная система. Поэтому пихай глобальную игровую логику в GameManager и не еби мозг.
Аноним 20/02/21 Суб 09:33:30 728818 52
>>728804
На самом деле все проще. Иницилиазируются нулями только поля класса, но не локальные переменные. C# просто не скомпилируется, если попытаться прочитать неиниц. локальную переменную
Аноним 20/02/21 Суб 09:57:01 728821 53
>>728818
чего...
все он запустит, тут отличие в разных типах (классы и структуры).
Классы хронятся в куче и если ты сделал YourClass well; внутри метода
то тогда будет ошибка компилятора т.к. объекта по факту еще нет, а YourClass well = null; будет работать, просто получишь ошибку в игре.
С другой стороны есть структуры, они хранятся в стеке и когда ты создаешь переменную YourStruct woo; то объект уже будет создан в стеке, но все значения будут дефолтными (например int дефолтный = 0).

>>728790
Всегда все нужно прописывать чтобы тебе самому было проще понять читая код и именно так, чтобы ты смог понять этот код спустя годы.
Аноним 20/02/21 Суб 10:30:54 728827 54
finalfantasy1nes.jpg 138Кб, 1234x1080
1234x1080
>>728814
Ты видимо не понимаешь проблемы. Проблема пошаговых игр в синхронизации действий.
Например, в самом простейшем случае есть цикл из таких действий: выбрать действие из меню, выбрать цель для этого действия, показать анимацию атаки. Как ты определишь какое сейчас действие, и что именно сейчас нужно показать меню и обновлять интерфейс меню.

Классический способ это делать через машины состояний. Получается запутанный код. Корутинами можно писать код просто последовательно.
Аноним 20/02/21 Суб 10:32:56 728828 55
>>728827
Просто каллбеками это не сделаешь. Каллбек выполняется сразу в одном фрейме, а действие может длиться несколько кадров.
Аноним 20/02/21 Суб 10:35:48 728829 56
>>728828
Почему нет? Сохраняешь ссылку на коллбек и когда условие подходит выполняешь его. Так весь мир веба живет уже 20 лет
Аноним 20/02/21 Суб 10:38:11 728831 57
>>728804
>потом не ловить неуловимые и непонятные баги.
>>728821
>Всегда все нужно прописывать
тут вопрос - почему компилятор сразу не выдает ошибку и игра продолжает работать на этих дефолтных значениях без вылетов. чтобы потом при каком-то неочевидном событии внезапно навернуться? Зачем вообще оставлять возможность запуска кода с переменными без значений? Ладно еще у меня проект небольшой и ясейчас все переназначу
Аноним 20/02/21 Суб 10:52:14 728833 58
>>728831
>почему компилятор сразу не выдает ошибку
потому что он выдает
Аноним 20/02/21 Суб 10:55:01 728834 59
>>728829
потому что условно говоря для одного действия нужно вызывать UpdateAction1() каждый кадр, а для другого действия UpdateAction2()
Аноним 20/02/21 Суб 11:01:53 728835 60
>>728821
Еще вопрос по статик переменным - пишут, что нежелательно их повсеместно использовать. Типа к ним доступ отовсюду и кто-угодно может их изменять.
Ну, дык я поэтому их и использую, блять! Есть им хоть какая-то адекватная альтернатива, хотя бы наполовину такая же простая? Чтобы из скрипта любого объекта можно было мгновенно получать значение нужной переменной?
Вообще прихуел, как сложно в юнити запустить метод в скрипте, висящем на другом объекте или получить из него значение переменной. Типа создайте public GameObject x; и добавьте в инспекторе нужный объект к скрипту которого нужен доступ..Пиздец. У меня 60 объектов которые друг с другом взаимодействуют, мне их все друг к другу добавлять? И часть из них будет удаляться с поля в процессе игры, при этом оставаясь в ссылках других объектов и в перспективе приводя к внезапным вылетам. Охуеть просто
Аноним 20/02/21 Суб 11:06:53 728836 61
>>728833
нет, не выдает. например, у меня в коде
private bool bonusDefense;
прекрасно работает даже если ее не присвоить, нет никаких вылетов или ошибок - просто считает что bonusDefense == false
Аноним 20/02/21 Суб 11:08:51 728837 62
>>728836
не инициализируются только локальные переменные функций. попробуй использовать переменную без значения в функции.
Аноним 20/02/21 Суб 11:12:36 728838 63
>>728835
это советы для продвинутых. если ты не понимаешь почему это плохо, то и не поймешь преимущества от неиспользования глобальных переменных.
используй не бойся!
Аноним 20/02/21 Суб 11:20:15 728840 64
>>728837
Ну, вот в исполняемом скрипте:

private int SSS;

public void PressButton()
{ SSS += 1; Debug.Log("SSS"); }

создал переменную без значения, нажатием кнопки вызываю метод - все работает
как надо, чтобы выдало ошибку?
Аноним 20/02/21 Суб 11:23:59 728841 65
>>728840
ты вообще знаешь что такое локальная переменная
когда создается новый объект в C# память под него заполняется нулями. поэтому все поля класса инициализированы нулями.
Аноним 20/02/21 Суб 11:25:19 728842 66
>>728838
не, я понимаю, что в большом проекте, над которым работает много людей это приведет к пиздецу, т.к. статик переменные может случайно и очень просто поменять любой. кто имеет доступ к проекту и все навернется.
Аноним 20/02/21 Суб 11:28:16 728845 67
>>728841
>локальная переменная
все понял, у меня нет локальных переменных - все задается в самом верху скрипта и работает без проблем. но учту на будущее, где тут засада
Аноним 20/02/21 Суб 11:36:31 728847 68
>>728835
В интырпрайзе очень любят делить ответственность и чтобы разные мелкие куски кода взаимодействовали используют инъекцию зависимостей привет солид.
Допустим сейчас ты делаешь YourClass.staticInstance.YourMethod();
А якобы по правильному в методе Start или Awake вызвать FindObjectOfType<YourClass> и сохранить ссылку, потом напрямую дергать методы. Еще юнити дает тебе возможность соединять их через инспектор, но это как-то рутинно.
якобы т.к. в твоем проекте это может быть усложнением, а не правильным решением.
>>728831
> почему компилятор сразу не выдает ошибку
Внутренние тонкости шарпа, в каких-нибудь плюсах ты бы сделал int* const myIntVal = malloc(32); или какая-то такая херь, тут просто делаешь int myIntVal;
Если тебя это беспокоит то можешь поставить себе styleCop (или другой аналог), он будет подчеркивать все места и говорить "ой, а проставьте значение, а то рискуете ошибку получить".
>>728834
Можно же на кастрюлить чтоб действия не вызывались пока калл-бек не дернули, но с другой стороны это опасно т.к. если этот калл-бек где-нибудь потеряешь - вся логика игры обрушится.
Аноним 20/02/21 Суб 11:48:04 728848 69
image.png 61Кб, 540x129
540x129
Мб кто знает в чем дело. Делаю лего игру. Написал в Update все со скрина. В итоге объект не двигается, а просто на месте трясется. Чекал через Лог, все норм, каждый кадр выдает, но при этом координата рандомно меняется от-0.1 до +0.1. то есть просто сотые рандомно прибавляются и вычитаются, в следствие этого кубик просто прыгает. Мб это из-за того что лего игра и там у кубиков что-то не так рабоатет
Аноним 20/02/21 Суб 11:49:22 728849 70
>>728827
Приведу самую грубую и простую реализацию для твоего скрина.
При старте геймменеджера создаются игровые персонажи или передаются на них ссылки, если они созданы ранее в другом месте. У тебя получается список героев List<Hero> heroes. Создаешь переменную currentHeroId = -1. В конце инициализации геймменеджера запускаешь функцию:
MakeNextHeroTurn() {
currentHeroId++;
if (currentHeroId >= heroes.Count)
FinishHeroesTurn();
else
heroes[currentHeroId].MakeTurn();
}

Допустим действие хиро заключается в выборе игрока из предложенного меню.
Тогда в классе Hero функция MakeTurn() будет выглядеть в виде вызова ShowActionMenu(). К кнопкам в меню прикреплены обработчики событий OnClick(). На выбор атаки, например, будет вызываться GameManager.AttackClick() {
ShowTargetMenu();
}

К кнопкам в меню цели также прикреплены обработчики и вызывается функция:
GameManager.ChooseTargetAndAttack(int targetId) {
int dmg = heroes[currentHeroId].CalcAttackDmg(enemies[targetId]);
heroes[currentHeroId].AnimateAttack();
enemies[targetId].TakeDamage(dmg);
enemies[targetId].AnimatePain();
}

Тебе надо обновить UI после завершения анимации атаки и переключиться на следующего героя. Внутри класса Hero при завершении анимации запускается обработчик:

Hero.OnAnimationFinish() {
GameManager.instance.UpdateUI();
GameManager.instance.MakeNextTurn();
}
Аноним 20/02/21 Суб 11:53:22 728851 71
>>728842
>статик переменные может случайно
нет, это глобальная переменная это лишняя зависимость. если потом условия поменяются и надо будет переписывать код, то это будет непросто, потому что у тебя по всему коду зависимости от глобальной переменной. это делает архитектуру кода негибкой.
поэтому хорошей практикой является инкапсулировать все состояние внутри компонентов, чтобы можно было просто заменить компонент.
Аноним 20/02/21 Суб 11:53:34 728852 72
>>728848
а что за условие ii == 0?
а чему равно t?
может твой куб уже на месте?
вот тебе пример по проще как двигать куб прямо:
One.transform.position = One.transform.position + One.transform.forward * Time.deltaTime;
Аноним 20/02/21 Суб 11:58:45 728854 73
>>728847
>в твоем проекте это может быть усложнением, а не правильным решением.
Да, спасибо. Я к этому в итоге и пришел - пусть немного через жопу, но в случае маленького проекта вполне допустимо, поэтому делаю как проще пока. К тому же я один и могу более-менее контролировать процесс
>Если тебя это беспокоит то можешь поставить себе styleCop (или другой аналог),
Просто у меня были переменные, которые должны были получать значение в процессе игры, а до этого оставаться "пустыми" - без значений. Но в один неприятный момент, я заметил, что у них уже есть значение по умолчанию - 0 и false. Подумал, что это такая удобная фишка для экономии времени и начал ей пользоваться, лол. В общем, оказалось, что это не фишка..
Аноним 20/02/21 Суб 12:09:00 728855 74
>>728851
>коду зависимости от глобальной переменной. это делает архитектуру кода негибкой.
Да, буквально вчера это заметил, когда сделал переход в главное меню после окончания игры. При заходе на уровень все объекты уже занимали прописанное в статик переменных места с прошлой игры.
Но это побочный эффект удобства статических переменных и я пока готов с ним мериться - могу присваивать им стартовые значения при выходе в меню.
Хотя хотелось бы иметь волшебную команду, которая возвращала бы все исходные значения статических переменных к начальным, одной строчкой кода. Такая возможность существует или придется делать откат вручную по каждой отдельно?
Аноним 20/02/21 Суб 12:16:07 728856 75
>>728855
>волшебную команду, которая возвращала бы все исходные значения статических переменных к начальным,
т.е. как бы рестарт игры, но без фактического перезапуска , а просто сбросом параметров на начальные
Аноним 20/02/21 Суб 12:25:19 728857 76
>>728848
ты b присваиваешь значение, он прыгает в него и скачет на месте. отклонения +0.1 -0.1 из-за того что координаты задаются через float. если бы координаты задавались через int - он бы стоял без дерганий
в общем тебе надо что -то вроде b += new Vector3(0,5,0)
тогда будет постоянный прирост величины, а не разовый скачек в одну точку
Аноним 20/02/21 Суб 12:28:36 728858 77
>>728852
>а что за условие ii == 0?
Условие нужно чтобы когда он дойдет до нужной точки, я переменной другое значение присвоил бы и пошел бы в другой цикл, но из-за того что он не двигается, ничего не получается

>а чему равно t?
Просто скорость 1f, я пытался до этого через Lerp делать, там он тоже трясся, но телепортировался сразу на значение скорости, хотя все в update

>может твой куб уже на месте?
Не, я через дебаг координаты сверял каждый кадр, он вообще не двигается почти, только на сотые туда сюда
>One.transform.position = One.transform.position + >One.transform.forward * Time.deltaTime;
Мне не совсем подходит команда мне нужно до конкретной точки
Аноним 20/02/21 Суб 13:14:53 728861 78
>>728857
Инт не помог, все равно дергается и не перемещается.
>тогда будет постоянный прирост величины, а не разовый скачек в одну точку
Так я же не просто позишн новый задаю, я использую MoveTowards. Там как раз таки должно в update покадрово из точки А в точку Б идти.
Аноним 20/02/21 Суб 14:02:32 728873 79
>>728861
с плавным перемещением из точки в точку достаточно большой гемор, я нашел для своей 2д игры два способа: один только для перемещения строго по осям. у второго тоже какой-то косяк, уже не помню.
вот тут мои заметки для себя, может помогут

плавное перемещение в точку координат

для UI

if (Vector3.Distance(new Vector3(10f, 0f, 0),GetComponent<RectTransform>().localPosition) > 0.1f) // изначально объект не должен иметь смещения по y, z. иначе условие не будет выполнено
// и объект не остановится, из за наличия дистанции по y или z!
GetComponent<RectTransform>().localPosition += (new Vector3(0.1f, 0f, 0) 30 Time.deltaTime);

-----
для объекта: https://forum.unity.com/threads/c-how-to-use-time-deltatime-to-move-object-smoothly.307197/

public Vector3 increaseValues = new Vector3(0.1f, 0.1f,0);
public Vector3 targetPosition = new Vector3(0.26f, 0.35f,0);

void Update()
{

if(Input.GetKey(KeyCode.Mouse1))
{
if(Vector3.Distance(targetPosition, transform.position) > 0.2f)
transform.localPosition += increaseValues Time.deltaTime;
}
else
{
if(Vector3.Distance(new Vector3(0,0,0), transform.position > 0.1f)
transform.localPosition -= increaseValues
Time.deltaTime;
}
}

---
через Lerp

public Vector3 targetPosition = new Vector3(0.26f, 0.35f,0);
public float speed;

void Update()
{
if(Input.GetKey(KeyCode.Mouse1))
{
transform.localPosition = Vector3.Lerp(transform.localPosition, targetPosition, Time.deltaTime speed);
}
else{
transform.localPosition = Vector3.Lerp(transform.localPosition, new Vector3(0,0,0), Time.deltaTime
speed);
}
}

пример
if (MenuSquad.a5 == 1 && (Vector3.Distance(new Vector3(-300f, -100f, 0f), GetComponent<RectTransform>().localPosition) > 1.0f))
{ GetComponent<RectTransform>().localPosition = Vector3.Lerp(GetComponent<RectTransform>().localPosition, new Vector3(-300f, -100f, 0f), Time.deltaTime 1.3f ); s = 5; }
//Vector3.Lerp(transform.localPosition, targetPosition, Time.deltaTime
speed);
Аноним 20/02/21 Суб 14:05:19 728874 80
>>728873
чет знаки умножения везде проебались, что за дичь?
Аноним 20/02/21 Суб 14:07:22 728876 81
>>728874
еще раз

плавное перемещение в точку координат

для UI

if (Vector3.Distance(new Vector3(10f, 0f, 0),GetComponent<RectTransform>().localPosition) > 0.1f) // изначально объект не должен иметь смещения по y, z. иначе условие не будет выполнено
// и объект не остановится, из за наличия дистанции по y или z!
GetComponent<RectTransform>().localPosition += (new Vector3(0.1f, 0f, 0) 30 Time.deltaTime);

-----
для объекта: https://forum.unity.com/threads/c-how-to-use-time-deltatime-to-move-object-smoothly.307197/

public Vector3 increaseValues = new Vector3(0.1f, 0.1f,0);
public Vector3 targetPosition = new Vector3(0.26f, 0.35f,0);

void Update()
{

if(Input.GetKey(KeyCode.Mouse1))
{
if(Vector3.Distance(targetPosition, transform.position) > 0.2f)
transform.localPosition += increaseValues Time.deltaTime;
}
else
{
if(Vector3.Distance(new Vector3(0,0,0), transform.position > 0.1f)
transform.localPosition -= increaseValues
Time.deltaTime;
}
}

---
через Lerp

public Vector3 targetPosition = new Vector3(0.26f, 0.35f,0);
public float speed;

void Update()
{
if(Input.GetKey(KeyCode.Mouse1))
{
transform.localPosition = Vector3.Lerp(transform.localPosition, targetPosition, Time.deltaTime speed);
}
else{
transform.localPosition = Vector3.Lerp(transform.localPosition, new Vector3(0,0,0), Time.deltaTime
speed);
}
}

пример
if (MenuSquad.a5 == 1 && (Vector3.Distance(new Vector3(-300f, -100f, 0f), GetComponent<RectTransform>().localPosition) > 1.0f))
{ GetComponent<RectTransform>().localPosition = Vector3.Lerp(GetComponent<RectTransform>().localPosition, new Vector3(-300f, -100f, 0f), Time.deltaTime 1.3f ); s = 5; }
//Vector3.Lerp(transform.localPosition, targetPosition, Time.deltaTime
speed);
Аноним 20/02/21 Суб 14:10:37 728878 82
>>728876
блеать, куда знаки умножения исчезают? пиздец какой-то
в общем между Time.deltaTime и speed, Time.deltaTime и числами нужно умножение вставить.
Аноним 20/02/21 Суб 14:26:34 728881 83
Аноним 20/02/21 Суб 14:29:50 728883 84
>>728504 (OP)
Есть аниматор контроллер с кучей состояний idle-walk-run-jump-fall и т.д. Как этот уже готовый автомат использовать для создания контроллера персонажа? В сети есть пара статей на эту тему, но без конкретного примера мне сложно сообразить.
Аноним 20/02/21 Суб 14:34:14 728886 85
>>728881
да, вспомнил:
в первом примере, который по осям - возможен проскок конечной точки, если скорость очень большая (можно прописать страховку - если координаты начинают уходить дальше - сразу перемещать объект назад в конечную точку)
во втором примере, движение нелинейное. быстрое вначале, замедление к концу
оба варианта ебанутые, не понимаю почему в движке нет вшитой функции для таких распространенных задач
Аноним 20/02/21 Суб 14:40:28 728889 86
>>728886
>во втором примере, движение нелинейное. быстрое вначале, замедление к концу
Да я уже тут про сравнение MoveTowards и Lerp все прочитал.

>оба варианта ебанутые, не понимаю почему в движке нет вшитой функции для таких распространенных задач
Согласен, точнее функции есть, но почему то работают так криво
Аноним 20/02/21 Суб 15:36:23 728904 87
>>728827
У меня появилась гениальная идея как сделать машину состояния на юнити-объектах.
У них же есть сообщения OnEnable(), OnDisable(), которые можно использовать для входа и выхода из состояния и они обновляются только когда активны.

Объявляем массив GameObject-ов и добавляем в него объекты со своими состояниями. На объекты добавляем компонент, в котором пишет логику состояния.
Храним ссылку на текущий объект-состояние и выключаем его при переходе на новое состояние. Ищем объект по имени состояния и включаем его.

Гениальное в своей простоте решение! Бонусом получаем возможность указывать свойства состояния в инспекторе.

Дарю вам эту идею. Не благодарите.
Аноним 20/02/21 Суб 16:15:14 728916 88
ну вот, перекатили тред, тред вылез на главную из днища, и за пару дней уже целое полотно постов
Аноним 20/02/21 Суб 18:11:19 728959 89
>>728748
У неё хотя бы хуец есть?
Аноним 20/02/21 Суб 18:43:57 728967 90
>>728916
Так тред не видят 90% людей, когда он утонул, и никакого обсуждения из-за этого.
Аноним 20/02/21 Суб 18:46:55 728968 91
>>728967
а что тут обсуждать? тут одни ньюфаги. ювелиров юнити не осталось.
Аноним 20/02/21 Суб 18:48:17 728969 92
>>728968
Пф.. вот я не ньюфаг, но треда не вижу и не захожу, а сейчас увидел на странице, и зашёл.
Аноним 20/02/21 Суб 18:52:45 728970 93
>>728969
>вот я не ньюфаг
Чем докажешь?
Аноним 20/02/21 Суб 19:53:22 728977 94
>>728959
private Transform hui;

hui.transform.scale = Vector3(18, 18, 18);
Аноним 21/02/21 Вск 06:27:01 729043 95
У вас вообще секс есть или вы сидите и круглыми сутками дрочите векторы свои?
Аноним 21/02/21 Вск 07:09:49 729045 96
>>728904
Не забудь их все связать друг с другом и проверять что только 1 состояние работает, а то багов будет куча.
>>729043
У меня вчера вечером был, держу в курсе
Аноним 21/02/21 Вск 10:33:34 729059 97
Адепты Единства!
Спрошу глупость, но как ни искал гайдосы по RTS на unity, так ничего дельного и не нашел, кроме как заикающихся руснявых "инди-разрабов-300ккк/с", либо постоянно тупящих пендосов.
Может подскажете чего годного можно заточить в этом направлении?
Аноним 21/02/21 Вск 11:01:34 729064 98
>>729059
>руснявых
Ехай в порашу с такой терминологией.
Аноним 21/02/21 Вск 12:32:47 729080 99
>>729059
нет такой инфы, даже в англоязычном интернете.
это сакральные знания, которые можно только постичь самому.
Аноним 21/02/21 Вск 13:23:47 729082 100
Аноним 21/02/21 Вск 13:42:01 729084 101
image.png 176Кб, 1920x1040
1920x1040
Что за? Игра работает так как нужно, но в консоли пиздец.

The object of type 'GameObject' has been destroyed but you are still trying to access it
Аноним 21/02/21 Вск 14:01:29 729086 102
>>729084
ты где-то сделал
Destroy(_myGameObject);
а в другом месте
_myGameObject.transform.position = Vector3.zero;
Тут может быть что угодно, но по сути пытаешься работать с объектом, который удалил.
Аноним 21/02/21 Вск 21:32:10 729155 103
>>728854
>оставаться "пустыми" - без значений
Для этого в некоторых языках есть специальное значение, например, "undefined" в JS. Но на любом ЯП можно реализовать такое "пустое значение", просто рассматривая 0 как пустоту. А вообще, по-моему у тебя где-то с логикой игры проблемы, раз тебе обязательно нужно "пустое" значение.
>Подумал, что это такая удобная фишка для экономии времени
Переменные обычно обнуляются компилятором, чтобы там не оставалось "мусора" - старых данных, которые располагались в том же участке памяти, в котором разместилась новая переменная/объект. В языках, где возможен прямой доступ к памяти, можно "уничтожить" объект, а потом пройтись по участку памяти, в котором этот объект находился, и обнаружить, что данные там по-прежнему лежат... Вот чтобы эти данные не попадали в новые объекты, переменные/поля должны обнуляться (компилятором или программистом). В скриптовых ЯП такой проблемы, кажется, нет, там виртуальная машина/интерпретатор делает всю грязную работу за программиста скриптера.

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

>>728835
>Еще вопрос по статик переменным - пишут, что нежелательно их повсеместно использовать.
И правильно пишут. Впервые столкнувшись лапшой в коде ты и сам поймёшь, почему они это пишут. Лапша - это когда у тебя из одного маленького участка кода идут обращения к десяткам других мест в коде, из которых ещё в десять других разных мест, и так очень много раз, что невозможно уследить за всеми взаимосвязями. Пытаясь разобраться в этой лапше (чтобы починить, изменить или добавить что-то новое), ты понимаешь, что ничего не понимаешь, и чем распутывать лапшу, проще и быстрее будет всё с нуля переписать. И - внимание - это касается не только переменных, но и вообще любых глобальных сущностей.

В идеале программа должна быть устроена как дерево: есть корень, от корня ствол, от ствола ветки, на ветках листья. Листья ничего не о ком не знают, ветки знают только о своих, сидящих на них листьях (и ничего не знают о чужих), ствол ничего не знает про корень и листья, но знает про ветки, а корень знает только про ствол и не знает ничего про всё остальное. Данные могут переходить из листьев в ветки, из веток в ствол, из ствола в соседние ветки и из них - в другие листья, но они не должны перескакивать с листика на листик и с ветки на ветку, потому что ни листья, ни ветки друг о друге ничего не знают. Команды отдаются листикам только от веток, к которым они прикреплены, а сами листики никем не командуют; ветками командует ствол, а сами ветки командуют только своими листиками. И так далее. Но это в идеале, конечно, на практике трудно соблюдать такую древовидную структуру, всегда хочется срезать длинный путь листик - ветка - ствол - ветка - листик и сразу обратиться к соседнему листику или пропихнуть данные с листика прямо в корень, минуя маршрут листик - ветка - ствол - корень... Так вот чем больше ты соблазняешься доступом к тому, к чему доступа быть не должно - тем более запутанной становится твоя программа. И чем больше запутанность программы - тем вероятнее, что ты её забросишь или будешь вынужден переписывать с нуля/долго и трудно рефакторить.

>Чтобы из скрипта любого объекта можно было мгновенно получать значение нужной переменной?
У тебя неправильная архитектура, правильную я описал в предыдущем абзаце.
Аноним 21/02/21 Вск 22:23:30 729174 104
>>729155
> где-то с логикой игры проблемы, раз тебе обязательно нужно "пустое" значение.
Оно и не нужно, просто я считал, что значение не присвоено и писал условия типа: если p <= 6 , где p могло быть 1...6 и условие срабатывало, т.к. 0 тоже меньше 6. Срабатывало еще до присвоения значения p, поэтому я добавил ограничение для 0.
>Впервые столкнувшись лапшой в коде ты и сам поймёшь, почему они это пишут. Лапша - это когда у тебя из одного маленького участка кода идут обращения к десяткам других мест в коде
В моем коде нет лапши, он достаточно четко структурирован по крайней мере для меня и закомментирован. Да, у меня нет большого опыта в программировании, но я профессиональный инженер и к любому проекту подхожу системно. Поэтому код основательно продрочен на предмет надежности и не один раз
В общем, проект небольшой, не предполагает значительного расширения и его архитектура меня вполне устраивает.
Для следующего проекта, начну обмазываться ООПом основательнее
Аноним 21/02/21 Вск 22:33:04 729178 105
>>729155
>У тебя неправильная архитектура, правильную я описал в предыдущем абзаце.
Ты говоришь как хорошо натасканная галерная макака как про программист, работающий над крупными проектами. И это все верно.
Но я делаю проект в одиночку и на мне висит множество задач, от арта до геймплея и маркетинга. Поэтому мне нужен просто надежный, понятный для меня, работающий код. Даже если он местами написан коряво с точки зрения тру программиста.
Для примера: случай как обоссали создателя игры VVVVVV, когда он выложил исходники игры. Да, там в коде был такой пиздец, что можно охуеть. Но он сделал рабочий продукт и заработал на нем. Теперь может нанимать тру программистов на работу и раздавать им пинки
Аноним 22/02/21 Пнд 00:21:27 729195 106
Да, забыл сказать: переменная - это ячейка памяти, кусочек микросхемы на плашке RAM или диске. Очевидно, она должна иметь какое-то значение. Будет ли оно мусорным, нулевым или специальным - зависит от компилятора, но оно должно быть. Хотя в языках высокого уровня может быть концепция "пустая ячейка (без значения)"... Ой, ладно, с этими пирогами из слоёв абстракции уже не поймёшь, что должно быть. Те же "пустые ячейки" можно было бы реализовать на уровне ОС, если бы это было кому-то нужно...

>>729174
>если p <= 6 , где p могло быть 1...6
Берёшь и без задней мысли делаешь (1 <= p) && (p <= 6), или ты байты/такты экономишь?
Алсо в строго типизированном языке (типа Ada) ты мог бы создать тип, который может принимать значения от 1 до 6:
>type Type_Name is range 1 .. 6;
На все остальные значения выбрасывалось бы runtime-исключение. Это было бы правильно в твоём случае, где любые значения кроме 1..6 являются некорректными. Однако для данного типа компилятор должен был бы, наверное, подставить значение 1 в качестве начального, что опять же привело бы к логической ошибке в твоём коде (конкретное значение там, где ты ожидаешь "отсутствие" значения).

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

>>729178
>Ты говоришь как хорошо натасканная галерная макака как про программист, работающий над крупными проектами
Не, я хикка-ниасилятор, программирование только моё хобби, в котором я хоть что-то могу.

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

>Поэтому мне нужен просто надежный, понятный для меня, работающий код
Вот поэтому и не нужно смешивать всё в один тугой клубок через глобальные сущности. Сегодня ты дёргаешь из одного объекта данные совершенно отдельного от него другого объекта, через неделю немножечко меняешь тот другой объект, и ВНЕЗАПНО вся игра идёт наперекосяк, баги появляются в неожиданных местах и ты не успеваешь закрывать их костылями. А через пять часов дебаггинга и приделывания костылей ты ВНЕЗАПНО понимаешь, что костыли сделали только хуже и вообще ошибка вон в том объекте, который ожидает определённые данные в определённом месте, а ты изменил поведение того места, в котором эти данные ожидаются. Работает? Пока - да. Понятно? Сегодня - да. Надёжно ли? Ну, как сказать...

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

Кстати, вот небольшой пример:
>let somethingGlobal;
>function doSomething(times) {
>for (let i = 0; i < times; i++) { блаблабла ...somethingGlobal... блаблабла; }
>}
>doSomething(5); // что произойдёт с системой после вызова этой функции? - а хрен знает, нужно лезть в реализацию
Как это можно исправить?
>function doSomething(target, times) {}
>for (let i = 0; i < times; i++) { блаблабла ...target... блаблабла; }
>return result;
>}
>let result = doSomething(target, 5); // теперь что бы не произошло внутри функции, оно у нас в руках, далеко ходить не надо
Т.е. вместо обращения к глобальной хреновине из функции мы передаём все необходимые данные прямо в функцию, принимаем результат работы и дальше используем как положено. А иначе когда-нибудь настанет момент, что одно маленькое изменение в глобальной переменной или одной из функций, к ней обращающейся, перекорёжит всю логику программы, и придётся долго разбираться, кто виновник этой проблемы (помимо самого последнего изменения, которое хотелось бы сохранить). Прекрасно понимаю, что вставлять дополнительный аргумент и сохранять промежуточный результат - дополнительный труд и нагромождение символов на экране, но от неявных обращений к каким-либо внешним/глобальным сущностям намного хуже в перспективе (для кода "на один раз" сойдёт, написал - запустил - удалил).

Я не знаю, насколько это применимо к геймдеву и объектам Unity (поверхностно знаком), но там тоже не стоит дёргать напрямую какие-либо данные, нужно явным образом запрашивать/отправлять их через внешние структуры. Ну, типа, так надёжнее. Должно быть)
Аноним 22/02/21 Пнд 01:14:54 729205 107
>>729195
Я писал про системный подход - у меня в проекте нет ни лапши, ни костылей. Код максимально компактный и четко структурированный, пусть и по моим собственным стандартам. Я четко знаю что где активируется, в какой момент и где и когда отключается.
Статические переменные только для задания состояний и простоты передачи переменных чтобы не ебаться со всеми этими get/set и прочим, опять же они четко прописаны и лежат в одном отдельном месте.
Просто пойми, что я технарь по натуре и всегда контролирую, что где происходит в моем проекте любом проекте, тем более он небольшой. Я не леплю костыли на ровном месте, о которых забуду через неделю, а периодически переписываю написанное в сторону упрощения и уменьшения элементов. Меня не пинает в под зад проект менеджер и я могу этим спокойно заниматься.
Аноним 22/02/21 Пнд 10:56:34 729221 108
Как сделать лодку блядь чтобы плавать на ней? Есть условный платформер, и есть условная лодка, по сути просто платформа, в которую можно "зайти" на E и плыть взад-вперёд.
Аноним 22/02/21 Пнд 11:43:27 729229 109
Никто не подскажет, как через код перебирать объекты определнного parent'а. Допустим у меня в иерархии два пустых объект, в каждом из которых по 5 разных с названиями 1,2,3,4,5. Мне нужно сделать из них массивы. Я сделал через find цикл, но он перебирает из первого пустого объекта. Как сделать выбор, откуда перебирать?
Аноним 22/02/21 Пнд 12:24:59 729238 110
>>729229
Не совсем понял что ты хочешь, но попробую помочь.
У тебя есть кщмпонент №1 - условно gameObject1
Ты можешь сделать foreach(var child of gameObject1.transform) { / тут child это дочерний объект к gameObject1, можешь добавить какие-то свои проверки / }
Перед этим как вариант создать массив var yourData = new YourType[gameObject1.childsCount];
>>729221
Лодка должна физику использовать?
Если нет, волны на воде нет?
Если нет то совсем легко, нужно задать minX, maxX, curX и вызывать примерно такой код:
offset = Input.GetKey(KeyCode.rightArrow) ? 1 (Input.GetKey(KeyCode.leftArrow) ? -1 : 0);
curX = Mathf.Clamp(minX, maxX, curX + offset * Time.deltaTime);
Аноним 22/02/21 Пнд 19:47:29 729303 111
Кто-то имел дело с новым input? PlayerInput ориентирован на сообщения.
Непонятно как опрашивать новую систему ввода по типу GetButtonDown()?
Аноним 23/02/21 Втр 00:18:30 729349 112
Могу ли я на юнити забилдить приложуху и выложить ее в апп стор?
Аноним 23/02/21 Втр 00:18:50 729350 113
Чтоб не учить всякие там обжектив це и тд
Аноним 23/02/21 Втр 00:20:32 729351 114
Не игра, а к примеру скролилка новостей.
Аноним 23/02/21 Втр 02:44:10 729357 115
В чём разница между
>public int Age { get; set; }
и просто
>public int Age;
?
Аноним 23/02/21 Втр 02:52:48 729358 116
Аноним 23/02/21 Втр 03:00:14 729359 117
>>729357
Первое в инспекторе не меняется.
Аноним 23/02/21 Втр 03:12:36 729360 118
Аноним 23/02/21 Втр 05:48:55 729364 119
>>729349
Если я не ошибаюсь, потребуется яблочное устройство для билда. Но вообще да, сможешь.
Аноним 23/02/21 Втр 12:03:08 729393 120
>>729238
Про поиск child. Это почти то, но мне нужно находить именно другие gameobject дочерние, а этот цикл находит трансформ
Аноним 23/02/21 Втр 16:29:27 729428 121
>>729393
Можно проще, gameObject1.GetComponentsInChildren<YouComponentType>()
вернет массив дочерних компонентов
Аноним 23/02/21 Втр 16:55:16 729430 122
Аноним 24/02/21 Срд 11:25:11 729550 123
>>729238
>>729428
Спасибо за помощь, у меня не особо получилось так сделать. Сделал через Find. Просто parent объекту к имени добавил цифру, каждому свою. И через команду Find("parent.name" + id + "/" + object.name ) все сделал. Задал еще все дояерние цифрами, и через цикл их тоже перебрал. Мб кому пригодитсч
Аноним 24/02/21 Срд 13:15:38 729561 124
Аноны!
Как думаете, как люди обычно комбинируют эффекты на персонажах?
Например прозрачность + аутлайн + еще что-нибудь (например с изменением позиции вертексов)

Я вижу только 2 варианта:
1 - шейдер который умеет все (сложно, дорого, болезненно)
2 - дублировать меши и писать шейдеры так, чтобы небыло заметно что у нас тут 3 модельки с разными материалами, но отсюда идет проблема совместимости (если шейдер с вертексами меняет позицию, то шейдер аутлайна этого делать не будет)

Подскажите как еще можно?
Аноним 24/02/21 Срд 13:46:55 729570 125
>>729561
Скопировать кусок чужого шейдера и подправить, займёт максимум пару часиков.
Аноним 24/02/21 Срд 14:52:25 729575 126
Я правильно понимаю, что покадрово переместить объект из одной точки в другую не получится, всегда образуется погрешность из-за float? Но этого же можно как-то избежать, ведь допустим если те же шахматы делать, они однажды проебутся и выйдут за клетки. Кто-нибудь мб знает? А то везде говорят, что просто нужно проверять Distance<0.1f, но мне нужно точно в координату.
Аноним 24/02/21 Срд 17:28:59 729598 127
>>729575
Ты не туда воюешь анон. Тебе следует подумать о том как у тебя реализовано перемещение и для чего оно нужно.
Скорее всего ты пытаешь велосипедить не знание мат.формулы или то что уже есть.
Напиши конкретнее что ты хочешь сделать, и как это делаешь.
Аноним 24/02/21 Срд 18:28:55 729607 128
Здравствуйте геймдеваны. Решил вот унити освоить чтоб вкатится в геймдев и получать миллионы денег в наносекунду. Пока только начал, но уже столкнулся с вещами решения которых не знает даже гугл либо я хуево ищу
Первая проблема с переходом звука. Допустим есть некая музыка, она должна плавно завершится и на другой сцене уже играть другая. В интернете нашел код
IEnumerator LoadLevel()
{
float startVolume = _audiosource.volume;
float FadeTime = 1f;
while (aus.volume > 0)
{
_audiosource.volume -= startVolume * Time.deltaTime / FadeTime;
yield return null;
}
SceneManager.LoadScene(2);
}
И он вроде работает, но музыка еще секунду продолжает звучать на следующей сцене. Что я делаю не так?
Аноним 24/02/21 Срд 18:32:28 729609 129
>>729607
Лучше сразу отучайся копипастить чужой код, не понимая, как он работает.
Аноним 24/02/21 Срд 18:39:16 729611 130
>>729609
Ну так свой пока написать не могу. Смотрю как делают другие. Может подскажеш как плвно затушить звук за фиксироваеное время?
Аноним 24/02/21 Срд 20:41:21 729630 131
>>729238
>Лодка должна физику использовать?
Пока что просто тупо платформа со спрайтом лодки, в которую можно "зайти" и начать управлять. Как именно сделать чтобы управление с челика переключалось на лодку?
Аноним 24/02/21 Срд 20:44:10 729631 132
Сап, юнитианоны, есть проблема. В UI есть канвас, в канвасе Grid Layout Group, а в нём три кнопки. И всё работает отлично, кроме одного момента - последняя кликнутая кнопка "запоминается", после чего по нажатию пробела/enter эта кнопка снова нажимается, а WASD и стрелки не только управляют движением персонажа (как и должны), но и меняют выбранную кнопку. Типа выбрана кнопка 3 - я жму A или стрелку влево - выбирается кнопка 2. И если нажать пробел/enter кнопка активируется. Как это отключить?
Аноним 24/02/21 Срд 20:46:35 729632 133
Разобрался. Надо было в интерфейсе Юнити у кнопок параметр Navigation установить None.
Аноним 24/02/21 Срд 20:50:25 729635 134
>>729630
Эм... Ифом? Сделать переменную upravlenieLodkoy = false. При использовании лодки делать её true. А в обработке нажатий делать if (upravlenieLodkoy).
Аноним 24/02/21 Срд 21:35:50 729647 135
>>729630
Сделать такой же контроллер на лодку. При заходе в лодку деактивировать персонажа и активировать лодку. Управление передается на нее. Слезать с лодки аналогично. Нахуй ифы.
Аноним 25/02/21 Чтв 03:07:09 729665 136
>>729598
Делаю своего рода Sort Puzzle. То есть у тебя несколько так называемых колбочек стоят в линию, в каждой вертикально по несколько условных шариков (в маркете миллион таких). Я нажимаю на одну из колбочек, в воздух поднимается верхний шарик, и когда я нажимаю на другую колбу, он летит по горизонтали туда, а потом вниз на нужное место. Я пытался сделать через анимации, но там получается каждый раз нужно разные делать, типа полет из 1 в 3, полет из 2 в 4. После этого я попытался либо просто MoveTowards, либо просто одну из координат постоянно увеличивать до нужного значения. Но в итоге все равно возникает погрешность, вследствие чего шарик на пару сотых правее или левее. Сейчас я придумал так, что когда расстояние от точки меньше 0.1f , то я в последнем кадре просто телепортирую шарик в нужную точку, в целом почти незаметно. Я понимаю что это пмздец какой костыль, но я реально хз как сделать правильно.
Аноним 25/02/21 Чтв 05:41:55 729667 137
>>729570
а если у меня есть 2 шейдера в 500 строк кода каждый?
Аноним 25/02/21 Чтв 09:43:23 729678 138
>>729667
И, в чём проблема? Вот еслиб по 10к каждый, тогда пиздец, согласен, а так фигня вопрос.
Аноним 25/02/21 Чтв 10:22:38 729686 139
>>729665
> После этого я попытался либо просто MoveTowards
И что пошло не так? Эта функция двигает ровно туда куда ты указал.
Аноним 25/02/21 Чтв 10:51:36 729687 140
>>729678
Основная проблема, что если мне надо из точки 0 в точку 2, и я использую шаг 0.1f, то мой объект в точку с координато 2 не попадет. То есть условие if (object.transform.position.z == 2) никогда не выполняется. Потому что объект приходит сразу в координату типа 2.0002. Я решил проблему телепортом в конце, но это же костыль. Неужели нельзя сделать точно по координатам? Даже MoveTowards и Lerp, в которые по сути задаешь точку назначения, также в 2.0002 примерно приходят.поэтому вот главный вопрос, как мне точно придти в нужную тояку, без погрешностей?
Аноним 25/02/21 Чтв 11:01:43 729688 141
>>729686
В посте выше указал. Если я делаю сточку if (object.transform.postion.z = 2f) и в ифе пишу MoveTowards(object.transform.position, target, 0.1f), то происходит следующее. Он приходит не в точку 2, а в точку типа 2.076372. Потом он понимает, что проехал мимо и возвращается во что-то типа 1.937582. И так он бесконечно начинает трястись. Я в этом треде выше даже спрашивал, мне сказали это погрешность float. Вот мне и интересно, неужели единственый варик это изменить каждую координату и телепортировать объект, ибо когда я меняю координату типа object.transform.position.z + 0.1f, он все равно из 0 в 2 не приходит, а приходит в 2.002. Я нашел костыль, что когда расстояние меньше 0.2f я просто телепортирую куда надо, и это почти незаметно, но все же хотелось знать как это работает.
Аноним 25/02/21 Чтв 11:13:31 729689 142
247586953.png 600Кб, 640x360
640x360
>>729688
Даже не знаю с чего начать. Если коротко, то чем меньшие числа ты применяешь с float, тем больше у тебя вероятность получить погрешность. С тысячными и миллиардными долями там при вычислении все более менее норм. Это особенность архитектуры. Смирись. Если нужна попиксельная точность, то лепи костыль и телепортируй. Все так делают.
Возможно ты захочешь возразить - а почему функция сама не проверяет дистанцитю и не теолепортирует. А я тебе отвечу. Никто не знает какие значения ты будешь в нее вбивать, а значит непонятно с какой погрешностью сравнивать. Может ты хотел передвинуть с 0.00004 до 0.00005
А так тебе дали полную свободу действий и процессор с костыльной архитектурой. Пользуйся и чувствуй себя программистом.
Аноним 25/02/21 Чтв 11:42:08 729701 143
>>729687
А ты добавь еще костыль, результат движения заворачивай в Mathf.Clamp(value,0,2)
Аноним 25/02/21 Чтв 18:37:06 729876 144
Вопрос.

Есть ли возможность создать анимацию из отдельных obj файлов?

Что нашёл - point cashe animation, но что-то этой функции нету больше в унити.

Количество кадров не более 15.
Аноним 25/02/21 Чтв 18:46:40 729877 145
>>729876
Опиши конкретную задачу.
Аноним 25/02/21 Чтв 18:47:54 729878 146
>>729877
Подобие спрайтовой анимации
Аноним 25/02/21 Чтв 21:22:16 729888 147
>>729575
в финальной точке перемещения просто телепортируешь объект в строгие координаты, визуально этот микроскачек заметен не будет
Аноним 25/02/21 Чтв 21:26:00 729889 148
Аноним 25/02/21 Чтв 21:36:35 729895 149
Есть годные уроки по дизайну UI?
Аноним 25/02/21 Чтв 22:22:45 729907 150
>>729895
поиграй в игры, пойми где почему как делают, какие тебе уроки нахуй, пиздец же, люди нового поколения скоро будут просить уроки потипу "как сделать классного босса" или "как придумать игровой сеттинг"
Аноним 25/02/21 Чтв 22:42:43 729910 151
>>729878
Да можно.
Какой вопрос, такой и ответ.
Аноним 26/02/21 Птн 02:41:12 729929 152
А как правильно обращаться из одного объекта к другому? Вот допустим, есть объект Player, который игрок. К нему прикреплён скрипт player.cs. И есть элемент UI - полосочка хп Health. Количество хп игрока хранится в player.cs. Но если внутри скрипта player.cs что-либо снизит жизни игрока, то нужно получить доступ к полоске Health и изменить её размер. Как это сделать?

В туториалах рекомендуют в player.cs писать код такого вида:

[SerializeField]
private Image health;

а потом вручную в редакторе Юнити привязывать объект полоски Health к параметру в player.cs. Но это кажется каким-то говнокодом. Неужели нет возможности получить доступ к полоске только кодом, ничего не таская в редакторе Юнити?
Аноним 26/02/21 Птн 05:29:11 729930 153
>>729929
> health
> image
?

> [SerializeField]
Это правильный вариант. Я мог бы объяснить почему, но перед этим: сколько ты программирование изучаешь?

Аноним 26/02/21 Птн 06:41:09 729934 154
sophie-heath-he[...].jpg 189Кб, 1662x944
1662x944
>>729930
>> health
>> image
>?
Изображение в виде полоски здоровья. Не монотонное, если там всякие красивости вроде пикрилейтед. Регулируется с помощью Image type: filled.

>но перед этим: сколько ты программирование изучаешь?
Шарп - несколько месяцев. До этого много лет ковырял веб на жс.
Аноним 26/02/21 Птн 06:51:07 729936 155
Снимок.PNG 57Кб, 1131x509
1131x509
Помогите понять, как работает Mathf.Lerp в целом и этот метод в частности, пожалуйста. Прочитал инструкции по Mathf.Lerp, понятнее не стало. Этот метод сделал по туториалу, это корутина. По нему шкала каста заполняется от нуля до полной за 2 секунды (2f в rate). Третьим аргументом в Mathf.Lerp передаётся текущая заполненность шкалы от 0 до 1, так? Почему это делается плавно, если там нет ожидания типа yield return new WaitForSeconds?
Аноним 26/02/21 Птн 07:21:45 729937 156
>>729907
Я недавно вкатился и представляю чего хочу, но пока не знаю как лучше сделать и какие инструменты лучше использовать
Аноним 26/02/21 Птн 07:26:13 729938 157
>>729934
Понял. Смотри, ты можешь и из кода это сделать, но тогда тебе придётся не в редакторе (на сцене) размещать картинку, а тоже через код создавать (выделять пямять, размещать, настраивать) и тд конструировать объект, создавать его в нужном Awake и тд код писать. Другой вариант это создавать префаб и через Instantiate его вызывать, но тут всё равно мышкой надо будет в редакторе работать, чтобы создать префаб.
В двух словах, если пишешь на юнити, то делай через префабы и редактор, он под такое заточен. Перестань воспринимать как костыли, это правильный подход
Аноним 26/02/21 Птн 07:49:05 729942 158
Аноним 26/02/21 Птн 08:26:25 729946 159
>>729942
еще конечно есть вариант gameobject.find / getcomponent для доступа к объектам/компонентам. Но у него тоже свои минусы, в данном случае ты бы плохому подходу с таким научился
Аноним 26/02/21 Птн 08:58:41 729950 160
Аноним 26/02/21 Птн 10:36:56 729965 161
56e15f04dd0e4c7[...].jpg 34Кб, 1024x576
1024x576
как сделать rpg-систему? может есть какие-то паттерны?
то есть характеристики и их модификации экипировкой, эффектами и т.д.
Аноним 26/02/21 Птн 11:08:46 729973 162
Аноним 26/02/21 Птн 11:25:00 729978 163
>>729973
Во-первых, я все знаю (почти все), а во-вторых там нет про создание характеристик.

Конечно, можно просто объявить public int strength, agility и просто их менять при смене экипировки. Но такой наивный подход работает только для самых простых случаев вроде "кольцо +5 к силе". Будет непросто сделать продвинутые механики вроде процентного изменения (+200% к силе), динамического изменения (+10 * оставшееся здоровье) и т.д.

Может уже есть какой-то общепринятый паттерн, фреймворк как делать такие характеристики?
Аноним 26/02/21 Птн 11:30:20 729979 164
Когда только начинал, делал игру 9 месяцев, а через пару лет переписал ее за одну неделю. Хочу узнать, какие есть способы документирования, чтобы время разработки нового проекта сократилось в несколько раз? Это очень актуально, так как нет гарантии, что проект выстрелит, и хотелось бы сделать его максимально быстро.
Аноним 26/02/21 Птн 12:01:07 729985 165
>>729978
Что думаешь насчет ПРОСТО реализовывать интерфейсы у своих артефактов: GetHeal, GetDamageBoost и тд
Аноним 26/02/21 Птн 12:15:22 729989 166
>>729979
>какие есть способы документирования
попробуй записывать в ДОКУМЕНТЫ
Аноним 26/02/21 Птн 12:21:46 729992 167
>>729978
Паттерны может и есть, но они могут тебе и не подойти. Все зависит от твоих хотелок. Например ты хочешь что бы кольцо давало + vitality*0,8 если у тебя меньше 25% хп и идет доздь. Или + 25% урона нежити если ты попил пива и закусил чипсами. АА если закусил креветками, то тока +20%
Если бонусы статичны, то достаточно пересчитывать статы один раз кеогда одеваешь или снимаешь шмотку и хранить в переменной. Если бонусы зависят от окружающего мира, погоды, типа атакуемой цели и т.п. то нужно пересчитывать все динамически. Эти способы можно еще и комбинировать. Чисто математически тут все банально. Лучше напиши реализацию сам. Чтоб было проще отлавливать баги. А баги будут. И в случае фреймворка их поиск только усложнится.
Аноним 26/02/21 Птн 13:15:00 730004 168
>>729992
>Паттерны может и есть, но они могут тебе и не подойти. Все зависит от твоих хотелок.
Почему, ведь это универсальный паттерн. Во всех РПГ одни и те-же механики изменения характеристик персонажа в зависимости от экипировки/примененных на него заклинаний.
То есть можно сделать одно универсальное решение для любой РПГ
Аноним 26/02/21 Птн 13:37:33 730007 169
>>730004
В корне не верно. Все игры пытаются быть не похожими на другие (молильные дрочишьни не в счет). Допустим есть вторая диабла. Там все действитьельно стандартно. Но в ней есть чармы, котоыре работают если лежать в инвентаре. Это не тоже самое что кольцо в слоте экипировки. Есть моды на диаболу где те же чармы работают, например, только в дождь или только ночью. Это меняет геймплей и это совершенно другой код с другими условиями. А как тебе смена класса персонажа просто сменой одежды? Одел мантию и ты маг. Одел латы и ты воин. И у тебя меняется набор скилов и влияние баффов. И ты такой заходишь в игур и сразу Вау!
Если хочешь клон какой то рпг,то ищи в гугле unity starter kit
Аноним 26/02/21 Птн 14:10:58 730016 170
>>730007
Это все можно стандартизировать. Поделить на характеристики и эффекты. Логика эффекта инкапсулирована в самом эффекте, поэтому ее можно вынести за скобки паттерна.
Чармы, баффы - это все эффекты.
Аноним 26/02/21 Птн 21:24:42 730091 171
Обязательно ли сначала пилить 2д проект, или можно сразу к 3д приступать?
Новичок в Юнити, но прогаю уже давно
Аноним 26/02/21 Птн 21:31:24 730092 172
>>730091
>Обязательно ли
Конечно нет. Делай что хочешь.
Аноним 26/02/21 Птн 21:47:10 730093 173
>>729978
>Во-первых, я все знаю (почти все)
Охуенно ты знаешь я вижу, да? Бездарь и лжец.
Аноним 26/02/21 Птн 23:44:03 730116 174
6364e36d7ff9096[...].png 827Кб, 1643x1620
1643x1620
>>730093
Ладно, ты меня раскусил. На самом деле я ничего не знаю.
Аноним 27/02/21 Суб 00:10:56 730120 175
>>730091
Вообще без разницы. Но учти, что делать 3д модели и уровни сложнее в разы. А так все знания что ты получишь в 3д применимы и для 2д и наоборот.
Аноним 27/02/21 Суб 00:31:26 730125 176
>>730120
Сделать хорошее изометрическое 2D тоже непросто.
Аноним 27/02/21 Суб 01:04:00 730127 177
61644521.jpg 425Кб, 1920x1080
1920x1080
pillars-of-eter[...].jpeg 440Кб, 1920x1080
1920x1080
>>730125
Пики отклеились.
Аноним 27/02/21 Суб 05:54:09 730146 178
>>730127
На пиках 2д нихуя и нет, один триде запеченный
Аноним 27/02/21 Суб 10:54:16 730152 179
>>730125
Сложнее чем 3д. И кропотливее.
Для такого >>730127 нужно отрисовать 100500 вариантов анимаций в разных направлениях, по итогу всё равно делаешь 3д модель и спрайтшиты с нее нарезаешь..
Когда в 3д у тебя просто по одной анимации каждого типа.
Аноним 27/02/21 Суб 12:55:01 730175 180
12.jpg 193Кб, 910x401
910x401
>>730152
Вы блять берете одну крайность и проэцируте на все 2д игры. Такой уровень ты в своей перввой игре не осиишь нихуя. Вот что ты сможешь сделать один. И то не факт. Но это хотя бы быстро можно накидать в редакторе и понять что у тебя вообще получается.
Аноним 27/02/21 Суб 13:04:22 730178 181
>>730175
Это что, зельда на двоих?
Аноним 27/02/21 Суб 13:08:13 730181 182
>>730152
Для какого такого?
На первом пике tyrrany вроде, там задники - отрендеренное 3д, а персонажи - полноценное 3д в изометрической проекции, с 3д скелетными анимациями.
Никто в 2к21 не будет рисовать 100500 вариантов анимаций, тем более, если нужна возможность менять броню на персонаже, это просто шиза.
Аноним 27/02/21 Суб 13:08:28 730182 183
>>730178
Rogue Heroes: Ruins of Tasos
Довольно неплохая игрушка. На зельду похожа, но есть кооп. Люди жалуются на баги в коопе но в сингле вроде все норм. Рикоминдую.
Аноним 27/02/21 Суб 15:13:21 730215 184
Аноны, вопрос на миллион, начинаю делать игру в связке unity+3dsmax. Вопрос, возможно ли, инструментарием юнити делать лоуполи ландшафт? Нагуглил старый костыль через блендер, но не хочу прибегать к нему, по возможности.
Аноним 27/02/21 Суб 16:24:33 730231 185
Аноним 27/02/21 Суб 16:29:35 730232 186
image.png 167Кб, 1080x798
1080x798
Аноним 27/02/21 Суб 17:12:35 730236 187
>>730232
?
Нука поясни. Юзаю блендер и макс для своих проектов, интересно услышать.
другой анон
Аноним 27/02/21 Суб 17:22:05 730237 188
>>730231
Есть установка сегментации в терейне, на юнити?
Аноним 27/02/21 Суб 17:40:57 730238 189
>>730237
define >установка сегментации
Аноним 27/02/21 Суб 17:46:09 730240 190
15972434428220.jpg 1918Кб, 1754x1754
1754x1754
>>730238
Тонны нефти тебе, анончик
Аноним 27/02/21 Суб 18:03:40 730243 191
>>730215
что за старый костыль через блендер?
скульптить лоуполи меш чтоли?
а как же текстуры, коллизия?
Аноним 27/02/21 Суб 19:57:24 730267 192

>>730243
Делать в юнити, переводят в блендер, фиксят сегментацию, прямые плоскости резать и корректить, чтобы не было "илюзии двежения на месте", ну и обратно переводить в юнити
Аноним 27/02/21 Суб 21:14:00 730285 193
>>728552
Дерево контроллеров на асинковых тасках
Аноним 27/02/21 Суб 21:23:46 730288 194
>>730267
террейн не искпортит меш, только хайтмапу
(потому что запеченный меш в террейне не нужен)
даже если дикими костылями это сделаешь, то сплатмапы и обьект мапы все равно отвалятся
Аноним 27/02/21 Суб 21:54:25 730297 195
16140206203640.mp4 8000Кб, 1280x720, 00:01:01
1280x720
>>730181
>там задники - отрендеренное 3д, а персонажи - полноценное 3д в изометрической проекции
Аноним 27/02/21 Суб 22:19:46 730303 196
1.jpg 1187Кб, 1280x800
1280x800
2.gif 559Кб, 1280x720
1280x720
3.jpg 995Кб, 1920x1080
1920x1080
4.jpg 449Кб, 1280x800
1280x800
>>730152
>>730181
А что если делать что-то вроде фоллаута? Там запечённое триде разве что в виде отдельных объектов. Сама карта собрана из плоских элементов, стены - просто развёрнутые текстуры. Такое можно и одному потянуть. Наверное.
Аноним 27/02/21 Суб 22:23:56 730306 197
Снимок.PNG 596Кб, 765x473
765x473
Только сейчас заметил, что в фоллауте не ровная изометрия, когда все тайлы - ромбы, а немного под углом.
Аноним 27/02/21 Суб 22:25:16 730307 198
>>730303
Персонажей заколебешься делать.
Окружение не так сложно, хоть в 2д, хоть в 3д.
Сложно будет с анимациями во всех направлениях, если еще и броню надо менять на персонаже, количество комбинаций будет расти в геометрической прогрессии.
Аноним 27/02/21 Суб 22:27:13 730308 199
>>730307
А если сделать как тут - >>730297 задники все плоские, а персонажи трёхмерные с анимацией скелета вместо покадровой? Не будет слишком бросаться в глаза разница между задниками и персонажами?
Аноним 27/02/21 Суб 22:51:11 730315 200
1614455434491.png 218Кб, 1500x1500
1500x1500
>>730306
В Фоллаче вот такая проекция.
Аноним 28/02/21 Вск 00:50:34 730342 201
>>730308
Смотроя как настроишь
Аноним 28/02/21 Вск 01:07:36 730345 202
Axonometric.jpg 23Кб, 740x385
740x385
FD9BJ.png 29Кб, 381x151
381x151
4TfHP.jpg 73Кб, 400x469
400x469
>>730315
И правда. Одного только вида сверху столько вариантов.
Аноним 28/02/21 Вск 01:09:23 730346 203
>>730297
Как они сделали разные тени на плоской поверхности? Наложили карту нормалей?
Аноним 28/02/21 Вск 02:18:20 730351 204
>>730346
предположу, что геометрия уровня в виде полностью прозрачных для нас стен все же присутствует. но для света они не прозрачны. поэтому там где стена будет больше засветка, за стеной меньше. потом это все накладывается поверх плоской картинки
Аноним 28/02/21 Вск 03:33:47 730355 205
>>730351
А зачем тогда запекать в плоское изображение 3д модель уровня, если он всё равно остаётся невидимым? Не проще оставить полностью трёхмерным?
Аноним 28/02/21 Вск 06:03:04 730360 206
>>730346
никак, смотри внимательно - декор тени не отбрасывает, это особенно видно на сцене с двумя гулями - гули отбрасывают тень, а нагробие рядом с ними не отбрасывает

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

Впрочем тени можно сделать и на плоскости, гугли тему 2d light
Аноним 28/02/21 Вск 07:10:44 730362 207
1.PNG 384Кб, 402x412
402x412
2.PNG 295Кб, 389x389
389x389
>>730360
>декор тени не отбрасывает
И правда. Зато блики есть. Это бликующие объекты сделали с другим материалом и положили поверх карты?
>гугли тему 2d light
Спасибо!
Аноним 28/02/21 Вск 10:55:58 730376 208
>>730355
невидимая там примитивная геометрия в виде кубов.
в итоге у тебя плоская картинка уровня и поверх нее освещение с практически 0 затратами ресурсов системы, вместо полноценного 3д уровня
Аноним 28/02/21 Вск 11:37:12 730378 209
>>730376
вот как в пиках выше:
для относительно достоверного отображения разлома, тебе достаточно сделать там примитивную геометрию из 2-3 плоскостей, словить ей свет и наложить на плоскую картинку.
в случае "честного" 3д придется держать в памяти уровень с кучей полигонов этого самого разлома
Аноним 28/02/21 Вск 15:24:11 730403 210
>>730376
>с практически 0 затратами ресурсов

Однако в дедфаере были постоянные просадки фпс, микрофризы, загрузки по полминуты с ссд. Как будто это новый круизис какой-то, а не 2д игра.
Как же они так умудрились облажаться?
Аноним 28/02/21 Вск 20:23:48 730461 211
.png 75Кб, 193x271
193x271
Помогите с материалами разобраться.
Конкретно - c дефолтным шейдером standart specular setup.

1
Если крутить значения smoothness и occlusion получаются или "туманно-бархатные" засветы на дальних плоскостях под острым углом просмотра (хз как объяснить, на пикрилейтед пример) или чернота в тени от источника света.
Среднее значение не получается.

2
Есть ли способ выбрать другой канал развёртки для карт типа smoothness и occlusion в стандартных шейдерах?
По дефолту второй канал предоставляется только для Альбедо и Нормалей.
Аноним 01/03/21 Пнд 00:06:05 730500 212
Есть какой-нибудь гайд по созданию tps/fps проекта? За ручку примерно как в гайде из шапки. Или просто какой-нибудь готовый простой проект, чтобы посмотреть как он устроен внутри.
Аноним 01/03/21 Пнд 00:09:28 730501 213
>>730500
Когда скачиваешь Юнити, тебе предлагают дополнительно скачать один из готовых простых проектов на выбор, чтобы посмотреть основы. Там платформер, фпс, гонка, вроде ещё что-то.
Аноним 01/03/21 Пнд 00:14:26 730503 214
>>730501
Да, я уже потыкал пока сравнивал на какой движок переносить мой прототип с pygame. Мне не хватило.
Бтв я понимаю что готовые проекты выкладывать тупо, сам бы не выложил, но мало ли.
Аноним 01/03/21 Пнд 00:38:06 730505 215
>>730503
Есть вот какой-то официальный туториал на час - https://www.youtube.com/watch?v=IWGZLq84Hvc

Неофициальный, но огромный восьмичасовой урок, как сделать сурвайвл фпс. Я не смотрел, но вроде бы всё очень подробно расписано - https://www.youtube.com/watch?v=Sqb-Ue7wpsI

Ещё один довольно подробный туториал, но покороче - всего три часа - https://www.youtube.com/watch?v=UtlAqRyZrUw

Есть тоже официальный трёхминутный урок, как натаскать готовых ассетов и собрать их в игру (лол) - https://www.youtube.com/watch?v=NvzpOCkw-eA

Ещё есть что-то такое, но, возможно, это и есть тот пример для скачивания - https://unity.com/ru/fps-sample
Аноним 01/03/21 Пнд 00:41:07 730506 216
image 881Кб, 794x546
794x546
>>730505
Большое спасибо.
Аноним 01/03/21 Пнд 01:33:23 730509 217
>>730501
Практического смысла там мало
Аноним 01/03/21 Пнд 03:29:53 730512 218
image.png 152Кб, 1530x736
1530x736
Аноны, что я делаю не так? Почему анимация не проигрывается? Просто статичный 1 фрейм
Аноним 01/03/21 Пнд 05:37:01 730519 219
>>730512
Нажми плей слева снизу
Аноним 01/03/21 Пнд 08:12:02 730523 220
Насколько рейкаст дорогой в плане производительности? Объясню вопрос. Сделал по туториалу поиск пути на тайловой карте. Но в варианте из туториала карта изначально пуста, а преграды на ней добавляются вручную во время игры. При добавлении преграды она записывается в массив преград, а при самом поиске пути проверяется, есть ли нужный тайл в массиве преград. Я же хочу сделать преграды на отдельной тайловой карте и у меня возникла такая идея - при переборе тайлов делать рейкаст на координаты каждого тайла, но на другом слое - слое преград. Насколько этот путь правильный? Я не убью производительность в ноль кучей рейкастов?
Аноним 01/03/21 Пнд 08:25:58 730524 221
.
Аноним 01/03/21 Пнд 08:36:18 730525 222
Отмычка.png 272Кб, 353x390
353x390
Аноним 01/03/21 Пнд 08:37:46 730526 223
>>730523
Не очень дорогой, но у тебя всегда есть шанс начать дергать getComponent в каждом тике, а вот это уже будет дорого.
Аноним 01/03/21 Пнд 11:34:35 730532 224
Бананасы, как использовать DrawProceduralNow?

Как вообще правильно рисовать несколько копий одного объекта при помощи GPU?

Аноним 01/03/21 Пнд 11:59:07 730534 225
Снимок.PNG 1441Кб, 1136x581
1136x581
>>730526
А почему getComponent будет использоваться от рейкаста? Сорри, может у меня знаний не хватает.

У меня ситуация как на скрине. Есть два тайлмапа - на первом земля, на втором - деревья. И при получении координат тайла на слое с землёй мне нужно узнать, есть ли на этом тайле дерево (или другая преграда).

Пока писал пост, до меня дошло - можно же не ебаться с рейкастами, а просто сделать tilemap.GetTile(координаты)! Это же настолько просто и очевидно, а я придумывал костыли с рейкастами.
Аноним 01/03/21 Пнд 12:12:01 730536 226
На винде через хаб юнити не устанавливается? Помню еще года 3 назад такой же косяк словил с невозможностью установки.
Аноним 01/03/21 Пнд 13:20:21 730540 227
>>730534
Молодец что пришел к этому.
А гетКомпонент тебе бы понадобился чтобы из gameObject получить твой скрипт или сравнение по тегу тоже не оч быстро работает.
Просто пускать лучики чтобы получить точку или дистанцию для точки - ок, все остальное уже нужно кешировать или делать как-то по другому.
>>730536
с правами у тебя что-то, запусти от админа
>>730532
>DrawProceduralNow
> рисует все без обработки света, теней
> DrawProcedural - рисует уже через пайплайн
А тебе точно now нужно?
В юнете есть встроенное combineMesh, если твои модельки статичные можешь объединить их и все.
Как альтернатива можно через джобы рисовать объекты, но это пиздец как неудобно, тонну кода нужно написать, несколько СистемКомпонентов и все это еще и связать, если сможешь то ты ГЕРОЙ
Аноним 01/03/21 Пнд 13:42:07 730544 228
>>730540
>с правами у тебя что-то, запусти от админа
Уже пробовал. Сам unity установлен, в хабе установка зависает на 99%
Вроде распердолилось когда я вручную настроил модули.
Аноним 01/03/21 Пнд 16:32:45 730568 229
15144797826330.png 1496Кб, 1018x728
1018x728
Джентельмены! Есть одна игра для мобилок. На одних телефонах она работает как надо без малейших тормозов, а на других, в частности Xiaomi, адово тормозит. Запустил с профайлером: спайки сразу по всем линиям идут, от UI до others. Профайлером пользуюсь впервые, как мне понять, что вызывает тормоза, и не вызваны ли они чем-либо извне (например, если проседает телефон а не игра)?
Аноним 01/03/21 Пнд 17:27:05 730582 230
>>730568
Сравни характеристики желаза для начала.
Аноним 01/03/21 Пнд 19:26:58 730594 231
u2kYET6WiK0.jpg 47Кб, 872x191
872x191
T4bWBc7PRcs.jpg 41Кб, 869x190
869x190
Я не понимаю, я долбоеб или что?
2 идентичных куска кода, один поднимает объект, второй опускает.
Вот только второй не работает. Я в глаза ебусь или что, DebugLog выдает каждый кадр сообщение, то есть в цикл заходит, но объект не опускает
Аноним 01/03/21 Пнд 19:27:44 730595 232
>>730594
Скрины в обратном порядке скинулись, с дебагЛогом как раз не работает
Аноним 01/03/21 Пнд 19:44:44 730596 233
>>730594
Бля чувак, делай вэйпоинты и Vector3.MoveTowards
Аноним 02/03/21 Втр 06:04:35 730650 234
>>730540
>А гетКомпонент тебе бы понадобился чтобы из gameObject получить твой скрипт или сравнение по тегу тоже не оч быстро работает.
А, теперь понял.
>Просто пускать лучики чтобы получить точку или дистанцию для точки - ок, все остальное уже нужно кешировать или делать как-то по другому.
Понял. Есть идея при старте уровня как-то циклом проходить все тайлы на карте и проверять по координатам наличие преград, и если преграда есть - то добавлять координаты в массив или хэшсет. А потом уже при генерации путей во время игры просто проверять, есть ли этот конкретный тайл в массиве/хэшсете преград. Осталось только придумать, как пройти по всем тайлам, особенно если карта не в форме прямоугольника.
Аноним 02/03/21 Втр 08:16:14 730651 235
Как получить состояние переменной к примеру public bool scared = true; из другого скрипта?
Аноним 02/03/21 Втр 09:43:43 730658 236
Аноним 02/03/21 Втр 09:46:36 730659 237
>>730658
Да всё я уже понял
Аноним 02/03/21 Втр 10:16:12 730664 238
Аноним 02/03/21 Втр 10:16:49 730665 239
>>730664
Ааа всё, я тоже понял.
Аноним 02/03/21 Втр 11:59:31 730701 240
>>730596
Не помогает, все также вниз не опускает
Аноним 02/03/21 Втр 12:49:20 730713 241
>>730650
> Осталось только придумать, как пройти по всем тайлам, особенно если карта не в форме прямоугольника.
Все уже придумали до тебя. Просто найди нужный алгоритм.
https://www.youtube.com/watch?v=GC-nBgi9r0U
Аноним 02/03/21 Втр 13:42:17 730724 242
Как закрасить интсансы разными цветами по одному отдельному на каждый?
Аноним 02/03/21 Втр 13:48:55 730726 243
>>730713
О, надо будет экспроприировать для стратежки
Аноним 02/03/21 Втр 16:02:41 730785 244
image.png 8Кб, 195x324
195x324
А как удалять дубликаты?
Аноним 02/03/21 Втр 16:24:58 730800 245
Аноним 02/03/21 Втр 16:27:46 730802 246
>>730724
В цикле поменяй нужные свойства кажому
Аноним 02/03/21 Втр 17:09:18 730812 247
>>730802
Не чел, это хуйня.

Уточню
Часть первая - хочу передать в CS пиксели текстурки или просто текстурку - это вроде понятно и не сложно, но вот какой формат использовать непонятно, да и работать с каждым отдельным пикселем тоже не до конца понятно

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

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

Как?
Аноним 02/03/21 Втр 17:13:05 730813 248
>>730812
И добавлю - ГДЕ БЛЯДЬ ВЗЯТЬ НОРМАЛЬНЫЕ ПРИМЕРЫ ТОГО КАК И ЧТО МОЖНО СДЕЛАТЬ В ШЕЙДЕРАХ? КАКОГО ХЕРА БЛЯДЬ В ДОКУМЕНТАЦИИ ЛИШЬ ХИЛОЕ ОПИСАНИЕ ДАЖЕ НА АНГЛИЙСКОМ? Я БЛЯДЬ ЧТО, ДОЛЖЕН ТЕЛЕПАТИЕЙ РАЗБИРАТЬСЯ ЧТО ТАКОЕ ТИП_НЕЙМ? ДОКОЛЕ НАХУЙ?
Аноним 02/03/21 Втр 18:29:35 730817 249
image.png 70Кб, 879x634
879x634
image.png 7Кб, 423x79
423x79
image.png 3Кб, 275x78
275x78
И снова я с вопросом почему ничего не двигается?
Вот два практически одинаковых кода в апдейте, первый двигает объект One до объекта Two по координате Z. Второй двигает объект вниз до точки 1f. Но почему то второй не работает, я делал его через MoveTowards, вставлял к первому в else, ничего не работает. ДебагЛоги каждый кадр выдают 1 и 2, то есть в цикл он попадает и каждый кадр выдает, однако координата объекта изменилась только на 0.1f. Мб кто знает, что не так?
Аноним 02/03/21 Втр 18:37:23 730818 250
>>730817
> однако координата объекта изменилась только на 0.1f

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

vec3 SomeVe = Vec(0,0,0)
SomeVe.x =
SomeVe.y =
SomeVe.z =
Аноним 02/03/21 Втр 18:41:37 730820 251
>>730817
Лучше объясни, что ты пытаешься сделать.
Аноним 02/03/21 Втр 20:47:37 730839 252
>>730817
Блять. За такие простыни надо расстреливать. Непонятно нихуя. Покажи как ты делал через MoveTowards
> однако координата объекта изменилась только на 0.1f
Так ты ее на 0.1f в коде и меняешь. В чем проблема то?
Аноним 02/03/21 Втр 21:40:15 730852 253
>>730818
>>730820
>>730839
Так у меня повышение на 0.1f в апдейте происходит, на втором скрине я даже приложил что дебаг лог там тысячами выдает, потому что каждый кадр работает. У меня игра типа sort puzzle, куча колбочек с шариками, и в апдейте, когда у меня i=1, шарик поднимается из колбочки. Потом когда я нажимаю на другую, i=2, шарик двигается к нужной колбочке, а дальше при i=3 он опускается вниз. Вот как раз вниз не работает. Притом что у меня идентично написан подъем вверх (ща не могу скрины приложить). То есть у меня участок кода, который каждый кадр выдает ДебагЛог, но при этом каждый раз новое значение не присваивает Transform.Position.
Аноним 02/03/21 Втр 22:17:45 730859 254
image.png 60Кб, 1226x1142
1226x1142
Сап аноны, есть точки лица, которые я получаю в реальном времени используя камеру, и я хочу использовать их для изменения соответственных в 3d модели (эдакий захват движения). Вопрос: как это можно сделать на unity?
Анон подсказал создать rigged модель подстать каждой точке лица, если делать так - как это гуглить? Скелетная анимация?
На unity раньше не работал, но работал много с c#.
Буду благодарен за наводки
Аноним 02/03/21 Втр 22:26:19 730865 255
>>730859
А почему бы по этим точкам динамически модель не создать и вершины двигать? или у тебя модель уже готовая?
Аноним 03/03/21 Срд 02:39:59 730897 256
>>730852
> когда у меня i=1, шарик поднимается из колбочки
Это просто охуенно.
> То есть у меня участок кода, который каждый кадр выдает ДебагЛог, но при этом каждый раз новое значение не присваивает Transform.Position
Так оно не присваивается или все же она движется на 0.1f? Это большая разница. Код на первый взгляд правильный, хоть и вырвиглазный. Но это яво далеко не весь апдейт. Если у тебя состояния это i=3, то я боюсь представить сколько там еще всякой логики. Вполне возможно что какой то другой кусок кода возвращает объект назад.
> каждый кадр выдает ДебагЛог
Блять. Вывести 2 в консоль это не дебаг. Если хочешь понять что не так с данными - выводи эти данные.
Тбе дали отладчик. Бери, пользуйся. Нет я хочу жрать принты в консоль.
Аноним 03/03/21 Срд 06:30:05 730902 257
Что за херня? Сегодня проснулся, запустил юнити как обычно, а он мне кучу ошибок высыпал - в IDE внезапно перестали импортироваться UnityEngine.EventSystems и UnityEngine.UI, а в самом юнити эдиторе падает Unable to resolve reference 'Unity.TextMeshPro'. Is the assembly missing or incompatible with the current platform? и Unable to resolve reference 'Unity.2D.Tilemap.Editor'. Is the assembly missing or incompatible with the current platform?. Также пропала Tile Palette, в меню её тоже нет. Я ничего не обновлял и не трогал. Просто само внезапно взяло и развалилось.
Аноним 03/03/21 Срд 07:11:27 730904 258
>>730902
Закрой юнити, удали папку Temp, открой юнити, Assets->ReimportAll
предварительно сделай резервную копию
Мимо 2 недели на юнити
Аноним 03/03/21 Срд 07:38:36 730906 259
В общем, скачал версию 2019.4.21, обновил проект до неё с 2019.4.19 и всё заработало.

>>730904
Спасибо, учту.
Аноним 03/03/21 Срд 11:00:43 730914 260
>>730865
Я бы хотел в принципе создать систему, в которой можно менять 3d модели головы. Или при динамическом создании можно менять модели?
Пока готовой модели нет
Аноним 03/03/21 Срд 11:27:58 730920 261
Unity3D RealTim[...].mp4 9609Кб, 1280x720, 00:01:12
1280x720
Аноним 03/03/21 Срд 16:25:31 730973 262
Кому-нибудь удалось переехать в Европу/Канаду по работе, или везде своих желающих хватает? А что насчет Вьетнама? Платят не много, но шансов мне кажется больше.
Аноним 03/03/21 Срд 16:25:44 730974 263
>>730236
Уёбищная программа же. Он у тебя ещё и пизженный небось?
Аноним 03/03/21 Срд 20:06:34 731014 264
>>730902
В редакторе открываешь Packages, находишь там папку Unity UI, ПКМ => Reimport
Аноним 03/03/21 Срд 20:06:47 731015 265
image.png 703Кб, 1280x800
1280x800
image.png 779Кб, 1680x1050
1680x1050
В итоге, я не смог найти как в юнити сделать лоуполи локацию и пришлось делать через костыли Unity>blender. Алсо аноны посмотрите на кол-во полигонов, для 8k x 8k (1пик) адекватные значения?
И еще вопрос оффтоп: 2пик, случилась какая то хуйня в блендере и не могу красить блекло-зеленую часть текстур, она как будто при заливке изменяется, помогите плз
, 04/03/21 Чтв 10:05:31 731071 266
Как вы с анимацией работаете?(2d) пилю РТС, есть след трудности:
1) Как сделать, чтобы в рандомные моменты включалась конкретнач анимация? (Нужно, например, чтобы персонаж оглядывался по сторонам иногда, пока стоит без дела)
Коротину накладно для каждого объекта запускать, ТК их дофига.
2) как сделать, чтобы объект удалялся только после анимации смерти?
3) как вы вообще сопоставляете стейты анимации с кодом геймобжекта? Делайте Стейт машин, который дублирует минуты анимации?
, 04/03/21 Чтв 10:06:33 731072 267
Аноним 04/03/21 Чтв 11:07:32 731078 268
image.png 268Кб, 1920x1040
1920x1040
image.png 186Кб, 1920x1040
1920x1040
Почему гранату можно кидать верх, вниз, влево нормально, а направо граната спавнится возле игрока? Наверн, из-за какой-то мелокой вещи такая проблема
Аноним 04/03/21 Чтв 11:23:30 731080 269
>>731078
Ну подебажся. Очевидно, что тебе возвращает vector2.zero. Видимо, ни одно условие не прокатывает
Аноним 04/03/21 Чтв 11:36:51 731082 270
Так нужно Сишарп учить, чтобы с юнити работать? И можно в теории сделать шутер из готовых ассетов, не написав при этов ни строчки кода?
Аноним 04/03/21 Чтв 11:43:21 731083 271
Аноним 04/03/21 Чтв 11:44:54 731084 272
>>731082
>Так нужно Сишарп учить, чтобы с юнити работать?
Да.
>И можно в теории сделать шутер из готовых ассетов, не написав при этов ни строчки кода?
Да.
Аноним 04/03/21 Чтв 12:06:03 731091 273
>>731083
>>731084
На сишарп есть мануалы на русском хоть? И на юнити, а то англ везде, пиздец.
Аноним 04/03/21 Чтв 12:19:28 731096 274
Ребят, только вкатываюсь в Юнити и сейчас возник вопрос. Допустим у меня есть переменная которая меняется в Update().
Я хочу выводить ее на экран, в начале Update() пишу Debug.Log(Переменная). Для начала просто посмотреть как она меняется. В один момент я меняю ее значение с 10 на 20. И при этом в консоли каждый кадр Лог выдает что она и 10 и 20, как это происходит? То есть у меня каждый кадр у двух строчек в консоли с ДебагЛогом справа увеличиваются цифры.
Аноним 04/03/21 Чтв 12:48:59 731098 275
>>731091
Есть, ищи книгу Юнити в действии. По шарпам читай полный справочник c# шилдта
Аноним 04/03/21 Чтв 12:50:19 731099 276
>>731096
Можешь код показать? Где и как она меняется?
Аноним 04/03/21 Чтв 13:25:09 731105 277
image.png 7Кб, 201x259
201x259
image.png 14Кб, 404x148
404x148
>>731099
Ну я вот сейчас отдельно написал, чтобы наглядно было. У меня изначально OnMouseDown(), при первом нажатии x=1, при втором x=2. На первом скрине код апдейта, на втором консоль. Ноль я так понимаю выдает, как только я переменную создаю, но я не понимаю почему каждый кадр. Также как и не понимаю почему остальные значения выдает.
Аноним 04/03/21 Чтв 13:28:50 731106 278
image.png 2Кб, 177x66
177x66
image.png 2Кб, 178x67
178x67
>>731099
Вот все что в OnMouseDown(). (Не полным скрином ибо я там закомментил кучу строк, но даже с таким кодом все равно каждый кадр все выдает)
Аноним 04/03/21 Чтв 13:37:16 731108 279
>>730974
>Уёбищная программа же. Он у тебя ещё и пизженный небось?
Если ты школьник с 80iq, то да, тебе нельзя ей пользоваться.
Сам по себе деск шикарная прога, и если она не подходит, то это сугубо твои проблемы.
Аноним 04/03/21 Чтв 13:56:46 731109 280
>>731071
> как сделать, чтобы объект удалялся только после анимации смерти?
Behaviour в аниматоре.
Аноним 04/03/21 Чтв 13:58:34 731111 281
>>731091
Найди на Ютубе уроки по юнити типа этого - >>728785. Английский не нужен, код говорит сам за себя.
Аноним 04/03/21 Чтв 14:03:56 731112 282
>>731105
Апдейт каждый кадр вызывается.
или в чем вопрос?
Пока у тебя х = 0, он каждый кадр пишет ноль. Ты жмакаешь мышь,(я не знаю, что раньше, наверное, апдейт) икс становится = 1 и в след кадре пришлет это в лог, далее каждый кадр выдает 1 и тп.

Аноним 04/03/21 Чтв 14:05:20 731113 283
>>731105
Так а с чего ты взял, что это один и тот же кадр?
Аноним 04/03/21 Чтв 14:08:37 731114 284
Аноним 04/03/21 Чтв 14:12:19 731116 285
>>731112
Так вот проблема что у меня потом 10к записей 0,1,3. Я тоже думал что будет как ты и говоришь. Что когда у меня x=3, будет только 3 выводиться, однако остальные почему то тоже не останавливаются
>>731113
Так даже если не один, почему он в апдейте повторяется? Типа у меня стал x=3, как он после этого вообще в x=1 возвращает? Или OmMouseDown() тоже каждый кадр вызывается(я понимаю что он как апдейт проверяет нажатие, но пока я не нажал он же не должен заходить)? Я просто хочу логику понять, я хотел сделать последовательные действия в update(), но в итоге они у меня в разнобой делаются потому что X за секунду сразу 3 значениями успевает побыть
Аноним 04/03/21 Чтв 14:31:28 731118 286
>>731116
Я ниче не понял, ты можешь побольше лог прислать? То, что ты показывал, вроде норм
Аноним 04/03/21 Чтв 15:35:34 731123 287
>>731091
Если ты с шарпом совсем не знаком, то настоятельно рекомендую почитать какую-нибудь книжку по нему, например Альбахари, просто чтобы иметь представление, что в нем есть и когда это можно использовать.
Мануалы есть на сайте самого майкрософта, на сайтах типа metanit или professorweb, бывают на хабре. Ну и, конечно, stackoverflow.com наше всё. На ютубе тоже можно найти.
Аноним 04/03/21 Чтв 15:52:06 731127 288
image.png 40Кб, 1264x276
1264x276
image.png 32Кб, 509x286
509x286
>>731118
Не совсем понял какой лог побольше, просто докинул еще разных ДебагЛогов. Все кроме двойки увеличивается каждую секунду. Я не могу понять, если апдейт каждый раз пробегается, то в 2 должно тоже заходить кучу раз. Так как в 2 не заходит больше, а 3 каждый раз увеличивается, я предположу что х равен 3, но я хз почему остальные увеличиваются. Мне просто надо сделать чтобы когда заканчивается одно действие в апдейте, начинается другое, и когда оно заканчивается ничего больше не происходит. А у меня как минимум снова в 1 заходит.
Аноним 04/03/21 Чтв 16:13:04 731130 289
Двачик, объясни, почему когда мы используем
using System;

то можем и использовать
using System.IO; // или любые другие пространства имён.

Разве IO. Как бы не "вложена" в System, почему мы одной строчкой про систем не подключаем все пространства имён?

Аноним 04/03/21 Чтв 19:32:09 731156 290
>>731130
Если я не ошибаюсь, то прям физического разбиения по иерархии неймспейсам нет. И в одном неймспейсе могут быть классы из разных сборок.
Неймспейс помогает как-то кластеризовать классы, чтобы компилятор не офигел, когда видит два класса с одним названием.
Ты можешь жобавить свой неймспейс hui.zalupa, при этом вообще никакого отношения к hui не иметь
Аноним 04/03/21 Чтв 20:53:13 731173 291
В юнити оказывается своя система ивентов есть. Какие ивенты лучше юзать - шарповские или юнитиевские?
Аноним 04/03/21 Чтв 21:04:40 731179 292
16133100244020.gif 1758Кб, 666x716
666x716
Аноним 04/03/21 Чтв 21:13:22 731183 293
Аноним 04/03/21 Чтв 21:38:31 731193 294
>>731173
От ситуации зависит. Юнитивские быстрые из Юй, но неудобные из когда.
Аноним 04/03/21 Чтв 22:01:33 731202 295
Аноним 04/03/21 Чтв 22:13:37 731208 296
Аноним 04/03/21 Чтв 22:19:40 731210 297
Сап. Хочу запилить 3D анимацию вормхола. Не шейдер, а именно 3D модель, как в видео на 26:45 https://youtu.be/JYukHhy9zFY , чтобы игрока по ней затягивать.
Всё усложняет то, что её нужно процедурно генерировать от точки А в точку Б, а не просто одноразовую анимацию сделать. В гугле вообще нихуя по этому поводу не нашёл, только шейдеры и плоские порталы.
В какую сторону копать?
Аноним 04/03/21 Чтв 22:24:49 731212 298
Снимок.PNG 631Кб, 1283x675
1283x675
>>731210
Эм... ты хочешь трубу с бегущими полосками? Рисуешь трубу между двумя точками, изгибаешь по кривым Безье, сверху накладываешь текстуру с бегущими полосками.
Аноним 04/03/21 Чтв 22:28:48 731216 299
>>731212
Даже не трубу, а цилиндр. Рисуешь прозрачный цилиндр между двумя точками, изгибаешь, сверху текстуру.
Аноним 04/03/21 Чтв 22:35:26 731220 300
>>731212
> Berier Curve
Спасибо, анон, то что надо!
Будем наворачивать.
Аноним 04/03/21 Чтв 23:26:38 731226 301
>>731208
Ничем, критичная масса нубья убеждена что это плохо, остальные боятся идти против мема и поддакивают.
Аноним 05/03/21 Птн 00:42:10 731245 302
>>731226
>Я бы не советовал использовать SendMessage, иногда возникают фризы непонятные на некоторых девайсах. Долго вычислял, откуда они, там особо тормозить было нечему, потом понял что проблема в SendMessage. Переписал без SendMessage — всё стало работать без фризов. Поэтому не рекомендую использовать SendMessage.

>SendMessage — ужас для рефакторинга, они нужны только для использования в плагинах и анимации.
Лучше их никогда не использовать, если есть возможность использовать делегаты C#.
Аноним 05/03/21 Птн 09:46:32 731274 303
В аниматора есть Стейт ходьбы, есть Стейт ожидания.
Есть бул переменная isMoving.
Из anystate переход в Стейт ходьбы, когда переменная = тру, а из ходьбы в ожидание - когда фолс.
После того, как буд тру, почему-то анимация ходьбы не доходит до конца (т.е. доходит где-то до середины и начинает заново.
Из-за чего это? Из ходьбы постоянно в ходьбу переходит или почему?
Аноним 05/03/21 Птн 09:53:28 731276 304
>>731274
Запиши гифку или скрины параметров этих 2х анимаций
Аноним 05/03/21 Птн 10:28:03 731285 305
как разрешить ресайзить окно с игрой? по дефолту это отключено
Аноним 05/03/21 Птн 11:06:29 731295 306
>>731285
В PlayerSettings , кажется в разделе Player есть выпадашка с выбором разрешений и под ней была галочка "разрешить ресайз"
Аноним 05/03/21 Птн 11:28:50 731297 307
>>731245
А в чем с рефакторингом сложности? Вообще никак на реализацию не завязывается и на делегат другого класса можно быстро перейти
Аноним 05/03/21 Птн 11:30:08 731298 308
>>731127
У тебя там какой то пиздец. Что значат эти волшебные 1, 2, 3 нихуя непонятно. Где они меняются тоже не видно. Явно не вапдейте. нажатие мышы происходит между апдейтами. Если мышь меняет x то смотри как именно. По етм кускам что ты скинул нихуя не ясно. Почему при x = 2 и x = 3 одинаковое поведение? Почему у тебя два ифав вместо одного x >=2?
Слишком много непонятного.
Аноним 05/03/21 Птн 11:34:35 731299 309
>>731173
Если нужно в ивенте передать параметр, то шарповские.
Аноним 05/03/21 Птн 11:35:20 731300 310
>>731123
>>731098
А насколько глубоко надо сишарп изучать? Или хватит поверхностных знаний для юнити?
Аноним 05/03/21 Птн 11:44:52 731301 311
>>731300
Зависит от твоих амбиций. если ты хочешь сделать копипасту с видеоуроков, то даже знать ничего не надо. Просто тупо копируй что там дулеют.
Если хочешь что то свое, то смотри опять же от амбиций. Для простой игры с простой логикой можно поверхностно выучить синтаксис. Сможешь осилить hp -= damageValue и уже достаточно. если же хочешь в сложную логику и кучу интерактивных объектов в сцене, то тут надо максимально понимать возможности языка. Нужно знать ивенты что бы взаимодействовать с разными объектами. Нужно знать структуры данных что бы как то хранить стейты и объекты. Нужно знать linq что бы быстро выбирать то что нужно из коллекций.
Аноним 05/03/21 Птн 11:49:45 731304 312
>>731301
Вот как, спасибо, сам думал стратегию сделать, теперь хоть знаю с чего начать.
Аноним 05/03/21 Птн 12:05:14 731307 313
>>731297
Класс/метод переименовал и ВСЕ.
Случайно добавил букву или удалил и ВСЕ.
Можно использовать nameof(methodName), но через FindReferences это не будет работать + code strip будет удалять такие методы, так что нужно обвешивать атрибутами.
И вот подумай, тебе это правда нужно чтобы думать о всех этих пунктах? когда ты можешь напрямую дернуть
Аноним 05/03/21 Птн 12:12:48 731310 314
>>731300
Сам синтаксис, естественно, и как память работает. Например, чем стракт от класса отличается, что происходит при использовании new, сколько мусора генерят строки и linq и зачем нужен StringBuilder. В общем работа с памятью, создание объектов, сборка мусора. Это, как по мне, самое главное.
Аноним 05/03/21 Птн 12:56:40 731318 315
>>731304
Для стратегии тебе еще понадобится нихуевое знание математики и геометрии. Когда ты поймешь, что выделенные несколько юнитов должны идти не в ту точку в которую ты кликнул, а немного в разные сохраняя подобие строя.
Аноним 05/03/21 Птн 16:01:08 731368 316
>>731307
А, мы, видимо, о разных вещах говорим. Я думал, вы про кастомные классы мессенджера
Аноним 05/03/21 Птн 16:03:36 731370 317
>>731304>>731318
Или нет.
В прошлом треде курс по РТС и мультиплеере выкладывали - оч крутой и достаточно простой. Навигацию юнитов берет на себя кастомный фреймворк, но и без него в инете есть куча туториалов с алгоритмами ориентации в сетке
Аноним 05/03/21 Птн 16:05:44 731372 318
>>731310
>Как память работает.
Я более чем уверен, что для относительно небольшой игрухи вообще нет смысла знать, что в стек складывается, а что хранится в куче
Аноним 05/03/21 Птн 18:59:17 731406 319
Сап. Можете сказать, что выполняют эти строчки кода?
enum gridSpace {empty, floor, wall};
gridSpace[,] grid;
grid = new gridSpace[800,600];

В движок сам не шарю, просто надо проект перенести.
Аноним 05/03/21 Птн 19:06:38 731410 320
>>731406
создает массив grid с шириной 800 и высотой 600
можешь получить тайл, например grid[10,5]
совсем не знаком с программированием?
Аноним 05/03/21 Птн 19:10:28 731411 321
>>731410
а что значит [,]?
И, я так понимаю, enum - это типа массива?

>совсем не знаком с программированием?
На шарпе да, совсем
Аноним 05/03/21 Птн 22:08:13 731458 322
>>731411
>а что значит [,]?
Скобки значат, что это массив, а запятая - размерность
Данная запись говорит, что gridSpace[,] grid - это двумерный массив, т.е [x,y]. grid = new gridSpace[800,600]; Создает новый массив с 800 х 600 клеток
enum - перечисляемый тип. Если тебе нужно задать, какой может быть из 3 вариантов клетка (пустой, пол или стена), то ты создаешь енам с соответствующими значениями и потом дял каждой вбираешь подходящее

Аноним 05/03/21 Птн 23:34:55 731485 323
А передавать колбеки - это говнокод или нормальная практика? Поясню - у меня есть инвентарь, в нём, например, десять итемов. При клике на любой в инфопанели рядом должна появляться инфа об этом итеме. Пока идея такая - при генерации итемов, в каждый передаётся callback метод из самого объекта инвентаря, который дёргает ивент внутри инфопанели с данными. Как это можно сделать чище?
Аноним 05/03/21 Птн 23:36:23 731487 324
Или прокидывать из одного объекта инвентаря ссылку на объект инфопанели в каждый итем будет лучше?
Аноним 06/03/21 Суб 01:37:58 731514 325
Сап, каким образом я могу сделать динамическую панель? Есть слот предмета в инвентаре и событие в скрипте, которое вызывается при наведении и показывает свойства предмета с задним фоном, задний фон сделан простой ui панелькой, но её размер никак не меняется, в итоге предмет с коротким описанием висит с кучей пустого места снизу. Как я могу узнать сколько места мне нужно, или как-то скалировать это всё дело?
Аноним 06/03/21 Суб 12:38:22 731545 326
>>731485
Сделай событие OnSlotClick, подпиши на него колбек.
Аноним 06/03/21 Суб 14:08:14 731556 327
>>731485
>>731487
>>731545
В общем просто сделал контроллер инфопанели синглтоном и всё заработало без колбеков и ивентов.
Аноним 06/03/21 Суб 17:08:41 731577 328
Кто-нибудь пробовал использовать Bolt или PlayMaker для конечного автомата? Я имею ввиду использование только в некоторых местах, а не полная замена кода визуальным редактором.
Аноним 06/03/21 Суб 22:47:05 731610 329
1.PNG 23Кб, 477x77
477x77
2.PNG 48Кб, 668x132
668x132
Это нормально? Оба скрина из одного класса. Зачем делать переменные приватными, а потом делать публичный метод для их изменения? Не проще их сразу сделать публичными? Ну или публичный set и приватный get.
Аноним 06/03/21 Суб 23:04:56 731612 330
>>731610
Это нормально. Он уже сделал setter.
> Не проще их сразу сделать публичными?
Публичные переменные движок сериализует и светит в инспекторе. Чем светить в окне кучей переменных проще сделать сеттер который выставляет именно те две что нужно. Да и считается плохой практикой, все делать публичным.
Аноним 06/03/21 Суб 23:07:25 731613 331
>>731610
Это называется инкапсуляция, суть в том чтобы оградить тех, кто будет пользоваться твоим классом(в том числе и тебя, ведь когда у тебя будет куча скриптов ты уже начнешь подзабывать детали) от его неправильного использования. Я не знаю что у тебя этот класс делает, но вот например предположим у тебя длина вектора мин всегда должна быть меньше длины вектора макс. Ты можешь прямо в этой функции сделать либо автоматическую коррекцию этой ошибки(свапнуть их) или кинуть исключение.
А потом ты еще внезапно решишь, что длина каждого из этих векторов должна быть меньше 1000(так как протианое при нормальном использовании этого класса невозможно по здравому смыслу например) - и прямо внутри этой функции добавишь эту проверку. И все - больше нигде ничего менять не надо - только реализацию функции.

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

А еще можно делать проперти. Типа
public Vector3 Gavno {get;set};
И юзаются они прямо как переменные типа someClass.Gavno = new Vector3(1,2,10) ; Но суть в том что если захочешь ты можешь поменять реализацию set или get. Например вот был у тебя такой вектор без каких-либо проверок, но потом через неделю ты решил что надо добавить проверку, и делаешь
private Vector3 _gavno;
public Vector3 Gavno
{
set { gavno = value; if(gavno.Magnitude > 1000) throw nex Exception("o net!");}

get { return _gavno;}
}

У итоге скобочки постоянно писать не надо, а на самом деле функция выполняется.
Аноним 07/03/21 Вск 00:55:07 731625 332
>>728504 (OP)
Как получить токен покупки от гугл плей? Написано в доках только что нужно вызвать getPurchaseToken() от объекта Purchase. Но в юнити нет ничего подобного в классе Purchaser
Аноним 07/03/21 Вск 05:30:12 731636 333
А человеческие декали работающие на изогнутых поверхностях как в уе4е до сих пор не завезли?
Аноним 07/03/21 Вск 10:39:17 731649 334
Аноним 07/03/21 Вск 14:26:51 731670 335
Хочу сделать ассет для ассет стора и в идеале я бы хотел сделать его адаптированным под ецс, ну или хотя бы часть работы скинуть в джобс систем, потому что параллелится будет хорошо. Как я понимаю, те кто делают стандартную юнити игру и не установили всю эту хуйню - юзать его не смогут и им придется самим выискивать и устанавливать зависимости. Или они сразу сами подхватятся?
Или стоит сделать две версии - одну с ецс, а другую стандартную?
Аноним 08/03/21 Пнд 19:34:31 731905 336
изображение.png 22Кб, 515x262
515x262
Как лучше держать все менджеры (звука управления и тп)?
Сейчас есть один большой компонент, который отвечает за иницилизацию и апдейт менджеров.
Есть в этом смыл или лучше каждый менджер отдельным компонентом держать?
Очевидная проблема сейчас - не очень удобно получать менеджеры для других компонентов
Аноним 08/03/21 Пнд 19:37:31 731906 337
Анон, такой вопрос, по поводу пост обработки в юньке. Есть эффект блум, он глобальным параметром накидывается на все. Можно сделать локальный эффект, он по сути так же накидывается на все, но отображается только когда камера находится в пределах коллайдера. Есть ли возможность повесить этот самый блум, лишь на один\несколько объектов, чтоб вне зависимости от локации камеры, эффект работал только для выбранных объектов?
Аноним 08/03/21 Пнд 19:46:45 731910 338
А и еще связанный с >>731905
вопрос - если я выставляю в [SerializeField] двух компонентов один и тот же scriptable object - ссылка будет на один и тот же инстанс или разные?
Аноним 08/03/21 Пнд 20:47:18 731922 339
>>731905
Зависит от твоей архитектуры.
Есть 3 варианта. Первый это иметь мастер скрипт где хранятся все публичные ссылки на нужный стафф. Второй это в каждом скрипте перед или во время инициализации искать нужный публичный компонент и сохранять ссылку на него. И третий, Похож на второй, но искать и использовать ссылки только при их непосредственном вызове.
У каждого метода есть свои + и -.
Аноним 09/03/21 Втр 00:29:28 731984 340
>>731922
Спасибо! Сейчас у меня 1 первый вариант, но выглядит не очень удобным.
Посмотрел, что делает коммунити https://github.com/UnityTechnologies/open-project-1 - там, вроде, везде завязки через scriptable object.
Теперь ключевые вопросы:
1) В какой момент иницилизируется scriptable object?
2) Если в два два компонента запихнуть один и тот же скриптбл настроенный, у каждого свой инстанс будет или будет один на все?
Аноним 09/03/21 Втр 01:51:47 731990 341
Анон, в редакторе юнити можно как-то снизить настройки?

Вот в редакторе UE4 можно выбрать чтобы графика была минимальна. Вот такое в юнити ищу, а то на моем говне тормозит что пиздец на пустой сцене (и это смешно что редакор UE4 то вполне сносно работает, а юнити проперживает при нажатии каждой кнопки)
Аноним 09/03/21 Втр 08:21:07 732004 342
>>731990
Конечно можно, загляни в настройки текущей сцены или проекта, и там можно кучу всего даже отключить или убрать в 0.
Аноним 09/03/21 Втр 16:55:37 732063 343
Аноний, вопрос по поводу освещения в юнити. Как его сделать красивым, есть какие то туторы нормальные или типа того? Крутить будто бы особо нехуй кроме интенсивности, зоны покрытия и выбора цвета освещения. Какое то оно мертвое, некрасивое. А ведь во всяких игрулях\скриншотах всегда ахуительный свет, совсем другой.
Аноним 09/03/21 Втр 17:43:42 732071 344
Аноним 09/03/21 Втр 18:23:59 732077 345
>>732071
А есть такие же сцены только не для RP? Чет навигация сложная какая то по сайту, да и с ангельским такое себе у меня.
Аноним 09/03/21 Втр 18:28:55 732078 346
>>729936
потому что yield return null. Грубо говоря твоя корутина срабатывает каждый кадр, поэтому визуально происходит плавное заполнение
Аноним 09/03/21 Втр 20:39:40 732087 347
Вопрос, как в С# передать в функцию другую функцию ?
Аноним 09/03/21 Втр 21:02:50 732093 348
Как реализовать поиск пути в 2д? Чтоб враг преодолевал препятствия в виде стены
Аноним 09/03/21 Втр 21:06:08 732094 349
>>732093
Если видно стену то действие.
Иначе продолжить.
Аноним 09/03/21 Втр 21:16:20 732096 350
>>732087
void Ebin(Action tvoyaFunctia)
{}
Аноним 09/03/21 Втр 22:07:09 732099 351
>>732094
Пробовал через 2Дрейкасты, перс оочень медленно проходит препятствия
Аноним 09/03/21 Втр 22:21:28 732101 352
>>732099
Значит хуевый алгоритм поиска пути.
Аноним 09/03/21 Втр 22:43:29 732103 353
, 10/03/21 Срд 10:08:57 732150 354
Есть конкретная ситуация, где можно использовать паттерн команда, но есть сложности со скриптбл объект:
Есть компонент, который запускает действие. Действие передается в виде scriptable object.
Разные действия могут дергать разные игровые объекты. Но как передать эти объекты скриптбл объекту? Компонент, который запускает действие один на все действия, а сриптабл объекту можно передавать только префабы в serializedfield
Аноним 10/03/21 Срд 13:59:57 732200 355
Вопрос интимного хаарактера. Мне захотелось в игру для юнити допилить некоторые механики, совершенно чуждые для самой игры, но реализуемые на унити и естесна я о всяких дешифраторах подумал дабы вскрыть код и дорисовать желаемое, но гайдеров на утубе интересует онли тема пиздинга ассетов и изменения параметров в угоду своим желаниям(многа денехг) и вот у меня вазник вапрос: Как? Вот как мне не спиздить что-то из игры, а добавить...есть ли наработки и болевые приёмы трукодеров или тема душная, а то и вовсе мертворождённая ?
Аноним 10/03/21 Срд 14:06:36 732202 356
>>732200
Через единственую прогу вскрываешь проект, там у тебя будет всё. Просто создаешь то что тебе надо, на твоих обьектах будут скрипты которые и так будут выполняться при старте.
То что ты задумал выполняется очень просто, почти без гемора.
Максимум 15 мин разобраться как работает прога+от 5 до 9999 минут понять что внутри проекта и как с этим взаимодействовать. Если никогда не работал в юнити, то вот тут могут возникнуть сложности, особенно по не знанию с#.
Аноним 10/03/21 Срд 14:47:45 732218 357
>>732202
ООО, А можно на примерах инструкции, типа в теории как:
1.Добавить новую анимацию некому персу
2.Добавить модельку со скриптами(машинка допустим банальная)
3.Поменять графон, HDRI карту(если возможно)
4.Добавить механику, при которой при нажатии на опред. кнопку камера перса меняется(для создания камер наблюдения например или развед ботов).
Вот чисто в теории сказать чо да как, и ты имел в виду копипаст скриптов из допустим моей механики в юнити вроде тех же камер наблюдения во вскрытый dll файл?
В юнити сидел мало и давно, но щас цель появилась, и вот на практике решил её разобрать и реализовать желаемое. Си плюсы на шарп похож(почему жи хммм), так что думаю не сложно будет выучить
Аноним 10/03/21 Срд 16:14:11 732231 358
>>732218
Чтобы сделать 1,2,4 тебе надо установить юнити и сделать это там, и потом сделать также уже в открытом проекте.
3 пункт, без понятия что ты имеешь в виду.

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

Если у тебя есть цель именно модернизировать игру под то что ты хочешь, то советую сделать так.
1. Скачиваешь прогу анпакер юнити(всего один есть в интернете), и распаковываешь игру, если она корректно распаковалась то можно двигаться дальше.
2. Скачиваешь юнити хаб, а следом из него и юнити.
3. Пытаешься понять что ты хотел бы сделать, и мельком смотришь нужные гайды как реализовать это в юньке.
4. Как только у тебя получилось сделать что-то в юньке, пробуешь это перенести в открытый проект.
5. Если всё получилось, и ты походу разобрался что да как, остальное делаешь по аналогии, лишь беря во внимание чем больше объектов, скриптов, тем сложнее.

Думаю неделька одна-другая у тебя уйдёт на реализацию задуманного.
Аноним 10/03/21 Срд 16:41:45 732236 359
>>732231
Спасибо! вроде понял, и просто последний момент уточнить хочу, ну чтобы всё, был уверен.

>4. Как только у тебя получилось сделать что-то в юньке, пробуешь это перенести в открытый проект.

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

Или ты имеешь в виду чистый, вскрытый C# код например в DnSpy, куда я отправляюсь, когда у меня выходит реализовать задумку в юнити? Если этот случай, то можно прям чутка пояснить .И модели, и объекты, и скрипты и всё остальное будет храниться во вскрытом C# коде, структуру которого мне надо будет понять?
Аноним 10/03/21 Срд 16:57:15 732241 360
image 477Кб, 1920x1039
1920x1039
>>732236
>Просто почему-то возникшая мысля, не верю в неё чот, просто ты сказал "открытый проект" и тут сомнения родились.
Блять, тебе это надо или мне?
Пока не попробуешь не узнаешь, пиздец, мне за тебя всё сделать и по шагам показать как и что?

Есть программа, на пике, с помощью неё можно открыть почти любую игру на юнити. В ней же можешь модифицировать ресурсы игры, добавляя/удаляя.
Для примера я блять за тебя скачал её и открыл свой старый проект.
Как я писал уже, вся сложность заключается в том, что ты хочешь сделать, и делал ли ты это в юнити.
Если блять ты даже юнити не открывал и не знаешь что это не еби мозги сука.
Аноним 10/03/21 Срд 17:02:21 732244 361
>>732241
Люблю просто уточнять досконально, вот про прогу на пике ваще не знал, теперь знаю что искать, спасиба кароче, спас B-)
Аноним 11/03/21 Чтв 10:47:05 732360 362
>>732200
Если собиралось на новых версиях юнити, то без шансов, там il2cpp пакер. Разве что через иду, но ты ебанёшься.
Аноним 11/03/21 Чтв 13:55:00 732379 363
>>728504 (OP)
Как же напрягает переводить юниты через юниты, тонна времени уходит на пердолинг координат. Интересно, кто-нибудь разбирается в этом настолько бегло, что совсем не напрягается.
Аноним 11/03/21 Чтв 17:28:27 732467 364
>>728504 (OP)
Подборка русских книг по Unity
1. Разработка игр на Unity за 24 часа. Майк Гейг (2018)
https://yadi.sk/i/F1ZzqBQkqIll5g
2. Unity для разработчика. Мобильные мультиплатформенные игры. Джон Меннинг, Пэрис Батлфилд-Эддисон (2018)
https://yadi.sk/i/itkBO_PkWGLTzg
3. Оптимизация игр в Unity 5. Крис Дикинсон (2017)
https://yadi.sk/i/TN2SK2rTP1PuZA
4. Искусство создания сценариев в Unity. Алан Торн (2016)
https://yadi.sk/d/Op_LDerFliiTlA
5. Основы анимации в Unity. Алан Торн (2016)
https://yadi.sk/i/NT2nTynAemKBFw
6. Unity и C#. Геймдев от идеи до реализации. Второе издание. Джереми Гибсон Бонд (2019)
https://yadi.sk/i/pyqGOvnrdvRU3g
7. Unity в действии. Мультиплатформенная разработка на C#. Первое издание. Джозеф Хокинг (2016)
https://yadi.sk/d/SXUJqBj_TF425Q
8. Unity в действии. Мультиплатформенная разработка на C#. Второе издание. Джозеф Хокинг (2019)
https://yadi.sk/i/XQyAfyMCrxIM5Q
9. Программирование искусственного интеллекта в играх. Хорхе Паласиос (2017)
https://yadi.sk/i/RZNpzSQ-x2olhg
10. Виртуальная реальность в Unity. Джонатан Линовес (2016)
https://yadi.sk/i/eui1CaOKewXTDA
11. Шейдеры и эффекты в Unity. Кенни Ламмерс (2014)
https://yadi.sk/i/Wm4FnD_l5aFMZA
12. Основы Unity3D. Первая часть. Jandar-man (2013-2014)
https://yadi.sk/i/qWph7D3TmIauOA
Аноним 11/03/21 Чтв 19:34:32 732481 365
>>732241
Фига какая софтина, есть кря-кря на нее?
Аноним 11/03/21 Чтв 20:52:27 732502 366
>>732467
Анон, ты великолепен
Аноним 11/03/21 Чтв 20:54:01 732504 367
>>732241
Как от нее защититься?
Аноним 11/03/21 Чтв 20:56:07 732505 368
>>732504
Я отвечу, если ты ответишь кому ты нахуй сдался. ))))
Аноним 11/03/21 Чтв 20:59:08 732506 369
>>732505
Тем кто захочет сделать игру с моими механиками, но не захочет пердолиться как я полгода с кодом.
Аноним 11/03/21 Чтв 21:07:11 732509 370
>>732481
Название же написано, гугол.

>>732504
>>732506
Никак, это проблема юнити. Единственное что ты можешь это юзать плагин или в ручную приводить код в нечитабельное состояние по типу переменные ''aaaaa","s0000001" и сами функции, но ресурсы никак не защитить.

Аноним 11/03/21 Чтв 21:17:15 732512 371
>>732509
То есть можно сейчас взломать какую-нибудь известную игру. Натырить от туда код, заменить графику и звуки, выпустить в стим - никто даже не поймет?
Аноним 11/03/21 Чтв 21:41:58 732519 372
1.png 24Кб, 720x190
720x190
>>732504
Тащемта никакого секрета тут нет - переключаешь скриптинг бекенд на il2cpp и всё. Все эти хакиры сосут хуи.
Аноним 11/03/21 Чтв 22:03:46 732525 373
>>732519
>>732360
Просто скачай и посмотри, это вообще ни на что не влияет, я уже проверял.
Аноним 11/03/21 Чтв 22:04:41 732526 374
>>732512
>Натырить от туда код, заменить графику и звуки, выпустить в стим - никто даже не поймет?
Ну попробуй, помимо того что тебе надо будет разобраться в сотни скриптов и их зависимостях, и в куче всего что есть.
Аноним 11/03/21 Чтв 22:10:40 732527 375
>>732526
Удобно, можно любое окружение достать, вплоть до настройки материалов, шейдеров, фх, етц.
Аноним 11/03/21 Чтв 22:13:23 732530 376
Бегло посмотрел кря-кря, похоже не завезли.
Аноним 11/03/21 Чтв 22:31:17 732535 377
Аноним 11/03/21 Чтв 22:53:04 732543 378
Аноним 12/03/21 Птн 00:23:02 732560 379
1.png 228Кб, 1321x644
1321x644
Бля, внатуре прога работает, специально собрал мини микро билд, так она прочитала оттуда ровно нихуя. А если я ещё burst подрублю или нахуярю ецс-лапши, чтобы хакир вообще прямиком на дурку отъехал после прочтения il-кода?
Аноним 12/03/21 Птн 09:02:35 732636 380
image.png 356Кб, 1365x723
1365x723
Прикольно, можно поворовать код из вальхейма
Аноним 12/03/21 Птн 09:14:57 732637 381
>>732636
Вот так аноны и открыли для себя решарпер.
Аноним 12/03/21 Птн 10:41:21 732640 382
Зашквар. Поставлю ка я обфускатор
Аноним 12/03/21 Птн 11:10:29 732643 383
>>732640
Трабла в пакере юнити, это тупо его архитектура упаковки. А трабла обфускатора в том что если уж сильно надо, можно все равно разобрать код, но потребуется больше времени.
Аноним 12/03/21 Птн 11:12:38 732644 384
>>732640
Религия запрещает скриптинг бекенд переключить? Тогда всё соберётся в кресты и обфусцируется так, что ебанёшься. Крестовые декомпиляторы тоже есть, но там всё очень жёстко.
Аноним 12/03/21 Птн 11:21:56 732648 385
>>732640
Зачем? всего лишь включи il2cpp,тогда нихуя не декомпилирует
Аноним 12/03/21 Птн 11:22:40 732649 386
>>732644
>Крестовые декомпиляторы тоже есть, но там всё очень жёстко.
вот да, я тут одну прогу поставил на декомпиляцию - уже неделю декомпилирует, 32гб оперативы сожрало
Аноним 12/03/21 Птн 11:39:41 732651 387
1.png 72Кб, 1041x607
1041x607
>>732649
Хуй знает, у меня за пару часов игры целиком вскрываются. Но разобраться сложно.
Аноним 12/03/21 Птн 11:44:48 732653 388
>>732651
я с декомпиляцией в с++ код и не в иде, а в сновмене
Аноним 12/03/21 Птн 12:13:01 732662 389
>>732640
Что вашу игру кто-то декомпилирует - это последнее, о чём надо беспокоиться.
Аноним 12/03/21 Птн 12:14:42 732664 390
>>732662
Вот кстати внезапно, но подвачну.
Лучше сделать хорошую игру, чем гомно, но с кучей защиты и хитро-выебано-запакованную.
Аноним 12/03/21 Птн 14:26:00 732691 391
Аноним 12/03/21 Птн 14:37:48 732692 392
>>732691
Благодарю, забрал.
Аноним 12/03/21 Птн 14:56:21 732695 393
Screenshot 2021[...].png 3066Кб, 2274x1254
2274x1254
>>732691
тыкнул на случайный урок по первой ссылке. там чел разрабатывает какую-то блевотину и говорит: "кликаем правой кнопкой мыши и выбираем паст валуес". в наши дни у всех такой уровень английского или это деревенский Петрушка попался?
Аноним 12/03/21 Птн 15:04:08 732696 394
>>732695
Пидорахе только о произношении и рассуждать, кек.
Аноним 12/03/21 Птн 15:07:15 732697 395
>>732695
ебать там коричневый ван гог
Аноним 12/03/21 Птн 15:13:47 732699 396
2021-03-12 15.1[...].jpg 18Кб, 389x259
389x259
>>732696
он там, к слову, начинает так: "мы эту игру сделаем ещё более красивей", так что обезьяна о себе сразу даёт знать. собственно его результат это бесплатный ассет над лужей поноса

>>732697
солярис читал? похоже получилось
Аноним 12/03/21 Птн 15:21:14 732700 397
>>732699
> солярис читал? похоже получилось
Читал, да, схожесть какая-то прослеживается и правда лол. На самом деле все эти фантастические рассказы непаханное поле для дизайнеров, да и фольклор (только god of war и витчер на ум приходят), на заре гейдева живем посоны
Аноним 12/03/21 Птн 15:39:16 732708 398
Аноним 12/03/21 Птн 17:14:04 732718 399
>>732644
>Религия запрещает скриптинг бекенд переключить?
Где эта галочка стоит?
Аноним 12/03/21 Птн 17:15:21 732719 400
Аноним 12/03/21 Птн 19:57:51 732751 401
Нагрузка на GPU[...].png 596Кб, 1280x720
1280x720
Вопрос по оптимизации в Unity - нагрузка на GPU ниже когда камера статична, а объекты двигаются? Или когда объект камера двигается?
Или это не имеет значения? Что имеется в виду в этом видео про оптимизацию?
https://youtu.be/mAgwkCMuRAk
Аноним 12/03/21 Птн 20:27:22 732760 402
>>732751
в юнити не разбираюсь, но вангую либо говнокод с ненужными васянооптимизациями, вроде реал-тайм запекания, но нахуй такое надо не ясно, хотя с фиксированной проекцией, кучей статичных объектов и кучей графена с динамическим освещением (вроде диско элизиума), я еще могу увидеть в этом здравый смысл (но не в скриншоте который ты приложил лол)

видео не смотрел, я бы просто делал объекты статичными, где можно и не парился:

> Set the Static property on a non-moving object to allow internal optimizations like static batching

и прочее отсюда:

https://docs.unity3d.com/Manual/OptimizingGraphicsPerformance.html
Аноним 12/03/21 Птн 20:29:29 732762 403
>>732760
* с динамическим глобальным освещением (вроде погоды или времени дня)
Аноним 12/03/21 Птн 20:55:57 732766 404
>>732760
еще процедурная генерация может влиять, вот еще че вспомнил
Аноним 12/03/21 Птн 21:00:51 732768 405
>>728507
чел, а можешь пожалуйста сказать какие есть новые туториалы и какие из приведенных устарели?
Аноним 12/03/21 Птн 21:02:36 732769 406
>>732519
>>732718
Cмотри - тут даже пик есть. Эдит - проджект сеттингс.
Аноним 12/03/21 Птн 21:37:36 732771 407
>>732467
Можешь посоветовать, что-нибудь не очень тяжелое по работе с сетью на юнити. Делаю пошаговый сетевой батлер на одном экране и пока не понимаю как подступиться
Аноним 12/03/21 Птн 21:49:28 732772 408
>>732771
Я не он.
Photon Pun в помощь.
Аноним 12/03/21 Птн 21:57:22 732773 409
Аноним 12/03/21 Птн 22:32:02 732776 410
>>732772
>Photon Pun
Уточню, что у меня планируется крайне простая реализация сети. По сути: один игрок запускает игровое поле у себя на компе, это поле надо вывести на экран второго игрока и чтобы он мог по нему тыкать во время своего хода. Плюс надо как-то разграничить показ некоторых элементов инфопанелей у обоих игроков. Чтобы один не видел, что смотрит другой и наоборот.
Про фотон я слышал, но все же хотелось бы обойтись встроенным в юнити сетевым функционалом. Или он настолько убог, что даже эту задачу не решит?
>>732773
>наш российский сетевой фреймворк GalaxyNetwork
Было бы прикольно в нем покопаться, но сейчас мне нужен самый дубовый вариант - просто, чтоб работало. Тащу проект в одиночку, времени не так много к сожалению
Аноним 13/03/21 Суб 08:12:35 732833 411
>>732773
Вообще выглядит интересно, напоминает mirror.
Но если честно не понимаю почему я должен взять именно его для себя т.к. судя по видосам, они решают свои проблемы, ну вы поняли идею
Аноним 13/03/21 Суб 08:17:06 732835 412
Аноним 13/03/21 Суб 09:16:07 732838 413
ddd.jpg 52Кб, 546x445
546x445
>>728504 (OP)
Курс "Skillbox - профессия разработчик игр на Unity (2020)"
Описание:
Курс состоит из 4 основных блоков - ведение в С#, основы создания игр на Unity, углубление в Unity, разработка полного цикла. Первый блок посвящен освоению азов программирования на C#, а уже со второго блока вы начнете создавать свои первые игры. После обучения вам уже будет, что показать на собеседовании.
Продолжительность: 49 часов
https://disk.yandex.ru/d/l6ZLrrRk3g_NQw
https://mega.nz/file/cpgGEBII#CmAm2kNvhZkHrBVG-RgX_xg-qf7AngCQY8MRja3exX0
Аноним 13/03/21 Суб 09:19:04 732839 414
Снимок экрана ([...].png 2Кб, 291x126
291x126
Насчет NeoTextureEdit, в первый раз запустился, а во второй вместо запуска вылезает вот этот говняк. Как фиксить? Жаба стоит.
Аноним 13/03/21 Суб 09:49:21 732842 415
>>730525
Что у него с автоматом?
Аноним 13/03/21 Суб 10:10:05 732845 416
>>732838
Почему всех этих курсовиков рыночек еще не порешал? Вроде полно отзывов, что не соответствует реальность их обещаниям.
Аноним 13/03/21 Суб 10:20:29 732846 417
>>732845
А что там такое?
Нуфаг
Аноним 13/03/21 Суб 10:45:46 732849 418
>>732845
Скиллбокс и Гикбрейнс это дочки мейлру, с классическим выводом ООО на Кипр. Это говно будет жить пока живёт мыло.
>А что там такое?
Кидалово на шекели, очевидно же. Научат Press any key и не более.
Аноним 13/03/21 Суб 11:30:52 732854 419
>>732845
Есть большой спрос на их услуги - толпы зарплатных от безысходности ломанулись в ойти. А у них с критическим мышлением не очень, как правило. В итоге им продают ненужные знания, на которых им никак не заработать.
Мне самому недавно написала одна рекрутерша с предложением попреподовать у них CG, хотя скилл у меня на среднем уровне. Им реально похуй на само обучение, пока идет косяк долбоебов - они будут их окучивать.
Аноним 13/03/21 Суб 11:35:13 732855 420
Есть те, кто фрилансит на юнити? Вы сами покупаете лицензию или вам заказчик предоставляет?
Аноним 13/03/21 Суб 11:37:56 732856 421
Стоит ли на юнити писать приложения или это глупая идея?
Например, мне нужно игровое приложение обучалка, в котором из 10ти экранов один игровой, с графикой и анимациями.
Аноним 13/03/21 Суб 12:13:06 732864 422
>>732856
На юнити можно сделать почти что угодно, очень удобный движок, особенно с анимациями и спецэффектами. Если тебя не беспокоит размер самого плеера +-20мб, то смело юзай.
Аноним 13/03/21 Суб 12:14:33 732865 423
>>732855
Зачем лицензия? Если работаешь по колабу она не нужна, либо же тебе присылают бандл, ты его распаковываешь, делаешь свои дела, запаковываешь обратно.
Так-же с созданием, делаешь свои дела, сохраняешь ассет, отсылаешь.
Аноним 13/03/21 Суб 16:57:56 732978 424
800px-Cateyes20[...].jpg 168Кб, 800x592
800x592
Делаю turn base (пошаговую) игру, имплементирую "менджер ходов", который запускает ход нужного игрока.

Мне кажется, нет смысла его делать monobehavior или scriptable object. т.к. в реале он не требует функций юнити (а коллбеги, типа update, еще и жрут много).
Как его грамотно интегрировать в Entity-Component модель в юнити? Кто делал пошаговые игры, как вы реализовали данную тему?
Аноним 13/03/21 Суб 17:13:36 732987 425
>>732978
Я не делал пошаговку, но если бы делал то однозначно не стал бы ебать себе мозги.
Пошаговка сама по себе жанр в котором фпс не нужен, так ответь мне ты, дизайнер от боха, нахуй ты ебешь себе мозги, если их не ебут себе даже челики которые делают акшоны?
Аноним 13/03/21 Суб 17:57:42 733006 426
Привет, можете подсказать хорошие курсы по созданию матч 3 механик? Азы может какие-то чтобы доступно все было
Аноним 13/03/21 Суб 18:12:07 733012 427
>>733006
>мач 3
>курсы
>доступно
))))))
Кирилов прибыло
Аноним 13/03/21 Суб 18:48:59 733025 428
>>733006
На ютубе есть создание с нуля. Даже на русском есть.
Аноним 13/03/21 Суб 20:14:38 733049 429
>>732978
>нет смысла его делать monobehavior или scriptable object
Ты игру делаешь, или движок? Твоя цель сделать механику менеджера, вот и делай. Проебать фпс там тупо не на чем в нём.
Алсо я когда пилил для одного конкурса рогалик пошаговый, то делал так - У меня был 1 главный объект менеджер с десяток скриптов.
Аноним 13/03/21 Суб 21:37:08 733063 430
>>733049
>>732987
>- У меня был 1 главный объект менеджер с десяток скриптов.
Я делал MVC, потом понял, что это говно(ибо оч неудобно передавать объекты туда сюда), потом перешел чисто на EC, и получилось так же.
Есть компонент, который бегает менеджеры, которые сделаны в виде ScriptableObject.
Сейчас нагуглил про ECS - надо повнимательнее потыкать, т.к. эти кучи компонентов, которым на самом деле не надо быть компонентами меня смущают.
Конечно, вы правы, пока это не особо влияет, но хотелось бы понимать, что делать, когда это будет влиять
Аноним 13/03/21 Суб 21:41:47 733064 431
>>733063
>и получилось так же.
В смысле большой объект с кучей менджеров
Аноним 13/03/21 Суб 21:57:02 733065 432
>>733063
>mvc
Братан сорян не знаю какой у тебя там бекграунд или чему вас там в школах учат, но умоляю, не нужно напяливать концепты, придуманные для удобного решения определенных задач на все остальное. Натягивать сову на глобус и всякое такое.
>неудобно
В геймдеве должно быть неудобно, если не неудобно - это не геймдев. Это кстати частично обсуждается в соседних тредах.
Ты пилишь уникальную архитектуру под каждый проект. Это тебе не динамичные странички через прокладки отправлять по кд, тут нужно смотреть на функионал и великий дизигн до того, как ты вообще хоть 1 строчку кода напишешь. Об этом говорят сейчас, обо этом говорили 20 лет назад и буду говорить всегда.
Делай как работает, пиши пометки-документацию и не еби мозги, повторяюсь. Оптимизировать и разгребать будешь потом, если будешь вообще.
Аноним 13/03/21 Суб 22:42:16 733069 433
>>733065
>но умоляю, не нужно напяливать концепты, придуманные для удобного решения определенных задач на все остальное
Ну не mvc, просто пытался в monobehavior держать только то, что касается взаимодействия с UI, а всю логику выносить в не monobehavior классы. Было норм, до момента, когда префабы надо прокидывать куда-то.



Аноним 13/03/21 Суб 23:01:51 733073 434
>>733069
>логику выносить в не monobehavior классы
зачем? чем они тебе не угодили?
Аноним 13/03/21 Суб 23:20:49 733074 435
>>733073
Можно личный вопрос? Как и для чего ты используешь юнити и что делаешь, как основную работу, за которую тебе платят?
Аноним 13/03/21 Суб 23:43:16 733076 436
>>733074
я использую юнити для своего второго проекта - это пошаговый батлер. первый проект делал сторонний программист и немного проебался по срокам. хотя и сделал все как надо, но по деньгам он не отбился
основной работы сейчас нет и надеюсь не будет, делаю инженерные чертежи и CG-арт на заказ.
Аноним 14/03/21 Вск 02:02:40 733080 437
image.png 4Кб, 283x127
283x127
Котаны, я создал массив из 10 элементов. Прошерстил его через for loop. Поставил условие, чтобы когда номер элемента будет равен 7, то нужно вывести сообщение с номером элемента. По идее должно выдать 7. Но какого-то хуя дебажит сообщением с цифрой 6. Почему это происходит?
Аноним 14/03/21 Вск 02:19:00 733081 438
>>733080
А, все. Я тупанул. Я поназывал элементы номерами от 1 до 10, а это условие сравнивает название элемента, а не индекс. Поэтому на название 7 выдает индекс 6
Аноним 14/03/21 Вск 06:47:16 733092 439
image.png 43Кб, 1123x1002
1123x1002
Есть вопрос киргизам по тригонометрии: как мне рассчитать направление inset'а? То есть мне нужно нарисовать линию, параллельно одной из сторон, но внутри полигона.

Это просто с ПРЯМОГОЛЬНИКАМИ или симметричными ПОЛИГОНАМИ а-ля круг, потому-что я могу использовать центр фигуры (ибо для каждой стороны можно провести перпендикуляр от центра ) и центр между двумя точками для расчета нормализед-вектора.

Но как это сделать если:
- полигон нестандартный, типа звезды, тут от центра к стороне так просто не проведешь перпендикуляр
- у полигона центр-поинт bounds -- снаружи (см. 3-ий пример)

Причем все рассчеты должны вложиться в 1мс бюджета или меньше
Аноним 14/03/21 Вск 07:36:23 733093 440
>>733092
можешь посчитать нормали к сторонам, и инсетить по ним.
Аноним 14/03/21 Вск 08:05:01 733094 441
>>733093
Вопрос в том как узнать нормаль в сторону центра?
Аноним 14/03/21 Вск 10:21:40 733101 442
Аноним 14/03/21 Вск 10:23:15 733102 443
>>733101
А откудая знаю что нужно на -1 умножать? У меня список поинтов в линейном порядке, но его направление я не могу знать, против и вдоль часовой. То есть мне не известно, нужно ли -1 или не нужно
Аноним 14/03/21 Вск 10:24:28 733103 444
image.png 30Кб, 711x706
711x706
Дали под такую подсказку, но я не могу понять 2 вещей:

- почему него в формуле y на месте x
- что за прямые скобки, явно не модуль/abs. Нормализация?
Аноним 14/03/21 Вск 10:46:03 733105 445
Ребята а скажите плез можно на юнити сделать экшон-рпг? 2д или 3д для этого взять? Или вообще движок попроще? Или вообще оставить эту затею сделать, потому что геймдев сложна? Полный ньюфаг в треде, да.
Аноним 14/03/21 Вск 10:51:36 733106 446
>>733105
Сейчас с помощью видосиков с ютуба ты можешь сделать игру любого жанра, зависит лишь от твоей усидчивости и наполеоновских планов.
Аноним 14/03/21 Вск 11:06:10 733107 447
>>733103
>почему него в формуле y на месте x
Он находит вектор BA = (Ax -Bx, Ay - By), а потом повлрачивае его на 90 градусов против часовой (-BAy, BAx). А палки похоже, что нормализация.
Аноним 14/03/21 Вск 11:07:53 733108 448
>>733107
Перепутал, не BA, а AB
Аноним 14/03/21 Вск 12:43:36 733121 449
>>733105
На юнити можно сделать все что угодно, в опрос в скиле.

2д 3д это тебя спросить надо, мы за тебя еще игру должны придумать, кирил?

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

>оставить затею
Сложно, оставляют, можешь тоже оставить.

>>733106
Зис.
Аноним 14/03/21 Вск 13:38:03 733126 450
images (1).jpg 7Кб, 174x290
174x290
обновил юнити блять - пропала возможность выделять объекты в редакторе, теперь приходиться искать их в иерархии. как назад включить выделение?
Аноним 14/03/21 Вск 14:16:04 733137 451
image.png 13Кб, 273x210
273x210
>>733126
Может ты случайно включил запрет на выделение обьектов в редакторе?
Аноним 14/03/21 Вск 14:31:11 733140 452
>>733137
6 лет работаю в юнити, не знал вообще про это.

другой анон
Аноним 14/03/21 Вск 14:36:05 733141 453
>>733137
нет, там не заблокировано. просто перестал выделять объекты на сцене после обновы
Аноним 14/03/21 Вск 15:01:21 733149 454
Приветствую, вкатывальщик на связи

Я написал свой А*, но из-за костылей с сеткой он перестал работать, и я установил "тот самый" пакет поиска пути отсюда:
https://arongranberg.com/astar/

В чем, собсна, заключается вопрос. Как через код сделать так, чтобы GridGraph был 2д-шным и использовал 2д-шную физику?
Перерыл практически всю документацию, даже не связанную, все команды внутри редактора посмтрел - не нашел ничего связанного. Может, как-то обходным путем можно?



Делаю копию Кримзонленда в портфолио, но с препятствиями, так что без алгоритма поиска пути я как без рук. Выручайте, люди добрые:с
Аноним 14/03/21 Вск 15:02:20 733150 455
>>733149
Зачем мне это нужно

По определенным причинам, которые действительно долго объяснять, я хотел бы, чтобы для каждого противника создавалась своя сетка. Но на создается 3Д-шной!
Аноним 14/03/21 Вск 15:46:18 733156 456
>>733149
И вопрос вдогонку, если кто-то с этим пакетом разбирался

Можно ли сделать так, чтобы объекты, использующие для нахождения пути одну сетку, обходили друг друга? У меня, кажется, виснет игра, когда зомби находит путь сквозь другого зомби, но не может пройти. Тут уже не так много искал, но при первом(и втором, и третьем) осмотре найти нужную команду не смог
Аноним 14/03/21 Вск 15:56:27 733158 457
>>733149
> В чем, собсна, заключается вопрос. Как через код сделать так, чтобы GridGraph был 2д-шным и использовал 2д-шную физику?
Перерыл практически всю документацию, даже не связанную, все команды внутри редактора посмтрел - не нашел ничего связанного. Может, как-то обходным путем можно?

https://www.arongranberg.com/astar/docs/pathfinding2d.html

> The grid graph and layered grid graph has good support for working in the XY plane. In fact grid graphs can be rotated in any direction and they will still work. For 2D games you should check the '2D' toggle on the grid graph which will rotate the graph so that it lines up with the XY plane. If you are using 2D colliders you will also want to enable the 'Use 2D Physics checkbox'.

> я установил "тот самый" пакет поиска пути отсюда

а у тебя какая версия? если новая 4.2.15, не мог бы ты поделиться, пожалуйста? а то я только 4.2.10 нашел, а ее как-то там фиксить надо для >= 2019.3.
Аноним 14/03/21 Вск 16:42:50 733172 458
Вот я на юнити описал классы, сформировал ядро геймплея, определился со стилем. У меня есть несколько уровней из различных плейсхолдеров. Теперь мне нужно встроить историю, я заранее адаптировал рассказ и собрал диалоги в виде удобных чат логов для легкого парсинга, как и чем это делать? Посоветуйте годный актуальный мануал.
Аноним 14/03/21 Вск 16:45:39 733174 459
>>733158
Спасибо, но, к сожалению, не работает. Новый граф я создаю через скрипт, так что я не могу чисто физически вручную выбирать его свойства, а если просто повернуть под нужным углом - ломается логика, и объекты не хотят с ней взаимодействовать. Вот такие вот дела

А по поводу файла - качал по той же ссылке, что скидывал выше, но мне и на ГД загрузить не сложно. Делаю я это второй раз в жизни, так что скажи, если не качается. У меня, если верить названию, как раз 4.2.15
https://drive.google.com/file/d/1bjyrOuiRqbAvusloozcDgu54Ql4OrNwu/view?usp=sharing
Аноним 14/03/21 Вск 17:20:23 733181 460
>>733174
> через скрипт, так что я не могу чисто физически вручную выбирать его свойства, а если просто повернуть под нужным углом - ломается логика, и объекты не хотят с ней взаимодействовать. Вот такие вот дела
Я проморгал что программно надо. Сразу скажу что я не эээ.. слесарь, но скоро буду во все это дерьмо окунаться, поэтому самому немного интересно уже. Порылся немного, думаю тебе нужно выставлять флаги use2D и use2DPhysics (поиск на сайте показывает везде где есть эти флаги, там 4 места).

https://www.arongranberg.com/astar/docs/graphcollision.html#use2D

В доке по GridGraph упоминается Pathfinding.GraphCollision, в котором есть use2D флаг. GraphCollision, наверное, хранится в каком-то из унаследованных полей, но чет хз где именно.

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

> А по поводу файла - качал по той же ссылке
А, стоп, я думал ты как-то про версию раздобыл новую, но все равно спасибо : )
Аноним 14/03/21 Вск 17:25:33 733182 461
>>733181
Я не пирачу на данный момент, ибо ФИГ ЗНАЕТ, вдруг я в стим выложу, или работодателям не понравится из-за копирайта - в портфолио проект все же. Даже музыку перепишу, хотя там Static-X таааак хорошо зашел:с

А по поводу флагов - спасибо. Теперь есть, что искать, правда, спасибо большое)
Аноним 14/03/21 Вск 17:46:03 733187 462
>>733172
Что?
File.ReadAllToEnd(путь_к_файлу)?
Аноним 14/03/21 Вск 18:04:03 733194 463
>>733182
> GraphCollision, наверное, хранится в каком-то из унаследованных полей, но чет хз где именно.
А, вот же, епта, collision и есть, я бы начал c
> gg.collision.use2D = true;

В GridGeneratorEditor.cs есть строка

> collision.use2D = EditorGUILayout.Toggle(new GUIContent("Use 2D Physics", "Use the Physics2D API for collision checking"), collision.use2D);

поэтому, видимо, оно и есть. Ну и есть там еще интересные моменты на которые стоит обратить внимание, что бы не обосраться в самый ответственный момент:

> if (Mathf.Abs(Vector3.Dot(Vector3.forward, Quaternion.Euler(graph.rotation) * Vector3.up)) < 0.9f) {
> EditorGUILayout.HelpBox("When using 2D physics it is recommended to rotate the graph so that it aligns with the 2D plane.", MessageType.Warning);
Аноним 14/03/21 Вск 18:23:39 733199 464
>>733194
Боже, спасибо тебе огромное!
А я ебался-ебался...
Аноним 14/03/21 Вск 18:35:47 733204 465
>>733199
Да не за что, удачи тебе : )
Аноним 14/03/21 Вск 19:06:33 733209 466
Так в какой программе текстурки делать? Хочу себе снег сделать, попробовал NeoTecstureEdit, оно после первого запуска перестала запускаться, лол. Может в самой юними можно тектсуры сделать?
Аноним 14/03/21 Вск 19:32:37 733213 467
>>733209
Текстуры в фотожобе делаются + там же нормали и окулюжен. Так-же можно в программке которая авто генерирует(сотни их).
Аноним 15/03/21 Пнд 01:06:14 733242 468
Снимок.JPG 8Кб, 473x112
473x112
В чём может быть проблема? Стандартный ассет, юнити только сегодня установил, чистый новый проект
Аноним 15/03/21 Пнд 05:12:00 733265 469
Наверное платиновый вопрос, но нахуя нужны интерфейсы?
Аноним 15/03/21 Пнд 05:22:19 733267 470
>>733242
Ошибка компиляции, смотри, что vs показывает.
Аноним 15/03/21 Пнд 05:41:05 733268 471
>>733265
Чтобы можно было мышкой натыкать что-нибудь, а не ебаться с консолью
Аноним 15/03/21 Пнд 12:30:07 733310 472
.png 12Кб, 1006x579
1006x579
Куда в Юнити 2019 и 2020 спрятали нормальный стартовый лаунчер?
Я про окошко, в котором был список ранее открытых проектов и самое главное - их версии юнити.
Аноним 15/03/21 Пнд 12:46:51 733315 473
Снимок.JPG 6Кб, 410x109
410x109
>>733267
Ошибки не в скрипте а хз. Кучу ассетов перекачал попробовать, от админа запускал и тд. Префабы в сцену грузятся, скрипты не хотят.
Аноним 15/03/21 Пнд 13:02:02 733319 474
>>733315
Всё просто - на каком то префабе отвалился скрипт, и выявляется это только во время инстанса.
Чтобы это пофиксить нужно в ручную чекать что и с какими параметрами инстансится. И проверять зависимости.
Аноним 15/03/21 Пнд 13:23:50 733323 475
>>733319
Понял, спс. Пока только вкатываюсь во всё это, надеюсь со временем решу проблему.
Аноним 15/03/21 Пнд 13:27:34 733324 476
Аноним 15/03/21 Пнд 13:34:00 733326 477
1.JPG 48Кб, 1134x490
1134x490
Аноним 15/03/21 Пнд 13:37:31 733327 478
>>733324
>>733326
Понял, принял.
А что, начиная с 2019 версии его нужно отдельно ставить?
У меня в версиях 5.3.5 - 2017 оно само устанавливалось вместе с юнити.
Аноним 15/03/21 Пнд 13:40:27 733329 479
>>733327
Ты с сайта можешь отдельно скачать хаб, а можешь отдельно скачать эдитор
Или можно просто в хабе через инстолы скачать нужную тебе версию юнити
Аноним 15/03/21 Пнд 14:29:25 733333 480
Аноним 15/03/21 Пнд 14:36:52 733334 481
>>733333
На рутрекре видел - rutracker.org
Аноним 15/03/21 Пнд 14:48:03 733335 482
>>733327
Ничего оно само не устанавливалось, это вообще отдельная программа
Аноним 15/03/21 Пнд 18:05:44 733378 483
переношу картинку из фотошопа в юнити, появляется какая-то обводка белая на спрайте. Как пофиксить?
Аноним 15/03/21 Пнд 18:17:42 733380 484
Аноним 15/03/21 Пнд 18:34:19 733384 485
>>733378
Смотря какой формат картинки, и какие настройки в юнити у неё.
Аноним 15/03/21 Пнд 19:25:25 733393 486
>>733378
на картинке остались полупрозрачные пиксели по краям, подотри их в фотошопе(выдели лассо область вокруг и удали). или в юнити включи альфаканал для этого спрайта
Аноним 15/03/21 Пнд 19:25:37 733394 487
>>733378
Такие вопросы задают, приложив скриншоты.
Аноним 15/03/21 Пнд 19:31:43 733396 488
Аноним 15/03/21 Пнд 20:17:19 733404 489
>>733393
точно, оно. Я жестким ластиком тер, думал без полупрозрачных будет, а они все равно появились.
Аноним 15/03/21 Пнд 22:33:11 733418 490
Есть те, кто занимаются коммерческой разработкой на Юнити?

Хочу найти работу. 99% работодателей работают с многопользовательскими играми. Стоит ли учить Миррор, или для сети используются на проде другие фреймворки? И где Миррор/другой условный фреймворк проще и лучше всего учить? Документация - это само собой, но всегда хочется склепать что-то на коленке, и уже улучшать знаниями с доков
Аноним 16/03/21 Втр 01:08:09 733426 491
>>733418
3 стула если хочешь денях с Юнити.

1) Ты сам делаешь игры на мобилки, с транзакциями и покупками в своей недо-игре, и получаешь от 100$ до 500$. Больше без вложений врятли.
2) Ты работаешь на студию или дядю который содержит кучу таких же макак которые клепают мобилко говно, и платит помесячно от 10к деревянных до 80к.
3) Каким то чудом ты нашёл команду в которую тебя взяли на зарплату как разработчика. Такой вариант лично не встречал, но думаю 0.00001% таких людей есть.
Аноним 16/03/21 Втр 02:02:22 733430 492
>>733418
Да в общем-то не обязательно.
Главное это наверное http изучи, oauth, такие основные вещи для запросов.
А касательно постоянного подключения, посмотри на сокеты и основные алгоритмы синхронизации и анимации объектов по сети. Тут уж у кого какие костыли сегодня.
Я у себя на работе сделал tcp+google protobuf для сериализации данных.
Если у тебя нет опыта коммерческой разработки в компаниях, то с Джуниора спросу не много. На много больше вопросов по программированию, алгоритмам и паттернам.
Удачи.
Аноним 16/03/21 Втр 02:04:58 733433 493
>>733430
Забыл пояснить, почему я взял tcp.
До этого пробовал signalR, но на иос. Сперва было очень много проблем с тем, чтобы его заставить работать в иос с их il2cpp, а потом когда завелось, клиент постоянно разрыва соединение без внятного сообщения об ошибке.
Аноним 16/03/21 Втр 03:11:33 733435 494
>>733426
> и получаешь от 100$ до 500$
Это в месяц?
Аноним 16/03/21 Втр 04:20:44 733437 495
image.png 292Кб, 1915x1043
1915x1043
Вот за эту хуйню я не люблю юнити

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

И несколько из них мне сломали что-то в пакетах.. А я ебу как это исправлять? Я удалил вообще все ассеты, а ошибки теперь остались

Хорошо что я уже научен горьким опытом и знаю что ассеты нельзя экспортировать сразу в рабочий проект. Надо их кидать в пустой проект и оттуда руками перетаскивать, потому что обязательно найдется мудозвон-обезьяна которая своим говном сломает что-нибудь в юнити
Аноним 16/03/21 Втр 04:22:12 733438 496
А как у вас налажен пайплан разработки на юнити? Чтобы вот так вот не сломать случайно свои труды кривым ассетом качающим кривой пакет?
Аноним 16/03/21 Втр 05:59:11 733443 497
>>733438
Гит, ветки, вот это вот всё.
Аноним 16/03/21 Втр 08:24:42 733450 498
Аноним 16/03/21 Втр 08:46:26 733453 499
>>733437
Ох уж эти маглы, неспособные прочитать буковки в консоли.
Кэш проекта почисти.
Аноним 16/03/21 Втр 08:49:35 733454 500
>>733418
миррор это выблядок помойной шлюхи. Как в общем-то и все опенсурсные сетевые движки на юне.
В реальном мире кроме фотона и инхаус решений ничего нет.
Аноним 16/03/21 Втр 11:42:59 733482 501
>>733435
В месяц конечно, дурашка. Весь фокус в том чтобы плодить эти игры, собирая малину до того как они канут в небытие. Имея парочку таких живых и потихоньку приносящих стабильно долары в месяц ты живёшь и не паришься, мечтая о том как сделаешь когда нибудь игру мечты.
Аноним 16/03/21 Втр 12:07:31 733484 502
>>733426
А как же недо-игры для стима
Аноним 16/03/21 Втр 12:54:18 733494 503
Безымянный1.png 77Кб, 1920x1037
1920x1037
Всех приветствую, столкнулся с такой ошибкой, почитал другие форумы, толкового объяснения так и не нашел, помогите
Аноним 16/03/21 Втр 14:37:27 733511 504
>>733426
Не понял. У меня в городе висят несколько ванасий на 100-200к для миддла-сеньора.

мимо
Аноним 16/03/21 Втр 15:33:33 733520 505
>>733454
Почему ты так думаешь?
>>733494
Убери кирилицу, у тебя даже в логе вместо сашка написано "(№%:;"(?*
Если не поможет - может у тебя правда что-то блокирует порты на компе?
>>733511
Да, у него старые цифры, сейчас зп вилка стала уже выше
Аноним 16/03/21 Втр 15:55:03 733528 506
>>733520
ля внатуре юнити не может в кириллицу?
Аноним 16/03/21 Втр 16:01:14 733529 507
>>733528
ебал рот того юнити, давно таких траблов не видел
Аноним 16/03/21 Втр 16:01:42 733530 508
>>733529
так привык уже к хорошему
Аноним 16/03/21 Втр 18:07:34 733549 509
>>733528
> ля внатуре юнити не может в кириллицу?
это норма, ведь кириллы тоже по-сути не могут в юнити
Аноним 16/03/21 Втр 18:56:20 733557 510
Аноним 16/03/21 Втр 21:20:02 733564 511
.png 3Кб, 403x101
403x101
Схуяли Юнити 2020 прогревает ЦП и видимокарту как топовая игра на максималках?
Запускаю сцену с одним домиком на 3к трисов, 4 материала с дефолтными шейдерами, три текстуры 2048х2048, два простых скриптика, 2-3 источника света.
Хули оно так надрывается?
Частично проблему устранил, отключив автогеренацию света, но не особо.
Аноним 16/03/21 Втр 21:23:01 733565 512
Встроенная студия юзабильна? Она как-то интегрирована внутрь юнити или это просто отдельно устанавливающаяся иде?
Аноним 16/03/21 Втр 21:37:59 733566 513
>>733565
визуал студио да
Аноним 16/03/21 Втр 21:44:00 733567 514
images (1).jpg 7Кб, 174x290
174x290
Расскажите про uNet, еще в 2018 юнитеки угрожали ее выпилить и сделать что-то взамен. В итоге нихуя не сделали, как я понял, но uNet все-таки выпилили?
Пытаюсь вот использовать NetworkBehaviour и мне сразу вылетает предупреждение, что оно устарело. Устарело и что теперь, блять, сеть никак не сделать? Пиздец какой-то.. Или игнорить эти предупреждения и дальше хуярить?
Аноним 16/03/21 Втр 21:59:38 733568 515
Где "купить" Character Movement Fundamentals?
Аноним 16/03/21 Втр 22:25:09 733572 516
Аноним 16/03/21 Втр 22:29:52 733573 517
>>733572
На ютубе версия «собери сам», а мне нужна полная.
Аноним 16/03/21 Втр 23:13:06 733580 518
>>733564
хз что-там у 2020, но можешь запретить юнити трогать несколько ядер на проце, тогда не будет 100% нагрузка
(сам там снизил нагрузку на 50%, брат жив)
Аноним 16/03/21 Втр 23:31:15 733582 519
Есть объект с несколькими компонентами менеджеров.
Есть ScriptableObject. Как нормально передать ему ссылку на объект с менеджерами? Если дать ссылку на префаб, то в компонентах херятся все ссылки на gameObjectы, выставленные на уровне
Аноним 17/03/21 Срд 00:30:26 733594 520
image.png 39Кб, 905x549
905x549
Что я делаю не так, рассчитывал вот по этой формуле: >>733103

Нормали нашел корректно, а биссектрису не могу.
Аноним 17/03/21 Срд 00:36:34 733595 521
Пост обработка распространяется на все объекты, в том числе и на окна UI. Как можно ограничить действие пост обработки?
Аноним 17/03/21 Срд 00:38:34 733597 522
>>733595
ScriptablePipeline и делать пост до UI
Аноним 17/03/21 Срд 00:47:56 733598 523
>>733597
Можно чуток более развернуто? И у меня без рп, просто пак post processing, если это важно в данной ситуации.
Аноним 17/03/21 Срд 00:54:06 733599 524
>>733598
Тогда хз, пилить костыли как во времена Unity 5.
Аноним 17/03/21 Срд 05:37:48 733611 525
>>733567
Да хз, тоже думал что взять, в итоге вижу что сейчас самые популярные решения: фотон и миррор. Лично я вообще колизей использую.
Юнитеки все еще обещают выкатить новую версию сети, может к концу этого года выкатят, может нет, на то они и юнитеки
>>733582
Тебе нужно не в скриптабл обджекте выставлять ссылки на моно, а наоборот т.к. моно это "уникальный" объект, а скриптабл - переиспользуемый
>>733564
У меня та же проблема, еще проиграл когда попытался выбрать шейдер и у меня весь юнете завис на 40 секунд
>>733595
Если ты сидишь на 2020, там есть объект Volume, туда можно накидывать пост процессы разные и выбирать какие именно слои оно аффектит, кажется..))0
Аноним 17/03/21 Срд 06:38:11 733616 526
image.png 99Кб, 747x921
747x921
Окей, я понял в чем моя проблема, но хз как решить.

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

Что я могу найти: биссектрисы, нормали от сторон.
Аноним 17/03/21 Срд 09:51:08 733624 527
Аноним 17/03/21 Срд 13:49:07 733649 528
>>733616
А что ты делаешь, если не секрет?
Аноним 17/03/21 Срд 15:09:34 733678 529
- Experience developing standalone game tools
- Knowledge of asset pipeline architectures
Я знаю, что те кто в технологиях шарят, а не тупо тыкают кнопочки - мало, но все же может кто-то объяснит эти два пункта, что они значат, что такой программер должен уметь.
Аноним 17/03/21 Срд 15:49:50 733690 530
Пацаны, выбираю между i5 6 ядер и i7 8 ядер. Есть ли смысл брать для работы в юнити больше ядер? Я знаю, что на скорость работы сильно влияет ССД. А вот что с ядрами? Процессор хочу гнать. Память хочу взять всего 16 гб, но качественную и тоже под разгон.
Аноним 17/03/21 Срд 15:55:50 733694 531
>>733678
Это означает что ты не подходишь.
Аноним 17/03/21 Срд 15:56:34 733695 532
>>733690
Вотзми лучше Рязань 8 ядер и памяти 24GB если сможешь, в идеале 32
Гнать не надо.
Аноним 17/03/21 Срд 16:01:19 733702 533
>>733695
Объем памяти на что повлияет?
Аноним 17/03/21 Срд 16:02:40 733703 534
>>733702
Стотыщь говна сможешь запустить сразу и не нужно будет что-то закрывать. Меньше будет свопить.
А можно еще RAM-диск на 4-5Gb вхерачить и туда Temp-папку
Аноним 17/03/21 Срд 16:23:29 733718 535
>>733703
Хм, пожалуй и вправду присмотрю лучше 32 гб. Но вот в качестве процессора хочу именно интел.
Аноним 17/03/21 Срд 16:27:23 733722 536
14721258021620.jpg 101Кб, 800x534
800x534
Для симуляции вязкой жидкости в юнити NVIDIA FleX подойдет или что получше есть?
Аноним 17/03/21 Срд 16:31:10 733726 537
>>733722
А нахуя тебе тогда Юнете?
Аноним 17/03/21 Срд 16:32:35 733727 538
>>733726
NVIDIA FleX же как плагин идет
Аноним 17/03/21 Срд 16:33:53 733728 539
>>733727
У Nvidia есть standalone tools для этого + не только для Юнете, если нужна чисто симуляция можно 4D Cinema/Houdini/Blender юзать
Аноним 17/03/21 Срд 16:35:23 733730 540
Есть смысл переходить с VS на jetbrains rider?
Аноним 17/03/21 Срд 16:35:28 733731 541
>>733728
Мне именно для игры, поэтому нужна среда разработки по типу юнити.
Аноним 17/03/21 Срд 16:38:45 733733 542
>>733731
Кто в нее будет играть? 2.5 владельцев 3080?
Аноним 17/03/21 Срд 16:42:37 733734 543
>>733733
Так оно тормозит что ли люто? Я только завтра до компа доберусь
Аноним 17/03/21 Срд 18:29:16 733753 544
>>733730
VS у тебя скорее всего комьюнити, а райдер пиратка?
Вообще я сам пересел со связки vs+resharper на райдер полгода как. Полёт нормальный, но я фанат решарпера, а теперь и райдера.
Аноним 17/03/21 Срд 19:30:09 733768 545
>>733734
Да ты с дебилом каким-то диалог ведешь
Аноним 17/03/21 Срд 20:07:01 733782 546
>>733768
Назови игру за последние 5 лет у который были такие комплексные реал-тайм симуляции воды какие предлагает Nvidia c ее Gameworks SDK
Аноним 18/03/21 Чтв 00:53:10 733823 547
А название property со словом My, например
>public Image Icon;
но
>public Image MyIcon { get; set; }
это стандартный рекомендованный нейминг или просто причуда одного конкретного автора туториалов?
Аноним 18/03/21 Чтв 00:55:05 733824 548
Аноним 18/03/21 Чтв 08:19:37 733841 549
>>733678
> Experience developing standalone game tools
Скорее всего имеется ввиду писать редакторы карт/диалогов или еще что-то не связанное с юнити, если говорить про c# - то winForms или WPF или еще что-нибудь.
> Knowledge of asset pipeline architectures
Странное описание, но это про доставку контента - когда модельки/текстурки/звуки лежат на сервере отдельно от игры и игра их подгружает по необходимости
>>733730
Как хочешь, у меня vs17 community работает быстро как vsCode, а райдер написан на яве и тянет вырвиглазный интерфейс явы, если у тебя нет проблем с этим - ок, субъективный выбор каждого
>>733823
Это неймконвеншен некоторых проектов майкрософт для приватных переменных. Для юнити удобно делать m_hiHello - для полей которые видны в инспекторе, а просто _hiHello - только если это поле полностью управляется внутри кода, это все для повышенной читаемости кода и в "нормальном" интерпрайзе за это могут и будут дрочить
>>733824
За 10 минут единственная полезная фича - это что райдер умеет показывать вызовы евентов юнити на сцене.
С "посмотреть что за код внутри" пригорел слегка, ютубер твой не осилил в настройках галочку "show decompiled code" и продает это как дефолтную фичу райдера
> 18:00: студия не умеет показывать предыдущие значения но подсвечивает
> 18:20: вот мы смотрим в студии предыдущие значения
> 18:40: студия не умеет показывать логи
Так открыл бы историю ветки и сразу все увидел
Ухх подгорает от таких видосов, до конца не разобрался и пытается по максимуму продать свой райдер.
Код можно даже в блокноте писать, райдер вам не поможет сделать игру лучше
Аноним 18/03/21 Чтв 12:40:45 733866 550
>>733841
>читаемость кода
>андерскор в имени поля
Ну такое. Алсо в ооп торчащие из класса поля считаются дурным тоном.
Аноним 18/03/21 Чтв 16:08:15 733910 551
Аноним 18/03/21 Чтв 17:35:49 733920 552
>>733866
Ты не понял
>ну такое
Слабый аргумент
Аноним 18/03/21 Чтв 18:23:32 733931 553
>>733866
Райдер приватные переменные заставляет всегда начинать с андерскора.
Аноним 18/03/21 Чтв 20:31:44 733942 554
2021-03-1820-24[...].png 104Кб, 1634x1014
1634x1014
2021-03-1819-04[...].png 165Кб, 1920x1080
1920x1080
2021-03-1820-28[...].png 18Кб, 298x332
298x332
Посоны, ну что за хуйня, как фиксить ошибки на пике 1?

Год не занимался Unity, на URP до этого уже мигрировал, а теперь вот нихуя не понимаю, как апгрейдить эти шейдеры до новой версии.

Мне теперь вообще стандартные шейдеры не использовать, только URP вместо Mobile (пик 3)? А что с кастомными делать?

Памагити.
Аноним 18/03/21 Чтв 21:20:59 733945 555
>>733931
Так это в правилах по дефолту прописано и убирается буквально в два клика.
Аноним 18/03/21 Чтв 21:48:50 733954 556
>>733945
Да, но я к тому, что это очень удобно и не зря так сделали. Видишь андерскор перед переменной - сразу понимаешь, что она приват.
Аноним 19/03/21 Птн 05:08:48 734024 557
>>733942
Да, тебе не повезло, можешь искать аналоги твоих шейдеров для URP т.к. не все build-in шейдеры будут работать.
Да, в URP нужно использовать шейдеры для URP или написанные на шейдер графе (который делает 2 версии, для URP и HDRP)
Аноним 19/03/21 Птн 10:29:23 734037 558
>>734024
А как конвертнуть те, что были сделаны в шейдер графе?
Аноним 19/03/21 Птн 12:20:38 734044 559
>>734037
Поменяй там любую ноду, чтобы он перегенерировался и все
Аноним 19/03/21 Птн 21:42:48 734159 560
Создал организацию на сайте юнити, добавил чела, дал ему аддон (добавил юзера в столбце Assigned to/Shared with в тех случаях, где есть свободные seats)
Как он будет эти ассеты видеть и юзать? Через сайт он их не видит
Аноним 20/03/21 Суб 08:13:25 734202 561
image 333Кб, 480x360
480x360
Почему в 3д есть только коллайдер коробки и капсюля?
У меня цилиндрические бочки и стреляя в уголок пули проходят сквозь коллайдер капсюля. Как сделать нормальный цилиндрический коллайдер?
Аноним 20/03/21 Суб 09:09:19 734205 562
>>734202
Mesh Collider + Cylinder из стандартных ассетов юнити (должен быть в проекте)
Аноним 20/03/21 Суб 14:00:42 734229 563
А как правильно коллайдить уровень (полы, стены, коридоры, входы выходы)?
Лоуполи версия геометрии + мешколлайдер?
Мануал отговаривает юзать мешколлайдер, а альтернатива это примитивы по уровню расставлять? Этож ебнуться.
Аноним 20/03/21 Суб 16:44:43 734250 564
>>734229
>примитивы по уровню расставлять? Этож ебнуться
А ты думал лвлдизайнерам столько платят чтобы они просто ассеты мышкой таскали?
Аноним 20/03/21 Суб 17:11:30 734252 565
>>734250
Я думал что один лоуполи мешколлайдер vs сотня примитивов разницы для проца серьезной не несет, вот только во втором случае мы полчаем дохуя жопочасов для дизайнера (создавать видимость работы чтоли? заебись у вас там).
Аноним 20/03/21 Суб 22:41:00 734304 566
2021-03-20223808.png 271Кб, 1920x1040
1920x1040
>>734044
Ничего не могу понять. Не апгрейдятся они.

И ноду поменял и реимпортнул материалы.
Аноним 21/03/21 Вск 06:01:37 734342 567
>>734304
Его не нужно обновлять, шейдерграф автоматически должен "перегенерировать" шейдер на текущий custom render pipeline
Аноним 21/03/21 Вск 06:46:50 734343 568
Как из блендера портировать ассеты на юнити?
Аноним 21/03/21 Вск 07:23:36 734345 569
Насколько плохая практика создавать новые материалы в рантайме по 20 штук в секунду и почти сразу же удалять геймобъект на котором они весят?

Material oldMat = transform.GetChild(0).GetComponent<MeshRenderer>().material;
Material newMat = new Material(Shader.Find("Shader Graphs/testMat"));
newMat.CopyPropertiesFromMaterial(oldMat);
transform.GetChild(0).GetComponent<MeshRenderer>().material = newMat;
Аноним 21/03/21 Вск 10:31:02 734355 570
>>734343
1
Если статический меш - экспортируешь как obj
Если анимированный меш - экспортируешь как fbx
2
Перетаскиваешь в юнити
3
???
4
profit!

>>734345
Умеренно плохая, зачем они тебе нужны если ты их удаляешь?
Может лучше пулить их?
Аноним 21/03/21 Вск 10:45:36 734356 571
image.png 45Кб, 627x392
627x392
Сап аноны, надо на unity вывести данные из бд и реализовать для них CRUD, как это сделать? Что использовать для вывода данных?
Аноним 21/03/21 Вск 18:28:01 734451 572
как фиксить There are inconsistent line ending?
Аноним 21/03/21 Вск 20:13:01 734490 573
image.png 110Кб, 591x1280
591x1280
>>728504 (OP)
Почему у меня в тестовых потребляемые покупки случайным образом начинают выкидывать ошибку "у вас уже есть этот контент"? При чем они сначала несколько раз могут нормально купиться, а потом начинает эта ошибка выпадать и купить невозможно уже.

похоже это связано с аккаунтом а не устройством
Аноним 22/03/21 Пнд 03:54:09 734552 574
Аноним 22/03/21 Пнд 03:56:46 734553 575
Так как текстуры создавать? Брать картинку из инета/фотографию и в фотошопе бесшовной делать или как-то ее рисовать?
Аноним 22/03/21 Пнд 07:53:30 734558 576
>>734553
Ну да, в чем вопрос?
Если лень гуглить как делать бесшовки самому, иди на сайт https://www.imgonline.com.ua/eng/make-seamless-texture.php и кидай туда свою текстуру.
Вообще на такие вопросы в гугле и ютубе уже больше 100 ответов есть, так что не ленись следующий раз хотя бы попытаться загуглить
Аноним 22/03/21 Пнд 08:03:30 734559 577
>>734558
Проблема в том что я делал там и получалось говно.
Аноним 22/03/21 Пнд 14:51:13 734617 578
>>734559
Кидай текстуру, поможем.
Там несколько вариантов есть, аккуратный (для стен или окон например), трава - дублирует несколько раз слой, крутит и зеркалит всяко разно) и хз зачем - как трава, только не крутит и делает только по углам
Аноним 22/03/21 Пнд 15:25:12 734626 579
>>734355
>Умеренно плохая, зачем они тебе нужны если ты их удаляешь?
>Может лучше пулить их?
Знал бы я что такое пулить. ¯\_(ツ)_/¯
Когда я динамически меняю параметр в материале префаба, он меняется для всех моделей с этим материалом на сцене. А создавая каждый раз новый материал я могу изменять параметры отдельно для каждой модели.
Аноним 22/03/21 Пнд 21:23:53 734688 580
Смотрите:
У меня есть скрипт, который должен выполнить последовательность действий, и я хочу чтобы через инспектор можно было задавать эту последовательность. При этом у каждого шага есть свой набор параметров.
Я думал сдедать примерно так:
В этом скрипте у меня есть
private List<YobaInterface> list;
Ну и пусть будет проперти SomeList возвращающая его

Дальше, у меня есть специальный скрипт для кастомного инспектора, там в OnInspectorGui я делаю так:

foreach(var i in target.SomeList)
{
if(i is SomeType1 a) ElementGui(a);
else if(is is SomeType2 a) ElementGui(a);
...
}
//ну и тут кнопка на добавление/удаление децствия, не суть важно

ElementGui - функция делающая интерфейс, есть перегрузка под каждый нужный мне класс типа SomeType1 или SomeType2.

Тут никаких проблем нет - список выведется как нажо и будут параметры.

Но, нужно чтобы можно было менять тип каждого элемента, иначе это все не имеет смысла. Хотелось бы выпадающий список, чтобы отображалось название выбранного типа, просто через EnumPopup. Соответственно, надо как-то согламовать все это поведение с основным скриптом. И чтобы это сделать придется сделать сначала enum SomeTypeEnum {Type1, Type2,...}
Потом сделать функцию которая по входному объекту возвращает соответствующий енум, типа
SomeTypeEnum(object o)
{
if(o is SomeType1) return SomeTypeEnum.Type1;
....
}

Потом сделать функцию, которая по заданному енуму конструирует объект, типа
YobaInterface YobaConstructor(SomeTypeEnum e)
{
if(e == SomeTypeEnum.Type1) return new SomeType1...
...
}

Ну и работать оно будет, но это же какой-то совсем уж говнокод. Как бы это можно было получше сделать?
Аноним 23/03/21 Втр 10:24:12 734745 581
>>734688
Я плохо понял, что именно нужно, но посмотри абстрактную фабрику или фабричный метод
Аноним 24/03/21 Срд 11:57:41 734939 582
как убить детей у какого-нибудь гейм обжекта?
Аноним 24/03/21 Срд 12:32:24 734942 583
>>734939
Object.Find
GetChildByName
for (obj in children)

Много способов
Аноним 24/03/21 Срд 13:37:52 734953 584
В какой программе удобнее и практичнее всего создавать персонажей? Блендер? Или есть более удобные аналоги?
Аноним 24/03/21 Срд 16:33:18 734983 585
Есть кто тут кто работает в говнорусских студиях, клепающих тоннами бездушное мобильное говно на хентай матч3 игры в стим помойку?
Аноним 24/03/21 Срд 17:11:12 734990 586
Аноним 24/03/21 Срд 20:57:20 735018 587
>>734953
Каких именно? Человеков?
Есть Adobe Fuse CC, например.
Аноним 25/03/21 Чтв 00:50:06 735057 588
Так как делают коллижен 3д уровня нормальные люди в продвкшене?
Имеется ввиду не проп а комнаты/коридоры (столкновение изнутри).
Не понимаю как такое гуглить.
Аноним 25/03/21 Чтв 03:25:12 735090 589
Аноним 25/03/21 Чтв 11:07:40 735112 590
Аноним 25/03/21 Чтв 14:12:07 735132 591
>>735018
Где Adobe Fuse скачать? Пол инета облазил, нихуя нет
Аноним 25/03/21 Чтв 16:07:49 735164 592
Аноним 25/03/21 Чтв 20:10:25 735211 593
А если у меня есть какой-то граф или двоичное дерево - как его сериализовать? И отразится ли это на производительности, если я буду активно делать всякие обходы, добавлять что-то, удалять?

Типа такого?
[Serializable]
class Node
{
[SerializeReference] private Node _left;
[SerializeReference] privatr Node _right;
}

Или правильнее будет какой-то свой сериализатор написать?
Аноним 26/03/21 Птн 03:58:27 735322 594
image.png 1083Кб, 1916x984
1916x984
image.png 384Кб, 1677x914
1677x914
image.png 431Кб, 1918x743
1918x743
image.png 489Кб, 1718x748
1718x748
Сап, аноны.
Сразу к делу - надо кое-что сделать на Юнити, для теста сделал объект в Блендере из нескольких квадратов. (Три из них внутри имеют полость , а передняя стена прозрачная - чисто для теста)(пик 1)
Далее obj переместил в Substance Painter и чисто для теста разукрасил (цвета, высоты, нормали, описити и т.д и т.п) Так же сделал вот такой вот пресет для экспорта, чтоб использовать в Юнити. (пик 2)
Для юнити скачал удобный ассет - Shader Forge (как в Блендере, чтоб с ПБР удобно работать было), и сделал вот такой вот шейдер(стоит алфа блендед для опасити), как на пик3 сбоку. Но когда я применяю шейдер к моим кубам выходит вот такая вот хуйня, как на пик 3!
Если убрать галку с Auto Sort.. и поставить на Write to depth buffer, то выйдет пик 4 (стенки после стенок будут прозрачными)
Аноны, в чем я проебался? И как это исправить?
Аноним 26/03/21 Птн 05:56:29 735334 595
>>735211
А чем SerializeReference отличается от Serializable? (кроме class/struct разницы)
Вообще можешь написать свой сериализитор..
>>735322
Я заметил что блендер странно экспортирует нормали (может баг какой), если зальешь свои кубы в 3дмакс, реверснешь все нормали 2 раза и экспортируешь опять - все будет работать as expected
Аноним 26/03/21 Птн 16:53:49 735424 596
image.png 44Кб, 1247x77
1247x77
Скачал курс юдеми, он тут вообще для умственно отсталых, ну ладно. Так вот у меня появился вопрос касательно шарпа. Слева мой код, справа код в курсе. Оба очевидно работают. На что влияют скобки?
Аноним 26/03/21 Птн 20:30:43 735447 597
image.png 815Кб, 1906x1033
1906x1033
>>735334
Увы не помогает, даже без карт и всего такого при Alpha объекты просвечивают друг через друга.
Даже запустил Shader Graph через Unity Pipeline какой-то, так все равно даже там с стандартным шейдором без выбров карт выходит залупа.
Аноним 26/03/21 Птн 21:03:30 735452 598
image.png 359Кб, 1920x1040
1920x1040
image.png 275Кб, 1920x1040
1920x1040
>>735447
Даже вот в стандартном шейдере при включении Транспарента - такая вот залупа.
Я реально не понимаю где проблема может быть. В геометрии? Но тогда почему обычные кубы из просто 6 четырехугольников так себя ведут?
Аноним 26/03/21 Птн 21:22:29 735457 599
Кто нить подскажет почему не работает:
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;

В окне юнити курсор не видно, но если крутить мышью вправо, то курсор появляется на втором мониторе, в гугле не могу найти решение.
Аноним 26/03/21 Птн 22:36:20 735467 600
>>735457
ладно, тут я тупой и не догнал что надо на окне юнити тыкнуть и все ок будет
Аноним 27/03/21 Суб 04:00:08 735494 601
Где сайфай ассеты пиздить? Тележную группу прикрыли.
Аноним 27/03/21 Суб 04:40:47 735497 602
>>735322
А полости нормально создал? Может где с минусом ушёл.
Аноним 27/03/21 Суб 05:31:53 735498 603
>>735424
В гугле "c# интерполяция строк"
Аноним 27/03/21 Суб 06:05:28 735499 604
image.png 1238Кб, 1920x1040
1920x1040
>>735497
Да с этим тоже все нормально было.
Короче, не знаю почему, но подумал, что один шейдер может быть, как и непрозрачным, так и прозрачным (на тех пикселях, где указан опасити - альфапрозрачность в текстурке), но видимо нихуя. Если подключешь Альфа Блендед, то он подрубается для всего шейдера, даже для тех мест, где прозрачность нулевая.
Поэтому я просто сделал 3d-объект с двумя мешами (ну или с одним мешем, но с двумя материалами) и теперь все работает.
Теперь осталось придумать, как навешивать нужный шейдер (сделал два - непрозрачный\полностью прозрачный и с частичной прозрачностью) Первый на поверхности, второй на стекло. Наверное сделаю по названиям материалов\дочерних объектов.
Аноним 27/03/21 Суб 06:10:03 735500 605
А как вы храните данные? Допустим, у вас есть класс "меч" со стандартными параметрами. И в игре есть две сотни разных вариантов мечей, отличающихся этими параметрами - названием, иконкой, уроном, ценой и так далее. Как их хранить? Каждый в виде отдельного Scriptable object в специальном каталоге? Все в одном большом XML файле? Или в json? Или подрубить sqlite и сложить их все туда?
Аноним 27/03/21 Суб 09:14:15 735503 606
>>735500
А как ты создал файл с кучей вариантов?
Если руками - то я бы сделал импортер в юнете из твоего файла в скриптабл обжект или просто в самой игре из файла в кеш.
Если у тебя есть редактор - тоже можно накостылить импортер.
А вообще лично у меня не много всего в игре (в сумме 10 солдат и 40 скилов), так что я в ручную в скриптабл обжектах все делаю.
А вот для локализации как-раз сделал импортер прям из файла в кеш
>>735499
Попробуй экспортировать в разных форматах
Аноним 27/03/21 Суб 15:40:27 735549 607
Кто нибудь знает как рисовать с помощью кода?
2d pixel игра
Типа допустим есть строка 10001111ААА00 и хочу превратить ее в полоску (или квадрат) где 1 - белый , 0 - прозрачный, А - зеленый.
Но при этом это не должны быть отдельные объекты (потому что таких объектов будет слишком много).

Пока только нашел способ с созданием Texture2D => Sprite => spriteRenderer
Но может кто то делает с помощью шейдеров или еще чем нибудь?
Аноним 27/03/21 Суб 16:05:22 735555 608
>>735503
> А как ты создал файл с кучей вариантов?
Пока ещё никак, вот думаю, как лучше будет сделать.
Аноним 27/03/21 Суб 16:06:32 735556 609
>>735549
Тайлами, может быть?
Аноним 27/03/21 Суб 17:19:11 735570 610
>>735503
>Попробуй экспортировать в разных форматах
Я в ФБХ пробовал, но такая же проблема. Там видимо альфа блендед сразу ко всему шейдеру применяется, а не только к прозрачной части. Вроде как даже со стандартными примитивами криво выдавал.
А другие форматы не подходят, ибо мне объекты надо в рантайме подгружать, обж и фбх самые распространенные, а фбх, считай, бесплатной подгузки рантайма нету, так что вот выкручиваюсь.
Жалко, что меши в обж работают нормально в сцене, а как перетаскиваешь ан префаб - пустой объект. Мешов нема. Надо будет подумать, как их со сцены скопировать.
Аноним 28/03/21 Вск 07:46:44 735641 611
>>735549
1 var tex new Texture2D(width, height, ImageFormat.ARGB16, false);
2 tex.SetPixel(pixelX, pixelY, Color.green);
3 text.Apply(false);
этот код создаст текстуру и покрасит 1 пиксель в зеленый цвет, свои строки сам парсь
>>735555
Если у тебя еще нет прог для создания контента, то используй просто json как вариант или csv, вариантов на самом деле несколько и они все примерно одинаковые
Аноним 28/03/21 Вск 09:54:31 735644 612
Совсем не понимаю ниче в программировании. Мне нужно сделать чтобы на моих спрайтах был альфаканал. Нужного шейдера Транспарент видимо по умолчанию нет. Мне его тип скачать надо просто и применить к спрайтам?
Аноним 28/03/21 Вск 11:54:21 735652 613
>>735644
1 в материале если есть surface type - opaque поменяй на surface type - transparent
Тут у тебя уже может все заработать, если нет, то пересохрани текстуру с альфой, как понять что у неё есть альфа - в фотошопе фон обычно в бело-серую сетку - это прозрачность.
Если не умеешь работать в фотошопе (и других редакторах) в самой текстурке есть дроп даун Alpha Source - тут выбери From Grayscale - тогда хуюнити сам попытается сгенерировать альфу
Аноним 28/03/21 Вск 15:48:42 735671 614
Что делать если нужны несколько тэгов на одном объекте?
Читал про варик добавлять дочерние пустышки с нужными тегами.
Либо делать тег составным по типу ChaEnFly и парсить Cha = character, En = enemy, Fly = flying. Но тут уже какая-то хуйня если захочется взять все объекты с тэгом.
Аноним 28/03/21 Вск 17:18:37 735681 615
>>735671
Сделать свой компонент с поддержкой нескольких тегов. Я помню, на answers.unity.com был подробный ответ на эту тему, поищи там.
Аноним 28/03/21 Вск 19:01:02 735707 616
Понимаю что глупый вопрос, но как поставить на Visual Studio аддон, или как он называется, чтобы предлагало ключевые слова из юнити.
До этого пользовался Visual Studio Code, там я просто аддоны накатил, а в Visual Studio не понимаю. Это же не через nuget должно делаться, он же привязывается конкретно к проекту или я не прав?
Аноним 28/03/21 Вск 19:08:22 735710 617
image.png 58Кб, 639x521
639x521
>>735707
Хз, я лично когда скачивал, меня визуал студио при запуске спросил какой язык я хочу. И там было Юнити си шарп. Ну и потом пришлось еще выбрать в настройках Юнити External Script Editor и перезапустить вижуал студио.
Аноним 28/03/21 Вск 22:34:58 735759 618
>>735707
>До этого
Почему решил поменять редактор на тяжелую иде?
Аноним 28/03/21 Вск 23:24:34 735763 619
Почему у вас конфы в телеге нет?

Как мне сидеть-пердеть и вдохновляться разговорами о высоком?
Аноним 29/03/21 Пнд 03:10:48 735785 620
Не могу нагуглить, может не так ищу. Вот в Instantiate передаются два (или больше) аргумента: первый - это сам объект, второй - это место (или родитель), где этот объект создаётся. А что будет, если вызвать Instantiate только с одним аргументом? Вот так:
>Instantiate(targetPrefab)
Он создастся в корне?
Аноним 29/03/21 Пнд 05:00:04 735786 621
>>735641
Спасибо. Так и сделал
Кое что добавлю. Если у вас размывает текстуру после этого на устройстве "в настройках графики" удалите все ниже ультра
Аноним 29/03/21 Пнд 06:27:04 735788 622
>>735763
Есть в вк "сексуальный геймдев" там сидит 3-4 анона из 140 рыл и общаются только они как и во всех таких конфах
>>735785
да
Аноним 29/03/21 Пнд 09:54:06 735804 623
>>735759
Пересел за более производительную машину, и у меня с VS code тоже какие то проблемы начались, он перестал мне фразы по типу public дописывать
>>735710
Спасибо, сегодня попробую
Аноним 29/03/21 Пнд 11:13:21 735808 624
>>735681
>Сделать свой компонент
Я читал что вызовы GetComponent(); лучше свести к минимуму, особенно в Update(); или это недостоверная устаревшая информация?
Аноним 29/03/21 Пнд 15:50:51 735895 625
>>735808
Достоверная, но tag это костыль который сделали юнитеки.
Если тебе нужны теги Cha = character, En = enemy, Fly = flying и ты делал это через теги, то тебе нужно немного передумать твою логику.
Например enemy это или нет определять не по тегу, а по компоненту.
Fly вообще звучит как флаг true / false
Если расскажешь еще подробнее как именно ты тегами пользуешься, может поможет еще лучше
Аноним 29/03/21 Пнд 16:57:49 735909 626
>>735804
Слишком радикально, анончик. Я вроде и на мощной пеке, но все равно не вижу плюсов, ха-ха, в тяжелой студии.
Аноним 29/03/21 Пнд 17:03:01 735910 627
>>735909
Да у меня просто с VS code проблемы начлаись, а когда за другое устройство пересел, тут уже VS обычная была, решил не менять уже.
>>735710
Спасибо большое. External Editor помог.
Аноним 29/03/21 Пнд 17:34:51 735915 628
>>735808
Что ты такое делаешь, что тебе надо менять теги на лету?
Аноним 29/03/21 Пнд 17:35:25 735916 629
Все мое нутро сопротивляется тому чтобы допиливать проект
Аноним 29/03/21 Пнд 20:12:03 735933 630
Аноним 29/03/21 Пнд 21:22:27 735943 631
>>735933
Ооу. Извиняюсь. Походу можно и на инглише
Аноним 29/03/21 Пнд 21:39:53 735945 632
Я сегодня начал на learn.unity проходить их пошаговые видеоуроки, и меня люто вставляет. Охуенная подача материала, приятный диктор и доступные объяснения. А потом и задачки неплохие в конце каждого блока.

Вопрос: Стоит ли тратить на это время, или мне потом зарядят подписку за 9000 мертвых президентов? Просто если второе, я думаю лучше спиратить с рутрекера другой курс какой.
Аноним 30/03/21 Втр 00:45:45 735973 633
image.png 11Кб, 137x86
137x86
Ананасы, киньте годный гайд(книгу) на сишарп, который прям бустанет вкат в юнити, а то я сначала дико вдохновился, а потом понял что слишком тупой мало знаю чтобы разбираться во всех этих скриптах.
Да я бы мог спросить у гугла, но гугл выдаст бездушный список книг аля сишарп для чайников, а я хотел бы узнать топ-тир /гд :3
Аноним 30/03/21 Втр 01:39:16 735980 634
>>735973
Тебе прям с нуля, или ты уже какой-то язык раньше изучал?
Аноним 30/03/21 Втр 02:07:39 735990 635
image.png 97Кб, 426x451
426x451
image.png 294Кб, 424x488
424x488
>>735980
Я изучал бейсик/паскаль в школьной программе но это было ооооочень давно и больше опыта не было, так что наверно с нуля.
Скачал пикрилы. Первый без перевода, поэтому будет очень больно все это читать. Может быть есть что-то более понятное для нубов?
Аноним 30/03/21 Втр 02:53:33 736003 636
image.png 25Кб, 679x277
679x277
image.png 395Кб, 1920x1040
1920x1040
Пиздец, я с ума сошел или что. Пару запусков программы назад все работало окей, я ничего не менял!
Вот код, который смотрит на название материала и в зависимости от этого присваивает один или другой шейдер. (В логах пишется название шейдера после присвоения, т.е. то, что он точно присвоился!)
При выполнении шейдер в материале не меняется, хотя в логах пишется, что шейдер изменился (пишет его название после изменения)
Че за хуйня?
Аноним 30/03/21 Втр 03:38:39 736015 637
>>736003
Исправил это, заменив на sharedMaterials.
А теперь такая же фигня с префабом. Материалы даю ему. Пишет, что применил их. А на самом деле вообще на него материалов не накладывается почему-то.
Аноним 30/03/21 Втр 03:52:17 736019 638
>>736015
Как будто бы он у префаба через код вообще не хочет менять материалы. А только через инспектор. У объекта на сцене все нормально меняется...
Причем у префаба меш меняется хорошо через код, но не материалы...
Аноним 30/03/21 Втр 04:24:56 736025 639
>>736019
Пиздос. Если менять в лоб:
childPrefab.GetComponent<MeshRenderer>().sharedMaterial = OpaqueMaterial;
То все охуенно меняется. Но проблема с детьми, где два материала. Пытался и циклом
childPrefab.GetComponent<MeshRenderer>().sharedMaterials[j] = OpaqueMaterial;
но так нихуя, да и многими другими способами нихуя
Аноним 30/03/21 Втр 04:44:26 736028 640
>>735990
Я думаю лучше с левой начни - я читал книгу по шарпу от автора справа(по идее это было обновленное издание этой, но не уверен), и она ну совсем уж не на ньюфага была рассчитана.
Многие вообще советуют книгу по шарпу от Шилдта - она немного старая, но это не критично, потому что на этом этапе тебе главное освоить основы программирования, а не всякие крутые продвинутые синтаксические штуки шарпа. То есть так-то на первых порах можешь хоть гайды на ютубе смотреть, вот когда у тебя будет вставать вопрос "А как можно было бы это сделать более грамотно?" или "А почему оно так работает?" - вот тогда надо в тонкости языка погружаться.

Еще вот это очень хороший справочник
https://metanit.com/sharp/tutorial/
Как только что-то непонятно - заходи туда.
Аноним 30/03/21 Втр 10:26:29 736036 641
Аноним 30/03/21 Втр 13:10:01 736054 642
Аноним 30/03/21 Втр 15:39:11 736096 643
ньюфаг
Анчоус, ткни ебалом в нормальный гайд\статью\просто совет, как делать нормальный UI не в плане вида, а именно функционал. Дело дошло до элементарного интерфейса сделать парашу с кучей зависимостей я и так могу, но я чёт никак не могу придумать нормальную систему, дабы я не охуел на этапе дальнейшей разработки.
Аноним 30/03/21 Втр 17:03:42 736120 644
Поздравьте. Мне 36 лет и я начал вкатываться в юнити. Да и в программирование целом.
Аноним 30/03/21 Втр 17:08:22 736122 645
Аноним 30/03/21 Втр 17:39:02 736128 646
image.png 315Кб, 1440x900
1440x900
image.png 257Кб, 1440x900
1440x900
image.png 402Кб, 1440x900
1440x900
image.png 406Кб, 1440x900
1440x900
Аноны, спасайте!
Пиши диплом и выбрал себе тему связанную с AR. Скачал юнити, вуфорию установил,вроде все получается. Запилил небольшую бетку даже, вроде все сбилдилось на андроид! Сегодня начал доделывать все и тут произошла трагедия! Плюс 100 ошибок хрен знает откуда, хотя максимум что я делал - это копировал ImageTarget. Думаю ладно,что-то натворил,удалил все лишнее и вернул все к изначальной бето версии в итоге он не хочет бильдиться, при билде возникает характерный звук ошибки и ничего не пишет! ПОМОГИТЕЕЕЕЕЕЕЕЕЕЕ!!!!!!
Аноним 30/03/21 Втр 17:40:19 736129 647
Аноним 30/03/21 Втр 18:03:49 736139 648
>>736096
Просто берешь наиболее удобные интерфейсы из игр в которые ты играл, собираешь все хорошее, удаляешь все плохое и вуаля, у тебя Иисусий идеальный интерфейс всех времен и народов.
Аноним 30/03/21 Втр 18:04:52 736140 649
image.png 193Кб, 1440x900
1440x900
>>736128
Решил попробовать с нуля создать, потому что все равно далеко не ушел,а тут бац при импорте вуфории

An error occurred while resolving packages:
Project has invalid dependencies:
com.ptc.vuforia.engine: No 'git' executable was found. Please install Git on your system then restart Unity and Unity Hub

Пиздец,я на дизмораль подсел
Аноним 30/03/21 Втр 18:46:44 736147 650
image.png 22Кб, 438x287
438x287
image.png 166Кб, 1440x900
1440x900
>>736140
Как это фиксить??
Аноним 30/03/21 Втр 20:00:15 736174 651
image.png 274Кб, 1440x900
1440x900
Аноним 30/03/21 Втр 22:25:45 736208 652
>>736140
>>736147
Ты устанавливаешь расширение через гит, которого у тебя на компе судя по всему нету
Аноним 31/03/21 Срд 08:39:12 736248 653
image.png 21Кб, 791x360
791x360
Почему секунды в ноль сбрасываются, а миллисекунды нет?
функцию спиздил
Аноним 01/04/21 Чтв 10:36:04 736515 654
Юнитеки кто может вкратце посоветовать IL2CPP против Mono, что лучше будет?
Я слышал что с IL2CPP проект билдится больше, а других минусов нету? У меня никакие библиотеки с ассетами не отвалятся если я на IL2CPP перейду?
Аноним 01/04/21 Чтв 13:25:08 736555 655
>>736515
Отвалятся, mono код можно легко вскрыть через illspy какой-нибудь одним кликом.
ill2cpp создает кучу мусора на с++ так что не ведись на производительность, у шарпов проблема из-за GC и когда ты используешь c++ с GC код от этого особо быстрее не становится.
Из плюсов ill2cpp могу отметить что билд чуть сложнее вскрыть иногда декомпилируется около 70% кода, а 30% остается обсуфицированной.
Из минусов - рефлекшен может перестать работать, но если ты им пользуешься - соболезную.
Еще из плюсов возможно код будет чуть лучше работать с Jobs и DOTS т.к. меньше PInvoke-ов
Аноним 01/04/21 Чтв 14:01:11 736558 656
>>736555
> Из минусов - рефлекшен может перестать работать, но если ты им пользуешься - соболезную.
А мне рефлекшен нужен
Аноним 01/04/21 Чтв 16:15:23 736565 657
>>736555
Благодарю, ладно проект бекапну, погоняю завтра, посмотрю че как. На вскрываемость билда похую впринципе
Аноним 01/04/21 Чтв 16:17:07 736567 658
>>736555
>Еще из плюсов возможно код будет чуть лучше работать с Jobs и DOTS т.к. меньше PInvoke-ов
Чушь
, 02/04/21 Птн 01:33:31 736693 659
Ребяты, нужна помощь, есть два вопроса:
1) можно ли анимацию класть на ui элементы на канвасе?
2) можно ли сделать, чтобы камера А показывала всякий интерфнейс и камеру Б в квадратике, а камера б уже непосредственно показывала бы вид из глаз персонажа?
Аноним 02/04/21 Птн 05:41:14 736711 660
Как хотя бы минимально защитить переменную? Попробовал поставить Anti-Cheat Toolkit, но он ломает Easy Save 3
Аноним 02/04/21 Птн 07:34:01 736713 661
Уже три дня мучаюсь с климбингом, никак нн могу сделать адекватное залезание на выступ, уже сделал 10 кривых в анимации, идеальные весатти 398 строк кода для 1 анимации, лол. Но как только исправляю очередной недочет, в глаза сразу что-то другое касается, сейчас вот кончик ноги на моменте пересечения угла на секунду в текстуре оказывается. Есть ли какой-нибудь бесплатный плагин, чтобы додрочить анимацию? Типа, поводить трансформу, например, буквой Г, а потом, допустим, нога будет двигаться по пути этого трансформа?
Аноним 02/04/21 Птн 07:37:26 736715 662
>>736713
Анимация климбинга, кстати, с mixamo. Может проще сделать в блендере собственную, сразу учитывая особенности окружения, а не мучиться с тонной кода для практически полной переделки миксамовской.
Аноним 02/04/21 Птн 10:03:08 736718 663
>>736693
>1) можно ли анимацию класть на ui элементы на канвасе?
Можно, если я правильно понял твой вопрос
>2) можно ли сделать, чтобы камера А показывала всякий интерфнейс и камеру Б в квадратике, а камера б уже непосредственно показывала бы вид из глаз персонажа?
Можно, но зачем?
Аноним 02/04/21 Птн 11:20:05 736734 664
>>733430
Спасибо!
Отключился от интернета(кроме гугления запросов), зафигачил один нормальный проект и два мелких, как раз выделываясь алгоритмами, буду пытаться прорываться
Аноним 02/04/21 Птн 12:31:29 736748 665
>>736718
1) а как? Просто аниматор на юай элемент повесить?
Аноним 02/04/21 Птн 13:12:17 736766 666
, 03/04/21 Суб 01:53:56 737097 667
Бля, ребята, выручайте:
Поставил 2020 с хуем версию, накрылась все мои кастомные шейдеры (пишу новые, тоже не работают):
Объекты отображаются розовым цветом, но никакой ошибки не пишет. В чем дело? Как фиксить?
Аноним 03/04/21 Суб 02:53:05 737099 668
>>737097
Скорее всего там стоит по умолчанию Universal Render Pipeline, и тебе надо все свои материалы перевести на неё через меню. Не забудь сделать бэкап проекта.
Аноним 03/04/21 Суб 10:57:54 737112 669
>>737099
Спасибо!
А как это делается и чем она отличается от пред.?
Аноним 03/04/21 Суб 10:58:41 737113 670
А, материалы. А с шейдерами как?
Аноним 03/04/21 Суб 20:35:58 737169 671
>>737112
LRP переименовали в URP
По большей части на этом всё. Шейдеры работают по идее точно также, просто проапгрейди материалы
Аноним 03/04/21 Суб 23:04:59 737199 672
>>737112
В доках есть таблица конверсии шейдеров и сранения фич встроенного рендерера и URP.
Аноним 04/04/21 Вск 19:17:57 737307 673
>>728504 (OP)
Как писать скрипты в юнити, если прогать не умею
когда речь идет про ходьбу стрельбу тупо беру из уроков или лекций нужные куски кода
но вот хочу дополнить гг еще одной фичей, чтоб у него инерция была в зависимости от заполненности инвентаря при беге и расход стамины тем быстрее, чем больше шмота, а код не знаю как писать
Аноним 04/04/21 Вск 20:34:08 737324 674
>>737307
Попробуй придумать аналогично тому что ты уже скопировал. Ведь не может быть что ты вообще не понимаешь что скопировал. Уменьшай скорость и увеличивай инерцию от количества предметов или от их веса, или как ты их там хранишь и все.
Аноним 04/04/21 Вск 21:02:59 737327 675
image.png 120Кб, 992x342
992x342
Есть у меня кнопка размерами 50 на 50, и в ней картинка "крестик" размерами 15 на 15. Как сделать, чтобы клик ловился по всей кнопке? Клик отлавливается, если я кликаю только на саму миниатюру крестика.
Там в лом в фотошоп лезть, пиздос...
Пока решил таким образом - добавил вторую невидимую картинку размерами 50 на 50, и это работает. Но мой внутренний перфекционист страдает от этого решения.
Аноним 04/04/21 Вск 21:04:51 737328 676
image.png 9Кб, 293x184
293x184
>>737327
ps картинка крестика так-то 256 на 256, она вот такая, мне в лом ее фотошопить и добавлять отступы
Аноним 05/04/21 Пнд 14:06:52 737408 677
ITVDN.png 250Кб, 634x768
634x768
>>728504 (OP)
Курс ITVDN - Специальность Unity / Game Developer
Описание курса:
19 видеокурсов, 106 видеоуроков, 66 ч 37 м.
-Unity Starter.
-Unity Essential.
-Unity Advanced.
-Разработка Virtual Reality (VR) игр на Unity.
-Создание трёхмерной графики в Cinema 4D.
-Unity Создание Clicker.
-Практикум курса C# Стартовый на примерах из GTA 5.
-Создаем игру Pokemon Go.
-Создаем игру Need for Speed на Unity.
-Создание Counter Strike. Сетевой FPS shooter на Unity.
-Unity User Interface.
-Разработка игр для Steam VR c использованием PlayStation VR.
-Написание игрового сервера и создание клиента на Unity.
-UnityEditor. Примеры для сетевых игр.
-Основы использования Git.
-Kodu Game Lab.
-Методологии управления проектами. Вступление в SCRUM
-Подготовка к собеседованию в IT компании. Вопросы и ответы. Хитрости. Трюки.
-Visual Studio 2019 Tips & Tricks.
https://openssource.biz/itvdn-roman-samchuk-oleg-zagorodnij-aleksandr-shevchuk-specialnost-unity-game-developer.html
Скачать:
https://cloud.mail.ru/public/bhgB/njL7vNc4U/
Аноним 05/04/21 Пнд 16:22:13 737429 678
>>737408
>Курс ITVDN - Специальность Unity / Game Developer
Спасибо. Надо скачать и глянуть, что же там такое интересное.
Аноним 05/04/21 Пнд 17:15:21 737436 679
>>737408
Cerf 50 гигабайт, чем они там кодировали свою хуйню.
Аноним 06/04/21 Втр 00:47:49 737477 680
>>737408
Бля, ну почему в ру сегменте сливают онли самые хуевые курсы? Я понимаю что и так курсов почти нет нормальных, но почему именно одни из хуевейших выкладывают.

Аноним 06/04/21 Втр 00:53:11 737478 681
>>737477
А какой тебе нужно? Ты их смотрел прежде чем оценивать или по корешку судишь?
Аноним 06/04/21 Втр 04:07:00 737489 682
Доброго времени, Подскажите пожалуйста, как сделать что бы значение сладера UI перешло в скрипт который находится в кнопке(там есть цикл и нужно значение float конвертировать в int ещё)
PS в юнити и c# очень слабо разбираюсь потому не знаю уместно ли тут ToInt32() юзать
Аноним 06/04/21 Втр 05:15:57 737493 683
>>737489
[SerializeField]
// перетащи потом слайдер на этот скрипт
private Slider _slider;

var intSliderValue = (int)_slider.Value;
Аноним 06/04/21 Втр 08:15:59 737494 684
>>737408
>Облако
Почему люди разучились делать торренты?
Аноним 06/04/21 Втр 12:55:17 737518 685
>>737478
Это перезапись курса 2016 года. Да, я смотрел их. Каждый курс с Самчуком смотреть очень тяжело. Это будто рептилоид закосил под человека.
Что касается содержимого, не знаю как тут, но в 2016 версии тупо вводная вода. Хотя наобещали с 3 короба.

>А какой тебе нужно
Хз, у нас мало годных. Я пересмотрел от скилбоксов, гиков, отуса и прочих мелких и немного разочаровался. Тех денег что они просят, ни как не стоят курсы.
Хз что там у Романа Сакутина, его реклама с курсом постоянно всплывает. Но их сливов я вроде не видел.
Аноним 06/04/21 Втр 12:56:56 737519 686
В версии 2020.3.1 и 2020.3.2 есть 2 бага отравляющие мне жизнь:
1 - спустя несколько перезапусков игры дебагер перестает коннектиться, лечится полным перезапуском юните
2 - профайлер с авто-коннектом работает только после билда игры на жопной тяге улетел на марс т.к. билд занимает 25 минут
Аноним 06/04/21 Втр 13:17:49 737522 687
Почему в юнити нет предустановленного характерконтролера, где взять простой, чтоб и с пада и с клавы из коробки работал и без лапши в скриптах
Нужна банальная ходьба спринт, прыжок приседание
, в анриле вроде подефолту такое есть, а в юнти на кубик, иди ищи как его двигать
Аноним 06/04/21 Втр 13:55:54 737526 688
>>737522
Раньше был, сейчас вынесли в assetStore, там любой бесплатный можешь взять.
Вынесли чтобы небыло мусора в проекте при старте
Аноним 06/04/21 Втр 14:00:48 737527 689
>>737519
Коннектся вручную после сборки development build в любое время.
Аноним 07/04/21 Срд 09:15:43 737672 690
Хорошее ли решение использовать UnityEvent для связи между всеми компонентами
UnityEvent gameStarted = new UnityEvent()
...
UnityEvent playerIsDead = new UnityEvent()
...
?
Аноним 07/04/21 Срд 17:13:36 737748 691
И качаться оно будет вечность
Аноним 07/04/21 Срд 18:38:35 737759 692
>>737518
>Я пересмотрел от скилбоксов, гиков, отуса и прочих мелких
А мог бы игры делать.
Аноним 07/04/21 Срд 20:54:35 737780 693
>>737759
Когда сажусь их делать, ощущаю себя обезьяной. Так и есть
Аноним 08/04/21 Чтв 03:09:51 737819 694
>>737518
>что там у Романа Сакутина
А что там у него может быть? По ютубу видно что он из категории ЧСВшников-программистов - вокруг одни говнокодеры, зато он весь в белом рассказывает за "правильный" коддинг и публично обсирает остальных, при том что он не сделал ни одного серьезного проекта
Аноним 08/04/21 Чтв 15:03:49 737855 695
>>737819
Да хуй знает что там. Поэтому и хотел глянуть. Недавно смотрел работы учеников, и вроде обычные казуальные игры были. Но выглядели не плохо и законченными. Хуй знает это по курсам они делали или нет. Но если по курсам, то это выглядит лучше чем проекты от тех же скилбоксов, гитбрейнов или отусов.
, 08/04/21 Чтв 18:08:01 737869 696
Какая нормальная практика создания зданий, в которые можно заходить ? (Просто коробка с окнами)
Это делается 3д кубами в самой Юнити или моделями?

Участвовал в джеме, полег, внезапно на создании адекватной сцены
Аноним 08/04/21 Чтв 18:42:15 737873 697
>>737869
Ну, хочешь - сделай в юнити из кубов, хочешь - сделай в блендере и загрузи в юнити второй вариант, конечно, куда лучше
В зависимости от нужд своих делай. А если тебе нужно чтобы 90% было внутри здания и ты не хочешь делать модель в блендере - юзай пробилдер
Аноним 08/04/21 Чтв 22:15:17 737908 698
>>737873
Спасибо! Что такое про билдер?
Аноним 09/04/21 Птн 01:15:04 737926 699
, 09/04/21 Птн 01:33:45 737930 700
Как сделать постепенный переход объекта в конкретные координаты?
Аноним 09/04/21 Птн 02:51:32 737942 701
>>737930
void Update(){

transform.position = Vector3.MoveTowards(transform.position, coordinati, skorost * Time.deltaTime);

}
Аноним 09/04/21 Птн 13:57:40 737991 702
Какую версию юнити ставить ньюфагу? 2019? 2020? а может 2021?
Аноним 09/04/21 Птн 14:12:27 737994 703
>>737991
Или последнюю, или последнюю LTS
Аноним 10/04/21 Суб 08:33:59 738117 704
Флексим.png 297Кб, 989x443
989x443
>>728504 (OP)
Курс Unity.Junior (2020)
Сайт производителя: https://ijunior.ru/
Автор: Роман Сакутин, Алексей Хохряков
Продолжительность: ~ 7 часов
Содержание:
-Введение
-Основной интерфейс.
-Создание уровня 3D.
-Создание уровня 2D.
-2D Физика.
-Префабы.
-Анимация.
-Базовый скриптинг.
-Рекомендации по коду.
-Математика.
-DOTween.
-User Interface.
-Подъем предметов 2D персонажем с LK.
-Scriptable Object.
-Практика - бесконечный раннер.
-Практика - Swamp Attack с монетизацией.
-Практика - Flappy Bird.
-New Input System.
-AR практика - разработка шутера.
-AR практика - разработка декоратора комнат.
-Разработка с Vuforia.
-Vuforia практика - Создание шутера 1х1.
-Основы Particle System.
-Практика в создании простых эффектов.
-Работа с Appodeal.
Скачать:
https://disk.yandex.ru/d/swAd-ztRiWkFlA
https://mega.nz/file/8xBkwTLL#IWepTNzVrZjcy1VpD5Y3JUhG1P5KUuJU54z2v0s8AOA
Аноним 10/04/21 Суб 08:57:12 738118 705
Аноним 10/04/21 Суб 14:28:11 738150 706
изображение.png 1Кб, 446x20
446x20
>>737942
Делаю поворот персонажа, когда y > 360 или меньше 0, начинается ад.
Как корректно (математически) учесть проворот?
(чтобы без if(больше 360) и if(меньше 0))
Аноним 10/04/21 Суб 16:58:36 738170 707
>>738117
Это они за этот курс длительностью в 7 часов просят овер 150к? Или я путаю что-то.
Аноним 10/04/21 Суб 17:22:35 738175 708
Как сделать эффект, что камера трясется (движется вверх вниз) во время движения персонажа
Аноним 10/04/21 Суб 20:47:22 738192 709
Снимок.PNG 164Кб, 1821x1102
1821x1102
>>728504 (OP)
Какой же я тупой

взял шаблон фришный с уже готовым мувментом и удобной камерой из 3д кита, вырезал лишнее чтоб как основу у себя юзать
но нихрена не работает, камера говно, хотя ее инспектор идентичен из 3д кита
моделька не двигается, хотя вырезал после копипаста скрипта только анимации звуки атаку респавн, не двигается хз почему
А вообще мне все равно нужно мувмент под ригидбоди переделывать, опять утащу откуда нибудь готовый код, и хрен он заработает как надо в связке с кодом из 3дкита
Я кодить вообще не умеют, только понял про то, что в узорных скобках код и вырезаю лишнее если там слова типа аниматион
Без осознания по сути что к чему приводит, как новые фичи мувмента типа переключения инерции от массы инвентаря вообще хз как писать, уроков таких нет, а сам я не понимаю, где через точку где в скобках команды писать, да и какие команды, почему здесь эти, а здесь другие, здесь в узорных скобках, а здесь в войд апдейт кидать, а сдесь в войд рессет, как плохо быть не программистом, а на бумаге столько фич не сложных придумал, как их написать не знаю, хоть человека нанимай((
Аноним 10/04/21 Суб 23:34:10 738222 710
>>738192
>Хочу сделать много всего, но делать нихуя не хочу
Хочешь реализовать фичи - учи язык. Как костыль можешь визуальное програмирование юзать, но не факт, что в нем у тебя получится всё. Плюс его тоже нужно учиться использовать хоть и в разы проще, но нахуя, если можно писать свой чистый код и быть счастливым человеком?

inb4 визуальное программирование - bolt, playmaker и т.п
Аноним 11/04/21 Вск 10:50:05 738243 711
camrot.mp4 3802Кб, 640x480, 00:00:05
640x480
>>728504 (OP)
Есть шаблон
Камера свободно вертится вокруг гг, но гг меняет направление от направления камеры, а не бежит по своим локальным координатам
т.е. на видео
жму только вперед
поворачиваю камеру и "вперед" для гг тоже меняется, он всегда бежит вперед от камеры
В коде это через трансформ ротэйшн

Но как это сделать для гг, который сделан по физону на rigidbody и его движения задаются через аддфорс

все туторы по персонажам сделаны как раз для первого случая, где гг не физический объект
Аноним 11/04/21 Вск 16:27:39 738278 712
>>738175
Гугли "unity camera bobbing" или "unity head bobbing".
Аноним 11/04/21 Вск 17:51:41 738289 713
Как соединять объекты по геометрии? Чтобы ровно друг к другу ставились.
Аноним 12/04/21 Пнд 05:31:58 738373 714
image.png 37Кб, 1485x689
1485x689
Почему окно анимации не активно? И я не могу нихуя туда перетащить ни одного спрайта (просто не дает ничего)
Аноним 12/04/21 Пнд 06:12:31 738375 715
Аноним 12/04/21 Пнд 09:20:16 738384 716
>>738373
Выбери объект (который хочешь анимировать), добавь на него Animator или Animation, потом открывай это окно

>>738243
Вместо Transform.MoveTowards(transform.forward)
Делаешь Rigidbody.AddForce(transform.forward)
У меня нет редактора под рукой, но суть думаю ты понял
Аноним 13/04/21 Втр 00:30:17 738493 717
Аноним 13/04/21 Втр 00:39:03 738495 718
Аноним 13/04/21 Втр 01:48:00 738500 719
Анон, подскажи - куда копать.

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

Не могу понять чем их выводить.

Ну есть например tilemap - но во всех уроках таймап один. Может ли быть десятки или даже сотни tilemap? И чтобы андроид не сдох
Аноним 13/04/21 Втр 01:48:53 738501 720
Аноним 13/04/21 Втр 03:16:16 738503 721
image.png 275Кб, 1291x901
1291x901
image.png 76Кб, 667x577
667x577
Анон, что за фигня? Взял тайлсет, порезал на тайлы. Почему в tile palette все координаты посъежали?

Ведь в sprite editor все правильно порезало. размер тайла 32. в настройках я указал что 32 равны одному юниту

Как настроить?
Аноним 13/04/21 Втр 15:38:14 738542 722
>>738493
Никаких мыслей по этому поводу, господа?
Аноним 13/04/21 Втр 20:44:51 738587 723
>>738542
Там же описали как исправить. Можешь попробовать поставить версию 2019 лтс, или в какой там еще ассет стор был встроен, и скачать через стор в юнити
Аноним 13/04/21 Втр 20:46:39 738588 724
>>738542
Ну и вот
>make sure your account is connected and active.
>Make sure it's the correct account.
>Sometimes we change accounts and forget to return the active and licensed account.
>Go to the unity hub at the top right to see which account is connected, it has an account activate button.
Аноним 13/04/21 Втр 20:51:25 738593 725
image.png 67Кб, 905x445
905x445
В wireframe моде вот такая йоба полоска через весь экран (как будто на камере меш, но это же сцена). Интересно, так и должно быть?
Аноним 13/04/21 Втр 21:00:12 738595 726
>>738587
Вы понимаете, какое это позорище, на конкретный нерешенный вопрос отвечать, что надо ставить старый ЛТС?

>>738588
Не мой случай
Аноним 13/04/21 Втр 21:00:35 738596 727
>>738595
Позорище для юнити, я имею ввиду
Аноним 13/04/21 Втр 22:30:00 738627 728
>>738595
Ну, тебе юнити выдает ошибку, что ты не авторизован. Значит ты или не залогинился в юнити, или в ассет сторе на этом аккаунте нет нужного тебе ассета, или нечто подобное. Вариант скачать старую версию поможет потому что там ты внутри юнити залогинишься в сторе и напрямую скачаешь. А если тебе принципиально на последней версии игру писать, то можешь просто экспортировать потом нужный тебе ассет и загрузить его на твою версию

блять, как меня капча заебала
Аноним 13/04/21 Втр 23:13:18 738631 729
image.png 11Кб, 527x183
527x183
image.png 17Кб, 615x138
615x138
image.png 18Кб, 1253x230
1253x230
image.png 36Кб, 794x440
794x440
Постоянно реализую систему ресурс -> кол-во, и всё, где нужно задавать какие-то значения другим переменным образом пикрил

Уверен есть более удобный и оптимизированный вариант, но я до него просто не дошел, есть какие-нибудь мысли?
Аноним 14/04/21 Срд 01:22:59 738637 730
>>738595
Попробую вангануть - а интернет у тебя не через прокси настройки винды? Лаунчер юнити не умеел в виндовый прокси и не давал авторизацию
Аноним 14/04/21 Срд 03:47:49 738644 731
image.png 15Кб, 210x128
210x128
Анон, а влияют ли пустые геймобжекты на производительность? Просто ими удобно делать группы в инспекторе как на пикче (и это из офф демки юнити - то есть разрабы юнити тоже так делают)

Аноним 14/04/21 Срд 06:00:35 738647 732
Где украсть курсы Сакутина? По шарпу и юнити?
Аноним 14/04/21 Срд 10:00:15 738655 733
>>738647
Сакутин, пиздуй пиариться в другое место.
Аноним 14/04/21 Срд 10:01:13 738656 734
>>738655
Так я украсть его курсы, а не рекламировать
Аноним 14/04/21 Срд 10:12:51 738657 735
>>738656
Чем тебя не устраивают курсы от самих юнитеков?
Аноним 14/04/21 Срд 10:34:11 738658 736
>>738647
Говнокурсы*

>>738644
Нет, но не лучше ли собирать схожие обьекты под общим перентом?
Аноним 14/04/21 Срд 12:12:41 738667 737
Пацаны, а какая есть альтернатива define'ам? У моей игры три разных состояния (Production, Staging и Development). В зависимости от этого состояния загружаются разные настройки и префабы. Проблема дефайнов в том, что их обновление вызывает компиляцию проекта. Плюс нельзя отдельно разделить состояния для Редактора и для Билда.

Остается юзать какой-нибудь скриптабле обжект?
Аноним 14/04/21 Срд 12:24:08 738670 738
>>738117
Ради интереса ознакомился.
Самый плохой курс по юнити который я открывал, эвер. Лучше бы я посмотрел курсы червя пидора. Вон тот что выше в разы лучше.
Аноним 14/04/21 Срд 12:35:34 738671 739
>>738670
Курсы Сакутина - хуйня потому что
В целом тут так получается, что его курсы, скорее всего, лучшее, что есть среди русскоязычного, но не хуйней это их не делает. Вывод прост - хочешь учить юнити\шарп\любой язык или движок - учи английский
Аноним 14/04/21 Срд 14:13:18 738675 740
>>738671
я заплатил за один продвинутый модуль. получил копипасту с википедии о паттернах программирования. без какого-то конкретного применения кроме сферического. не стал бы о сакутине говорить с применением слова "лучшее"
Аноним 14/04/21 Срд 14:45:36 738685 741
>>738170
Судя по названию и основным топикам, именно он
Аноним 14/04/21 Срд 15:24:13 738690 742
Аноны, как же все таки учить Юнити и C#?
Сразу извиняюсь за длиннопост и возможно хуеые вопросы, но мб кто подскажет чего?

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

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

После этого сразу появляется мысль, что за хуйню я смотрю, если этот код так себе. Однако почитав дальше этот тред, увидел, что тут хуесосят самого сакутина. И мне в принципе всё равно кто там лучший Юнити гайдер РФ, и у кого код лучше.
Мне просто интересно, как новичку понять кого смотреть и что есть хорошо.
Вот я научусь у одного человека с англоязычного Ютуба, а потом придет другой и скажет что у меня код хуйня. Даже если никто мне так и не скажет, как понять, что я учусь правильным вещам?

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


Аноним 14/04/21 Срд 15:35:25 738692 743
>>738690
Почти любой код при ревизии окажется хуйней. Поверь мне, я год в издательстве работал переделывая игры с топа плеймаркета для иностранных патнеров, на 10 проектов повезет если в одном читабельный код
Тут вопрос в том кто лучше тебя научит тому, что должен знать каждый, и чтобы ты при этом не почувствовал, что деньги выкинул вникуда.

Посоветую тебе то, что советовал анону в прошлом треде - на UDemy есть несколько хороших курсов от GameDev.tv по юнити, я именно с них и начинал в юнити работать

Из почитать, если хочешь писать чистый и хороший код - Усов Т.М. Введение в ООП https://newobj.ru/oop/index.php и уже по желанию Мартин Р. Чистая архитектура https://viduus.net/wp-content/uploads/2019/02/CHistaya_arhitektura_Iskusstvo_razrabotki.pdf

Курсы, очевидно, только на англ, но он там понятный. Книги, насколько я помню, переведены
В целом на юдеми дохуя курсов и постоянно скидки, при которых они по 10 вечнозеленых стоят, но если совсем денег нет или не хочешь ждать скидку - пирать. На русскоязычные курсы советую сразу забить, там один шлак
Аноним 14/04/21 Срд 16:07:06 738693 744
>>738692
Даже не рассчитывал что кто-то так полно ответит. Спасибо большое
Аноним 14/04/21 Срд 18:36:14 738704 745
>>738692
Не понимаю почему все так ссутся от GameDev.tv.
Купил их курс на юдеми где они делают рпг. В итоге, дошел до середины и там все еще говнокод, который они обещают отрефакторить в конце. Хули сразу не рефакторить и писать нормально, я не понимаю. Но это ладно.
Но потом они сделали базовое передвижение игрока, поставили пару объектов на террейн, врагов добавили ииии, и сука пошли делать синема клипы. Тупо кучу времени они делают клип бля. Дальше еще лучше.
Структура их курса в общем желает оставлять лучшего. Да и все равно там основы основ.
Ни одного почти курса не видел, где показали бы не просто как сделать передвижение игрока создав класс PlayerController и напихав туда говна на 500 строк. А хотя бы продемонстрировали применение паттернов проектирования, почему держать ввод инпута в игроке хуево, и показать как сделать правильно.

Короче, обидно что курсов для новичков дохуища, но для тех кто основы уже знает нихуя нет. Буквально. Либо основы, либо узконаправленное что-то. Вот так тупо и собираешь знания по крупицам.
Аноним 14/04/21 Срд 18:46:37 738707 746
>>738704
Ну я, говоря про их курсы, имею ввиду те, что они выпускают для начинающих. 3D & 2D Games With Unity или как-то так
Они хорошо сделаны, дают хорошую базу, там огромное комьюнити, ну и, насколько я помню, там несколько базовых паттернов точно разбирают, разве что не на каждом акцент делают

Ну а вообще соглашусь с тобой, адванс курсов такое чувство что нет. Ну оно и не удивительно, ибо те, кто уже достаточно для таких курсов знает - уже работают и на курсы не ходят. Думаю если и есть, то только очные и мб при компаниях
Аноним 14/04/21 Срд 19:23:15 738712 747
>>738704
>почему держать ввод инпута в игроке хуево, и показать как сделать правильно.
>
А как правильно?
Аноним 14/04/21 Срд 19:38:09 738715 748
>>738712
Ну типа, один класс - один функционал. Разделяешь ответственность короче.
Если мы говорим об игроке, то на него лучше навесить несколько скриптов с функционалом, чем один PlayerController где будет всё.

Типа, инпут отдельно, передвижение отдельно, получение дамага отдельно и тд. В итоге, получается что у нас будут отдельные, самодостаточные скрипты. И если ты отключишь один скрипт, то в целом это ни как не повлияет на игрока. Применений масса то на самом деле.
Показываешь обучение или кат сцену? Игрок не должен двигаться. Отключил скрипт и всё. Вместо того, чтобы писать кучу if в плеерКонтроллере и учитывать состояние игры.

вообще шо я несу, я сам лох вкатный, залетный.
Аноним 14/04/21 Срд 23:20:45 738738 749
>>738712
В целом >>738715 - анон расписывает тебе один из принципов ООП - абстракцию если я не путаю
За каждый конкретный функционал должен отвечать конкретный класс и они не должны путаться
Управление - CaracterController, инвентарь - Invenort, хп, получаемы урон и пр. - CharatrerStats и тому подобное
все названия - пример, если что
Аноним 15/04/21 Чтв 01:43:35 738748 750
>>738657
Я английский плохо знаю. Читать (по слогам) могу. А слушать - нет. Субтитры также не успеваю прочесть -в итоге какое-нибудь десятиминутное видео затягивается на пару часов.

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

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

Есть конечно книжки или там сайты - но меня на них не хватает.
Писать самому как есть - меня за говнокод ругают и никуда не берут - и похуй что при этом есть готовые проекты, но такой говнокод и чсв собеседующих не позволят меня всязь
Аноним 15/04/21 Чтв 01:58:02 738751 751
>>738738
>абстракцию если я не путаю
Не абстракцию. И даже не ООП.

Это наверное из тех самых красивых словечек - SOLID. Первый принцип - принцип единственной ответственности
Аноним 15/04/21 Чтв 03:27:50 738754 752
>>738751
Да, прошу прощения, был не прав
Честно говоря, что ООП, что SOLID - помнил в виде понятие - определение наверное только когда на работу устраивался, а после уже просто на автомате применял

>>738748
Хз чего ты от обучения языку и юнити хочешь, но откровенно говоря, что для работы тебе нужен англ уровня B2, что для клепания чего-нибудь самому, ибо решение почти всех твоих багов\запросов будет, скорее всего, на англе
Аноним 15/04/21 Чтв 07:00:40 738765 753
>>738754
>ибо решение почти всех твоих багов\запросов будет, скорее всего, на англе
гуглпереводчик никто не отменял - статьи так и читаю

А с английским у меня не складывается вот уже 20 лет. Хуй знает почему


Аноним 15/04/21 Чтв 15:42:32 738828 754
>>728504 (OP)
Quaternion.Angle(transform.rotation, hitCollider.transform.rotation) < 90)
Что делать, если у первого объекта transform.rotation.y 90, а у второго - 0?
Аноним 15/04/21 Чтв 15:44:29 738830 755
Аноним 15/04/21 Чтв 15:59:20 738835 756
Как же меня заебала реклама от XYZ или скиллбокс.
Аноним 15/04/21 Чтв 16:00:37 738836 757
>>738835
роман сакутин, спок.
Аноним 15/04/21 Чтв 16:11:31 738839 758
Кто-нибудь получал судебное уведомление от юнитеков? Они спамили на почту долго, а теперь физическое письмо пришло, лол.
Аноним 15/04/21 Чтв 16:43:15 738842 759
>>738839
Хахах, бля, и как тебя так угораздило?
Аноним 15/04/21 Чтв 18:55:39 738858 760
>>738839
Заработал 100к баксов и не хочешь делиться?
Аноним 16/04/21 Птн 01:11:08 738916 761
>>738839
Так давай подробности - за что тебя?
Аноним 16/04/21 Птн 01:42:48 738918 762
>>738839
Наглядное пособие как возродить тред одним постом
Аноним 16/04/21 Птн 11:47:23 738934 763
>>738839
Продаешь в ассетсторе и не платишь налоги?
Аноним 16/04/21 Птн 12:03:35 738936 764
>>738934
Ну тут бы не от юнитеков пришло
Вообще, тут или >>738858 прав, или >>738839 - анон спиздил какие-то ассеты (вероятней всего юнитеками сделанные) и использовал их в коммерческих целях, а юнитеки спалили


Аноним 16/04/21 Птн 20:15:08 739016 765
Аноны, а кто как полоски ХП плавно уменьшает?
Lerp делает все неравномерно и замедляется к концу, нам не подходит.
MoveTowards вообще для трансформов.
Просто минусовать по чуть-чуть в апдейте пока не станет примерно равно, а потом искусственно приравнивать?
Аноним 16/04/21 Птн 20:17:09 739018 766
Аноним 16/04/21 Птн 20:41:58 739019 767
>>739018
Огромное спасибо! Очень помог.
Аноним 16/04/21 Птн 21:00:25 739024 768
>>739016
Можно использовать не Vector3.MoveTowards, а Methf.MoveTowards.
Тогда он не для трансформов.
Аноним 16/04/21 Птн 21:04:26 739025 769
Аноним 17/04/21 Суб 13:09:51 739101 770
image.png 59Кб, 574x369
574x369
Пацаны, а вы используете атрибут [SerializedField]? Я до этого всегда им пользовался(пикрелейтед), но вот думаю в новых проектах может лучше просто public использовать. Тем более это логично, ведь эти поля задаются извне.
Аноним 17/04/21 Суб 13:11:17 739103 771
Хотя с другой стороны, с простыми публичными полями нормально не используешь атрибуты Space, Header, Range. Будет выглядить странно.
Аноним 17/04/21 Суб 15:53:23 739122 772
>>739101
>public

Жирно. Забудь про это вообще.
Аноним 17/04/21 Суб 18:53:27 739156 773
>>739101
Тогда уж лучше так
[HideInInspector] public ...
Аноним 17/04/21 Суб 20:48:56 739172 774
>>739101
SerializedField для того, чтобы переменную можно было задавать в инспекторе, а public - модификатор допуска
К чему вопрос вообще?
Аноним 18/04/21 Вск 05:04:07 739215 775
>>739172
Ну вот Brackeys везде ебашил паблики для работы в инспекторе... Теперь вот на века научил всех этому.

Я тоже по его урокам так делал
Аноним 18/04/21 Вск 18:14:56 739253 776
>>739215
В целом без разницы что ты будешь использовать, особенно если ты один проект делаешь, но лучше привыкнуть юзать [SerializedField], если ты не хочешь переменную публичной делать
Аноним 19/04/21 Пнд 03:49:34 739297 777
Что с cgpersia? С выходных не могу зайти. Где теперь нормально брать ассеты нищуку?
Аноним 19/04/21 Пнд 12:19:49 739309 778
>>739253
Покажи, как у тебя выглядит оформление полей скриптов.
Аноним 19/04/21 Пнд 16:03:21 739325 779
>>728504 (OP)
Курс - Сакутин - "9 Hyper Casual игр за 3 месяца" (2021)
Содержание:
01. Основы UNITY
02. Основы программирования
03. ProBuilder
04. Helix Jump
05. Fire Balls 3D
06. Tower Run
07. Snake VS Block
08. Perfect Slicer
09. Crowd Master 3D
10. Pockey Ball
11. Как работать с UI
12. Как работать со звуками
13. Система уровней
14. Отображение прогресса на уровне
15. Пеките блинцы
15. Базовые эффекты
16. Работа с Appodeal
17. Геймдизайн и маркетинг
https://cloud.mail.ru/public/uKnz/GBe4SqqA7/
Аноним 19/04/21 Пнд 18:05:17 739330 780
>>739325
Снова Скукутин. От бы кто спиратил Eccentric Games или на крайняк новую мочу сезона XYZ
Аноним 19/04/21 Пнд 18:05:28 739331 781
>>739325
Спасибо большое. Я так понимаю все курсы и ссылки на книги выше тоже ты выкладывал. За это все тоже спасибо.
Аноним 19/04/21 Пнд 20:10:07 739344 782
Господа, посоветуйте, пожалуйста, актуальный гайд по созданию контроллера от третьего лица
Аноним 19/04/21 Пнд 20:19:57 739345 783
>>739344
Под актуальным я подразумеваю, чтобы не конфликтовал с URP и новым инпут контроллером.
Не бейте, пожалуйста, за глупый вопрос, я новичок.
Аноним 19/04/21 Пнд 21:11:59 739349 784
Кто-нибудь использовал Zenject в реальных проектах? Насколько это вообще профитно по сравнению с обычными синглтонами и прочими сервис локаторами.
Аноним 19/04/21 Пнд 21:17:03 739350 785
image.png 19Кб, 672x238
672x238
image.png 17Кб, 536x213
536x213
image.png 18Кб, 466x281
466x281
Аноним 19/04/21 Пнд 21:49:52 739353 786
>>739344
>чтобы не конфликтовал с URP
Контроллер с URP вообще не связаны.
>новым инпут контроллером
Их одновременно оба можно в настройках включить и, например, потом старый на новый в коде контроллера заменить, так что тоже не проблема.
Аноним 19/04/21 Пнд 23:38:16 739360 787
>>739215
brackeys невозможно плохой код писал и земля ему пухом. ни разу я не видел ни одного шаблона программирования или элементарной гигиены проекта. даже не делал сноски что такую парашу использовать можно в лучшем случае как показуха для мамы. я бы его канал назвал чисто развлекательным или образовательным для детей. надеюсь он теперь сажает картошку или продаёт утюги по телефону и чувствует себя хорошо
Аноним 20/04/21 Втр 04:33:06 739368 788
>>739360
>brackeys невозможно плохой код писал
но при этом рабочий. Формат у него удачный.

Не как эти ебланы "сегодня мы делаем топ даун шутер"... почти все видео возятся в аниматоре настраивая анимации говнющего рыготного спрайта, почти ничего не кодят собственно по топ дауну
Аноним 20/04/21 Втр 04:37:08 739369 789
Такой вопрос - как сделать чтобы юнити компилировал скрипты при их сохранении?

Сейчас как (юнити 2021). Пишу код в студии, сохраняю... Затем активирую окно редактора юнити и он сразу же начинает их компилировать. Это хуйня раздражает - ведь я могу редактор открыть и через полчаса - так почему бы не сразу компилировать?

И помоему раньше так и было. Может где-то в настройках можно сделать?

То есть чтобы было так:
- пишу код
- нажимаю сохранить
- юнити сразу же компилирует (даже если свернут), а не ждет, когда я разверну его окно.
Аноним 20/04/21 Втр 05:42:58 739370 790
>>739369
> Такой вопрос - как сделать чтобы юнити компилировал скрипты при их сохранении?

> Сейчас как (юнити 2021). Пишу код в студии, сохраняю... Затем активирую окно редактора юнити и он сразу же начинает их компилировать. Это хуйня раздражает - ведь я могу редактор открыть и через полчаса - так почему бы не сразу компилировать?

> И помоему раньше так и было. Может где-то в настройках можно сделать?

> То есть чтобы было так:
> - пишу код
> - нажимаю сохранить
> - юнити сразу же компилирует (даже если свернут), а не ждет, когда я разверну его окно.
В книге Сыкутина все это есть.
Аноним 20/04/21 Втр 06:21:09 739371 791
>>739370
А мне без Сакутиных надо
Аноним 20/04/21 Втр 07:02:21 739374 792
>>739371
Жми вместо сохранения Shift+ctrl+B
Аноним 20/04/21 Втр 07:17:18 739376 793
>>739374
а при чем тут сборка? и нет, все равно не работает.

Все также - как только щелкаю по кнопке редактора юнити в панели задач, он начинает компилировать код
Аноним 20/04/21 Втр 07:17:47 739377 794
image.png 6Кб, 549x95
549x95
В чем смысл так делать?
Аноним 20/04/21 Втр 09:53:19 739380 795
>>739377
Правила хорошего тона. Однажды ты можешь попытаться напрямую изменить состояние в скрипте, потому что переменная будет публичной, и создашь тем самым баг. А так ты четко показываешь, что так сделать нельзя. Нужно изменять состояние через вызов специальных методов, либо скрипт сам управляет изменением состоянием.

Это в целом относится ко всем сериализуемым полям. Единственное, префикс "_" для приватных переменных я бы не использовал. Он нахуй не нужен и только портит код. И не делал бы state сериализуемым, ведь наверняка его нельзя просто так изменить из редактора. Значит это стартовое значение и назвать его startingState.
Аноним 20/04/21 Втр 10:03:10 739381 796
есть гайд, как настроить проект для совместный разработки?
Аноним 20/04/21 Втр 17:25:09 739417 797
Как вызывать скрипт через секунду после старта или полсекунды или микросекунду? То есть войд из скрипта. Мне надо вызывать на старте, но на старте не все объекты с этим скриптом срабатывают, а если вызывать войд на кнопку - срабатывает всё.
Аноним 20/04/21 Втр 17:28:01 739418 798
Аноним 20/04/21 Втр 17:30:08 739419 799
>>739417
Решил хуйню через онбикеймвизибол
Аноним 20/04/21 Втр 18:04:47 739423 800
>>739368
у Сакутина было штуки 4 стримов где он должен был что-то рассказывать, а вместо этого трахал спрайты и анимации. ни разу не видел чтоб он что-то делал, а не пездел
Аноним 20/04/21 Втр 22:18:48 739450 801
Здравствуйте, прошу прощения за нубский вопрос.
Мне надо, чтобы "персонаж" (шар) двигался по нажатию клавиш, но к нему можно было бы применять различные силы. Например, игрок катит его вперёд, но ветер сносит его назад. И чтобы игрок преодолевал ветер, создавая момент силы вперёд, в противодействие моменту силы назад, который создаёт ветер. И таким образом медленно двигался вперёд.
Для этого используется Rigidbody AddForce или AddImpulse? Насколько такие решения нежелательны для производительности?
Аноним 21/04/21 Срд 15:56:01 739516 802
Аноним 21/04/21 Срд 20:40:53 739540 803
Тут вообще есть изкаробки скелетная физика волос?
Ригидбади джоинты не поддерживают (игнорят) парент/чайлд связи.
Аноним 22/04/21 Чтв 03:40:16 739578 804
Я не вешаю скрипты на каждый gameobject в иерархии сцены. У меня есть один empty gameobject, на котором висят все игровые скрипты.
Просто чтобы было визуально удобно и не надо было шарится по древовидному списку объектов, чтобы что-то найти.
Например, надо реализовать главное меню, а именно : нажимаешь на "настройки" - открывается панель с настройками, нажимаешь на "помощь" - открывается панель с помощью.
Как я это делаю?
1. Создаю скрипт, называю его MainMenu.cs, в нем есть такое
[SerializeField]
Button buttonSettings, buttonHelp;
[SerializeField]
GameObject panelSettings, panelHelp
// Далее будет код, где вешаю события на кнопки:
// buttonSettings.onClick.addListener(ShowSettings) и т.п...
2. Вешаю этот скрипт на вышеупомянутый empty gameobject, и перетаскиваю в скрипт необходимые объекты в SerializeField.

Норм метод?
Аноним 22/04/21 Чтв 03:54:03 739580 805
>>739578
А зачем ты через код вешаешь события на кнопки, не проще и чище ли это сделать в инспекторе?
А в твоем скрипте оставить только settingsPanel?

Т.е так
- Нажатие на кнопку включает\передвигает куда надо settingsPanel (прописываешь public void onSettingsButton в скрипте MainMenu и вписываешь туда свой функционал включения панели\передвижения)
- На панели висит SettingsPanel.cs, в котором прописан нужный тебе функционал
- На панели чайлдами висят кнопки\слайдеры или что там тебе нужно, в которых через инспектор заданы ссылки на нужные методы из скрипта SettingsPanel

В итоге мы получаем MainMenu.cs, который менеджит только открытие других UI элементов и, например, выход из игры по нажатию back на смартфоне
И возможность настроить каждую нужную тебе панель не засоряя основной скрипт

Вообще бля, я месяца 3-4 назад писал хорошее меню для демки шутера, но на гите я его почему-то не вижу, если тебе интересно я могу поискать проект и мб ты систему наподобие той напишешь только уже утром
Хотя я уже не помню точно что там и мб оно тебе не подойдёт
Аноним 22/04/21 Чтв 11:22:54 739592 806
Подскажите интересных (бесплатных-пиратских) плагинов/ассетов/туториалов по спецэффектам для камеры в URP.
Аутлайны, блюр, блум, наложение текстуры на камеру, наложение текстуры на модели, зеркалка, фасеточное зрение, дисторшены, капли дождя - вот это вот все.
Аноним 22/04/21 Чтв 12:35:53 739605 807
>>739516
А правильно ли двигать персонажа через characterController.Move()? Это "плавное движение" или "телепортация"? Впрочем, на это похуй, вы мне только скажите, это хороший метод?
Аноним 22/04/21 Чтв 13:16:07 739610 808
>>739605
>characterController.Move()
Правильно или неправильно, что ты в это вкладываешь? Раз оно есть в движке, значит должно быть для чего-то нужно, не?
Любой метод хороший, смотря для каких задач. Ну нет, такого, что ты должен применять только один конкретный прием для всего.

Затести для своего случая, попробуй разные варианты, посмотри производительность в Profile Analyzer.

мимо новичок в юнити
Аноним 22/04/21 Чтв 14:56:23 739615 809
>>739122
>Жирно
Это что-то из разряда байтоебства? Или борцуха за чистоту кода?
Аноним 23/04/21 Птн 06:04:00 739659 810
>>739376
Ты всего лишь хотел сохранить проект и писать код дальше, а он тебе начал компилировать. Эти три часа, пока идеь компиляция серьезного проекта, не какой-то игрушечки в юнити, пить чай предлагаешь?
Аноним 23/04/21 Птн 20:11:14 739747 811
Реквестирую линк на dynamic bone, а то за 10 бачей жаба давит покупать.
Аноним 24/04/21 Суб 02:43:24 739784 812
>>739747
Да ты охуел, 10 баксов нормальная цена для такого ассета.
Аноним 24/04/21 Суб 09:30:40 739791 813
>>739784
Это со скидкой. Так-то он 20$ баксов стоит
Аноним 24/04/21 Суб 09:33:46 739792 814
>>739784
Его имеет смысл покупать, если ты им пользоваться будешь 24/7. А так я бы и от костылей не отказался.
Аноним 24/04/21 Суб 17:24:19 739844 815
>>739747
>dynamic bone
Сам нашел на рутрекере
Аноним 24/04/21 Суб 20:25:35 739865 816
image.png 78Кб, 1515x301
1515x301
Аноним 24/04/21 Суб 21:29:14 739874 817
>>739865
Help => Reset Packages to default

Хуле ты такая истеричка то?
Аноним 24/04/21 Суб 21:31:27 739876 818
>>739874
Потому что у продукта, который пилится уже десятилетие, при чистой установки и чистом импорте стандартных ассетов не должно быть ошибок на старте.
Аноним 24/04/21 Суб 21:31:52 739877 819
Аноним 24/04/21 Суб 21:42:40 739879 820
>>739876
Ты же понимаешь, что проблема не в проекте, а в импорте? У тебя слетели библиотеки. Такое бывает если ты скачал сначала последнюю версию, а потом "обновил" ее до более старой, если во время импорта были ошибки или если что-то конфликтует в проекте
причин на самом деле много, но ассета нет ни в одной

>стандартных ассетов
Это не юнитеков ассет
Аноним 24/04/21 Суб 21:47:13 739880 821
image.png 30Кб, 738x232
738x232
>>739879
Ну возможно, но только если импорт написан нормально, то и ошибка в нем крайне маловероятно. Окей, заебись, я попал в эту малую вероятность - тогда почему при импорте мне не сказали, что возникли ошибки? В общем похуй, работает
Аноним 24/04/21 Суб 21:47:34 739881 822
Аноним 24/04/21 Суб 21:53:15 739882 823
image.png 289Кб, 773x866
773x866
А почему у чувака с ютуба (справа) есть post-process layer, а у меня (слева) свойства FirstPersonCharacter заканчиваются на Flare layer?
Аноним 24/04/21 Суб 22:50:09 739894 824
>>739882
Потому что тебе нужно добавить компонент post-process layer

Вообще советую посмотреть какой-нибудь элементарный гайд, а не засорять тред подобными вопросами
Аноним 24/04/21 Суб 23:03:48 739895 825
>>739516
Я посмотрел ссылку уже после того, как сделал сам. И я сделал правильно, хех
Но тема плавного поворота осталась не раскрыта. Если делать через трансформ, то угол поворота может резко скакать, поэтому поворот дёрганый. Через Rigidbody.MoveRotation он вращает почему-то медленно, да ещё и не менее дёргано. Странно.
Как здешние завсегдатые реализуют вращения?
Аноним 24/04/21 Суб 23:45:49 739903 826
>>739894
>Вообще советую посмотреть какой-нибудь элементарный гайд
Лол, я и смотрю ТВОЙ ПЕРВЫЙ ДЕНЬ В UNITY
Аноним 24/04/21 Суб 23:46:58 739905 827
>>739894
Но если ты подскажешь курс, где создают какую-нибудь 3д-игрулю (а не сраную аркаду) и без хардового кодинга по началу, буду благодарен
Аноним 24/04/21 Суб 23:49:09 739907 828
Аноним 25/04/21 Вск 02:49:22 739921 829
image.png 36Кб, 658x782
658x782
image.png 13Кб, 649x161
649x161
image.png 8Кб, 416x156
416x156
Есть абстрактный класс Item пик1, его наследует класс Ladder пик2, почему я в инспекторе не могу вставить Ladder в лист Item'ов?
List<Item> sellableItems;

При этом через код всё работает как надо пик3

Аноним 25/04/21 Вск 02:49:54 739922 830
>>739921
С пиками обосрался, но думаю и так всё понятно
Аноним 25/04/21 Вск 05:27:09 739929 831
Есть две сцены, на них обьекты text c тегом «to translate”
Вызываю метод FindGameObjectsWithTag в первой - находит все. Во второй только 3. Почему может такое быть?
Все эти объекты enabled в обоих сценах.
Аноним 25/04/21 Вск 10:12:31 739935 832
>>739895
>не менее дёргано
Попробуй морозить по Y, когда вращаешь.
Аноним 25/04/21 Вск 14:00:01 739950 833
image.png 226Кб, 475x233
475x233
Можно ли стандартными средствами юнити, без плагинов, насыпать энное количество примитивов на сцену, в рандомном порядке? Тип как пикл
Аноним 25/04/21 Вск 14:13:59 739952 834
image.png 728Кб, 1161x591
1161x591
А как убрать это уебищное размазывание текста?
Аноним 25/04/21 Вск 14:31:44 739954 835
>>739950
Напиши скрипт, который будет тебе насыпать энное кол-во твоих блоков на сцену

>>739952
Используй TextMeshPro или увеличь FontSize
Аноним 25/04/21 Вск 14:32:42 739955 836
>>739952
Пиздец, нажал плей и все примитивы с надписями проебались, в иерархии их больше нет. CTRL+Z их не возвращает. охуенно
Аноним 25/04/21 Вск 14:36:47 739957 837
>>739955
Ты в режиме игры что-то менял на сцене, почти все изменения в режиме игры не сохраняются
Серьезно, просто посмотри ЭЛЕМЕНТАРНЫЙ гайд где обьясняется не как сделать 3д игру в юнити, а как в принципе в юнити работать
Аноним 25/04/21 Вск 15:58:21 739968 838
image.png 30Кб, 467x562
467x562
Как "поставить на пол" примитив? Есть префаб из примитива, но при перетаскивании на сцену, он утоплен в plane
Аноним 25/04/21 Вск 16:37:09 739976 839
>>739968
Коллайдеры делаешь объекту и земле. Shift+Ctrl+C будет его по друому коллайдеру водить, если я правильно понял что ты хочешь
Аноним 25/04/21 Вск 17:13:51 739978 840
image.png 140Кб, 987x571
987x571
image.png 68Кб, 940x404
940x404
А какого хуя этот большой блок посередине (отметил красным) прозрачный для окклюзии?
Задал ему оклюдер статик, по толщине вроде норм, все объекты находятся в occlusion area
Аноним 25/04/21 Вск 18:34:11 739983 841
Анончики, привет
Максимально уебаный вопрос от залетыша. Я - макака в базах данных, plsql и все такое.
Хочу вкатиться в разработку, чтобы сделать через год-два-десять подарок тянке: она фанатеет от игры oxenfree. Насколько нереально (или реально) сделать такой проект самому? 2д, продуманный сюжет, графика и так далее.
Спасибо
Аноним 25/04/21 Вск 18:37:21 739984 842
>>739983
При желании можно что угодно сделать, тут проблема в том, что ты выгоришь уже спустя месяц-два такой разработки.
Плюс всю графику нужно делать самому или закупать
Аноним 25/04/21 Вск 19:47:32 739993 843
>>739983
Вполне реально, если есть мотивация. Но с такой как у тебя - забросишь проект еще раньше, чем дропнешь свою тянку.
Аноним 25/04/21 Вск 20:06:01 740000 844
>>739984
>>739993
Спасибо за ответ
Про инфу о моей мотивации спрашивать не буду - не интересно
Аноним 26/04/21 Пнд 12:08:14 740033 845
Можно как-то переменную защитить/скрыть, чтобы через отладчик по типу ILSpy нельзя было отредактировать?
Аноним 26/04/21 Пнд 12:15:51 740034 846
Аноним 26/04/21 Пнд 13:37:25 740049 847
>>739921
У меня была похожая ситуация. Сделал через ковариантность.
Аноним 26/04/21 Пнд 13:59:00 740055 848
image.png 24Кб, 540x411
540x411
>>740049
Я уже просто кастомный скрипт сделал для кнопки.
Пока искал причину - выяснилось, что юнитеки уже как 5 лет обещают добавить взаимодействие испектора с интерфейсами, но увы и ах
Аноним 26/04/21 Пнд 15:55:29 740082 849
Подскажите нубу как лучше реализовать хранение/подгрузку моделей/материалов/звуков.
Сейчас у меня есть 1 монобех на сцене, назвал его AssetManager, в котором куча public переменных куда я курсором таскаю ассеты. В других же скриптах когда надо я беру оттуда ссылки на нужные ассеты.
Но думаю что это хуевый способ, ведь он забивает память ассетами, даже когда они не нужны на сцене?
Аноним 26/04/21 Пнд 16:08:29 740085 850
Аноним 26/04/21 Пнд 20:30:31 740140 851
16152785079940.png 3850Кб, 1448x1920
1448x1920
Есть список хороших практик в юнити для различных аспектов игры?

Есть интересные исходники, от каких-нибудь маэстро, которые делают 10/10 и на них стоит ровняться?
Да и вообще, есть где исходники разных проектов полистать?
Аноним 26/04/21 Пнд 23:01:51 740171 852
>>740140
>Да и вообще, есть где исходники разных проектов полистать?
https://github.com
Аноним 26/04/21 Пнд 23:21:49 740174 853
image.png 13Кб, 523x194
523x194
Почему срабатывает onValueChanged.AddListener(ResolutionSelect)?
Я присваиваю значение из PlayerPrefs и только потом вешаю обработчик. В итоге, при запуске сцены запускается ResolutionSelect, хотя я не выбирал ничего
Аноним 26/04/21 Пнд 23:31:50 740178 854
>>740174
Отбой, в коде ниже обосрался
Аноним 27/04/21 Втр 01:14:21 740181 855
изображение.png 19Кб, 1173x304
1173x304
изображение.png 30Кб, 282x359
282x359
Зеленый Кирилл выеб себе весь мозг и просит о помощи.

Вроде бы делал все по инструкции но где то объебался.

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

Если еще кто то объяснить отчего если методу OverlapCircle первым аргументом отдать точку transform.position он в любом случае будет коннектить коллайдер "земли" сколь бы маленький радиус не был задан?
Аноним 27/04/21 Втр 09:21:53 740192 856
Как горизонтально сгруппировать объекты(картинки) в Scroll View? Я пытался, но у меня все они друг на друга ложатся и гг
Аноним 27/04/21 Втр 11:20:11 740204 857
>>740192
Horizontal Layout Group - компонент
Аноним 27/04/21 Втр 12:34:37 740208 858
2.png 16Кб, 866x379
866x379
1.png 10Кб, 468x307
468x307
>>728504 (OP)
Как сделать чтобы проекты в unity hub создавались в другом install?
Аноним 27/04/21 Втр 12:38:24 740209 859
>>740208
Всё, нашёл, там стрелочка возле "New"
Аноним 27/04/21 Втр 22:32:44 740283 860
Реально ли найти человека, который за бабки в подробностях распишет аналоги инструментов, фреймворков, библиотек и паттернов из других сред для Юнити?

Не гуглится вообще нихуя. На гитхабе проекты 5летней давности в полтора комита, в сторе за кучу денег походу такое же говно.
Аноним 27/04/21 Втр 22:43:22 740284 861
>>739968
Grabbit - Editor Physics Transforms
Аноним 27/04/21 Втр 23:08:20 740285 862
>>740283
Вот ты написал вроде, а нихуя не понятно что ты хочешь чтобы тебе описали
Аноним 27/04/21 Втр 23:21:35 740287 863
>>740285
Да все что угодно. Вот хочу орм, с миграциями, фикстурами, и всей хуйней. Или хочу стейт-менеджер для хттп-запросов с кэшем и всей хуйней. Или хочу CI/CD, шоб каждый билд проверяло на гейфоне и ведроиде.
Аноним 28/04/21 Срд 12:40:43 740321 864
Объясните - что за магию сделал автор в этом видео что у него появилась обработка стен

Видео
https://www.youtube.com/watch?v=QTSWm1RsvzY

на 15:30 он пишет одну строчку кода if (Mathf.RoundToInt(targetGridPos.x)%2 ==0 || Mathf.RoundToInt(targetGridPos.z) % 2 == 0)
И у него после этой строчки игрок не может пройти сквозь стены

Я смотрю код - и просто нихуя не понимаю как так получилось
Вот абсолютно весь код https://pastebin.com/jATEUyJp

При этом на игроке НЕТ никаких коллайдеров или ригидбоди - это видно на 15:07 - у него октрыт объект Player - в нем только трансформ и два скрипта кода (в пасте весь их код).


КАК ТОГДА БЛЯДЬ юнити находит столкновение со стенами? Оно реально работает. И я не понимаю как
Аноним 28/04/21 Срд 13:56:48 740322 865
>>740321
>Я установил кубы на чётных позициях XZ и если игрок пытается туда идти - он не может
Что не понятно?
Аноним 28/04/21 Срд 13:58:28 740323 866
>>740322
И в конце он повторяет
>Если мы двигаемся на клетку, где X или Z - чётное число - выполняется это else, если нет - выполняется это код в блоке if
Аноним 28/04/21 Срд 14:50:38 740327 867
Аноним 29/04/21 Чтв 10:50:05 740388 868
>>740284
Казалось бы при чем тут это.

В любом 3д-редакторе есть хоткей, чтобы прихуярить одну поверхность к другой. В юнити до этого еще не дошли, да?
Аноним 29/04/21 Чтв 11:39:07 740392 869
image.png 6Кб, 196x93
196x93
Как исправить эти злоебучие пиксели (текст шакального качества)?
Аноним 29/04/21 Чтв 12:03:32 740397 870
>>740392
textmeshpro вместо text, он же встроенный в юнити с какой-то там версии
Аноним 29/04/21 Чтв 12:07:28 740398 871
Аноним 29/04/21 Чтв 16:36:22 740428 872
Привет, двач. Почему у меня корутина не ставит паузу?


private float waitForSeconds = 10f;


public void WrongAnswer()
{


Colour();
//System.Threading.Thread.Sleep(500);

SceneManager.LoadScene(17); //Выход в главное меню

//Меняются команды
if (GameManager.isyellowteam == 0)
{

GameManager.isyellowteam = 1;
}

else if (GameManager.isyellowteam == 1)
{
GameManager.isyellowteam = 0;


}
}


IEnumerator Pause()
{
print("Pause");
yield return new WaitForSeconds(waitForSeconds);

correct_bt.GetComponent<Graphic>().color = Color.black;

}

private void Colour()
{

StartCoroutine(Pause());
print("Colour");


}
Аноним 30/04/21 Птн 08:45:43 740490 873
>>739423
Привет, анончики. А как в материале с Additive шейдером партиклей получить нужный цвет, если эффект с этим материалом назодится на фоне источника освещения? Получается бело-желтый цвет.
Аноним 30/04/21 Птн 08:46:21 740491 874
>>740490
Нечаянно задел пост, соррян.
Аноним 30/04/21 Птн 11:04:55 740502 875
Аноны, подскажите, вот в 2д есть тайлсеты - можно елозить мышкой и рисовать карту из спрайтов

А есть что-то такое для 3д?

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

Ну неужели за столько лет ничего более удобного в 3д не придумали?
Аноним 30/04/21 Птн 11:47:02 740505 876
15815969235160.jpg 190Кб, 811x676
811x676
Братишки, как оптимизировать сцену при сборке что бы удалить из нее все что не используется в сцене?
Аноним 30/04/21 Птн 12:28:47 740507 877
>>740505
Юнити билдит только то, что используется в проекте, и всегда папку Resources, если она есть
Аноним 30/04/21 Птн 12:34:16 740508 878
>>740502
Поставь на своей карте BoxCollider, напиши кастомный скрипт с [ExecuteInEditMode], который будет ловить клик мышки и на месте клика устанавливать нужный тебе префаб, равняя его по XZ как тебе нужно (например округляя до целых значений, если у тебя все префабы 1х1 скейлом), для переключения можно кастомный UI сделать, в котором также выбрать Execute in editor, вроде современный UI это без кода позволяет сделать, или в твоем скрипте забиндить переключение на 1-2-3-4... или колесико мышки
Еще бы посоветовал при этом через скрипт проверять не наслаиваются ли у тебя префабы, чтобы при случайном клике у тебя не было в одном месте 3 тайла твоих
Аноним 30/04/21 Птн 14:46:18 740515 879
14546586194960.jpg 101Кб, 800x516
800x516
>>740507
Так вот именно что он весь мусор что я закину в проект но не исполняется в сцене билдит.(да-да я знаю что я криворукий уебан который изначально не может все акуратно стуктурировать) Как мне отсечь все ненужно и удалить из проекта перед тем как зибилдить? Может скрипт какой есть или тулза?
Аноним 30/04/21 Птн 14:48:32 740516 880
>>740515
Я тебе повторяю - юнити в билд добавляет только то, что используется на сценах, которые ты билдишь, или то, что в папке ресурсов, всё остальное в билд не попадает
Аноним 30/04/21 Птн 14:59:21 740517 881
14685821553472.jpg 1689Кб, 3500x1965
3500x1965
>>740516
Ну ок, Оставим это. А вот если я хочу клиенту экспортировать Package с нужными асетами (что бы он сам подвигал обьекты в сцене) как в этом случае удалить все лишнее что бы пакет не весил овердохера гнинов?
Аноним 30/04/21 Птн 15:03:44 740518 882
Аноним 30/04/21 Птн 15:14:45 740522 883
КАК СТАТЬ КИБОР[...].png 311Кб, 576x425
576x425
Аноним 30/04/21 Птн 18:29:46 740538 884
У всех unity вылетает при выполнение метода myList.add(info)?
Где:
(int, int) info = (0, 0);
List<(int, int)> myList = new List<(int, int)>;

Я так понимаю, про использование списков лучше забыть.

Треду нужен перекат.
Аноним 30/04/21 Птн 18:31:21 740539 885
>>740538
>List<(int, int)> myList = new List<(int, int)>();
Самофикс.
Аноним 02/05/21 Вск 08:35:25 740662 886
Не могу почему-то кликнуть по кнопке Raycast Target везде включён, Event System на сцене есть. Вот такая иерархия короче
Canvas > GameObject > ScrollView > Viemport > Content > Level 1 > Button
Аноним 02/05/21 Вск 11:35:18 740674 887
>>740538
Какая версия?
Именно с (int,int) я не проверял, но (int, AudioClip) и другие тупл типы у меня работают.
Как альтернатива создай класс или структуру с 2мя полями int, и повесь Serialized на них, в лист добавляй эти типы, работало до появление туплов.

>>740662
У тебя на сцене есть объект EventListner, выбери его в инспекторе, залокой инспектор замком, наведи мышкой на свою кнопку и посмотри в инспекторе какой объект под мышкой (скорее всего какая-то невидимая панель или что-нибудь такое)
Аноним 02/05/21 Вск 13:10:43 740693 888
image.png 49Кб, 872x791
872x791
Объясните тупому, что не так делаю?
Аноним 02/05/21 Вск 15:00:53 740720 889
>>740693
Ты вывел 3 строки, а в задании написано "нужна 1 строка"
Удали 9 и 8 и сделай 1 вызов WriteLine с текстом "This is the first line This is the second line This is the third line".
Похоже перевод кривой.
Еще можешь попробовать вместо WriteLine использовать Write
Аноним 02/05/21 Вск 15:53:52 740746 890
>>740720
Да я по всякому пробовал. И оба твоих варианта. Никакой не засчитало.
А то что в ответе указано все в одном предолжении "This is the first line This is the second line This is the third line" - так это, наверное кривая разметка, которая не может в разделение строк.
Кроче скипнул это, дальше всё норм идёт.
Аноним 02/05/21 Вск 17:59:17 740786 891
16093642405100.mp4 1025Кб, 716x720, 00:00:07
716x720
Хочу перенести все конфиги и синглтоны в аналог сервис локатора. Загружаться они будут в зависимости от текущего конфига проекта. Если стоит дебаг, то часть сервисов будут подменены фейковыми и часть конфигов будут дебажными. Насколько норм такое решение?

var gameConfig = GameContext.Get<GameConfig>();
var roomRules = GameContext.Get<RoomRules>();
var balanceSheet= GameContext.Get<BalanceSheet>();

var backendService = GameContext.Get<IBackendService>();
backendService.LogIn();
backendService.LoadPlayerData();

var objectPool = GameContext.Get<ObjectPool>();
objctPool.Release(this.gameObject);

var locale = GameContext.Get<Locale>();
headerUI.text = locale.GetString("ui_header");


С другой стороны, Юнити не очень котирует такие решения. Они часто используют синглтоны. Может тот же ObjectPool и Locale оставить синглтонами. Сервисы, которые изменяются в зависимости от контекста проекта перенести в синглтон Services, а конфиги перенести в синглтон Configs:

var gameConfig = Configs.Get<GameConfig>();
var roomRules = Configs.Get<RoomRules>();
var balanceSheet= Configs.Get<BalanceSheet>();

var backendService = Services.Get<IBackendService>();
backendService.LogIn();
backendService.LoadPlayerData();

ObjectPool.Release(this.gameObject);

headerUI.text = Locale.GetString("ui_header");
Аноним 02/05/21 Вск 18:05:28 740788 892
image.png 12Кб, 329x173
329x173
>>740674
если я правильно понял, то scroll view блокирует кнопку, как это исправить не меняя иерархию?
Аноним 03/05/21 Пнд 06:13:27 740819 893
Ку аноны! Хотел спросить на счет курсов skillbox, geekbrains и тп. Как они? Стоят своих денег? Или лучше книги, ютуб, юдеми и тд. Спасибо за ответы!
Аноним 03/05/21 Пнд 09:56:55 740836 894
>>740788
У Image убери галочку RaycastTarget

>>740786
Норм, добавь в свой локатор тип сервиса "FindInScene" (или назови как хочешь).
Запилил сложный проект на локаторах и был доволен как слон, но! сервисы и порядок вызовов не особо дружат с многопоточностью (т.к. они для бизнеса были созданны, а не для игрушек-хуюшек), держи это в голове.

>>740819
Лучше взять простую идею, начать её делать и гуглить все то что не получается.
Курсы норм только если они тебя устроят после прохождения, на работе получишь вообще весь опыт.
Аноним 03/05/21 Пнд 14:46:49 740870 895
Я правильно понимаю, что Awake и Start вызываются до того, как будет отрисован первый кадр сцены?
Аноним 03/05/21 Пнд 19:28:18 740940 896
Аноним 03/05/21 Пнд 20:21:52 740952 897
фвфывфывфывя.png 35Кб, 294x378
294x378
Господа, почему у меня Input.GetAxis("Mouse Y") и Input.GetAxisRaw("Mouse Y") постоянно пидорасит?
Они то 0 показывают, то значения вне диапазона от -1 до 1.
На скрине я просто мышкой по кругу вожу
Аноним 04/05/21 Втр 07:27:01 740975 898
>>740836
> У Image убери галочку RaycastTarget
Event System теперь вообще не видит, что я на кнопку кликаю
Аноним 04/05/21 Втр 13:57:21 741005 899
Аноним 04/05/21 Втр 15:33:15 741014 900
11kio-wku1s.jpg 79Кб, 600x600
600x600
Короче, я дозрел до того, что никаких "игр мечты" мне делать не хочется, а хочется денег. Есть некоторые навыки по всем направлениям (кодинг, 2Д\3Д графика, геймдиз, звук), только нужно освежить и апнуть, т.к. несколько лет ничего не делал. И есть готовность заниматься всякой бездуховностью типа гиперказуалок на мобилки.
Протипы, напутствия? Смогу ли я за полгода начать зарабатывать на минимальное проживание 15-30к? Куда тыкнуться, чтобы лучше ориентироваться в рынке?
Аноним 04/05/21 Втр 15:37:34 741015 901
>>741014
Хотел в ньюфаготред запостить и перепутал вкладки. Да и ладно, все равно я с Юнити буду работать.
Аноним 04/05/21 Втр 17:06:21 741024 902
>>741014
Ты напоминаешь меня немного, если я правильно понял тебя. Тоже пока не хочется создавать или придумывать свою ебу, а просто хочу работать. Геймдев выбрал скорее из-за того, что по душе ближе чем другие области из айти. Может не так тошнить будет.
Ну а ты если тупа ради денег, то за пол года лучше в веб вкатится. И работы больше и зп больше.
Аноним 04/05/21 Втр 20:14:16 741043 903
>>741014
Составь табличку фирм, желательно рускоговорящих и у которых дым пожиже и шли им потоком прототипы для ГК. Рано или поздно один из них сможет набрать нужные показатели на тестировании метрик и ты станешь миллионером.

>кодинг, 2Д\3Д графика, геймдиз, звук
Если ты уверен что сможешь сделать игру, которая не будет выглядеть дешёво и от очередного Кирилла, то ты молодец и тебе осталось научиться покупать трафик в плюс, т.к. органический трафик остался в 2010.

>Куда тыкнуться, чтобы лучше ориентироваться в рынке?
Почитай истории неудач, где с более-менее нормальной игрой и угробленными 10-20к зелени проёбывались и не отбивали потраченных сумм.
Чисто для того, что бы сбить с себя спесь. Думаешь ГК просто делать? Удерживать лохов, в правильно пропорции давать морковку и самое главное придумать - залипательную кор. механику.
Кирилл в небольшом недоумении. Аноним 04/05/21 Втр 20:16:59 741044 904
изображение.png 278Кб, 1539x866
1539x866
Пытаюсь вкатиться в геймдев и пилю что то вроде тренировочного полигона. Появилась пара вопросов:
При выключении скрипта но не уничтожении коллайдера противника он продолжает существовать и все еще может убить персонажа через OnCollisionEnter2D.

Разве отключение скрипта не должно превращать объект в декорацию?


Аноним 04/05/21 Втр 20:22:17 741045 905
Аноним 04/05/21 Втр 20:25:14 741046 906
>>741044
Раздели экран на две части в одной запусти игру, на сцене же убери галочку со скрипта.
Все остальные компоненты остались и работают, скрипт всего лишь компонент, если хочешь уничтожить весь объект то делай Destroy(this);
Аноним 04/05/21 Втр 20:26:59 741048 907
>>741045
Я не мог накосячить, единственное, что у меня с мышкой делается во всей игре - управляется камера силами cinemachine и выводится в консоль
print(Input.GetAxis("Mouse Y"));
И это реально ВСЁ.
Синемашин не трогал, в код не лез, ничего, кроме параметров в инспекторе не менял

Кстати, реально не замечал строчку
"If the axis is mapped to the mouse, the value is different and will not be in the range of -1...1. Instead it'll be the current mouse delta multiplied by the axis sensitivity. Typically a positive value means the mouse is moving right/down and a negative value means the mouse is moving left/up."

Значит половина вопроса решена. А почему оно всё время в ноль то сбрасывается?
Аноним 04/05/21 Втр 20:44:44 741049 908
изображение.png 8Кб, 480x242
480x242
>>741046
При убирании галочки со скрипта перестает работать Update() в котором висит функция Run. То есть объект останавливается.

Однако если к нему подойти Метод OnCollisionEnter все еще работает и убивает персонажа.

И вот я не понимаю , то ли это особенность Юнити то ли я где то проебся
Аноним 04/05/21 Втр 21:01:53 741051 909
>>741049
Может ты из своего синглтрона "КириллГеймМенеджер" вызываешь, метод из скрипта? Даже с отключенной галочкой в неактивном скрипте, его методы можно вызвать и Awake() тоже, вроде будут работать.
Аноним 04/05/21 Втр 21:22:08 741052 910
16180446215720.jpg 54Кб, 468x600
468x600
>>728504 (OP)
Киньте ньюфагу по организации архитектуры игры, желательно на learn.unity или может учебные какие материалы, хочу разобраться в системах сообщений, конечных автоматах -- как и когда использовать и написать под свои нужды.
Аноним 04/05/21 Втр 21:30:30 741053 911
>>741051
Ноуп. Даже не знаю что это
Аноним 04/05/21 Втр 22:08:50 741056 912
Forge Networking кто-нибудь использует? Как оно?
Аноним 04/05/21 Втр 22:41:23 741066 913
Аноним 04/05/21 Втр 22:56:33 741069 914
>>741066
Ты про это?
>Note: Collision events will be sent to disabled MonoBehaviours, to allow enabling Behaviours in response to collisions.
Алсо зачем тебе вообще отключать, лишь скрипт?
Ты либо отключаешь объект полностью и добавляешь в пулл объектов которые потом можно использовать вместо создания или просто удаляешь его.
Аноним 05/05/21 Срд 06:24:50 741075 915
Я проверяю состояние переменных в Update(), то есть каждый кадр и в зависимости от их состояния выдаю игроку достижение в стиме, мне кажется это не совсем правильно потому что в дальнейшем эта процедура больше не нужна, можно это как-то кокоптимизировать?

И правильно ли я выдаю достижения? Без проверки на то что они уже получены

SteamUserStats.SetAchievement("ACHIEVMENT");
SteamUserStats.StoreStats();
Аноним 05/05/21 Срд 11:52:59 741084 916
>>728504 (OP)
Может быть кто нибудь из вас объяснит мне тупому, как мне использовать новую версию движка на проекте, который был сделан на старом?

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

Вот и как блять работать? Нахуя делать обновы если они сука несовместимы с предыдущими версиями? А если это исправляется, то объясните мне пожалуйста cockим образом????
Аноним 05/05/21 Срд 14:59:18 741100 917
Аноним 05/05/21 Срд 15:00:53 741101 918
>>741084
В юнити хаб, нужно проставить версию и потом, оно должно спросить подтверждение и переконфигурировать весь проект.
Аноним 05/05/21 Срд 15:16:18 741102 919
>>741101
У меня там не было такой опции
Аноним 05/05/21 Срд 15:17:32 741103 920
>>741101
Там есть окно выбора версии, но он дает выбрать только ту на которой проект делался
Аноним 05/05/21 Срд 15:46:16 741111 921
>>741101
А, все, спасибо анон, у меня просто юнити ебанулась, щас все видит
Аноним 06/05/21 Чтв 15:40:17 741340 922
>>740693
анонче а что это за сайт ?
Аноним 06/05/21 Чтв 16:48:16 741353 923
Аноним 06/05/21 Чтв 21:49:59 741377 924
Как отключить самозатенение, но затенение от других объектов и отбрасывание тени на пол оставить?
Аноним 07/05/21 Птн 11:31:18 741413 925
Аноним 07/05/21 Птн 11:41:35 741415 926
фффффффф.JPG 198Кб, 1917x954
1917x954
Братишки, закинул модель прифабом в проект, а он не дает редактировать материалы. Что нужно сделать для редактирования?
Из прифаба извлек, бочку дела. WTF?
Аноним 07/05/21 Птн 13:08:13 741420 927
>>741415
все оказалась тревиально.
Аноним 07/05/21 Птн 15:01:22 741427 928
Аноним 07/05/21 Птн 15:14:38 741428 929
>>741413
>$30
Пиздос, видимо поэтому в тырпрайзе и используют FindObjectWithType, чтобы с инспектором не иметь дел и не делать платные расширения для него

>>741420
Создать отдельный материал?
Аноним 07/05/21 Птн 16:04:08 741430 930
Глупый вопрос наверное.
В юнити возможно совмещение спрайтовой(классической анимации) и костной?
То есть большую часть времени(ходить, прыгать, пить травы лечебные) персонаж анимируется костно , а в каких то моментах , где классически?
Аноним 07/05/21 Птн 16:41:01 741432 931
>>741430
Ты в такие моменты можешь отключить 1 модельку и включить 2ю (спрайтовую) отыграть спрайтовую анимацию и включать назад скелетную модельку.

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

на самом деле я до конца не понял как именно ты хочешь, возможно если распишешь лучше, накидаю еще способов
Аноним 08/05/21 Суб 18:45:04 741688 932
>>728504 (OP)
Что за хуйня с пакетами 3D Prototyping Pack и 2D Prototyping Pack, которые дают после того как окончил несколько туторилов на learn.unity.com, что за конфликты? Хули все так криво и через жопу? В чистый проект импортирую и все сыпется.
Аноним 08/05/21 Суб 19:05:36 741694 933
>>741688
Проверь какая вресия была в туториалах, скорее всего за это время были breaking changes тоже с этого горит т.к. проекты до 2018г в последней версии юнити нельзя открыть
Аноним 09/05/21 Вск 12:49:30 741816 934
Стоит ли запекать тени на текстуре или лучше в движке? Камера в игре имеет только 1 степень свободы.
Аноним 09/05/21 Вск 14:36:11 741853 935
>>741694
C юнити 5 до 2018.4 апал пару проектов, хз чего ты говоришь нельзя
Можно, просто не все и нужно фиксить новые баги
Аноним 09/05/21 Вск 16:19:28 741894 936
>>741816
Запечь будет производительней, но если тебе не критично и ты делаешь пиксельную мобилку зачем заморачиваться?
Аноним 09/05/21 Вск 16:20:34 741895 937
image.png 409Кб, 2552x1424
2552x1424
image.png 606Кб, 2552x1424
2552x1424
image.png 98Кб, 550x1424
550x1424
image.png 31Кб, 550x404
550x404
image.png 9Кб, 550x110
550x110
>>728504 (OP)
Нет, я серьезно нихуя не понимаю. Беру значит создаю просто скрипт с именем допустим Test (пикрил 1). Ничего с ним не делаю, сразу пытаюсь перенести в объект, а мне выдает пикрил 2.

Я уже заебался, я все установил, что надо, а нихуя не меняется. На форумах сказано что ошибка выскакивает если имя файла не совпадает с именем в коде. НО ОНО БЛЯТЬ СОВПАДАЕТ (пикрил 3).

У меня есть мысль что это из-за того что юнити добавляет к имени "(Mono Script)"(пикрил 4), но это даже не изменить никак. СУКА КАК ЭТО ФИКСИТЬ НАХУЙ Я НЕ ПОНИМАЮ.

Если же такое проворачивать напрямую через объект (Add component - New script), то этот компонент просто блокируется и с ним нихуя не сделать (пикрил 5)

ПОМОГИТЕ МНЕ ПОЖАЛУЙСТА!!!! Версия движка 2020.3.7f1
Аноним 09/05/21 Вск 16:21:46 741896 938
image.png 3Кб, 430x66
430x66
Как соединить? Или так нельзя?
Аноним 09/05/21 Вск 17:36:02 741945 939
>>741896
Ты строчку слепить хочешь или что?
var newString = Data.level_ + scene + "_Hui";

>>741895
Не называй свой класс Test и не будет проблем
Аноним 09/05/21 Вск 17:40:37 741948 940
>>741945
Я разобрался. Это был конфликт пакета с версией двига (как я понял лол). Ибо на 2019 года версии он без проблем все исполнил
Аноним 09/05/21 Вск 17:41:17 741949 941
>>741945
А вообще в рот я ебал если двиг такую хуйню исполняет. Никакого User-Friendly
Аноним 09/05/21 Вск 18:15:43 741960 942
>>741949
Я так понимаю ты тот же анон, который уже почти месяц тут бугуртит прикрывая свое незнание "недостатками" движка.

Как я понимаю это просто конфликтное название, которое по какой-то причине юнитеки тебе не дают юзать. По хорошему стоит называть свои классы нормально, вместо Test -> ControlsTest, MovementTest, ActionsTest и т.д, и не будет никаких конфликтов
Аноним 09/05/21 Вск 18:29:48 741967 943
>>741960
Я здесь со вчерашнего дня (а то и с сегодняшнего)

Тут дело не в названии. Если ты взглянешь на последний пик, то увидишь что скрипт по другому назывался. Я чисто для примера СЮДА назвал скрипт тест. А так я работал с PlayerController.sh. Он выебурил и на это название, и на название типа "s", и даже на дефолтное название которое дается скрипту при создании. Так что я склоняюсь больше к конфликту ассета и версии двига ( за что дизреспект разрабам)
Аноним 09/05/21 Вск 18:31:37 741969 944
>>741960
Потом он вообще какую-то хуйню начал исполнять и загенерил мне 125+ ошибок при сборке. А еще в VS не отображались подсказки. При установке другой версии и замене в настройках работы с IDE по хардкоду (до этого стояла опция в стиле "распознавать IDE которая открывает эти файлы") все разрешилось
Аноним 10/05/21 Пнд 09:15:58 742084 945
>>741967
>Тут дело не в названии
Конкретно тут дело таки в названии. Так как такую ошибку я ранее не видел, то решил сам проверить на пустом проекте в 2021 - да, скрипт с именем Test при попытке прикрепить его к объекту выдает эту ошибку.
Возможно это имя зарезервировано. Возможно оно конфликтует с пакетом TestFramework (остальные пакеты у меня как раз были удалены)
Аноним 10/05/21 Пнд 09:18:25 742085 946
>>741967
>PlayerController.sh
>.sh

И что у тебя за расширение такое?

Конечно же на такое тоже будет ругаться - юнити не считает это скриптом
Аноним 10/05/21 Пнд 09:29:14 742086 947
Охуеть, помню я тут спрашивал как выводить 3д объекты также как 2д спрайты в тайлмапе...

Оказалось что юнити это умеет - надо было поставить extras tilemap пакет и в результате на тайлпаме можно будет рисовать трехмерными префабами

https://www.youtube.com/watch?v=ulFc6p3hQzQ

Как же мне не хватало именно таких инструментов раньше.
Аноним 10/05/21 Пнд 09:30:03 742087 948
Есть ли разница в создании клона объекта во время игры и размещением нескольких копий префаба в редакторе?
Аноним 11/05/21 Втр 08:56:19 742288 949
Кто работал с пост обработкой под мобилки? Как лучше сделать для экономии производительности? Какой из представленных в ассет сторе набор "Mobile Optimized Post Processing" юзали?
Аноним 11/05/21 Втр 13:04:35 742368 950
>>742288
Постпроцессинг и мобильки вещи не несовместимые.
Аноним 11/05/21 Втр 13:19:32 742396 951
>>742368
И всё же? Допустим, очень надо
Аноним 11/05/21 Втр 13:30:17 742405 952
Ребзи, для проекта в котором будет гексогональная карта, и 3д модели персонажей нужно стартовать проект в 2Д или 3Д?
И вообще из 2Д проекта в 3Д можно перекатиться без проблем?
Аноним 11/05/21 Втр 18:59:41 742485 953
Новичку есть что лучше юзать? Обычную Вижл Студию или Вижл Студию Код можно накатить?
Аноним 11/05/21 Втр 21:28:21 742498 954
>>742405
Никакой разницы, переключить можно. Единственная разница в установленных пакетах. Придется самому устанавливаться спрайт эдитор тот же, если стартанул в 3д.
>>742485
Студия пиздец громоздкая и если у тебя юнити не на ссд, то будет тупить сначала она, потом студия. ВС код же легче и работает очень быстро, но нужно будет накатывать моды для сниппетов и дебага.
Аноним 11/05/21 Втр 21:41:15 742502 955
>>742498
>но нужно будет накатывать моды для сниппетов и дебага.
Спасибо. А где взять инфу по настройке?
Аноним 11/05/21 Втр 21:45:08 742503 956
>>742502
При первом включение, она будет пуста как только откроешь скрипт её, сам ВС код предложит накатить С# расширение, потом в окошке с модами набираешь "unity" и ставишь: дебаг, сниппеты для быстрого набора юнити функций, быстрый доступ к документации по выделенному фрагменту.
Аноним 11/05/21 Втр 21:50:29 742505 957
image.png 25Кб, 319x362
319x362
>>742503
Ага, накатил какие-то. Спасибо.
Аноним 12/05/21 Срд 04:48:44 742561 958
>>742396
Если только ради интереса посмотреть, ну тогда любой выбирай, и смотри.
Аноним 13/05/21 Чтв 11:46:11 742752 959
кал.png 14Кб, 600x545
600x545
Бандиты игровой индустрии, помогите. Вводная: я бездарность, который может максимум высрать статичный копроспрайт. Решил накатить 2д анимейшен пекедж для скелетной анимации, ибо я не могу нарисовать сам анимации.
Так вот, вроде разбил спрайты на слои в фотошопе, настроил всю залупу, проверил все веса костей, но вот чет у меня при простом переходе между двумя фреймами происходит странный КРУГ ВОКРУГ ОСИ у главной кости одной из ног, а не просто прямой переход из точки А в точку Б анимации.
И ведь самое мемное, что я уже так делал с другим спрайтом персонажа и все было нормально. Я даже сравнил их, все в один в один у них, но пидорасит именно 2-й спрайт и сука только с одной ногой. Остальные части тела нормально себя ведут. Примерно так это выглядит записать гифку не могу.
Аноним 13/05/21 Чтв 13:50:49 742797 960
>>742752
представил как угарно должен бегать персонаж (в 3д) с такой траекторией ног. как в мультфильмах. ничего не фикси, мой тебе совет.
Аноним 13/05/21 Чтв 20:48:02 743021 961
Подскажите статьи или видео, желательно англоязычные, в которых поясняется, как с помощью циклов располагать по-всякому объекты.
Аноним 13/05/21 Чтв 21:08:09 743028 962
image.png 1152Кб, 1080x1080
1080x1080
вы все тут такие сложные темы обсуждаете по программированию, а я ещё даже не начинал изучать юнети, так страшно, что я не справлюсь
Аноним 13/05/21 Чтв 21:21:08 743033 963
>>743021
Из твоего сообщения непонятно что именно тебе надо, лучше сформулируй нормально и спроси у гугла, потому что способов много
Аноним 13/05/21 Чтв 21:44:11 743044 964
>>743033
Ознакомительная статья или видео, допустим, инстанцировать кубы в шахматном порядке или зигзагом. Я не могу нагуглить.
Аноним 13/05/21 Чтв 21:47:59 743049 965
>>743044
того что ты просишь у меня нет, но если интересует, могу скинуть степ-бай-степ гайд на выставление здоровья у главного героя по дефолту
Аноним 13/05/21 Чтв 21:51:58 743051 966
>>743049
>степ-бай-степ гайд
Намекаешь на то, что я дурачок? Я не отрицаю, только начал изучать массивы как средство чего=то большего, чем просто перечисление списка.
Аноним 13/05/21 Чтв 22:03:47 743055 967
>>743051
чел, ты изучи массивы. потом пойми как выставлять позицию у объекта. https://docs.unity3d.com/ScriptReference/Transform-position.html

а потом просто иди по массиву и выставляй каждому позицию которую надо (вычисляешь ее от текущего индекса в цикле, например).
Аноним 13/05/21 Чтв 22:17:27 743059 968
>>743055
Ну меня интересует тема со всякими формулами, чтобы выставлять объекты, например, в форме квадрата или в треугольника, или прямую линию, но, например, каждый метр смещающуюся в лево, а потом назад. То, что ты предлагаешь, я уже знаю.
Аноним 13/05/21 Чтв 22:31:26 743060 969
>>743059
> Ну меня интересует тема со всякими формулами, чтобы выставлять объекты, например, в форме квадрата или в треугольника

Охуеть. Школьники уже юните ДО курса вступительной геометрии начинают изучать.

Пардон что стебу (или это троллинг тупостью?), но тут же все просто: определяешь точки фигуры. Потом делаешь это https://docs.unity3d.com/ScriptReference/Vector3.Lerp.html
Аноним 13/05/21 Чтв 23:02:07 743069 970
>>743060
Не думаю, что вступительная геометрия объясняет, как спавнить в юнити объекты разными узорами с помощью перечислителей.
Аноним 13/05/21 Чтв 23:02:31 743070 971
>>743060
А причем здесь лерп?
Аноним 13/05/21 Чтв 23:12:09 743074 972
>>743070
>>743069
Я повторяю, ты не можешь обьяснить что тебе нужно, 90% ответа - правильно заданный вопрос
не тот анон, что тебе выше отвечал
Аноним 13/05/21 Чтв 23:25:43 743076 973
>>743069
Он сам сказал что знает как работать с массивами и как выставлять позицию. Все оставшееся - это именно геометрия.

>>743070
Я предположил что ему нужно выставить объекты как в какой-нибудь страте. 20 объектов на треугольник - вот тебе и лерп.
Аноним 13/05/21 Чтв 23:37:27 743079 974
>>743074
Мне нужна статья или видео, где написано или показано на примерах, как оперировать расположением объектов с помощью перечислителей, по типу как в абзаце Building a structure https://docs.unity3d.com/Manual/InstantiatingPrefabs.html
Аноним 13/05/21 Чтв 23:41:13 743081 975
>>743074
>ты не можешь обьяснить что тебе нужно
>Подскажите статьи или видео, желательно англоязычные, в которых поясняется, как с помощью циклов располагать по-всякому объекты
>интересует тема со всякими формулами, чтобы выставлять объекты, например, в форме квадрата или в треугольника
Ясно, кое кто не умеет читать.
Аноним 13/05/21 Чтв 23:48:25 743083 976
image.png 60Кб, 1416x645
1416x645
image.png 10Кб, 561x206
561x206
>>743079
Всё еще не совсем понятно, конечно.
Ну вот на пиках пример рандомной генерации руды на гриде, пик2 - запускает функцию, пик1 - определяет какую руду спавнить в клетке.
В целом ты можешь любой нужный тебе патерн прописать, не думаю, что для такого есть гайд, который тебе с твоей конкретной задачей поможет, нужно просто по одному принципу делать.
Хочешь квадрат:

int perimetr = 5;
for (x = 0, x < perimetr, x++){
for (z = 0, z < perimetr, z++){
Instantiate(block, new Vector3(x,0,z), Quaternion.identity);
}
}
Вот тебе квадрат на плоскости. Хочешь куб - делаешь тоже самое, только добавляешь Y

>>743081
маня, плиз. Если ты нормально сформулируешь вопрос, то ты его нагуглишь без проблем

Аноним 14/05/21 Птн 00:00:45 743085 977
>>743083
Прикольно. Вот я хочу так же мастерски оперировать спавном объектов, только не могу найти ни одного урока. Моет, подскаешь, что мне написать в гугле, чтобы начать с азов?
Аноним 14/05/21 Птн 00:10:35 743088 978
>>743085
Тебе сначала решить нужно для каких целей тебе это надо. То, что я кинул выше - моя переделка грида для игры градостроя. Если хочешь игру с гридом - https://www.youtube.com/playlist?list=PLzDRvYVwl53uhO8yhqxcyjDImRjO9W722
Только там совсем не азы.

В целом вот, листай - выбирай что понравится - смотри.
https://www.youtube.com/results?search_query=unity+procedural+generation

Но процедурная генерация не самая простая задача, лучше сначала разобраться в более базовых вещах, чтобы таким заниматься
Аноним 14/05/21 Птн 00:11:34 743089 979
>>743088
>моя переделка грида для игры градостроя
В смысле грида, который изначально делался для игры градостроя, написал как аутист
Аноним 14/05/21 Птн 00:52:04 743093 980
>>743088
Да, это немного другой уровень. Мне бы основы.
Аноним 14/05/21 Птн 01:03:14 743094 981
>>743089
>как аутист
>unity
Почему как?
Аноним 14/05/21 Птн 01:05:30 743095 982
14919892865150.jpg 22Кб, 284x436
284x436
>>743094
Смешно, но всё равно пошел нахуй
Аноним 14/05/21 Птн 08:30:33 743126 983
ыыыыыыыыыы.JPG 199Кб, 1921x925
1921x925
>>741420
Да, и перетаскиваем его на кластер
Аноним 14/05/21 Птн 09:11:00 743130 984
14283909299291.jpg 129Кб, 745x1024
745x1024
Антощы, спрошу может кто поможет.
Это я один такой "уникальный" что после того как в HUB создал проект он повторно через него не открывается, приходится открывать его в эксплорере и уже от туда запускать саму сцену. Если через хаб запускаю то сплеш скрин юньки появляется и ни-ху-я.
Куда капнуть что бы этот ебучий хаб работал как надо? Пробова разные версии юнити результат иденьтичен.
Аноним 14/05/21 Птн 10:39:14 743142 985
>>743130
Попробуй версию проставить во второй колонке, хлебушек.
Аноним 14/05/21 Птн 18:35:18 743225 986
>>741415
>прифаб
>>743126
>тревиально
Тебе UE4 больше подойдет.
Аноним 14/05/21 Птн 21:14:22 743243 987
какой минус движка в плане разработки?
Аноним 14/05/21 Птн 21:20:41 743245 988
>>743243
Смотря с чем сравнивать. Нет мультиплеера из коробки, нет особо удобного контроллера из коробки. Но это всё гуглится и имплементируется за 10-15 минут
Аноним 14/05/21 Птн 21:21:57 743246 989
>>743245
>Нет мультиплеера из коробки, нет особо удобного контроллера из коробки
что это,но простыми словами
Аноним 14/05/21 Птн 21:38:31 743250 990
>>743246
Ну если ты настолько зеленый, то тебе нет особой разницы на анриле или на юнити работать
Аноним 15/05/21 Суб 06:29:36 743282 991
Аноним 15/05/21 Суб 19:27:11 743360 992
image.png 246Кб, 1366x724
1366x724
Сап, что за беда? Я же только создал пустой проект, почему оно ругается?!
Аноним 15/05/21 Суб 19:56:25 743366 993
>>743360
Ассет кривой поставил какой? Где-то потерялась ссылка на UI в проекте, в пустом такого быть не может.
Аноним 15/05/21 Суб 20:20:26 743369 994
>>743360
Реимпортни ассет, который ставил
+ попробуй реимпортнуть Unity UI (внизу Project, папка packages вроде)
Аноним 15/05/21 Суб 20:48:57 743373 995
>>743369
В том-то и дело, что ассеты ещё не ставил, только создал 2д проект.

>попробуй реимпортнуть Unity UI (внизу Project, папка packages вроде)
Спасибо, попробую.

Алсо, создал новый уже под мобильный 2д, ошибки пропали. Хз почему.
Аноним 15/05/21 Суб 23:06:19 743390 996
16208865126822.png 144Кб, 397x746
397x746
Можете прояснить момент?
Прохожу Junior Programmer, официальный туториал и нахожусь где-то в середине, делаю все задания, пересматриваю непонятный моменты, хотя в большинстве своем пока не очень сложно было делать эти простые прототипы.

Что я буду представлять по его окончанию? Моих знаний, хватит чтобы сделать допустим мобильную игру, от которой не будет ощущение "колхоз"?
Аноним 16/05/21 Вск 00:08:22 743400 997
Делаю 2д платформер. Лучше использовать Rigidbody 2d или писать свои компоненты для 2 гравитации,подъема в горку, прыжкам по платформам и тп?
Аноним 16/05/21 Вск 00:54:50 743403 998
>>743400
Rigidbody 2d + свой контроллер
Писать свою физику нет смысла, когда она встроена в движок
16/05/21 Вск 04:52:37 743410 999
>>743403
Вот тут, например, чувак делает несколько рейкастов в 4 стороны, чтобы 1) понимать, находится ля перед ним горка 2) падать, когда нет платформы или по нажатию, если с нее можно спуститься.
На сколько это оправданно?
https://youtu.be/1i1hTLU6JTY
Аноним 16/05/21 Вск 12:14:56 743415 1000
>>743410
Колижны можно ловить встроенной физикой
если на персонаже RB + Collider, то он через стену не пройдёт, через пол не упадет
Рейкаст вниз обычно делается чтобы isGrounded проверять, чтобы игрок мог прыгать только когда стоит на платформе\земле
Аноним 16/05/21 Вск 13:46:09 743422 1001
>>743390
Это что? Этот где? Со всякими курсами за плечами можно на хуй пройти, они что-то будут значить, если у тебя за спиной чильная практика в программировании есть, чтобф просто освоить движок, например. А так - это наеба для даунов, ты так же освоишь движок, но писать код не научишься.
Аноним 16/05/21 Вск 14:42:01 743434 1002
>>743422
Официальный бесплатный курс на сайте юнити, поэтапно раскрывающие все фишки движка. Говорят, что он лучший.
Аноним 16/05/21 Вск 21:38:11 743483 1003
Можно ли как то посмотреть в редакторе размеры меша? В UE просто можно, причем там расстояние в метрах показывает. Есть ли аналогичный функционал у юнити?
Аноним 16/05/21 Вск 23:34:14 743504 1004
Посоны, поясните долбоебу, почему при:
this.transform.position = new Vector3(0, 0, 0);
Объект перемещается на 0, 0, -640 ? Что за хуйня?
Аноним 17/05/21 Пнд 00:54:48 743511 1005
Аноним 17/05/21 Пнд 00:57:50 743512 1006
>>743504
По твоим двумя строчкам такого быть не может. Насрал где-то еще в коде и не можешь теперь найди.
Аноним 17/05/21 Пнд 02:52:09 743520 1007
>>743512
Может таки, починил уже. Канвас - камера скрин спейс, Plane distance у канваса стоит 5, объект дочерний этого канваса. В итоге объект за канвас смещался
Аноним 17/05/21 Пнд 11:34:44 743543 1008
Господа, как рисовать один объект всегда впереди всех остальных, несмотря на то, где он находится относительно камеры?
Например, есть куб, он находится от камеры дальше, чем шар и пирамидка, но отрисовывается поверх них
Аноним 17/05/21 Пнд 12:09:39 743549 1009
>>743543
Как я понимаю это 3Д, сделай кастомный шейдер, гугл в помощь
Аноним 17/05/21 Пнд 13:00:59 743553 1010
А есть тут юнетологи мидлового и сеньёрского уровня?
Как определить сколько денег просить на собеседовании?
Я 2 года проработал в одном месте, сейчас впервые меняю работу. На первое место работы попал по знакомству. На hh.ru вижу вакансии и на 50к и на 150к с моим уровнем знаний.
Если я не правильно выбрал тред, сорян
Аноним 17/05/21 Пнд 13:04:19 743554 1011
>>743553
Посмотри среднее зп по региону, если компания большая - погугли, мб в отзывах или где инфа будет.
Думаю около 100к можешь просить спокойно
Аноним 17/05/21 Пнд 13:05:08 743556 1012
>>743549
Не вели казнить, но как это гуглить?
Аноним 17/05/21 Пнд 13:06:51 743557 1013
>>743554
>Думаю около 100к можешь просить спокойно
Это ты по одному стажу в 2 года так решил?
Аноним 17/05/21 Пнд 13:06:54 743558 1014
Аноним 17/05/21 Пнд 13:08:02 743559 1015
peepoThink.png 20Кб, 128x122
128x122
>>743554
А прокатит если я не буду в резюме указывать ожидаемую зп и просто посмотрю сколько они сами в job offer-е предложат и потом выберу среди всех офферов самый солидный? Или идея кал?
Спасибо за ответ
Аноним 17/05/21 Пнд 13:10:43 743560 1016
>>743557
Зп от 50к до 150к
2 года опыта это уровень минимум стронг мидл да, так не говорят, если не пинал хуи
В любом случае по итогам собеседования предложат свою зп

>>743559
Прокатит, но оффер всегда будет или меньше, или указанная тобой цифра, я думаю. В любом случае тебя не покусают, если попросишь больше, чем тебе хотят предложить, а спустя 1-2 собеседования уже поймёшь сколько просить\ожидать
Аноним 17/05/21 Пнд 20:31:44 743621 1017
>>743559
Бля, я только сейчас заметил, что у тебя вопрос "не указывать ожидаемую зп", а не наоборот
Нихуя не спал сегодня и ничего не понимаю.
Ну да, можно и не указывать, я так делал, когда устраивался в первый раз. Но обычно эйчар спрашивает желаемую зарплату и всё равно какую-то цифру нужно будет назвать
Аноним 17/05/21 Пнд 22:56:18 743648 1018
Сап, гдач. Мне тут понадобилось изменять скорость воспроизведения видео (ускорять, замедлять, делать отрицательную), но дефолтный видеоплеер делает это по-ебаному.
AvPro может поможет, но он стоит 400 бачей, а я нищий гейдевелопер. Кто-нибудь может посоветовать ассет подешевле, который поможет с моей проблемой либо дать инфу, где можно нагло спиратиь AvPro?
Аноним 17/05/21 Пнд 23:39:24 743655 1019
Аноним 17/05/21 Пнд 23:43:52 743656 1020
>>743655
Напиши скрипт и закастоми редактор как тебе надо или просто отдебаж нужные тебе значения, можешь даже в режиме сцены через ExecuteInEditMode или как там
Аноним 18/05/21 Втр 08:15:50 743672 1021
Анон, который ворует Сакутина - ты тут?

Не пиздил его курс unity для профессионалов - от джуна до мидла?

Там у него вроде как про паттерны по отношению к юнити

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

Мне оно для собеседования, чтобы я мог рассказать что такое какой-нибудь zenject (все одно же на практике нахуй не надо) или пояснить за TDD

По расписанию курса там вроде все кратенько, а не растянуто на 100500 часов онлайн.

- похуй на качество его курсов, мне только базовую идею понять - дальше я сам додумкаю, или уже отдельно нагуглю. (да и он своим чсв задает фон, на основе которого потом спрашивают на собесах - можно заметить что многие перенимают его чсв закидоны)
Аноним 18/05/21 Втр 09:03:41 743685 1022
NiT.gif 11380Кб, 350x350
350x350
Антоши, а ктонибуть встречал асет или тулзу для измерения наклона угла поверхности в юньке. Заказчик требует трассу с наклоном в 30 градусов, хотелось это не на глаз это делать, а прям тыкнуть ему скриншотом что здесь именно столько сколько он указал в ТЗ.
Аноним 18/05/21 Втр 10:05:33 743688 1023
Аноним 18/05/21 Втр 10:58:16 743691 1024
Аноним 18/05/21 Втр 12:24:00 743699 1025
>>743691
так это на джуна карс
Аноним 18/05/21 Втр 12:32:58 743704 1026
изображение.png 45Кб, 823x895
823x895
>>743691
нет, я про курс с пикчи, там поинтересней тема. Вроде как пираты на него деньги собирали, может где-то уже утек?
Аноним 18/05/21 Втр 12:38:09 743706 1027
>>743704
С курсов Сакутина ничему особо не научишься потому что они хуйня
Ну а твой пикрил периодически за 10$ продается на скидке, или подожди, или попробуй нагуглить
Аноним 18/05/21 Втр 14:01:47 743719 1028
Что нужно знать из C# помимо основ, чтоб можно было уверенно тыкать движок?
Аноним 18/05/21 Втр 15:45:27 743726 1029
Аноним 18/05/21 Втр 16:51:22 743734 1030
Недавно закатился
поскажите плз анон, нажав плей видео карта ебашит в 100ку
сижу на ноуте
Аноним 18/05/21 Втр 17:34:50 743740 1031
Аноним 18/05/21 Втр 18:14:56 743743 1032
>>743734
оптимизируй своё говно
Аноним 18/05/21 Втр 18:17:16 743744 1033
>>743734
Или проект слишком тяжелый для твоей системы, или видеокарта не охлаждается нормально. Тяжелые проекты лучше делать на ПК с мощной системой и охлаждением
Аноним 18/05/21 Втр 20:16:53 743755 1034
здесь кто-нибудь работал с организацией игры по сети через FACEPUNCH.STEAMWORKS ? Нужна пара консультаций по управлению лобби, взамен могу проконсультировать по арту, отрисовать пару-тройку иконок или небольшой арт на проф уровне. вообще помочь с 2д
Аноним 19/05/21 Срд 04:24:58 743800 1035
Аноним 19/05/21 Срд 09:24:42 743808 1036
>>743800
Он под C++ написан, чтоб юнити к нему прикрутить надо достаточно глубоко в него нырять. В фейспанче уже все реализовано под юнити, но сходу тоже не разобраться - тут вроде как все описано, https://wiki.facepunch.com/steamworks/SteamMatchmaking.OnLobbyCreated , но что куда втыкать я пока не врубаюсь

У меня в игре(пошаговая тактика) по сути примитивная реализация P2P соединения и обмен числовыми значениями. То есть мне надо создать лобби, законнектить в него 1 человека, проверить лицензию стима. У обоих игроков будет запущена своя версия игры, они только будут отсылать друг другу свои ходы. То есть один игрок выбирает карту и сразу отсылает второму число
, например, 56 (5 - номер карты, 6 действие) и у второго игрока по этому номеру через апдейт проверку совершается действие. Такой по факту примитив, но пока мне сложно для понимания с точки зрения организации всего этого
Аноним 19/05/21 Срд 11:26:27 743829 1037
Я правильно понимаю принцип работы Resources.Load, что он может подгружать нужные ресурсы во время выполнения с харда и соответственно не жрать лишнюю память?
Аноним 19/05/21 Срд 11:56:18 743832 1038
>>743829
Правильно. Но тебе вручную нужно выгружать неиспользуемые ресурсы. Ещё нужно иметь ввиду, что Resources работает только с файлами добавленными в папку Resources. Таких папок может быть несколько, он их все включает в билд. Ассеты вне этой папки могут не попасть в билд, если на них нет ссылки в проекте. А файлы из Resources 100% попадут в билд, даже если на них нет нигде ссылок.
Аноним 19/05/21 Срд 12:04:13 743833 1039
image.png 112Кб, 880x863
880x863
Пацаны, а это нормально хранить какие-то рантаймданные в скриптаблобжекте? На пике храню словарь для удобного поиска предмета по его айди.
Аноним 19/05/21 Срд 12:43:27 743849 1040
>>743832
>Но тебе вручную нужно выгружать неиспользуемые ресурсы
А это как? Тут же автоматический сборщик должен работать.
Аноним 19/05/21 Срд 14:01:37 743859 1041
Почему у меня картинка на Panel перекрывает спавнящиеся на сцену объекты? Объекты спавнятся как GameObject из префаба
Аноним 19/05/21 Срд 20:13:52 743912 1042
>>728504 (OP)
Насколько DOTS готов к продакшену ?
Аноним 19/05/21 Срд 22:39:36 743933 1043
image.png 121Кб, 1096x1036
1096x1036
image.png 54Кб, 621x795
621x795
Всем привет, почему инпут система не работает? Объект со скриптом на сцене лежит. TouchControls - сгенерированный из Input Asset`а класс.
Аноним 20/05/21 Чтв 09:42:46 743982 1044
>>743833
При перезапуске сцены у тебя LazyItemById не кешируется?
Я отдельный метод для инициализации всегда вызываю т.к. часть данных между сценами плавает, что наталкивает на мысль, что скриптаблОбжект должен быть иммутабельным во время игрового процесса, ну да ладно.

>>743859
UI всегда рисуется поверх игровой камеры

>>743912
Они все еще пилят его, есть уже людишки которые делают игры на нем CodeMonkey
Аноним 20/05/21 Чтв 12:02:00 743998 1045
>>743706
> С курсов Сакутина ничему особо не научишься потому что они хуйня
Ооок, что тогда?
Аноним 20/05/21 Чтв 12:11:51 743999 1046
Аноним 20/05/21 Чтв 13:29:44 744003 1047
>>743982
>При перезапуске сцены у тебя LazyItemById не кешируется?
Нет, потому что я использовал атрибут NonSerialized
Аноним 20/05/21 Чтв 15:11:48 744009 1048
>>738690
Ну кстати Suckutin же дело говорит по поводу оформления кода. Это может стать бонусом при трудоустройстве, который по факту почти не требует от тебя усилий, просто пиши по другому.
Аноним 20/05/21 Чтв 15:37:32 744012 1049
Как мне в скрипте получить Rotation объекта как в самом Unity?
Аноним 20/05/21 Чтв 15:54:12 744015 1050
>>744012
Vector3 rot = transform.rotation.eulerAngles;
Аноним 20/05/21 Чтв 15:57:59 744018 1051
>>744015
В отличии от интерфейса самого Unity (как я просил), в этой хуйне после поворота на 90 число не увеличивается, а стремится к нулю.
Аноним 20/05/21 Чтв 17:05:18 744034 1052
123 — копия.png 187Кб, 858x450
858x450
Посоны, посмотрел видос этого вашего сакутина. В чем проблема использовать имя объекта, а не тег? Почему на пике лучше?
Аноним 20/05/21 Чтв 17:42:07 744050 1053
>>744034
Что проще, с помощью IDE набирать первый два символа типа или писать по памяти тег как строку? А если у тебя этих тегов дохуя? Если у тебя там дохуя логики на этом завязано и ты в одном из них проебался, то тебя ждут часы увлекательного дебага.
Аноним 20/05/21 Чтв 17:42:49 744051 1054
>>744034
Потому что имя можно сменить и забыть. И по общему правилу в колижнах теги используются

>Посоны, посмотрел видос этого вашего сакутина
Дурак?
Аноним 20/05/21 Чтв 18:08:55 744056 1055
Можно ли как-то в самой игре показать оси перемещения?
Аноним 20/05/21 Чтв 18:12:42 744059 1056
>>744056
Недавно в ассет сторе на распродаже видел ассет, который это делает. Погугли, может найдёшь его, а там и спиратить можно.
Ну или сам напиши, если тебе просто визуально отобразить нужно - DebugRay по осям
Аноним 20/05/21 Чтв 18:13:38 744060 1057
>>744059
>DebugRay
В игре не отображается
Аноним 20/05/21 Чтв 18:15:03 744061 1058
>>744050
>>744051
То есть ничего криминального со стороны производительности в использовании имени нет? Только для читаемости кода?
Аноним 20/05/21 Чтв 18:18:29 744062 1059
>>744060
Виноват.
Ну можешь самое банальное - три куба прицепить по осям, решений много, особенно если тебе просто показать оси нужно.

>>744061
В целом да, теги удобней и безопасней просто. Плюс если у тебя герой, например, умирает коснувшись врага - не проще ли тегом отметить всех врагов, у которых могут быть совсем разные имена? Spider, Spider(1), Snake, BigTittyMommy, ну ты понял
Аноним 20/05/21 Чтв 18:24:46 744063 1060
>>744062
>теги удобней и безопасней просто
Так Сакутин то говорит, что надо прикрепленному компоненту, а не по тэгу работать.

мимо
Аноним 20/05/21 Чтв 18:25:39 744064 1061
>>744063
Ну так я и не Сакутин
Аноним 20/05/21 Чтв 19:04:57 744078 1062
Посоны, кто-нибудь размещал игры в appgallery? Гугл говорит что unityads без гугл сервисов на телефоне не работает, как показывать рекламу в хуавей сторах?
Аноним 20/05/21 Чтв 19:34:48 744100 1063
У меня в главном меню на фоне зацикленное видео включается (работает через Video Output и Raw Image, делал по гайду) и на шинде всё ок, но когда тещу на ляликсе, то картинка просто чёрная на фоне, как это исправить?
Аноним 20/05/21 Чтв 23:31:39 744123 1064
>>743933
Потому что юнити в очередной раз выкинуло кривое, нечитаемое, переусложненное говно, которое еще и ломается.
Аноним 21/05/21 Птн 12:06:25 744154 1065
Hello, world
Работаю "мидом" за 100к (4 года в индустрии) мобильный геймдев
Решил подыскать себе место с более высокой ЗП.
Пока был на 3 собеседованиях в этом месяце, выяснил, что даже над казуалками работают по 2-3 прогера на проект, и там требуют такие вещи, как SOLID, KISS, DI (инжекты), IoC, и MVC (спорное требование для юнити).
Некоторых из принципов солида я придерживаюсь, но скорее на интуитивном уровне.
_
Собственно, мне б хотелось почитать годную литературы или посмотреть курсы использования всего этого именно в Unity C#, чтобы не тупить на собесах и уметь применять это на практике.
Добавлю лишь, что среди 30 чужих проектов, которые я так или иначе видел во время работы, только в одном было подобие архитектуры, построенной на вышеназванных принципах.
Аноним 21/05/21 Птн 12:15:54 744156 1066
>>744154
>>738692
Там 2 неплохие книжки, я когда их читал даже небольшой конспект вёл, мне в итоге помогло устроиться.
Подержи в курсе как всё пройдёт и что спрашивают, собираюсь тоже в ближайшее время работу менять, интересно было бы послушать
Аноним 21/05/21 Птн 12:31:48 744162 1067
>>744156
Спасибо, мне еще на 1 собесе порекомендовали Мартин Фаулер "Рефакторинг", но там на JS вроде. Типа как легаси код превратить в красивый современный 2003 год, ага.
По собесам у меня еще след неделя расписана, веду так сказать, дневник-отчет, если не забуду, до конца мая отпишу здесь.
Пока что еще попросил повышения ЗП у руководителя, он обещал поговорить с начальством.
Уходить-то не хочется: 7 часов в день, трекинга задач нет, 1 прогер на проект, сроки я сам себе устанавливаю, соглашаю их лишь с ГеймДиректором
Аноним 21/05/21 Птн 12:36:00 744164 1068
>>744162
>Уходить-то не хочется
Понимаю, у меня ситуация еще слаще твоей, руководство волнует только обьем проделанной работы, а не отсижаные часы, работаю по 4-5 часов в день, процессы все налажены и вообще всё чудно кроме зп в 40к
Аноним 21/05/21 Птн 12:40:18 744166 1069
>>744034
Оба примера хуйня. Ты должен использовать абстракции. Допустим, тебе по триггеру нужно отнять ХП. Для этого ты запрашиваешь компонент Health(можно по интерфейсу IHealth), далее наносишь урон:
health.TakeDamage(50, DamageType.Physical);

Внутри Health может быть разная логика. Если это жизни игрока, то он может срезать урон бронёй. Если наносится урон ядом, то какой-нибудь паук будет к нему невосприимчив. И так далее.
Аноним 21/05/21 Птн 12:41:51 744167 1070
>>744166
>можно по интерфейсу IHealth
Напутал. Если это интерфейс, то он скорее должен быть IDamageable, что говорит о том, что данный объект может принимать урон.
Аноним 21/05/21 Птн 13:02:44 744174 1071
>>744166
>Для этого ты запрашиваешь компонент Health
А на производительности не скажется каждый раз к компоненту обращаться?
Аноним 21/05/21 Птн 13:18:15 744178 1072
>>744174
Зависит от проекта. Если у тебя какая-нибудь стратежка с сотнями юнитов, тогда нужно использовать ECS.
Аноним 21/05/21 Птн 18:32:34 744213 1073
>>744154
Ты лучше скажи, что на таких собесах требуют по технической части, по самому юнити.
Аноним 21/05/21 Птн 20:04:49 744219 1074
Ба, да у вас тред походу утонул, надо перекатывать
Аноним 21/05/21 Птн 22:13:18 744235 1075
Аноним 22/05/21 Суб 01:02:23 744280 1076
>>743833
Сами юнити учили, что так можно.
Есть где-то серия видосов, где показывают, что SO можно использовать в рантайме для хранения глобальных переменных.
Аноним 24/05/21 Пнд 18:29:12 744689 1077
>>744213
>Ты лучше скажи, что на таких собесах требуют по технической части, по самому юнити.
Написать ОС. Сделать борду. Решить задачу трех тел в общем случае.
Аноним 27/05/21 Чтв 09:13:49 745043 1078
>>744063
> Так Сакутин то говорит, что надо прикрепленному компоненту, а не по тэгу работать.
Чисто с точки зрения производительности, в данном случае проверка тэга может быть быстрее. Поскольку ты не пытаешься конвертировать весь объект в объект Player, а просто сравниваешь строчку тэга.
Аноним 13/06/21 Вск 19:55:05 748215 1079
Как часто относительно метода Update() новая input system откидывает события?
Аноним 27/06/21 Вск 22:55:55 750957 1080
А как работает scalе и какие в принципе размеры надо делать у одного тайла? А то во всех туторах видел у всех все по единички, но на деле мылит и текстуры и всякие UI элементы по типу кнопок. Складывается впечатление, что этот момент интуитивен понятен, а я один дибил.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов