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

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

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

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

Официальный сайт: 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
3 449673
>>49671
Это что за хуй? Кто-то из местных?
4 449674
>>49673
С геймдев.ру. Видео у него ламповые. Стоит посмотреть.
5 449679
почему юнити тормозит?
6 449680
>>49679
Потому что может.
7 449682
>>49671
За синглтон убивать нужно нахуй. Дебилы ебаные.

>>49679
Потому что у тебя руки из очка торчат. Изучай базу.
8 449683
>>49679
Потому что те кто брезгают синглтоном, получают поток инстансов себе в лицо.
9 449687
>>49619 (OP)
Стремно только, что приходится все поля паблик делать, чтобы были видны в инспекторе.
10 449689
>>49674
Хватит уже на сосаче пиариться.
11 449696
>>49674

>когда я делал данжелот



Это реально он данжелот делал?

Какик же, все равно, русскоязычные видосы унылые, по сравнению с буржуйскими.
thisisbait.png66 Кб, 625x626
12 449697
13 449699
>>49682
Начальный объект не синглтон? А модули сменяемые какого-то объекта синглтоны?
14 449701
>>49687
И не говори, бротиш.
15 449702
Парни, помогите с задачкой по геометрии. Есть камера с определённым фиксированным ротейшоном по Х. Я хочу передвинуть камеру в какие-то ебеня и центрировать на чём-либо. На сколько мне нужно изменить Y, чтобы камера фокусировалась именно на нужном объекте, а не над ним?
Нужно вычислить катет, противоположный углу ротейшона. Как превратить ротейшон Х в угол, и что делать с приближением камеры/глубиной?
16 449705
Эй, девелоперы, свеженький курс плюралсайта(лежит на персии) полная хуйня или для вкатывания норм?
17 449707
>>49696

>по сравнению с буржуйскими


Потому что ты половины не понимаешь, а додумываешь. Смысл в итоге тот, но эффект не тот. То же самое с песнями буржуйскими. Если переводить, то там пиздец похлеще, чем у нас.
18 449712
>>49702
Quaternion.LookRotation
Quaternion.eulerAngles
19 449714
>>49712
И что мне делать? Брать текущий вектор камеры, отражать его, сдвигать к объекту, снова отражать, и применять к камере?
20 449719
>>49702
Если высота камеры известна, то tan(угла твоей камеры) умножить на эту высоту, получаешь сдвиг по х. Что там с радианами и углами в юнити я не помню, посмотришь в доках.
21 449724
>>49702

> чтобы камера фокусировалась именно на нужном объекте


Не совсем понял. То есть чтоб объект был по центру камеры, а не чтоб камеры тупо взяла Y объекта и зависла над ним?
22 449725
>>49724
если переместить камеру к Х и У объекта, то из-за ротейшона в камере этот объект окажется "ниже", т.е. камера над ним смотреть будет. Мне нужно сместить камеру так, чтобы объект в центре камеры был.
23 449726
>>49725
если правнять Х и У камеры к Х и У объекта*
24 449727
>>49699

>Начальный объект не синглтон?


Начальный объект - это рут. А если к этому руту прикрутишь какую-нибудь проперти Instance, тогда это будет синглтон.

>А модули сменяемые какого-то объекта синглтоны?


Что ты блядь несёшь?
25 449728
>>49725
Сделай какой-нибудь Vector3 offset, присвой ему на старте разницу между позицией камеры и точкой, куда попадает рейкаст, выпущенный в центр экрана. Потом прибавляй этот offset по x и z к позиции нужного объекта и получай свою позицию камеры.
26 449729
>>49728
Хитро, спасибо.
27 449730
>>49728
>>49729
Хотя стой

>точкой, куда попадает рейкаст, выпущенный в центр экрана


Это придётся чертить воображаемую плоскость. Рейкаст способен такое детектить вообще?
28 449731
>>49730

> Это придётся чертить воображаемую плоскость


Шта? Это ещё зачем? Ты же хреначишь рейкаст из центра экрана, он никуда кроме центра экрана не попадёт. Тебе ж на Y пофигу.
29 449732
>>49731
Камера наклонена же. Если в центре экрана будет возвышенность или впуклость, т.е. не та же самая Х У плоскость, что и у объекта, то смещение будет неправильным.
30 449733
>>49732

> Камера наклонена же


Лол, не из самой камеры рейкасти, а из центра экрана.
Camera.main.ViewportPointToRay
31 449735
>>49733
Если быть точнее, то тебе нужно
Ray ray = cam.ViewportPointToRay(new Vector3(0.5F, 0.5F, 0));
32 449748
>>49719
>>49728
>>49733
>>49735
Сделал так
vec.z = gCamera.transform.position.z;
Quaternion q = new Quaternion(0, 0, 0, gCamera.transform.rotation.w);
float angle = Quaternion.Angle(gCamera.transform.rotation, q);
Debug.Log (angle);

vec.y += (Mathf.Atan(angle) * vec.z);
Выдаёт при 350.0 поворота по Х примерно 14 градусов, что верно. Спасибо всем. Теперь нужно сообразить, что это за зверь такой - Field of View камеры
33 449749
>>49748

> что это за зверь такой - Field of View


Угол обзора же, ну. У тебя ж камера перспективная.
34 449759
>>49749
Это понятно. Мне непонятно, как его конвертировать в "отсекаемую" часть высоты.

float angle = Quaternion.Angle(gCamera.transform.rotation, new Quaternion(0F, 0F, 0F, gCamera.transform.rotation.w));
float fovH = vec.z Mathf.Cos(gCamera.fieldOfView/2);
vec.y += (Mathf.Atan(angle)
fovH);

Эта херь как-то работает, хотя мне и кажется, что я чего-то не учитываю.
35 449770
есть паблик свойство с {get; private set;}
как мне дописать что-то в сеттер, при этом оставив его приватным, а геттер публичным?
36 449771
>>49770
а, блин, я кажись я затупил прост
37 449772
нет, вопрос остается. Как мне сделать то что нужно, без лишнего поля?
38 449774
>>49770
>>49772
Private set означает, что ты задаёшь значение только из тела этого класса. Т.е. тебе нужно либо публичный метод сделать для этого класса, который будет задавать значение, либо сделать свойство полностью паблик и не ебаться.
39 449778
>>49774
смотри. Если я хочу сделать просто публичное чтение, приватную запись, то я делаю
Type MyProperty {get; private set;} без лишней переменной.
Но, если я захочу сделать
Type MyProperty
{
get{ return xxx;}
private set{ xxx= value}
}
мне нужна ххх, так как на само свойство я ссылаться не могу, так? как без ххх сделать, чтобы как в первом случае?
40 449779
>>49778
предполагается, что в скобки я еще что-то впишу, само собой, иначе просто первый вариант сделаю
41 449781
>>49778
Ты что - ебанутый?
42 449784
>>49781
нет вроде, просто не врубаюсь в свойства.
представь, что есть у меня Type MyProperty {get; private set;}

как мне дописать что-то в сеттер?
43 449785
>>49778
get; set; - это быстрая запись, которая автоматом "создаёт" xxx типа Type. Ты можешь сам задать ххх, если тебе при использовании свойства нужно как-то ххх менять. Без ххх не сделаешь.
>>49784
Ххх нужно сделать. private Type xxx; , или что там у тебя.
44 449786
>>49784

>как мне дописать что-то в сеттер?


Без переменной никак.
45 449789
>>49786
>>49785

>которая автоматом "создаёт" xxx типа Type


спасибо, понял
46 449791
>>49770
Использовать нормальные языки
47 449792
>>49791
Пошёл отсюда нахуй.
48 449848
>>49792
Ну и дрочите свое окаменелое говно дальше.
49 449850
>>49848
Ты про что сейчас?
50 449851
>>49770
Забудь про существование property, модификаторов доступа и т.д. Это все нужно для создания интерфейсов библиотек, и не нужно в написании скриптов игры.
51 449853
>>49850
А ты про што?
52 449854
>>49853
просто мне показалось, что ты назвал C# - самый современный, продвинутый и технологичный язык - окаменелым говном
15080129668290.jpg26 Кб, 490x756
53 449855
>>49854
Какой же ты говноед
54 449856
>>49855
Ты аухел? Нас тут вообще то много, а ты говоришь это мне в лицо
55 449860
>>49855
Сейчас бы кукарекать о языках, ничего в них не понимая
56 449863
>>49856
Сколько вас говножуев высирало этот >>49854 пост? Могу каждому персонально приехать по ебальнику дать.
57 449883
>>49863
И конечно же твое мнение основано не на субъективных представлениях ньюфага не разбирающегося в программировании, а на железных аргументах, которые ты готов предоставить?
58 449908
>>49851
Какой смешной мальчик. Ты книжку по шарпам читал или сам додумал?
59 449909
>>49908
Зачем тебе что-то прятать в своем коде? Только усложнять все лишним слоем абстракции.
{get;set;} это вообще ненужный бред в скриптах, тем более не сериализируется в редакторе.
60 449912
>>49909

> {get;set;} это вообще ненужный бред в скриптах


Ещё и байт больше занимает.
61 449914
>>49908
Это шизик из предыдущего треда, не обращая внимание.
62 449915
>>49909
Где ты в модификаторах доступа абстракции увидел? Совсем поехал?
14668422652300.webm2,9 Мб, webm,
900x544, 0:07
63 449918
>>49909

>свойства


>абстракции

64 449926
>>49912
Нунида. Архитектура и безопасность, это, конечно, хорошо, но сами по себе они мало что значат. Будь разница в байтах, довод в пользу всяких там инкапсуляций был бы весомее.
65 449927
>>49926
Нунинада*
66 449928
>>49926
Та то понятно. Ещё и абстракции эти. Фу кароч.
67 449929
>>49928
Что значит "фу"? Есть же и другие языки, и там нет таких фич. САМИ ПО СЕБЕ эти фичи просто фичи, и очень сомнительно, что производительность имеет прямую зависимость от архитектуры. Если это устройство было кем-то arbitrarily порешено как самое лучшее, то оно всё равно в любом случае arbitrary решение.
68 449930
>>49929

> Есть же и другие языки, и там нет таких фич


Ну да, я вот до сих пор на паскале пишу и мне норм.
69 449931
>>49930
А на питоне фигурных скобочек нет. Чому бы на питон не перейти? Это ж сколько типографских знаков сохранишь!
70 449932
>>49931

> А на питоне фигурных скобочек нет


Надо же как удобно.
71 449933
>>49932
А я о чём говорю? Ты это арбитрарное решение не признаёшь, а кому-то нравится. Важно иметь перспективу, понимаешь? На себя критично смотреть.
72 449934
>>49933

> а кому-то нравится


Ну кому-то и знаешь чё ещё нравится?
Кароч тред не об этом, так что завязываем.
73 449936
>>49931
Там надо отступы ставить, пустота тоже байты занимает.
74 449937
Братишка из прошлого треда, который ебался с фокусом наклонённой камеры, у тебя там всё получилось?
75 449939
>>49860
Оправдания говножуев. Если язык постулирует одним из принципов ООП, но при этом в нем невозможно лаконично записать проперти, то это не язык а говно. И никакое его глубинное понимание не изменит ситуацию.
76 449940
77 449941
>>49939
Лаконично пописял тебе в ротик.
78 449950
>>49940
А, ты всё таки через углы решил.
Ну бог навстречу.
79 449960
https://www.youtube.com/watch?v=0969LalB7vw
Какая йоба. Жаль, что только в следующем году выйдет.
80 449963
>>49960
Ну, это официально, а демку, думаю через полгодика дадут пощупать. Я аж на радостях подписался на демку.
81 449964
>>49960
Так они там чего, используют менеджеры для всех юнитов, анимаций и поисков путей? Удивительно, то-то же мы апдейты в каждом юните проверяем, а не делаем отдельные менеджеры.
82 449976
>>49960
А ещё будет переход на новую версию c# и тогда заживём.
83 449989
>>49976
А, это же типа новый компилятор (?). Поясните, кстати, что такого пиздатого в новых версиях языка, и почему на него стоит дрочить. Видел только, что внутрь функций нельзя вставлять сложного формата формулы, но не более.
84 449996
>>49989

>Видел только, что внутрь функций нельзя вставлять сложного формата формулы


Вут? Это ты про ограниченный размер стека?
85 450005
>>49996
Тахуйзнает, я же тупенький, просто пытался провернуть конструкцию типа Math.sin([дохуя переменных с паройфункций]№1, [дохуя переменных с паройфункций]№2), мне студия сразу сказала: "Нет, брат, так не пойдет".
86 450051
>>49915
>>49918
Абстракции вы будете писать, дурачки, если вам понадобится изменять состояние объекта из другого объекта, вместо прямого чтение и записи переменных.
87 450058
>>49939
ООП и проперти никак не связаны.
Ты сначала разберись что такое проперти и как они работают, а потом уже кукарекай у лаконичности их записи.
Придумал какую-то хуйню и обвиняет язык, потому что в нем этой хуйни. Вообще охуеть
88 450092
>>50058
Ты так скозал? Просто до этого все считали что проперти это лаконичная запись для геттеров и сеттеров, которые в ооп реализуют гибкую систему инкапсуляции и полиморфизма. Но оказывается это не так, сорян тогда, двигай кубы дальше.

> Придумал какую-то хуйню и обвиняет язык обвиняет язык, потому что в нем этой хуйни


Как хорошо читать жопой, можно писать любую хуйню не задумываясь
89 450099
>>50092
property это просто сахарный синтаксис и зло, потому что у них непредсказуемое поведение. Семантически это переменная, но на самом деле функция. И что там в этой функции можно только догадываться. Например, нужно кэшировать значение проперти или нет?
Особенно заебывает использование property с структурами в юнити. Хочешь изменить property? Сохрани в переменную, измени, и запиши обратно.
90 450101
>>50099

>И что там в этой функции можно только догадываться.


У тебя же есть ретёрн с определённым типом.
 .webm740 Кб, webm,
800x450, 0:10
92 450107
Как вы забали уёбки второй тред пожрят какую то хуйню обсуждаете.
94 450124
>>50123
Шизик, ты не в /b/, здесь вообще-то движок обсуждают.
95 450127
>>50123
>>50124
>>50126 (Del)
Имхо, отвечающие ещё более раковые
96 450130
>>50127

> Пусть распик кидаем свои вебм-ки, они забавные :) ИМХО

97 450136
>>50130
Срущую свинью нужно игнорировать либо репортить, а не поощрять, присаживаясь срать рядом с ним. Хотя чего я распинаюсь, это наверняка пизданутый семен.
98 450137
>>50136

> репортить


В /gd/ если моча и есть, то ему явно всё похуй.
99 450139
>>50137
Мочер у нас поехавший, в дурке уже.
Clip2net171016012822.png53 Кб, 648x429
100 450143
Как создать Аватар для 2D спрайтов? Он мне нужен чтобы появилась возможность зеркалить анимации одним нажатием, но в списке ничего нет, а как создать новый непонятно.
102 450147
>>50143

> Аватар


> 2D


Рор.
Если ты хочешь ебать 2д-анимацию, то смотри как это сделано здесь.
https://unity3d.com/ru/learn/tutorials/topics/2d-game-creation/2d-game-development-walkthrough
103 450200
>>49759
Поправочка подъехала.

vec.x -= gCamera.transform.position.x; //distance between camera and new point
vec.y -= gCamera.transform.position.y; //distance between camera and new point
vec.z = 0F; //keeping camera height

float height = gCamera.transform.position.z;
float angle = gCamera.transform.rotation.eulerAngles.x;

if (angle > 360) angle = angle % 360;
if (angle > 180) angle = 360F - angle;
else if (angle < 180) angle = -angle;

float fovH = height Mathf.Cos(gCamera.fieldOfView/2 Mathf.Deg2Rad); //finding height modified by camera's FOV
float side = fovH Mathf.Tan(angle Mathf.Deg2Rad); //finding side
vec.y += side; //adding offset

Лолблядь, я и не знал, что они там в радианах считают. Да и сам подсчёт в радианах странный какой-то. Пишет, что возвращает в радианах, но если вписать Mathf.Deg2Rad, то вернёт в градусах. Как так-то?
ddddsssss.JPG105 Кб, 1514x611
104 450201
Анон, как запекать освещение в юнити для интерьеров?
Нужно чтобы помещение хорошо освещалось с окон. Однако Directional Light как-то странно работает. Он пропускает свет сквозь крышу, причем сама крыша становится черной. Area Light? Но как тогда быть с тенями?
105 450202
>>50201
у хуюнити нет санлайт-порталов, делай спотлайтами. юнити — говно, кстати.
106 450204
>>50201
Area Light делает то что ты хочешь

>>50202
просто ты бестолоч
107 450206
>>50204

> просто ты бестолоч


> Area Light делает то что ты хочешь


> Light is emitted in all directions uniformly across their surface area


> in all directions uniformly


но ведь ето не так, я не бестолоч!
108 450227
Хочу УИ над каждым персонажем. Создавать канвас на каждого и пэрентить на ГО перса, или сделать общий канвас для херни, которая должна висеть на персонажах, и панельку уже привязывать к положению ГО?
109 450232
>>50227

>общий канвас

110 450233
>>50227

> Создавать канвас на каждого


Ты понимаешь что ты поехавший?
111 450237
>>50233
>>50232
канвас вообще один должен быть?
Например, для окон инвентарей и ОнПлеерУИ разные канвасы должны быть, только если один оверлей, другой в мире? То есть если игра 2д, то все вообще можно делать в одном канвасе, писа окна информации, меню, диалоги, статы юнитов, инвентарь?
112 450238
>>50237
Нахрена тебе несколько канвасов на одном экране? Можешь их хоть 80 сделать, но зачем?
113 450239
>>50238
а просто парентить удобнее по группам, но раз не нужно, буду парентить в емпти ГО.
114 450240
>>50239
Нахера тебе парентить канвас?
115 450242
>>50239
а, ну и если у меня на персонажа прилеплен канвас, то он и ходит за персонажем. А если я панельку на общий канвас прилеплю, то придется при перемещении и панельку перемещать.
116 450243
>>50240
имел в виду панельки разного назначения парентить в разные канвасы

про парентить сам канвас см тут >>50242
117 450245
>>50242
Блять, почитай уже как работает канвас и не еби мозги.
За персонажем у него канвас ходит, вообще охуеть.
118 450248
>>50201
сделай у крыши в Skinned Mesh Renderrer чтобы она с двух сторон тень кастовала.
важный вопрос. а нужны ли в бане окна? сунь в окна Area Light, тени по моему тебе вообще нахуй не нужны. это же баня, там только рассеянный свет. если хочется Directional Light в окна светить то ебани ему Cookie нужной формы.
вообще посмотри какой-нибудь таймлапс освещения в юнити.

>>50206
он и не сделан для этого. он сделан чтобы освещать пространство. если так хочется хитрый свет то всегда можно охуеть и сделать Directional Light как надо пользуясь Culling Mask

>>50227
да оба вариант норм, вопрос в том что получить хочешь.

>>50237
на самом деле не один, если делаешь UI в ворлд спейсе как в дедспейс например. но если ты делаешь 2д то нахуй тебе все эти хитрые фичи то? делай обычный, на одном канвасе. меньше возни.

>>50242
но зачем твой канвас ездит за персонажем?
119 450252
Ладно, попробую конкретнее.

>но зачем твой канвас ездит за персонажем?


использовал его как папку для панелек на персонаже.

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

Про то, что я не правильно понимал канвасы в принципе, я уже понял.
120 450253

>Как это правильно реализуется?


вопрос тут.
121 450258
Есть у меня объект дороги, нужно накопировать его на определенную длину. Есть возможность в юнити магнитить объекты прям полигон к полигону или надо расставлять все вручную? Просто если ебашить вручную, то модели всегда будут немного налезать друг на друга или наоборот небольшой пробел между ними, что глаз режет люто, да и времени тратит кучу
122 450260
>>50253
да как всегда.
ебани себе менеджер который бы висел на канвасе, который бы отображал подобные эвенты над юнитами, следил за этими панельками и перемещал их куда надо со всяким там красивым лерпом и прочим говном. сделай чтобы при создании юнита он заодно регистрировался в этом менеджере. ну а дальше че, переводи мировые координаты в экранные и ебись уже с ними. может и муторно, зато все в одном месте, все как ты хочешь и с этим будет проще работать дальше.

>>50258
открой гугл, напиши там unity snap, думаю это то что ты ищешь.
123 450262
>>50258
если они у тебя клетками и стандартного размера, то есть выравнивание по сетке.
124 450264
>>50260

>ебись уже с ними. может и муторно


хорошо, тогда чем плохи канвасы над каждым юнитом? Оптимизация соснет? Просто это удобнее и кода меньше. И сейчас все работает уже.
image.png7 Кб, 422x61
125 450265
Ребят, я наверное не в ту тему, но как мне в PlayConsole поменять Bandle ID. Я хочу выпустить с новым id который указал в юньке.
126 450266
>>50264
дааа хуй с этой оптимизацией, этот UI и такое потянет. это конечно удобно в начале, но при увеличении размеров проекта обычно перестает быть удобным. например если захочется делать какие-то клевые манипуляции, например сделать так чтобы полоски ХП не смешивались в кучу а разьезжались немного друг от друга. или когда ты захочешь редактировать все все панельки одновременно, например отключать их когда игрок выходит в другое меню (например карта, или журнал). или когда размер проекта вырастет до таких размеров, когда проще знать куда срать свой тематический код для UI, чем искать все эти 10-20-30 классов куда распиханы какие-то мелкие фичи для интерфейса.

но если тому что ты делаешь такая хуйня никогда не понадобится то оставь как есть. тебе лучше знать.
127 450271
>>50266
спасибо за подробности, чаю и пледов тебе
128 450330
>>50252
Канвас же по умолчанию имеет функцию прикрепления за камерой. Сам не дошел до UI, но вроде как можно же просто прицепить на юнит точку, на нее инстанциировать панель с анимацией.
129 450338
расскажите как Random.Range(int, int) работает.
Генерит одну хуйню в цикле, если семечко менять, то та же хрень. Верхняя граница эксклюзив, это знаю.
130 450339
>>50338

> Генерит одну хуйню в цикле


А надо чтоб генерило две хуйни?
131 450342
>>50339
надо чтобы разное. Грубо говоря при вызове Random.Range(0,5) я получаю что-то такое:
{33333111111111000666666666666666000000000}, а не нормальный рандом.
В то, что так совпало не верю.
132 450343
>>50342
чувствую подвох, короче. Документацию почитал, но немного не понял.
Он берет дефолтное семечко из даты-времени пк, так? То есть если выдает подряд одинаковую фигню, то значит в этот инкремент времени успел прокрутить цикл х раз, так?
133 450345
>>50342

> при вызове Random.Range(0,5) я получаю что-то такое


> 666666666666666


> при вызове Random.Range(0,5)

134 450346
чувствую, что читал жопой, поясните. Или дайте линк на статью, где подробнее написано.
Кстати, такая фигня только с интом?а если рандомить флоат и из него потом делать инт, предварительно умножив на что-нибудь, та же фигня выйдет?
135 450347
>>50345
ну ты понел, опечалатся
136 450350
>>50342

> 33333111111111000666666666666666000000000


Ну хуй знает, рандом как рандом.
137 450388
>>50143
Anima2D.
Mecanim всё-таки больше для 3д.
138 450389
>>50238
Вообще-то, много канвасов - это хорошая практика, если у тебя UI много говна имеет.
Почитай в разделе ЛУЧШИХ ПРАКТИК на юньковском сайте.
tl;dr при каждом чихе у тебя батчи меньше времени тратить будут
139 450390
>>50265
Никак.
140 450443
>>50262

>есть выравнивание по сетке


Можно подробнее?
141 450444
>>50443
тебе же ответили, ты слепой чтоли
123.png38 Кб, 242x242
142 450464
хочу сделать лерп между множеством кривых. вопрос. как получить примерно такую-же координатную штуку которая в меканиме юнити для блендинга анимаций?
143 450548
А зачем юнити насильно заменяет заданные в скрипте паблик переменные (даже если их скрыть в инспекторе) на те значения, которые заданы в редакторе? Встретился с этим вот. Просто хочу разобраться.
144 450551
>>50548
Потому что ты их изменил в инспекторе.
Хочешь менять переменные через скрипт — присваивай им значения в старте.
145 450552
>>50551
Но я их не менял, лол, я их задал в скрипте, а инспектор насильно закрепил.
И это не ответ на вопрос. Я не понимаю концепта за этой хуйнёй. Они не смогли синхронизировать скрипты с инспектором, или чего?
146 450553
>>50552
Делая публичные сериализуемые поля в наследнике MonoBehaviour'а, ты специально делаешь их доступными и изменяемыми / запоминаемыми в инспекторе. Это одна из основных фишек.
147 450554
>>50553

>это не недодумка, это фича

148 450571
>>50554
Но это действительно одно из основных свойств редактора. Level-designer'ам очень удобно подкручивать всякие свойства объектов на уровнях.
С точки зрения архитектуры это не очень красиво, т.к. в runtime потом висит объект с публичными полями.
149 450603
Есть префаб, собранный из других префабов. Как при изменении префабов-частей изменять и составной префаб?
Unity3D-inspector-prefab-buttons-detail[1].png21 Кб, 700x158
150 450606
>>50603
Наверное кнопочкой Apply, не?
151 450611
>>50606
этой кнопочкой он почему-то меняет только в самом префабе, а в других префабах, которые из этого префаба сделаны не меняет.
152 450613
>>50611
грубо: есть колесо от машинки, есть машинки с колесами. Машинки сделаны из префабов колёс и прочих. Хочу чтобы при перекрашивании колеса, колеса менялись на всех машинках. Кнопка Apply работает, когда я хочу изменить объект префаба на сцене и записать в префаб изменения, в моем же случае почему-то не работает.
153 450624
>>50613
что-то мне подсказывает, что я просто машинку криво сдеал. Смотри, колесо сделано из всякого говна, я его перетащил в прожект, получил префаб колеса. Если я теперь перетащу обратно на сцену несколько префабов колес, добавлю машинку, обведу все и сделаю из добра префаб, он будет считать что префаб машинки сделан из колес или из говна(элементов колес)?
154 450632
>>50624
>>50613
почитал, это называется nested prefabs и реализовано только в ассет сторе пока.
unknown.png21 Кб, 1046x495
155 450662
Посоны помогите!
Короче, Mathf.Лерп это линейная штука. То есть числа распределены равномерно, но что если я хочу, чтобы оно было не линейным, а по прогрессии какой-то? (как на картинке прикрепленной) Есть что-то такое? Или самому ручками это собирать надо?
Я знаю есть slerp, который вроде как можно было бы использовать для моих целей, но он для вектор3, а не для чисел, и вообще вроде как не совсем то.
157 450673
>>50662
Гугли кривые безье.
158 450674

>- Какие у Unity слабые стороны?


Наверно платиновый вопрос, но как же наихуевейшая оптимизация, всякие там garbage collector и memory leak которые вшиты в движок и не фиксятся?
159 450675
>>50674
unity скоро умрет.
советую всем перекатываться на godot. он сейчас уже достаточно развился и, что самое главное, стал де-факто опенсурсным движком. то есть чем-то вроде blender'а в мире игростроя. а так как игровые движки намного популярнее 3д, то и развиваться он скоро будет семимильными шагами.
160 450676
>>50675
блендор чет не развивается
162 450682
>>50676

>блендор чет не развивается


лол
163 450694
>>50679
Как обычно занимаются хуитой безразличной конечным пользователям и показывает захардкоженные демки.

В mono давно есть simd, какой-то там свой конпелятор они пишут, велосипедисты ебаные.

job system какой-то уебищный хак с генерацией кода и изобретением своих тредов.
164 450695
>>50694
https://www.youtube.com/watch?v=AXUvnk7Jws4

вот тут подробнее про эти job. Лютое говнище какое-то
165 450719
Перехожу с гамака на юнити. Столкнулся с тем что в гамаке я довольно сностно управлял инстансами через код, а в юнити вообще чето пока не вкуриваю. С# поизучал, но понял что на теории далеко не уедешь и надо что-то делать, но делается как то туго.

Например у меня есть объект на сцене, чтобы через код заставить его что-то делать надо как я понял записать в переменную (ну не силен я в терминологии) данные компонента (GetComponent), например Transform, тогда я смогу через код его двигать. Если я хочу обратиться к какому-то другому объекту на сцене через текущий используют GameObject.Find если данные какой-то переменной мне нужны везде -делаю его паблик статик. Да, я соображаю туговато. Если я создал на сцене 5 объектов и навешал на них 1 скрипт. Переменные в этом скрипте же локальные для каждого gameobject? Наверное это очевидно, просто пока мои скрипты работаю немного не так как я ожидаю.

Есть ли какие-то ошибки в том что я написал?
166 450723
>>50719
Переменные локальные для каждого навешенного скрипта.
Статик будет один для всех, это видимо не то что ты хочешь.
Созданные объекты пихаешь в пул, или делаешь как тебе удобно. Find медленная операция (лучше не юзать в Update), можно хуячить объекты при создании в массив или лист какого нибудь менеджера сцены.
transform'y не нужно делать GetComponent, он у любого объекта и компонента есть по дефолту, yoba.transform.Translate(...)
167 450726
>>50719

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


public static относится к классу. Т.е. есть у тебя инстанц класса Klass по имени klass. Просто паблик будет требовать писать klass.variable, статик же Klass.variable. Очевидно, что статик (с таким именем) существует только один.

>Если я создал на сцене 5 объектов и навешал на них 1 скрипт.


Через AddComponent если, то каждый скрипт как бы отдельная сущность. Есть ещё такая вещь, как new, которая создаёт новый инстанс.

>Например у меня есть объект на сцене, чтобы через код заставить его что-то делать надо как я понял записать в переменную


Можешь писать в любом наследующем от монобихевиора GameObject.Find("obyekt").transform.position += new Vector3(1, 1, 1), например. Но файнды использовать не рекомендуют.
Ты ещё учти на будущее, что переменные стринг, интежеров и т.п. это не инстансы новых объектов, а вот массивы и классы уже да, т.е. в переменных в первом случае хранятся данные, во втором ссылки. По сути, данные и ссылки на контейнеры данных.
>>50723
Трансформа нет у объектов без монобихевиора.
Джо-Кукан-Path-of-Exile-Dark-Souls-фэндомы-1512815.jpeg63 Кб, 499x335
168 450727
Правильно я понимаю, что если есть выбор между реализацией фичи в Корутине или в Апдейте, лучше выбирать Корутин, потому что он умеет в разных потоках работать?
169 450733
>>50727
Смотря что за "фича".
170 450745
>>50727
Корутина работает в том же потоке что и апдейт, это в доках написано.
171 450754
>>50603
Nested prefabs. Спрашивают их об этом на каждом Unite. Да, да, сделаем. Ага, скоро, ждите.
172 450768
>>50662
Гугли интерполяцию в юнити типа кубической, easeInExpo и подобное, хз как это называется
173 450771
>>50675
Давно бы на него перекатился, но там какая то скриптопараша вместо нормальной статики инб4 пиши на крестах. Разрабы вроде в ближайшем крупном апдейте собираются обновить апи движка, чтобы можно было на любом языке писать. А вообще как замена юнити есть xenko.
174 450775
>>50675

>чем-то вроде blender'а в мире игростроя


Т.е. говном для тупых студентиков?
 .jpg448 Кб, 1192x1685
175 450778
Как же пичот у неосиляторов
177 450837
>>50778

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

14690066183100.jpg86 Кб, 500x700
178 450852

>говноед бегает по треду


>>50799
>>50837
179 450853
>>50799
>>50837
>>50852
Где модер, когда он так нужен?
180 450854
>>50853
Ты зачем насрал? Жду аргументированной позиции против бленда.
181 450856
>>50854
Это был не я. Я троллю разницей в байтах между приватами и пабликами.
182 450857
>>50856
Вся суть юнити треда
183 450858
>>50854
Может тебе нитки зашить сраку нужны а не аргументы?
184 450864
>>50675
А чем опен-сурс так хорош? Тем что комьюнити начинает допилить движок? У Юнити ведь есть ассет стор - вполне достойный конкурент.
185 450865
>>50745
А как тогда Юнити распределяется по процессорам? У него вообще есть многопоточность?
186 450877
>>50865
Процессорная многопоточность и потоки процессов это 2 разные плоскости. Вся твоя логика из монобехавиор всегда вызывается в одном и том же игровом потоке, но это не мешает игровому циклу работать с графикой еще в двух, с сетью в третьем, а со звуком в четвертом.
187 450879
>>50865
Можно пилить треды средствами C#, но в них нельзя использовать апи юнити. Если нужно провернуть асинхронную операцию не блокируя основной поток то можешь заюзать бесплатный вссет Thread Ninja со специальными корутинами, мне помог.
188 450923
Юнитаны, подкиньте годный видосик по свету. Чтоб там про запекания, лайтмаппинг, отражения, light probes и всё такое.
А то попадается только какое-то говно васянское.
189 450932
>>50923
в ютуб вводишь "unity lightmapping", "unity light probes" и т.д. и смотришь.
190 450942
>>50662
Все хуйня. Херач public AnimationCurve
задавай нужную тебе кривую
далее лерпишь от нуля до единицы нужную тебе штуку. далее
AnimationCurve.Evaluate через нужное тебе значение.
Побалуйся
191 450951
>>50864

>У Юнити ведь есть ассет стор - вполне достойный конкурент.


Это не конкурент по нескольким причинам:
1. ассеты пилит один автор
2. они платные
3. наличие ассет стора с платными ассетами не дает разработчикам юнити запилить эти функции в движок бесплатно, из-за чего они вынуждены заниматься какой-то иррелевантной хуитой вроде изобретения своих тредов в C#
192 450952
>>50771

>но там какая то скриптопараша вместо нормальной статики


Ну они вроде переросли эти кирилльские амбиции и добавили C# официально. а там и нормальный питон добавили через плагин.
Я думаю эти скрипты были основной причиной непопулярности движка. Надеюсь этот gdscript скоро станет deprecated.
250px-1339780718884.jpg13 Кб, 250x212
193 450953
>>50951

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

194 450957
>>50865

>А как тогда Юнити распределяется по процессорам?


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

Параллельность должна быть на уровне данных. То есть, например, игровая система должна обновлять все компоненты в нескольких потоках (что-то вроде использования Parallel.For())
195 450961
>>50957
Чисто теоретический вопрос для интереса.
А как вообще программы пилят на несколько потоков? Ну, вот, допустим, старт, 1 этап, 2 этап. Один поток добирается по 1 этапа и ждёт остальные потоки, и только затем 2 этап начинает?
196 450962
>>50961
вовсе необязательно
поток скрипта вот выполняется с частотой с какой может, а если поток физона подкатил новые данные (в юнети физон по фиксед апдейту) вставляет его данные в своё. ну это грубо. на самом деле там сложнее и на самом деле я не знаю как именно в деталях
197 450965
>>50961
https://www.gamasutra.com/view/feature/130247/multithreaded_game_engine_.php

Я думаю что это сделано так: в каждой системе есть свое внутреннее состояние, например, в рендере есть какой-то рендер лист. Система тупо в цикле рисует этот рендер лист. Другая система, если ей нужно обновить рендер, просто блокирует поток и обновляет этот лист.
Думаю как-то так.
198 451042
>>50951
Ничего не понял.
Почему юнька тогда популярная?
199 451045
>>51042
Потому что это лучший движок на данный момент
200 451083
>>51042
Грамотный пиар, широкие возможности, низкий порог вхождения, адекватный скриптовый язык. Кому вообще уперлась твоя опенсурсность?
0.jpg91 Кб, 1012x468
201 451091
Подскажите, как это написать человеческим языком чтобы работало? Куча раз переписывал.
В чем идея: 2D игра, вид сверху. Есть объекты, с коллизией, типо дивана или стола, сквозь которые меня должно быть видно, поэтому пытаюсь всё делать с тэгом, но скрипт в каких-то ситуациях просто перестаёт работать.
202 451105
>>51091
Имена переменных на русском, проблема в этом.

>Sostoyan.Агр


Или все бы тогда на русском писал, я не знаю.
203 451107
>>51091
Называй переменные нормально, блджад. От одних только ugol и ugl голова болеть начинает
204 451113
Работает ли ICanvasRaycastFilter в 3D объектах на сцене, или только с интерфейсом?
205 451119
>>51107
>>51105
Мне до этого писали, что если я чисто для себя делаю, то вообще нет разницы, как и что называть, не?
206 451121
>>51119
И ты сам же и запутаешься в таких названиях.
0.jpg12 Кб, 416x90
207 451125
>>51121
Ну кстати может быть. Оке, учту. Кстати, я посмотрел. Я оказывается всё пофиксил уже.
У меня еще одна вещь короче. В общем, в чем суть. Если игрок скрылся из поля зрения врага, то моб какое-то время ищет его. Я это реализовал с помощью пика. Но, с такой реализацией появляется баг:
Например, преследование длится 6 секунд, моб заагрен на игрока.
Игрок скрывается за стеной и сразу же возвращается в поле зрения моба.
Через 5 секунд игрок возвращается за стену .
Таким образом получается, что у врага остаётся лишь 1 секунда преследования.
Собственно, подскажите, как можно реализовать это по-другому, чтобы не было этого бага?
208 451141
>>49619 (OP)
При компиляции билда на андроид возникают такие ошибки:

Shader error in 'Hidden/Post FX/Screen Space Reflection': '' : compilation terminated at line 141 (on vulkan)

Shader error in 'Hidden/Post FX/Screen Space Reflection': 'z' : vector field selection out of range at line 141 (on vulkan)

CommandInvokationFailure: Failed to re-package resources.
C:\AndroidSDK\build-tools\25.0.2\aapt.exe package --auto-add-overlay -v -f -m -J "gen" -M "AndroidManifest.xml" -S "res" -I "C:/AndroidSDK\platforms\android-25\android.jar" -F bin/resources.ap_

Притом это всё только при компиляции на андроид, если создавать билд для PC-всё успешно компилируется и запускается. В чём причина и как можно исправить?
209 451144
https://www.youtube.com/watch?v=t4Ze3kIJunI

поделюсь вином для нубасов типа меня и реквестирую гайдов по рефакторингу в visual studio, или по best practices, "правильному" написанию кода в юнити.

Если кто знает вины по паттернам в юнити, кроме game programming patterns, то скиньте тоже.
210 451150
>>51141
Возможно, что-то связанное с визуальной механикой
211 451159
>>51144
Вот эта книга хороша. Она в целом подскажет, как лучше оформлять код. Необязательно читать всю. Можешь прочитать только интересующие тебя главы.
212 451169
>>51141
Cейчас провёл исследование- на iOS успешно билдится тоже. Думаю, эти ошибки исходят от структуры Андротда или Андроид Студио, может быть, у кого-нибудь были похожие случаи и известно решение? Очень нужно сбилдить именно под андроид до утра.
213 451206
pointerData = new PointerEventData(EventSystem.current);
pointerData.position = Input.mousePosition;

results.Clear();
EventSystem.current.RaycastAll(pointerData, results);

if (results.Count > 0) //check UI
{
hitObject = results[0].gameObject;
}

Рейкаст видит только УИ, ок. Но почему он видит эти УИ-кнопки там, где их нет? Не невидимые кнопки, а именно что видит кнопку, находящуюся в одном месте экрана, и в другом месте? Этот hitObject в обоих местах имеет имя кнопки, при нажатии работает как та кнопка, и вообще является кнопкой. Я не понимаю, как это вообще
214 451212
>>51206
Глянул на саму кнопку - показывает жёлтое предупреждение в Image, что у изображения нет границы. Из-за этого может быть?
215 451223
В Юньке для колес используется wheel collider. Как я понял это стандартный компонент PhysX, значит ли это что в Unreal Engine стандартные колеса (если они там вообще есть) ведут себя так же? И я нашел много видео на ютубе где народ хвастается своей физикой авто, при этом подавляющее большинство использует wheel collider. В таком случае в чем уникальность их физики? Ведь если я правильно понял в wheel collider есть все необходимое что отвечает непосредственно за саму физику колес.. А у всего остального особо нет места творчеству (например ускорение, оно и в африке ускорение) В физике авто я вообще не разбираюсь, но если кто знает как это правильно делается, поделитесь. Если макакить свои колеса, я правильно понимаю, что ничего не понимающий в физике человек это точно не сможет?
216 451227
>>51206
>>51212
Плять, оно само починилось.
217 451229
>>51227
А, не, всё нормально, снова сломалось.
218 451230
>>51227
>>51229
Это из-за поворота камеры, лол. Что за нахуй-то
219 451240
>>51125
Тормози корутину, когда враг видит игрока.
220 451268
Хлопцы, вот смотрите. Есть у меня класс Yoba. От него наследуется класс BolshoiYoba. Могу ли я через проверку GetComponent (или ещё какую-нибудь) определить от какого класса наследуется мой BolshoiYoba?
Или не выёбываться и ебашить по тегам?
221 451269
>>51268
какова практическая задача?
222 451270
>>51141
Ещё не получилось справиться. Буду весьма благодарен за помощь.
223 451271
>>51269
Есть болванчик. Болванчик может стрелять в объекты. Пока он стреляет в объекты, на которых висит скрипт "Mob", определяет его наличие через GetComponent. От этого самого "Mob" я хочу унаследовать несколько разновидностей мобов и вот думаю как организовать проверку моб ли это или хрен собачий.
Писать проверку на каждый вариант унаследованного скрипта - так себе занятие.
Вот и думаю, можно ли отследить родительский класс или не ебать мозги и хуярить по тегам.
224 451276
>>51271
не еби мозги и хуярь по тегам.
на самом деле, я настоятельно не советую звать getcomponent в случаях когда его вызова можно избежать. кроме того что это одна из самых тяжелых функций в юнети хотя я проверял версии эдак в третьей, так еще и теги ведь они прям для этих случаев и нужны.
225 451277
>>51270
ти ахуел прост
поцэффекты он решил завезти на мабилы, ага ага.
226 451278
>>51276

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


Да так и думал, спасибо.
227 451279
>>51277
На айос же получилось(скомпилировал без ошибок, но не запускал, т.к. нету яблока). Т.е. для андроида нужно отказаться от них?
228 451280
>>51279

> (on vulkan)


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

> он пока молод и дерзок и нихуя не умеет


Ну его вроде уже в игры пихают которых нет
230 451286
>>51282
да, но ему нужно ОСОБОЕ ОБРАЩЕНИЕ
231 451287
>>51286
То есть не по старинке ебать, а нежно целовать и облизывать?
Вон там даже народ говорит что с вулканом 9000 фпс, а не то что этот ваш самый дирух или опенрыло.
232 451302
>>51270
Ок, отключил постэффекты. Теперь осталась эта ошибка :
CommandInvokationFailure: Failed to re-package resources.
C:\AndroidSDK\build-tools\25.0.2\aapt.exe package --auto-add-overlay -v -f -m -J "gen" -M "AndroidManifest.xml" -S "res" -I "C:/AndroidSDK\platforms\android-25\android.jar" -F bin/resources.ap_

stderr[
AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'theme' with value '@style/UnityThemeSelector').

AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/app_icon').

AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'label' with value '@string/app_name').

AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'banner' with value '@drawable/app_banner').

AndroidManifest.xml:5: error: Error: No resource found that matches the given name (at 'label' with value '@string/app_name').

]
stdout[
Configurations:
(default)

Files:
AndroidManifest.xml
Src: () AndroidManifest.xml

Resource Dirs:
Including resources from package: C:\AndroidSDK\platforms\android-25\android.jar
applyFileOverlay for drawable
applyFileOverlay for layout
applyFileOverlay for anim
applyFileOverlay for animator
applyFileOverlay for interpolator
applyFileOverlay for transition
applyFileOverlay for xml
applyFileOverlay for raw
applyFileOverlay for color
applyFileOverlay for menu
applyFileOverlay for mipmap
]
exit code: 1
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg, Int32 retriesOnFailure)
UnityEditor.HostView:OnGUI()
232 451302
>>51270
Ок, отключил постэффекты. Теперь осталась эта ошибка :
CommandInvokationFailure: Failed to re-package resources.
C:\AndroidSDK\build-tools\25.0.2\aapt.exe package --auto-add-overlay -v -f -m -J "gen" -M "AndroidManifest.xml" -S "res" -I "C:/AndroidSDK\platforms\android-25\android.jar" -F bin/resources.ap_

stderr[
AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'theme' with value '@style/UnityThemeSelector').

AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/app_icon').

AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'label' with value '@string/app_name').

AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'banner' with value '@drawable/app_banner').

AndroidManifest.xml:5: error: Error: No resource found that matches the given name (at 'label' with value '@string/app_name').

]
stdout[
Configurations:
(default)

Files:
AndroidManifest.xml
Src: () AndroidManifest.xml

Resource Dirs:
Including resources from package: C:\AndroidSDK\platforms\android-25\android.jar
applyFileOverlay for drawable
applyFileOverlay for layout
applyFileOverlay for anim
applyFileOverlay for animator
applyFileOverlay for interpolator
applyFileOverlay for transition
applyFileOverlay for xml
applyFileOverlay for raw
applyFileOverlay for color
applyFileOverlay for menu
applyFileOverlay for mipmap
]
exit code: 1
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg, Int32 retriesOnFailure)
UnityEditor.HostView:OnGUI()
233 451303
>>51302
ДВАЧ СПАСАЙ НУ ЖИ
в настройках заполни инфу о компании и прочее
235 451310
>>50768
>>50669
>>50673
>>50942
Спасибо всем. Благодаря вам я нашел божественное вмешательство в виде https://gist.github.com/cjddmut/d789b9eb78216998e95c
236 451366
>>51271
var yoba = GetComponent<YOBA>();
if (yoba is BolsheYOBA)
{ }
else if (yoba is MaliYOBA)
{ }
hui.jpg155 Кб, 872x820
237 451371
>>51271
Во-первых, используй слои (layer), а не теги. Во-вторых, используй интерфейс.
238 451379
>>51271
А зачем тебе это наследование ебаное?
До диез дало тебе интерфейсы.
Уверен, твоя задача отлично ими решается.
239 451380
>>51271
У тебя все неправильно. Пуля про столкновении просто отправляет сообщение столкнувшемуся объекту. На этот объект ты можешь уже навесить какие угодно компоненты обрабатывающие это сообщение, безо всяких наследований.
Например, компонент пускающий искры, или компонент отнимающих ХП
240 451403
>>51310
Есть стандартные юнитевские методы, которые много проще для понимания
242 451405
>>51404
Самый ужасный способ.
243 451406
>>51271
Тебе не нужно определять, какого типа этот моб.
Ебашишь Mob как абстрактный класс, ебашишь наследующие от него разновидности, скажем, MaliMob и BolshoyMob. Создать класс Mob нельзя, но ты сможешь создавать MaliMob и BolshoyMob, которые по умолчанию будут Mob'ами.
В Mob ебашишь абстрактные методы "без тела", в наследниках ебашишь те же самые методы с override'ами. Ты будешь искать класс Mob и запускать через Mob абстрактные методы Mob'а, которые будут "автоматически" заменяться овверадиться на методы MaliMob и BolshoyMob
244 451408
Как фиксить то, что освещение в игре, когда тестишь в самом Unity ярче, чем на мобильном устройстве? Или это у одного меня так?
245 451409
>>51405
Ну раз ты так сказал
246 451416
>>51406
Бро, чувак спрашивает элементарные вещи, а ты его так с лету абстрактными классами грузишь. Вообще в коде для юньки при наличии геймобджектов лучше переходить на ECS и забить на классический ООП, оставив от последнего только наслелования, избегая использования олдскульных паттернов
247 451418
>>51416

>абстрактные классы


>грузят


Сколько у тебя IQ?
На кой чёрт кодить на сишарпе, если самые крутые фичи - абстракции, интерфейсы и делегаты - не использовать? А если ещё и типы как-то присобачить, уууух!
Там нет вообще ничего сложного. Абстрактный класс САМ ПО СЕБЕ не существует, но существуют его наследники, в которых он и выражается. Абстрактный метод не содержит в себе никакой логики, он просто является "шаблоном" и указывает, сколько принимает и выдаёт метод, который будет использоваться ВМЕСТО шаблона. Делаешь абстрактный класс Юнит, делаешь наследника Бандит, делаешь наследника Страж. В Юните задаёшь то, что есть и у того, и у другого, скажем, здоровье и урон и абстрактный метод Отака(), а в Бандите и Страже задаёшь особенности того, как будет происходить Отака(). Если коду попадётся Юнит, он не будет разбирать, Бандит он или Страж, он сразу запустит Отака(), и шаблон автоматом укажет, бандитскую или стражниковскую Отака() использовать.
Чем это великолепие заменить вне ООП? Ёблей с энумераторами и свитчами? Так это ж ещё сложнее структурно, чем абстрактные классы и методы. Нахуя новичку советовать то, что сложнее?
248 451427
>>51418
ECS подразумевает создание персонифицированных ГО, где инстанцированный, как ты говоришь, Юнит, который может иметь множество экземпляров - может получить всю нужную инфу о любых переменных, допустим, из базы, через контроллер. Итого мы имеем единичный ентити, (или ГО), который не знает ничего о себе, зпаолняемый нужными компонентами, которые заполняются как раз переменными из контроллера-синглтона. Это удобно и для прототипирования, потому как каждый компонент можно настраивать ручками, и для окончательного формирования базы с инфой о переменных и компонентах.

Вообще это не я придумал, да и в случае с командой программистов и прочих более одного человека, разработка становится более прозрачной и доступной для быстрого понимания кода и происходящего.
ECS+MVC = НЯ!
249 451450
>>51271
Не слушай эту >>51371 макаку. Самым правильным решением будет сделать абстрактную прокси фабрику десериализирующую энтити бины в абстрактный синглтон фактори менеджер.
250 451454
>>51418

> Чем это великолепие заменить вне ООП?


Кирилы итт проснулись и вспомнили про ооп в гейдеве, когда весь мир уже благополучно забыл его как монструозное и неповоротливое говно и перешел на ecs подход. которого в юнити нет, потому что у разрабов СВОЕ ВИДЕНЬЕ
251 451456
>>51454
Почему же свое виденье? Тут тебе и objectOfType и UnityEvents и включение-выключение компонентов прямо на ГО. Можно ECS обмазываться при грамотном подходе
1365770511812.jpg17 Кб, 477x354
252 451467
>>51450
Что плохого в простеньком интерфейсе? Это лучше, чем наследование, чем проверка кучи компонентов и тому подобное.
253 451468
Обколются своим ООП, а потом ябут друг друга в жопы.
254 451471
Как можно исправить эту ошибку (возникает при компляции билда на андроид)
CommandInvokationFailure: Failed to re-package resources.
C:\AndroidSDK\build-tools\25.0.2\aapt.exe package --auto-add-overlay -v -f -m -J "gen" -M "AndroidManifest.xml" -S "res" -I "C:/AndroidSDK\platforms\android-25\android.jar" -F bin/resources.ap_

stderr[
AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'theme' with value '@style/UnityThemeSelector').

AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/app_icon').

AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'label' with value '@string/app_name').

AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'banner' with value '@drawable/app_banner').

AndroidManifest.xml:5: error: Error: No resource found that matches the given name (at 'label' with value '@string/app_name').

]
stdout[
Configurations:
(default)

Files:
AndroidManifest.xml
Src: () AndroidManifest.xml

Resource Dirs:
Including resources from package: C:\AndroidSDK\platforms\android-25\android.jar
applyFileOverlay for drawable
applyFileOverlay for layout
applyFileOverlay for anim
applyFileOverlay for animator
applyFileOverlay for interpolator
applyFileOverlay for transition
applyFileOverlay for xml
applyFileOverlay for raw
applyFileOverlay for color
applyFileOverlay for menu
applyFileOverlay for mipmap
]
exit code: 1
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg, Int32 retriesOnFailure)
254 451471
Как можно исправить эту ошибку (возникает при компляции билда на андроид)
CommandInvokationFailure: Failed to re-package resources.
C:\AndroidSDK\build-tools\25.0.2\aapt.exe package --auto-add-overlay -v -f -m -J "gen" -M "AndroidManifest.xml" -S "res" -I "C:/AndroidSDK\platforms\android-25\android.jar" -F bin/resources.ap_

stderr[
AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'theme' with value '@style/UnityThemeSelector').

AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/app_icon').

AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'label' with value '@string/app_name').

AndroidManifest.xml:4: error: Error: No resource found that matches the given name (at 'banner' with value '@drawable/app_banner').

AndroidManifest.xml:5: error: Error: No resource found that matches the given name (at 'label' with value '@string/app_name').

]
stdout[
Configurations:
(default)

Files:
AndroidManifest.xml
Src: () AndroidManifest.xml

Resource Dirs:
Including resources from package: C:\AndroidSDK\platforms\android-25\android.jar
applyFileOverlay for drawable
applyFileOverlay for layout
applyFileOverlay for anim
applyFileOverlay for animator
applyFileOverlay for interpolator
applyFileOverlay for transition
applyFileOverlay for xml
applyFileOverlay for raw
applyFileOverlay for color
applyFileOverlay for menu
applyFileOverlay for mipmap
]
exit code: 1
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg, Int32 retriesOnFailure)
15001968073800.jpg166 Кб, 812x727
255 451472
>>51468
Они же просто пограмисты, имитации игроделов. Сможет ли погромист сделать игру, создать шедевр?
256 451474
>>51471
я тебе вчера отвечал.
programmersfurry[1].jpg115 Кб, 800x541
257 451476
258 451477
>>51474
Т.е. заполнить данные о компании в Identification?
Вроде бы не совсем получилось-там есть какие-то определённые правила заполнения?
259 451479
>>51477
сука блять тебе погуглить сложно? там же всё элементарно, но нет, не хочу, ему блять даже сказали в какую сторону смотреть, нет не хочу, хочу чтобы мы за него собрали приложение
260 451483
услышал такую вещь, что для удобства многие объекты лучше размещать на сцене, всунув в парент к пустому ГеймОбжекту. Типа так проще с пивотами работать, менять всякое если что и прочее.
Только я вот не понял, компоненты логики тогда на пустой ГО вешать, или на сам объект?
261 451484
>>51483
Парент можно воспринимать как группу или "папку" с объектами. Логика у тебя к самому объекту относится или к группе объектов?
262 451485
>>51484
нет, не для того, чтобы группировать. Тут то все понятно.

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

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

Инбифо. Твой чел, ты и разбирайся, хз что он там говорил и к чему вообще.
263 451486
>>51485
мало ли кто тут так делает постоянно, может подскажете.
image.png220 Кб, 1920x1037
264 451490
>>448595
Ебаная хуйня не хочет видеть нажатие, што не так анон.
265 451492
>>51490
eventSystem добавь, может поможет
266 451498
>>51492
Ну а хули она не может работать как у всех? eventSystem не помог.
267 451499
Какого хрена visual studio иногда не цепляет неймспейсы для вновь созданных классов? Не узнает нифига из юнитивских штук. Закрыть-открыть помогает только, да и то не всегда.
268 451500
>>51499

> 2018


> visual studio


Кекус
269 451501
>>51500
а что у вас там в 2018?
270 451502
>>51501
Visual Studio Code
271 451505
>>51501
Rider
272 451509
>>51501
Монодевелоп
273 451510
>>51502
>>51505
>>51509
а что лучше то?
274 451512
>>51490
Да блджать, объясните чому это говно не пашет. Колайдер есть, перед объектом ничего нет. И всеравно нихуя.
275 451513
>>51510
Rider
276 451514
>>51509
Монодевелоп
277 451516
>>51510
Блокнот
278 451519
>>51512
EventSystem есть? В канвас рейкастер запихни на всякий случай.
279 451598
>>51490
OnMouseDown с большой буквы пиши, ёбаный ты по голове.
280 451602
Как фиксить то, что освещение в игре, когда тестишь в самом Unity ярче, чем на мобильном устройстве? Или это у одного меня так?
281 451603
>>51602
Кто тебя знает, может у тебя моник выкручен на полную и хуярит аки солнце.
282 451646
>>51598
Лол, а ты глазастый.
283 451650
>>51144
Я уже заебался кидать одну и ту же ссылку, но вам нужно изучить принципы SOLID. Даже где-то в дебрях документации Unity можно найти ссылку на этот сайт: https://refactoring.guru/
284 451657
>>51240
А как это правильно сделать?
285 451658
Есть ли в Unity возможность использовать apng?
286 451669
>>51650
Еба-а-ать! Да там же руссик есть! Божественно...
287 451676
>>51669
Ты, только, не ударяйся в те техники как ебанутый шизик, пихаяя их всюду.
Доставай их только, когда появляется проблема.
288 451678
>>51676
Нет проблемы - значит, оптимизация не нужна.
290 451688
>>51678
MVP блеать! Омежки-вылизаторы не нужны
291 451710
>>51685
>>51650
Плять, почитал, теперь захотелось переделать связку юниты-клетки в связку массив рендереров - массив координат - массив статов - массив айдишников. Сука, я ж сейчас переделывать весь код пойду из-за вас
292 451718
Друзья, объясните тупому, как вставить анимацию? Пытаюсь использовать apng, ничего не работает. Юнити, кажись, вообще думает, что это обычный png. Покадраво тоже ничего не понял.
293 451734
>>51678
Чувак, пойми другое. Все эти техники нужны для того, чтобы упростить сам процесс разработки.
Чтобы ты посреди разработки не осознавал, что написал говно уровня: поменял один модуль - сломал 24 других модуля.
294 451743
>>51710
Вот и переделывай.
В случае чего, откатить в svn не проблема.

>>51718
Берешь и вставляешь спрайтшит. Потом в аниматоре делаешь анимацию. APNG - ебанутый и оверинжинирнутый формат. Юнити его не поддерживает. Угомонись.
295 451745
>>51743

>ебанутый и оверинжинирнутый формат. Юнити его не поддерживает


потому что унити говно само по своей природе? И авторы юнити не смогли написать работающий импортёр?
296 451747
>>51743

>Вот и переделывай.


Как я кодить начал, я только и делаю, что переделываю всё. ООП, говорят, делай, наследувай, фор вместо форич используй, синглтоны бля юзай. А тут читаешь - де, кэш он вон как устроен, и если ООП юзать, то это в 50 раз медленнее согласно тому, что по ссылке, чем ебошить методами какого-нибудь паскаля школьного. Это как-то дико, как мне кажется. Я-то думал, если ООП (САМО ООП), то все эти проблемы как бы системно решены, всё по-умному устроено, АН НЕТ, НИХУЯ, ВСЁ ТУПО, А ТЫ ГУБУ РАСКАТАЛ.
Мне не пригорает, возиться в коде-то весело и приятно и самое лучшее времяпреповождение, но серьёзно, хуле всё так плохо, нехитро устроено?
sage 297 451748
>>51745
Ты чмоха необразованная.
Пиздуй напиши свой имортер, юнити тебе руки не ограничивает ничем. Потом выложишь в AssetStore за 5 баксов.
Его никто не купит, потому что никто не использует APNG для анимации в играх, т.к. формат конченый и жрёт дохуя времени на цпу которого у тебя нет, лох
298 451750
>>51747
Понимаешь, ООП в реалиях геймдева сегодня -- это нихуя не медленно. В большинстве случаев у тебя узким местом производительности будет рендеринг.

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

Беда ООП в том, что люди нихуя не понимают его сути и ругают его за зря.

А вообще, в Unity использует КОП (компонентно-ориентированное программирование)
299 451751
Пацаны, помогите

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

Посмотрел в инете - понял что у меня не настроен keystore. Настроил, не работает

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

Прошу объяснить на пальцах что и как мне делать, если конечно это не трудно.
300 451753
>>51751
Ты скриншот консоли кинь.
Почитаем за тебя, если ты не умеешь.
302 451756
>>51747
Все эти проблемы блекнут по сравнении с тем, что такими темпами ты никогда не сделаешь игру.
304 451759
>>51757
что ж, я попробую!
305 451760
>>51756
Там нехуй делать будет, когда эти проблемы решатся. Самые-самые базовые механики готовы, теперь только оболочками их обмазывать, а потом модельки влепить нормальные и всё готово будет. Можно поставить вопрос так - чем сильнее и лучше продумаешь свой инструментарий, тем быстрее потом сможешь ебошить сюжет и карты.
306 451761
>>51760
Как бы ты не перегорел вылизывая свою архитектуру и инструментарий которые все равно никто не увидит
307 451762
>>51761
Нечему перегорать, я и так уже полый.
Скриншот 21-10-2017 224915.png29 Кб, 603x299
308 451763
>>51757
Неа, говорит что нельзя старую версию использовать, потому проблема ещё в силе
Скриншот 21-10-2017 233531.png15 Кб, 472x148
309 451764
>>51763
быстрофикс
310 451766
>>51764
Так, у меня вроде что то получилось, я кое где поменял кое что. Проблема потеряла силу. Эх, вот бы они всегда так решались благосклонным рандомом
311 451770
Тупой вопрос, каким образом можно сделать генирацию бесконечной земли, учитывая, что она будет идти по какой-то функции, без швов(для юзера)? Пример такого: Alto's Adventure
312 451798
>>51710
Кстати, геймпаттерны есть на русском
http://live13.livejournal.com/462582.html
313 451799
>>51710

>захотелось переделать связку юниты-клетки в связку массив рендереров - массив координат - массив статов - массив айдишников


Ты что, ебанутый? Это анти-паттерн
314 451805
>>51710
После такого поста даже запускать не буду, вдруг там окажется такая годнота, что я осознаю что до этого я занимался неправильной хуйнёй, а белые люди всё делают совсем не так.
315 451815
>>51805
Если у тебя есть хоть одно наследование, или в твоем коде нет ни одной функции SendMessage(), ты и так делаешь все не так.
316 451821
>>51815
Наследования есть, а сендмесседж нету, это да.
317 451830
>>51821
Переделывай пока не поздно
318 451831
>>51815
Или если использует богомерзкий SerializeField вместо божественного public, потому что он больше байт занимает.
319 451837
Производительность на смартфонах.
Делаю сетевой шутер под андроид. И вот задумался. Есть объект игрока, который я могу разбить где-то на 7 разных компонентов. Это удобно для разработки и код в целом понятнее будет, НО, это породит много вызовов методов, породит больше вызовов GetComponent и тому подобное. Компоненты вида PlayerHealth (синхронизирует здоровье, принимает демадж), PlayerMovement (синхронизирует позицию, обрабатывает передвижение), PlayerVisuals (реагирует на события, создаёт эффекты, отображает модели), PlayerShooting, PlayerInput, PlayerAbilities и т.п.

Не приведёт ли это к проблемам в дальнейшем? Или стоит всё по-старинке захерачить в 2-3 компонентах?
320 451841
>>51798
Похуй мне на шаблоны, они однохуйственны. А вот разница в скорости в 50 раз - это уже что-то, о чём стоит побеспокоиться.
321 451842
>>51841
Хуярь на асме, батя грит скорость в небеса улетела к Аллаху.
322 451845
>>51837
Во-первых, результат GetComponent всегда можно кэшировать.
Во-вторых, когда ты разбиваешь код на компоненты, то ты делаешь свой код гибче и реюзабельнее. Юнити построена на таком подходе, т.к. если бы все компоненты физики/рендеринга и прочего были захуячены в один класс, то ты бы заебался настраивать каждый компонент так как тебе нужно. Ну и было бы дохуища кода, который ты бы не смог переиспользовать и дрочился бы ты с boiler-plate кодом как ебанутый.

Из плюсов могу привести пример. Например, у меня есть компоненты Projectile и Damageable.
Projectile наносит урон компонентам Damageable, Damageable компоненты следят за тем, что если наносимый дамаг выжрал всё здоровье, то пора сдохнуть тому или иному объекту.
Таким образом я смог переиспользовать один и тот же код для юнитов и для статичных объектов на сцене, которые могут быть сломаны, т.к. логика у них по сути одна и та же.

if (damageValue >= currentHealth) InvokeDeathEvent();

Как-то так.
323 451846
>>51837

>GetComponent


ГейОбжект знает обо всех компонентах и хранит ссылки на них. Поэтому ГетКомпонент быстро отрабатывает. Но если будешь вызывать его по 10к раз за один тик, тогда могут быть проблемы.
324 451847
>>51841
Ты ебанутая пизда, ты сначала напиши код, который реально будет тормозить и убивать твой CPU, а потом уже пиши, что-то про производительность. В большинстве случаев, игры задыхаются из-за того, что у тебя слишком много говна рисуется на экране.

Повторяю ещё раз, необразованный. Шаблоны нужны для того, чтобы не переписывать один и тот же код по 100 раз, т.к. ты с "архитектурой" обосрался. Они нужны просто для упрощения процесса разработки.
325 451853
>>51847

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


Я как-то раз запустил while (true) в обычном viod, который висел в падейте и прихуел от того, что у меня даже первый кадр не прорисовывается. Потом понял что я долбоёб и перенёс это в корутину.
мимо шёл
326 451854
>>51853

> в апдейте

327 451855
>>51837
Ты ебанутый. Суть компонентов в повторном использовании. Зачем тебе делать дохуя компонентов, которые используются только с одним объектом?
328 451857
>>51855

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


Архитектурно это проще, но таки, тот ананас ебанутый, 7 компонентов на одном объекте это наркомания.
329 451860
>>51857

>7 компонентов на одном объекте это наркомания


Ну, можно до 5 сократить.

Player - хранит имя, жизни, обрабатывает получение урона и смерть. И любая другая хрень будет здесь же.
PlayerMovement - обрабатывает передвижение, коллизии, прыжок.
PlayerVisuals - отображает скин игрок, оружие, анимацию, эффекты стрельбы/смерти/крови.
PlayerShooting - занимается стрельбой из оружия.
PlayerInput - принимает ввод и транслирует его на другие компоненты.

Это такой минимум, который не стоит сокращать, как мне кажется. Хотя PlayerInput можно перенести в Player. PlayerMovement тоже можно. Да вообще все эти компоненты можно туда перенести, но это будет пиздец.
330 451863
>>51860

> но это будет пиздец


Именно. Если у тебя скрипт и швец и жнец и на дуде игрец — там начинается такой анальный цирк, шо я бля ебал того маму рот.
sage 331 451869
>>51837
Не слушай этих чуханов, так и надо делать.
332 451870
>>51845

>InvokeDeathEvent


Ты везде юзаешь ивенты, чтобы компоненты не были связаны с друг другом?
333 451871
>>51860

> Player...


Зачем код разбивать на компоненты если они все используются только на одном и том же го и больше нигде?
334 451872
>>51870
А для другого эвенты у нас не используются, да?
335 451874
итт все ебанулися
336 451875
>>51860
Хуйню пишешь. Ей богу, пора начинать брать деньги за консультации.
Character - хранит имя, жизни, обрабатывает получение урона и смерть. И любая другая хрень связанная с любыми персонажами игры (NPC, враги, игрок). обрабатывает передвижение, коллизии, прыжок.
Player - принимает ввод и транслирует его на другие компоненты. отображает скин игрок, оружие, анимацию
Для оружия - разные компоненты с логикой оружия на самом префабе оружия
337 451878
>>51861 (Del)

>А как сделать тогда разные виды оружия?


Разными компонентами

>Оно же у всех компонентов свою хуйню вызывает, не проще ли геткомпонент сделать?


Суть в том, что ты не знаешь во время выполнения игры, какой компонент на оружии, например. Можно делать наследование или интерфейс. Но лучше использовать SendMessage. Почему это лучше? Потому что у тебя может быть не один компонент-обработчик сообщения. Например, компонент, который спавнит отстрелянные гильзы, или проигрывает какой-то эффект
14668422652300.webm2,9 Мб, webm,
900x544, 0:07
338 451880

>SendMessage


>2к17

339 451888
Пиздец, что за хуйню вы тут городите?
Тут хоть кто-то с кодерской вышкой есть кроме меня? Поднимите руки.
340 451890
>>51888
Тролли троллят троллей.
14934746333220.webm2,3 Мб, webm,
1280x720, 0:19
341 451891
>>51888

>кодерская вышка


>vs


>реальный мир разработки


Найс траллинг.
342 451893
>>51891
Да знаешь, уж лучше быть с кодерской вышкой, чем фрезеровщиком, посмотревшим на ютубе ролик "делоем хоррар за десеть менут на юнете"
343 451894
>>51893
ЧСХ, посмотревший ролик хоррор таки сделает, а ты нет.
14665092640930.jpg41 Кб, 442x440
344 451895
>>51888

>Тут хоть кто-то с кодерской вышкой есть кроме меня?

345 451897
>>51893
Но даже он может сделать игру, а не ковыряться в абстрактных фабриках.
346 451898
>>51894
Ну да, подвигает ассетики по сцене за два часа и молодец.
https://www.youtube.com/watch?v=cnEr4P6gGWo&t=1s
347 451899
>>51897
Сегодня я делаю фабрику, а завтра фабрика делает мне игру. Учись у мастеров.
348 451900
>>51870
Не везде.
Всё зависит от ситуации. Но в большей части использую события.
349 451901
>>51888
Я с кодерской вышкой. Ты покажи конкретно, где хуйню городят-то?
Лично я вижу, что ньюфаги у "бывалых" интересуются.
350 451902
В этом треде есть троли?
351 451903
352 451904
>>51902
Только орки. И пару эльфов.
353 451905
>>51900
события с# усложняют архитектуру и логику без видимых преимуществ. Лучше использовать SendMessage
354 451907
>>51905
Как можно усложнять то чего нет
355 451909
>>51905
Это платиновый пост?
356 451910
>>51905
Приведи пример усложнения архитектуры и логики.
357 451911
>>51902
Тут ТОЛЬКО тролли. Ну, или иронизирующие. Суть одно и то же. И половина из них мемеры.
358 451912
>>51905
Зацени няшный код от корпораций. ARKit, хололензовский сдк, кинектовский и прочие штуки от больших ребят. Или тех-же юнитеков. Стилистики общей написания плагинов под юньку нет. Но есть понимание, что во-первых - нет перегруза с абстрактными классами. Полностью отсувуют реализации синглтонов и ебучих фабрик с фасадами. Зато есть контроллеры, которые обращаются к управляющему классу, и объекты с компонентами обращаются в эти контроллеры. Во-вторых любые реализации взаимодействия с уи-шными компонентами и прочим связанным с вызовом на конкретных го происходит через геткомпонент, а лучше - публичные unityevents. В-третьих никаких тегов, слоёв и сендмессаджей. Это вообще какое-то костыльное решение для быстрого прототипирования и дебага
359 451913
>>51815
>>51831
Это траллинг такой?
360 451914
>>51910
Ну например компонент на пуле должен отправлять сообщение объекту с которым он столкнулся.
1. Очевидно это проще сделать просто с SendMessage и все. Если на объекте есть компоненты получающие это сообщение, они сработают, если нет - ничего не будет.
2. Как ты это сделаешь без SendMessage? Очевидно, подписка на события тут в принципе не может быть сделана. Можно использовать явно GetComponent<Health>() со столкнувшимся объектом и например отнимать ХП.
3. А если у тебя несколько компонентов обрабатывающих это сообщение, то единственный вариант использовать интерфейс с одним методом и как-то foreach (var comp in obj.GetComponents<IDamageable>()) comp.DoDamage();

Очевидно, что первый способ самый простой и с ним все компоненты изолированы друг от друга без зависимостей. Это идеальный вариант.
361 451915
>>51853
Ну ясен-красен. Ты каждый кадр свой цикл без выхода запускал.
362 451916
>>51914
Геткомпонент и прямая ссылка на объект. А вы мастер в том, чтоб плодить сущности без их надобности
363 451917
>>51914
Отправка сообщений единственное правильное решение, о чем говорят сами разработчики давая такой инструмент.
364 451918
>>51917
Инструмент для возможности быстрой отладки и запуска методов сразу на куче компонентов. Отладки.. Отладки. Отладки.
365 451919
>>51912
Чем плохи синглтоны то?
Вон у MixedRealityToolkit-a майкрософтовского синглтон на синглтоне и проблем с ними я как-то не заметил.
366 451920
>>51912

>Зацени няшный код от корпораций


Ну лично из моего опыта, я пришел к выводу, что чем проще и чем меньше кода, тем лучше.
SendMessage делает многие сложные вещи простыми с минимум кода.
367 451922
>>51919
Этот паттерн не дает никаких преимуществ а только усложняет код и плохо сказывается на производительности. Вместо него можно просто делать поля статичным.
1359560102548.jpg32 Кб, 600x450
368 451924
369 451925
>>51919
Mrtk потихоньку их выпиливает, вводя неймспейсы и классы уже в движок. Вот эти все темы с XR.WSA и прочее. Да есть в паре мест синглтоны, но они являются лишь контроллерами для выполнения каких-то методов со сцены. Те в свою очередь пользуются пару-тройку больших классов для спейшал мпюаппинга, войска рекогишнк и прочего инпута. На самом деле все красиво, но в некоторых моментах перемудрили Здравствуйте, коллега. И вообще, что сейчас происходит с ветками на гитхабе посвященным теме, этим всем обновлениями юньки/винды/беткам/очков - пиздец полнейший. То, что юнитеки отдельные mrtp версии пихают - уже говорит о чем-то страшном
370 451928
>>51914
Во-первых, https://docs.unity3d.com/ru/530/Manual/MessagingSystem.html
Во-вторых, SendMessage - это удар по производительности, т.к. ты вызываешь метод по строке, а тут уже и так становится понятно, что под капотом крутится подобие рефлексии. А также передаёшь аргументы как object. Из-за чего триггеришь лишние упаковки для value-type.
В-третьих, если ты себе инструменты для рефакторинга ломаешь, т.к. если ты поменяешь сигнатуру метода, то тебе надо будет руками пройти и все SendMessage поменять и проверить.

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

UiManager.Instance.LoadingPanel.text = "ЗОПЕКАЕМ ТЕКСТУРЫ)))";
UiManager.Instance.LoadingPanel.progress += 0.15f;

Код редактора был сломан нахуй. Люди, которые работали в редакторе не смогли продолжать работать, а тот чувак так и не понял, что плохого в синглтонах. Ну сломался редактор, ну и чо - ПОЧИНИШЬ ЖЕ)))) ты же его писал)))000

Добро пожаловать в русский геймдев.
371 451930
А разве сенд месадж не использует рефлексию?
372 451932
>>51915
Ну да, в том и дело. Говорю ж - долбоёб.
373 451933
>>51930
Только при первом вызове, а потом кеширует функцию и тогда ее вызов ничем от обычного вызова не отличается.
374 451934
>>51933
Хех, а вот и фантазёры подъехали. Пруфануть кеширование чем-нибудь можешь?
375 451935
>>51934
Мамой клянусь!
61ecEb8x2mL.ACUL320SR274,320.jpg14 Кб, 274x320
376 451936
>>51914
Ты тупая чмоня, эвент менеджеры для кого придумали? Подписка не может быть сделана лол блядь. С кем я в один тред зашел, пиздец
377 451938
>>51934
Ну ты и васян, купи про версию юнити и посмотри сам.
378 451939
>>51936
Усложнение архитектуры
дцп танцы.webm7,5 Мб, webm,
640x360, 3:00
379 451952
У меня скоро крыша поедет в попытках написать хорошую архитектуру. А если я напишу паршивую архитектуру, то мне не захочется продолжать. Замкнутый круг самообоссывания.
380 451956
>>51952
Слушай сюда, n00b.
Пиши так как хочешь/удобно. Как только упрёшься в ограничения архитектуры, достаёшь паттерны и думаешь как они тебе помогут разрулить ту или иную проблему.
Ты по-любому по незнанке наломаешь дров, но ты и учишься, чтобы в будущем не ломать одни и те же дрова, а с каждым проектом становиться всё лучше и лучше.
Только практика поможет тебе понять, что не так с кодом и как дальше с этим жить.
Удачи.
381 451973
Здарова, пацанва. Хочу реализовать следующее в своей игре:
Есть враг, есть точка, к которой он идет. Точка должна переместиться, после того. как враг до неё дойдет. Точка переместиться должна рандомно, но при этом не попадая за стену. Как сделать?
382 451974
https://www.youtube.com/watch?v=7kHNUdNHT-A
Чувак говорит, что лучше сделать один апдейт на игру, и вызывать другие псевдо-апдейты(просто функции) из него. Еще про кеширование трансформы. Почему они всю эту хуйню до сих пор не оптимизировали, вот что интересно.
383 451977
>>51974
Потому что они заняты важными фичами для заманивания артистов, а основная масса пользователей даже не знает что такое рефлексия.
384 451981
>>51974
Хватит форсить себя, полудурок ебаный.
В юнитиблогах эту тему обсосали уже, нахуя видео записывать? Особенно, когда нет исходников движка и что-то кукарекаешь с умным видом.

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

сори за мат
385 451987
>>51974
Про трансформ ты жопой слушал что ли? А насчет вызова апдейт, старт и прочего говна посмотри на стек вызова этих функции, он идет из нативной среды ядра движка через прокси объекты с кучей проверок на каждый вызов + там скорее всего какие то уровни аспектов для логирования, синхронизации и еще какого нибудь служебного говна, которое пришлом девам в голову после прочтения 20 ПАТТЕРНОВ ПРОЕКТИРОВАНИЯ КОТОРЫЕ ДОЛЖЕН ЗНАТЬ КАЖДЫЙ ПРОГРОМИСТ. А еще, если бы ты уебок дошел до сборки проекта, то увидел бы настройки оптимизации и твой кусок говна из двух кубов, который ты называешь проектом, работал бы на 4 миллисекунды быстрее.
Но все это неважно, просто ни на сколько не важно, и не имеет никакого значения, потому что вы уебки второй тред подрядят пережевываете говно друг друга вместо того чтобы сделать хоть одну ебучую игру для плеймаркета.
Как же вы твари бесите меня, насрал бы в рот каждому кто еще спизданет про оптимизацию, архитектуру или ооп. Просто трясет нахуй.
386 451989
>>51987
А ты что сделал, чмоня?
1431952895333.jpg16 Кб, 385x387
387 451990
>>51974
Пиздец это чухло минут 5 не может понять что он приравнивает вектор к флоату.
388 451991
>>51989
Насрал в треде, можешь кушать
389 451995
>>51990
У него и лист еще бесконечный, охуеть просто. Почему какие-то говноеды, вчера начавшие писать код пытаются учить других?
 .jpg39 Кб, 442x409
390 452000
>>51995

> пора начинать брать деньги за консультации


> Почему какие-то говноеды, вчера начавшие писать код пытаются учить других

409.png271 Кб, 600x481
391 452002
>>51995
ОХУЕТЬ, ОН 300 КИЛОБАЙТ СЭКОНОМИЛ! НУ ВЫ ВИДЕЛИ!? ЭТО ЖЕ МОЖНО ЕЩЕ ПАРАГРАФ ТЕКСТА В ПАМЯТЬ ЗАПИХАТЬ! ВОТ ЭТО ОПТИМИЗОН!
392 452003
>>51938
Даун, теперь сделай первый вызов не в первом же фрейме. Кэшируется у него блядь.
393 452004
>>52003

> кешируется при первом вызове


> сделай вызов не в первом фрейме


Ну ты понял
 .png41 Кб, 1419x356
394 452007
>>52003
>>52004
Хотя да, я понял о чем ты. Странно, проверил пару раз, но так даже дольше получается
395 452011
>>52007
Лол, да. Я и сам охуел. Что-то здесь нечисто, но пусть это будет магия кеширования, ладно.
396 452028
>>51973
NavMesh
397 452053
>>52052 (Del)
Бери только те точки, которые за стеной. Либо заранее считай, либо как-то разбивай множество по-умному.
398 452054
>>52052 (Del)
В прошлом треде мелкобуквенный ананас кидал свой ассет, который в навмеше определял "за стеной" точка или нет. Или сам поищи (тред ещё не смыло), или дождись пока он вкатится.
399 452056
Можно гайд по воспроизводству видосов? Сам нашёл только нерабочее говно.
400 452057
>>52056

> воспроизводству


Воспроизведению, конечно же.
401 452058
>>52056
Ты вопрос-то конкретизируй. Если тебе нужны катсценки, то лови
https://www.youtube.com/watch?v=7SsqUb9FgW8
402 452059
>>52058
Нужно воспроизвести .mp4 файл.
404 452062
>>52061 (Del)
Книгу из шапки почитай. С такими запросами даже она у тебя "вау" вызовет.
405 452063
>>52060
Спасибо, смотрел гайды на ютубе о MovieTexture, но никак не импортировалось видео. Попробую по оф.гайду. Чё-т хуй знает, почему сам не додумался его посмотреть, лол.
406 452065
>>51987
Ты ебанутый. В треде движка обсуждают движок, а не игры
407 452066
>>51987
кокой злой. впрочем, всё так и есть.
image.png21 Кб, 399x159
408 452071
Сталкивался кто? Как снизить минимальный Lvl? Сама игра почти ничего не жрет. Даже текстурок/света/теней нет. Нихуя крч нет. Два бокса и три префаба.
409 452073
>>52071
Тебе надо не снизить, а повысить, так как твой плагин требует апи 24. В настройках для билда ищи.
410 452074
>>52073
Так в том то и дело шо мне нужен рабочий апк на киткат и выше.
411 452075
>>52074
Значит не используй Tango.
412 452109
>>52058

>2к17


>катсцены на майе


Вот нахера юнитеки так старались и пилили тебе божественный Cinemachine?
413 452110
>>52071
Это ARCore какой-нибудь или дейдрим?
414 452137
>>52058
Не могу удержаться и ссу на тебя еще раз https://blogs.unity3d.com/ru/2017/08/25/community-stories-cinemachine-and-timeline/
415 452138
>>52137

> Не могу удержаться и ссу


К доктору обратись, это энурез.
416 452139
>>52138

>> Не могу удержаться и ссу


>К доктору обратись, это энурез.


Не могу я к доктору - если я расскажу о своих проблемах и о двачах - обоссыт
417 452141
>>52063
гайды многодетней давности. Мувитексчур -
тяжеловесное неповоротливое говно. Тебе сюда https://docs.unity3d.com/Manual/VideoPlayer.html
418 452143
>>52062
Сомневаюсь. Я ее видел(совсем немного), вроде ничего супер интересного нет.
419 452151
Гайз, как остановить коррутину из другой функции?
420 452153
>>52052 (Del)
Я анон, который вопрос задавал. У меня идея возникла следующая: Можно провреять рейкастом, есть ли стена между точкой и мобом и, если есть, то перемещать её перед стеной.
421 452154
>>52151
проверяй буль-буль
422 452157
>>52151
StopCoroutine(MyCoroutine());
423 452158
>>52153
определи рандом внутри нужной тебе зоны. и... Зачем спавнить спавнить что-то вне нее, чтоб потом подгонять как раз внутрь этой зоны? Это же идиотизм какой-то
424 452159
>>52151
Флажком.
425 452160
>>52158
Ну прикол в том, что у меня очень много лвлов в игре будет и я хочу потом не запариваясь об этом, делать сами лвла. Ну, чтобы мне не пришлось ничего делать, кроме как ставить самих врагов, сундуки всякие, сам лвл.
426 452161
>>52160
Ты хочешь все уровни разом грузить? Нахуя?
427 452162
>>52154
У меня прикол в том, что может запуститься несколько коррутин одинаковых. И собственно, флажок будет на все действовать же. Ну или я просто не понял, что ты имеешь ввиду.
>>52157
Попробую, спс.
428 452163
>>52161
Че? Нет, конечно. Я имел ввиду, что мне будет впадлу зону спавна точки выставлять каждый раз.
429 452164
>>52163
По какому-нибудь закону автоматом выставляй точки.
430 452182
>>52180 (Del)
Зачем агентом? Плодите сущности, сударь.
Если эти комнаты достаточно простой геометрии, то ничего не мешает вполне таки обрисовать границы чем-то вроде мешика по точкам углов помещения(меш и не нужен, нужны координаты точек в углах и все)
431 452193
Поцоны, как развернуть объект по направлению движения?
432 452194
>>52193
lookat v3.forward
433 452195
>>52180 (Del)
Зачем мне навмеш, если у меня простенькая 2д игра, с самым простейшим поиском пути?
434 452196
>>52195
Если она такая простая, то почему тебе так сложно?
435 452198
>>52195
Комнаты прямоугольные?
436 452199
>>52195
Комнаты прямоугольные?
437 452200
>>52198
Да.
>>52196
Тому что я нуб.
438 452214
Аноны, а давайте гитхабами/битбакетами меряться?

мимо-Столлман
439 452230
Мне не нравится в каком направлении движется API юнити. Они слишком много перекладывают из натива в C#, где они занимаются всякими ебанутыми микро-оптимизациями, в худших традициях юнити-тредах. Например, отказываются от создания объектов. Создание объектов - это суть C#. Пытаться отказаться от этого и ебашить на структах - это как пытаться выебать C# в жопу без вазелина.
Раньше у юнити было просто и чисто API. Сейчас я смотрю на Playable и на Job System и охуеваю: что это за говно блядь.
440 452239
>>52230

>Сейчас я смотрю на Playable и на Job System и охуеваю


Это считай плагины. Как и uNet, как и UI. Можешь своё запилить. Главное, чтобы они новую версию шарпа подрубили и нет фреймворка. Тогда я с удовольствием запилю какой-нибудь плагин.
sage 441 452281
>>52214
Вот мой гитхаб но там пока мало проектов https://github.com/torvalds
442 452307
>>52208 (Del)
Короче, я видимо реально не умею вопросы задавать.

>Точка переместиться должна рандомно, но при этом не попадая за стену. Как сделать?


Вот вопрос)))
443 452310
>>52307
Берёшь минимум, берёшь максимум, ебошишь рандом между минимум и максимумом. Минимум и максимум определяешь во время загрузки комнаты.
444 452351
>>52310
>>52330 (Del)

>1. Рейкаст в рандомную сторону от врага. Смотришь на расстояние до столкновения и ебашишь рандомную точку между врагом и столкновением(догадаешься как сделать?)


Спасибо большое, это то, что мне было нужно.

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


Это бы не подошло, т.к. у врага может появиться точка, например, за домом и она будет являться проходимой, но он туда идти не должен.
445 452355
>>52354 (Del)
Да, я и сделаю рейкастами.

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


Дык, если они заагрятся на врага, им надо будет выйти из комнаты, чтобы преследовать его. Ну и поиск путей в таком случае тоже нужен, т.к. мили враги должны использовать его, чтобы обходить всякие столы, тумбочки и т.д.
446 452356
>>52351
А рейкаст не будет попадать в дверной проем, например, и они не будут выбегать из комнаты? Или я не понимаю чего-то.
447 452359
>>52356
Вообще на это очень маленький шанс, но я просто добавлю коллайдеры в дверные проёмы в тот же лэер, в котором находятся стены.
448 452367
https://www.youtube.com/watch?v=cupdlbOFNK4
Ха блядь! Я по одному только инпут филду на 2:48 сразу догадался, что эта игра сделана на юнити. Вот серьёзно: всё, что сделано с использованием стандартных ассетов, выглядит одинаково, и внутренние ограничения на стандартные ассеты - те же кнопки или инпутфилды - меняют дизайн игры узнаваемым образом.
Я пока что умею споттить юнити безотказно по заставочке юнитовской и кнопкам с инпутфилдами. Какие ещё фичи движка выдают его с головой?
449 452368
>>52367
Стандартное освещение/материалы. Глянцевый унреал энгине сразу видно, например.
450 452369
Ща будет ваще тупой вопрос, но как отключить луп анимации? Допустим, есть дверь, у нее есть состояние Idle, тут ее игрок активирует и она переходит в состояние Open, но вместо того, чтобы один раз открыться, она бесконечно ебашит туда-сюда.
451 452370
>>52230
Конкретней распиши, что тебе не нравится в новых фичах?

>>52369
По-моему, в инспекторе клипа есть галка loop time. Сними ее.
452 452371
>>52370
Аааа, так вот где эта галка. Я искал ее в инспекторе объекта, на котором висит аниматор, а она на клипе. Спасибо.
453 452387
А тут есть кто-нибудь, кто как-то заработал на своём увлечении?
анимация.PNG15 Кб, 417x379
454 452388
Сап котики, сделал анимацию и движение влево-вправо героя в 2д проекте, короче как сделать чтобы анимация всегда возвращалась в Idle, когда мой герой останавливается? А то сейчас, пока я жму бег, идет цикл между idle и run и тип анимации зависит от того на каком моменте я перестану бежать.
455 452389
>>52367
Да не похуй ли? Рядовой игроман о таких вещах не задумывается, главное чтобы игра норм была
456 452390
А и ещё вопрос, мне вот в мануале написали следующее:

>Alright let's implement jumping! First of all we will need to find out if player is currently standing on the ground or not. For some reason there is no Unity function for this just yet, so we will create our own IsGrounded function here:


Там мануал по старой версии юнити. Вопрос, появилась ли сейчас такая функция, если да, то как называется и используется?
anim.jpg110 Кб, 1092x603
457 452391
>>52388
Используй параметры. Задавай их из кода.
458 452392
>>52388
Сам с этим долго ебался. Короче. Выделяешь стрелочку к анимации. В инспекторе настраиваешь переход. Там снизу такая синенькая область, ставишь её на минимум и галочку с "exit time" снимаешь.
459 452393
>>52391

>2017


>animator


лол
460 452394
>>52367

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


Ебать ты Шерлок
Фон кпонопчек можно менять, никаких ограничений нет

Юнити даже детектить не нужно. 90% игр от нонеймов, и всякое говно запиленное на коленке от мажоров, как правило на юнити
461 452395
>>52393
Поясни свой кек.
462 452409
>>52393
Есть альтернативы?
463 452423
>>52394

>Фон кпонопчек можно менять, никаких ограничений нет


Дело не в фоне, дело в том, как кнопочки реагируют на нажатия.
464 452424
>>52423
А что мешает запилить своё кастомное поведение кнопкам чтобы никто не догадался? кому бля это в здравом уме надо
465 452426
>>52424

>критикуют кнопочки


>значит, хотят замаскировать поведение! Надо бы дать совет, как это сделать!


Не вся критика требует ответов. Знаешь, иногда можно просто смотреть на что-то и получать удовольствие от увиденного.
466 452430
>>52395
>>52409
Playable API
467 452432
>>52393
Че в мануале из шапки треда пишут, то и делаю, не выёбывайся
468 452433
>>52430
Оно хорошо для лепки кактсценок и для перемещения болванчиков. А для управления игроком аниматор подходит больше.
469 452435
>>52433
Ты путаешь с таймлайном.
Playable скорее больше подходит для процедурной анимации, без который в больших проектах достаточно тяжко.
Animator - это монолитный кусок.
470 452436
>>52435

> Ты путаешь с таймлайном


И правда, пардон.
471 452437
>>52435
Теперь в юнити можно (наверное) запилить что-то такое
472 452438
473 452439
>>52435
И стоит ли переносить всё с аниматора на плейбл?
474 452441
>>52439
Нет, если тебе хватает пропертей и не нужно контроллировать анимации из кода
475 452443
>>52391
Так я и использую
>>52392

>галочку с "exit time"


Это я делал.
На пике выделена область, ты про неё? У какой стрелочки её менять, я уже всяко разно перепробовал, хуй знает, заскринь как правильно будет, если не сложно
Снимок.PNG47 Кб, 841x473
476 452444
>>52443
Пик отклеился
477 452445
>>52444
>>52443
А всё отбой, вроде взлетело, убрал вообще на ноль на стрелочке от run к idle
Так я не понял про аниматор, че зашквар что ли? Работает же, мне сложных анимаций и не нужно в платформере
478 452447
>>52387
Работаю юнити-макакой, задавай свои ответы.
479 452449
>>52445
Блять т.е. от idle к run. Но энивэй, иногда всё-равно зависает анимация на run, хуевый баг какой-то
Модер, почисти мои посты короче, заспамил все к хуям
480 452453
>>52447
Как вкатился?
481 452458
>>52447
просто садись и выкладывай всё, без задней мысли.
482 452459
>>52445
Лучше на ноль не убирай, оставь 0.1 секунду, а то смотреться ущербно будет.
483 452460
>>52447
Ну дык запили стори с самого начала. Образование есть? Когда программировать начал? Как вкатился? По вакансии или заметили? Как работа? Доставляет или рутина? Сам же знаешь, что рассказывать :)
484 452461
>>52194

>lookat v3.forward


Ну окей, а как мне именно повернуть по направлению движения?
485 452462
>>52445

> Так я не понял про аниматор, че зашквар что ли? Работает же, мне сложных анимаций и не нужно в платформере


Если у тебя там полторы анимации, то забей.
486 452465
>>52461
Ну давай сначала определимся каким именно образом у тебя объект куда-то движется. Аниматором? Геймконтроллером? Силой риджидбади? Транслейтом?
487 452473
Я создал инпутфилд в рандомных ебенях, инпутфилд является дитём другого УИ объекта, при нажатии включается, всё ок, но каретка не показывается. В паузе рисует, что каретка должна быть в пределах поля ввода, но ничего подобного нет. На стрелки воображаемая каретка двигается, все команды для работы с текстом работают. Выделение тоже не отображается.
488 452474
>>52473
У меня похоже было на бэтке. Откатился со стабильной версии - отпустило.
489 452477
>>52474
Да? Ну тогда похуй, спасибо. У меня последняя версия с поддержкой 32битов, мне некуда вкатываться
490 452478
>>52474

> Откатился со стабильной версии


До стабильной, конечно же.
491 452479
Я вот запилил свой вариант поворота ног в сторону движения, но при движении вперёд творится какая-то неведомая хуйня, помогите понять, в чем я накосячил?

>>52465
Транслейтом.
492 452480
>>52479
Нифига ты нахуевертил. Про velocity.magnitude слышал?
14205117567140.jpg106 Кб, 707x682
493 452481
>>52479

> CharacterController


> Транслейтом

494 452482
>>52481

>Nogi

Код.jpg56 Кб, 1094x364
495 452485
>>52481
Пикрл.
>>52480

>velocity.magnitude


Ща пойду гуглить.
496 452486
>>52480
А че без rb нельзя обойтись?
497 452488
>>52486
Нахуй тебе rb, если velocity.magnitude хавается стандартным чарактерконтроллером? Но ты нахуевертил свой, так что теперь либо твой велосипед нужно разбирать, либо костылить. Выбирай.
34bbfa64f7133a58662cc05f3a787640.jpg38 Кб, 453x604
498 452489
499 452490
>>52488
Дык у меня игра 2d, поэтому я и свой сделал.
500 452491
>>52485

> Vertical


> deltaZ


И давно у нас вертикальная ось это Z?
501 452492
>>52485
И да,

> if (deltaX < 0 || deltaX > 0)


Смотри, показываю фокус:

> if (deltaX != 0)

502 452495
>>52491
Это в процессе разработки осталось :)
>>52492
Это самое первое, что я в жизни написал. Но спс, поправлю.

>>52479
Так а всё-таки, можете объяснить, почему у меня такая хрень происходит? Причем баг этот идет только в сторону, которой ноги поворачиваются. Ну т.е., если поставить (vector2.right, latetonow), то соответственно, при ходьбе вправо это будет.
503 452497
>>52495

> Так а всё-таки, можете объяснить, почему у меня такая хрень происходит?


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

> творится какая-то неведомая хуйня


> почему у меня такая хрень происходит?


не сильно проясняют твою проблему.
Заливай на гит, посмотрим. А так на гуще гадать — толку мало.
Инспектор.jpg48 Кб, 635x273
504 452502
>>52497

>не сильно проясняют твою проблему.


А, дык я приложил скриншот с инеспектором. Там Rotation. Стрелочками справа указано направление движения. Наверное надо было уточнить.
505 452510
>>52502
Ладно, ты, судя по всему, парень новый, так что давай попробуем сначала.
У тебя движения задаются чем? WASD'ом? Если да, то кто тебе мешается на этот самый WASD повесить поворот в нужную сторону?
506 452511
В общем, создаю инпутфилд. При включении поля создаются из пула две кнопки для да и нет сбоку. Внезапно обнаружилось, что кнопочки-то будут грузиться ПОД любым УИ, а мне надо их грузить НАД любым УИ. Делаю кнопки дочерними к самому полотну, проверяю в паузе, чтобы кнопки были в самом низу, но нихуя. Что не так я делаю?
Как вариант - унять амбиции и грузить кнопки не сбоку, а прямо над полем ввода.
507 452512
>>52511

> Внезапно обнаружилось, что кнопочки-то будут грузиться ПОД любым УИ, а мне надо их грузить НАД любым УИ


Рор, лэйаут зависит от позиции в иерархии под канвасом. Ничего там дочерним делать не надо.
508 452514
>>52510
1. Плавность поворота. Сейчас он охуительно выглядит, реально.
2. Я вообще эту игру хочу под мобилку сделать и там джойстиком будет управление задаваться. Просто пока-что я на компе всё тестирую, чтобы проще было.
509 452516
>>52514

> Плавность поворота


Vector3 direction = (target.position - transform.position).normalized;
Quaternion lookRotation = Quaternion.LookRotation (direction);
transform.rotation = Quaternion.Slerp (transform.rotation, lookRotation, Time.deltaTime /тут коэфициент поворота*/);

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


В любом случае оно будет задаваться осями из Input.
Берёз из осей знак минус, если он есть (https://docs.unity3d.com/ScriptReference/Mathf.Sign.html) и умножаешь его на v3.right и v3.up, туда и крутишь своего болванчика.
510 452517
>>52516
Ссылка из-за скобки похерилсь
https://docs.unity3d.com/ScriptReference/Mathf.Sign.html
511 452519
>>52516
А как из Input взять их под поворот?
У меня единственная идея, которая была, пиздец ущербная.
если deltaX>0 transform.rotation =, ну ты понел
512 452521
>>52519

> А как из Input взять их под поворот?


Ну блин, я ж тебе скинул

> Vector3 direction = (target.position - transform.position).normalized;


> Quaternion lookRotation = Quaternion.LookRotation (direction);


> transform.rotation = Quaternion.Slerp (transform.rotation, lookRotation, Time.deltaTime /тут коэфициент поворота*/);


target.position откладываешь от своего позишина, учитывая оси и минусы.
513 452523
>>52521
Хотя .normalized тут, наверное, и не надо. Это кусок из моей 3д-херни, где плавный поворот работает. Если зуб перестанет болеть - попробую в 2д попробовать.
514 452524
Добрый вечер, вопрос для тех кто девелопит на айфоны.

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

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

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

Спасибо что дочитал до ентого места..
515 452525
>>52524
А там на яблоках просто подрубить по юсб и кинуть скомпиленный файлик нельзя?
Я просто яблок никогда не ел, но вроде должно быть всё просто.
516 452526
>>52523

> попробую в 2д попробовать


Извините за тавтологию. Под обезболивающими немного туплю.
517 452529
>>52516

> , Time.deltaTime /тут коэфициент поворота*/);


Если фреймрейт скачет, то интерполяция будет дерганой. Лучше использовать захардкореное значение.
518 452531
>>52529
Можно и так.
519 452538
>>52525
судя по тому что я читал можно только на своем девайсе со своего девелопер аккаунта.

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

Предлагать людям на мероприятии джейлбрейкаться тоже не вариант.

Т.е. безнадега, вся надежда что я чего-то не так понял.
520 452539
>>52538
Ну блин, какая-то яблочная анальная диктатура.
На ведре всё как пять копеек.
521 452540
>>52512
Я нашёл, в чём дело. Я создавал копии объекта в пуле, но не прописывал им родителя в виде канваса. Из-за этого кнопки не появлялись на экране, собственно.
УИ - это ад. У меня накожено меню и полторы панельки внутриигровые, и я внутренне содрагаюсь, сколько взаимодействий нужно будет тестировать, когда увеличится количество всего этого говна. И ведь, сука, нельзя просто чисто и раздельно всё сделать, всюду столько исключений из правил кроется, что я просто хуй знает.
522 452555
>>52453
>>52458
>>52460
Сначала пришел в инди компанию, где начальник играет в геймдев разработку. Имел за плечами среднего качества вышку по ит-направлению и опыт уровня /gd/ около двух лет.
В целом было весело, делал прототипы всякие. Но через пол года мне предложили уйти (я доебал писателя и геймдиза, пытаясь донести до них, как работают текстовые квесты). Через две недели нашел другую вакансию, связанную с vr/ar разработкой. Год работаю там, делаем не игры, а btb презенташки всякие на юнити, но какая разница. Иногда интересные кейсы попадаются, иногда рутина, иногда отбитые заказчики. По моему опыту считаю, что вкатиться в юнити макакинг просто, нужно лишь иметь средние знания шарпов и пару проектов, чтобы показать (не обязательно даже допилиных).
523 452564
>>52555
Ты прошаренный. Подскажи что делать чтобы люди работали на меня ЗАПРОЦЕНТЫ. Есть какие-нибудь хитрости может?
524 452567
>>52555
Где работаешь? Сколько получаешь?
525 452570
>>52387
Я зарабатываю уже на протяжении 3 лет.
Начинал с реверс-инжиниринга игор, а потом чудом вкатился в геймдев. Теперь выкатиться сложновато.
526 452571
>>52564
Какие ещё хитрости, ёбаный в рот? Заклинания что ли?
Господи, ну и вопросы у вас.
sage 527 452572
>>52571
Ничо-ничо, ща минут через пять сядем int оптимизировать.
528 452573
>>52571
Заклинания, заговоры, настойки приворота, блять, что угодно! Не хочу и не буду чужие игры делать. С какого хуя я должен работать над чужими играми если своих ИДЕЙ жопой жуй.
529 452574
>>52572
наканецта!
530 452575
>>52573

> Не хочу и не буду чужие игры делать


Делай свои.
531 452577
>>52575
Я пытаюсь, братан. Но и мечтаю что однажды у меня будет кто-то на кого я смогу свалить половину работы.
532 452591
Юнитибратья, памахите:
Прикрутил unity IAP, сделал кнопку, в плеере запускается фейкстор, покупается, все ок.
Делаю билд, залил в стор, поставил на тел - запускую - нихуя, описания товара нет, цены нет, при нажатии выпадает нульпойнтер на хер знает что, хер знает где. Второй день пишу логгер чтобы понять хотя бы где ошибка.
Кто имеет успешный опыт прикручивания этого говна - поделитесь, а? Делал все по туториалам юнити.
533 452599
>>52555
Почему не уйдешь в собственное инди, без начальников и прочего?
unity shit.webm21,5 Мб, webm,
1280x720, 0:42
534 452600
Короче пилю марио по мануалу из шапки треда, и видимо там какие-то зашкварные скрипты или че, потому что игра получается с багами. Ящик может сменить координату, герой может подпрыгнуть два раза, хотя я жму только один раз, может сильно высоко подпрыгнуть, хотя я ему такой хуйни не задавал. Вот архив с проектом из мануала, там все те же баги есть, а ещё $20 просят за свои мануалы задроченные:
http://dropmefiles.com/iQobg
Может найдётся умелец, который перепилит проект, убрав все баги и прочий щит. Что бы на будущее для нубов хороший пример был. Кто если не мы будем подымать с колен индигей девелопинг?
535 452602
>>52599

> собственное инди


"Хуяк-хуяк и в продакшен"? Для собственной игры нужен художник, моделлер, дизайнер, композитор, да дохера кто нужен, вплоть до маркетолога. А это всё упирается в деньги.
Можно, конечно, быть человеком-оркестром, но тогда игру будешь делать 10 лет и все эти 10 лет питаться дошиком и запивать водой из крана.
536 452603
>>52600

> 2018


> запись экрана с мобилки

537 452604
>>52600

> по мануалу из шапки треда


Там мануалы местами кривые, потому как писались ещё при царе Горохе и на новых версиях юньки могут вести себя странно.
Я по тем же мануалам делал тетрис, так пришлось допиливать.
538 452605
>>52603
Тебе может ещё презентацию запилить надо было?
Давайте просто разберемся, чего там подправить надо, или где нормальный мануал взять, багов дохуя. Не бойтесь архив качать, там нет вишмастеров
539 452607
>>52605

> Тебе может ещё презентацию запилить надо было?


Обычного бэндикама хватило бы с головой.

> Не бойтесь архив качать


Ну сча скачаю, хули.
540 452609
>>52607
Давай бро, я даже бэндикам сейчас скачаю по такому поводу
541 452610
>>52600
Пацаны, не качайте, у меня юнити сломалась от этой хуйни.
76de399b2df0cd58582cc507f8e1f101.png6 Кб, 340x143
542 452611
>>52600
Ебать, болванчик мало того что подпрыгнул в стратосферу, так ещё и когда приземлился - провалился сквозь первый слой кирпичей.
543 452617
>>52611
Ну теперь нашёлся бы профи, который смог бы запилить марио без багов.
Сейчас вот такой вот мануал нарыл, пойду смотреть:
https://www.youtube.com/watch?v=CAPVBTKk3Ww
Может после просмотра сам что-то вкурю.
Вообще накидайте пожалуйста годных ссылок или лучше готовых проектов с платформерами и прочим 2d щитом, змейки, тетрисы, квесты, кликеры и прочее, у кого что есть, если не жалко, можно на почту - maQncterejiANUSgmatdEilPUNCTUMcV8yom Если сильно годные 2d проекты жалко отдавать за просто так, пишите свои предложения так же на почту. А вообще, я за то чтобы мы сплотились все, и помогали другу другу, чтобы было больше действительно годных игр, а не той недоделанной параши, которую нынче пачками выдают школьники и прочие лентяи. Нам нужен хороший мануал по вот этим всем техническим основам, на которые по сути не так много времени и уходит, главное чтобы без багов были. Разъебаться с ними и уже отдаться непосредственно геймдизайну
544 452618
>>52617

>Юнити ченнел в ютюбе.


Там хорошие мануалы.
545 452619
>>52600
Гайд - кривое дырявое говно. Легче заново написать, чем костылить то что есть.
546 452621
>>52619
Это я понял, но кто напишет, ты напишешь? Я не смогу, я нуб. Поэтому и прошу профи
547 452622
>>52621

> ты напишешь?


Может и напишу тетрис от скуки за вечер написал в своё время, но пока сижу с дикой температурой и соображаю хуже обычного. Даже свой проект Тауэр дефенс не открывал уже несколько дней.
548 452623
>>52621
Физон для аркадки написать - неделю, даже нуб справится. Возьми офишиал гайдпро картошку с канала юнити.
Графон, локализация, ЮИ, левелдизайн - вот где пердолинг, и никто тебе никаких гайдов не напилит.
549 452625
>>52618
Спасибо. Вот это вроде годнота:
https://www.youtube.com/watch?v=wGI2e3Dzk_w&index=1&list=PLX2vGYjWbI0SUWwVPCERK88Qw8hpjEGd8
Просто блять, надо шапку треда тогда перепилить, хули там делают кривые мануалы? Надо ей заняться
>>52622
Ок бро, поправляйся там.
>>52623
Так я о чём и толкую

>техническим основам, на которые по сути не так много времени и уходит


>Разъебаться с ними и уже отдаться непосредственно геймдизайну


Я рылся в мануале у них на сайте, но чё-то не наткнулся, о чем ты толкуешь, кинь ссылку?
550 452626
>>52474
>>52477
Лол, запустил юнити сегодня, каретка появилась. Ёбаный юнити.
551 452637
>>52625
Картошка старая как говно, мож уже и по новее есть чего, зря я ее вспомнил.
Проблема всех юнити-мануалов по аркадкам - правильно высчитать стоит игрок или летит в воздухе. Все остальное просто решается физикой ригибоди2д.
552 452642
>>52602
Неужели за годы макакинга не оброс связями и знакомствами? Может быть в твоем окружении есть люди кто хотел бы запилить собственную игорь? На почве этого можно было бы слиться в стихийном потоке коллаборации.
553 452643
>>52609

> 2018


> бандикам

554 452645
>>52555
рассказывай про зарплаты на всех этапах, что на собеседованиях спрашивали.
Интересно еще про первые дни, вот пришел ты, что тебе дали из задач, насколько торопили по времени, помогали ли?

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

Вот запилил я морской бой и простую ТД, с графеном из бесплатного ассетстора и примитивов, все работает, но код — говно. (Делал часть по туториалам, но все равно потом заново переписал по-своему). Стоит подучить документацию и идти на джуна?

Тестовые задания были?
555 452658
>>52643
А что используют модные прогрессивные ребята?
556 452659
>>52658
Очевидный OBS
557 452661
Можно ли из скрипта проверить на каком кадре анимация? как?
558 452662
>>52599
Не достаточно финансов, чтобы лезть в залупу и тратить деньги на собственный проект. В свободное время пилю всякое, но дропнуть работу и пытаться мутить что-то своё стрёмно.
>>52645
Зарплата от 50(на первой работе) до 100(сейчас).
На первой работе просили натаскать шутан из ассетов и логику для пары пушек написать, на второй писал в качестве тестового расширение для редактора.
Код везде и у всех говно, приходит с опытом.
559 452664
>>52662
город какой, выбор был из контор? взяли в первой?
560 452665
>>52664
>>52662

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


это непосредственно на тех. интервью, или заранее в вакансии было задание?
561 452685
>>52591
Каким кейстором подписываешься?
562 452694
>>52685
продакшеном, никах дебугов. Пользователя завел нового.

>>52661
Можно вытащить фрейм по-моему из клипа.
563 452695
>>52694
В какую ветку билд заливаешь?
Дамп лога с adb можешь кинуть?
564 452697
>>52695
и в альфу и в бетту пробовал, однохуйственно.
адбы пока нету, не прикручено.
Выбрасывает Пурчез фейлюр, нульпойнтер эксцепшион, вроде как из недр IAPButton
565 452700
>>52697
Давай код тогда.
566 452701
>>52700
там обычный код из примеров.
кнопка и листнер
а ты заводил торговлю через юнити иап? все работало без оверпердолинга?
вернусь с командировки, попробую логирование нормальное сделать, вернусь в тредж.
567 452702
Допустим, я хочу сделать какие-то движение или анимацию с достаточно большой продолжительностью, чтобы была важна возможность ставить паузу, например, во время вызова меню. Как это взрослые дядьки реализуют?
568 452703
>>52702
Каким макаром пауза связана с длительностью анимации?
569 452704
>>52703
Поэтому я и спрашиваю, что не знаю.
570 452706
>>52704
Ну и что тебе ответить, если ты даже не знаешь что спрашиваешь?
571 452707
>>52706
Ну бля, типичный юнити тред.
Я хочу останавливать текущую корутину (или анимацию, я хз) и возобновлять её по требованию с того места, где её остановили.
Мне что, запускать корутину, проверять, достигнут ли буль паузы, если да, то останавливать её и брать оставшееся количество кадров, сохранять до возобновления, и при возобновлении начинать корутину заново с остатком кадров?
572 452708
>>52707
Если тебе нужна обычная пауза, то используй

> Time.timeScale = 0;

573 452709
>>52708
И что этот таймскейл сделает? Все скрипты с тайм.дельтатайм будут нули получать или что?
574 452710
>>52709

> И что этот таймскейл сделает?


А что обычная пауза делает? Останавливает всё.

> The scale at which the time is passing. This can be used for slow motion effects.


> When timeScale is 1.0 the time is passing as fast as realtime. When timeScale is 0.5 the time is passing 2x slower than realtime.


> When timeScale is set to zero the game is basically paused if all your functions are frame rate independent.

575 452711
>>52710
Это слишком просто. Тут точно какой-то жуткий подвох кроется, юнити ж кривая.
576 452712
>>52711
Ну собирай велосипед тогда, раз сильно просто.
577 452713
>>52712
Ты не заставишь меня не писать велосипед!
Но серьёзно, это слишком просто. Что значит время здесь? Вот есть апдейт. Каждый фрейм он вызывается у всех, разница между фреймами в секундах это дельтатайм.
Вот есть у меня инпут с клавиатуры. Я поставил таймскейл на 0. Когда может произойти апдейт, который поймает инпут?
578 452714
>>52713
Ты совсем безруки и не можешь посмотреть документацию?

> Except for realtimeSinceStartup, timeScale affects all the time and delta time measuring variables of the Time class.


> FixedUpdate functions will not be called when timeScale is set to zero.

579 452715
>>52714
Оно всё так написано, что вопросов остаётся больше, чем ответов. Ладно, фиксед апдейт не вызывается. Все анимации и движения в фиксед апдейт закидывать надо, чтобы таймскейл = 0 работал безупречно? И все дельтатаймы тогда всегда должны быть как deltatime * (выражение) использоваться?
А инпутфилды? Они же с самыми разными апдейтами внутри сидят. Из-за этого таймскейла они не отвалятся?
580 452716
>>52715
Это такой тралленг тупостью?
Всего одна строчка, блять, возьми напиши её да проверь что будет.
581 452718
>>52716
Ну и на этом спасибо. Доброй ночи.
582 452731
Есть анимация выстрела. Как сделать, чтобы выстрелы шли с периодичностью анимации?
583 452734
>>52731
триггеры анимации
584 452766
>>52701
Чувак, я заводил инапы, только по своему опыту я не использую примеры. Я ебашу так.
585 452767
>>52711
Кривой ты, потому что ни разу не видел движки и игры ни разу не писал.
586 452849
>>52555
VR/AR. b2b презенташки. Да вы сударь, выходит, что мой коллега. Сколько лет опыта в этой теме? Есть устройства мало характерные для сферы, с которыми общаешься?
587 452854
>>52849

> VR/AR. b2b презенташки


Это когда вокруг всё летает и прыгает, а голос за кадром говорит какая наша контора охуенная?
588 452863
У меня есть камера, которая видит и УИ, и 3д объекты. Проблема в том, что камера видит УИ там, где его нет, т.е. я могу нажать по пустому месту и так нажать на кнопку - и при этом могу нажимать по кнопке и по-нормальному. Позиция нажатия не случайная, причём при повороте камеры/изменении высоты позиция для неправильного нажатия меняется, если камеру повернуть под 50 градусов, то нажать в неположенном месте становится нельзя.
На какой высоте расположен УИ и как поменять эту высоту?
589 452865
>>52863

> На какой высоте расположен УИ и как поменять эту высоту?


Ты вообще читал как UI работает?
вот тебе страница из документации
https://docs.unity3d.com/Manual/UISystem.html
На скрине в самом верху Rect Transform видишь? Как думаешь, что это?
И да, там ниже есть ссылочка на туториал, ознакомься.
590 452867
>>52865
От изменения высоты камеры ничего не меняется. Когда камера смотрит прямо вниз, то неправильная область нажатия для кнопки на середине экрана где-то, когда поворот под 50 градусов, то область съезжает за пределы экрана.
591 452868
>>52867
Повторяю вопрос.

> Ты вообще читал как UI работает?

592 452869
>>52868

>The UI system allows you to create user interfaces fast and intuitively. This is an introduction to the major features of Unity’s UI system.


Ну охуеть теперь я всё знаю.

У меня есть конкретная проблема. Ты мне предлагаешь "ну иди бля книжки почитай, обучайся". Ты понимаешь, что это так не работает?
593 452870
>>52869

> У меня есть конкретная проблема


Которую ты объясняешь примерно как "Доктор, у меня живот болит, что со мной?"
Ты понимаешь что у твоей хуйни может быть дохера причин? Откуда я знаю что ты там нахуевертил? Откуда я знаю хреначил ли ты UI раньше и работало ли оно, а теперь не работает? Заскринил бы хотя бы сцену, иерархию.
Я хуею, не могут ничего толком объяснить, а потом удивляются почему им не говорят "плюнь через плечо и всё заработает".
594 452872
>>52870
Поставил clipping planes в камере с 1000 (дефолтные?) до 100, перестал видеть неправильную область для кнопки.
595 452873
>>52872

> перестал видеть неправильную область для кнопки


Мне интересно как у тебя вообще вылезли "неправильные области", если UI проецируется с канваса прямо на экран.
Ты в следующий раз кидай скрины, это ж не сложно, а понимание проблемы увеличивает в разы.
596 452874
>>52873
Говорю же, от высоты и наклона камеры видимость области зависела. Очевидно же, что дело в том, что УИ имеет какую-то высоту в "реальном мире". Похоже, эта высота где-то в районе 800-1000 по z
Олсо, по скринам вообще бы нихуя не было понятно всё равно. Ну, допустим, один скрин, где мышка на кнопке и кнопка подсвечивается, другой, где мышка не на кнопке, и кнопка серая, и третий, где мышка в определённой области, но кнопка подсвечивается. Что ты из этого решишь? Что я, долбоёб, залепил громадную кнопку с коллайдерами, и все части этой кнопки без коллайдера игнорирую?
597 452875
>>52874

> УИ имеет какую-то высоту в "реальном мире"


Нет, она имеет только привязку к канвасу.

> высота где-то в районе 800-1000 по z


Высота это Y, а не Z.

> по скринам вообще бы нихуя не было понятно


Всё стало бы охуенно понятно. Может ты вообще кнопку из-под канваса вытащил или ивэнтсистем удалил из "ненадобности", а может у тебя там и вовсе всё кромешный мрак.
598 452876
>>52875

>Высота это Y, а не Z.


Ну, глубина тогда.

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


https://gamedev.stackexchange.com/questions/101649/unity-ui-vanishes-when-the-camera-z-exceeds-1000
We are developing 3D racing game. After the player's position in Z axis reaches 1000, our Canvas UI is hidden and reset. If I unparent it from Character controller, it still gets auto reset but not hidden. If I drag player back to < 1000, it again shows my UI.
т.е. у них камера доходила до места, где УИ "хранится", и после него камера уже видеть не могла УИ.

>Может ты вообще кнопку из-под канваса вытащил


Кнопка работает, весь функционал правильный, но у неё есть дополнительная неправильная область нажатия. С чего бы вдруг ты решил, что я удалил себе ивентсистем?
599 452878
>>52876

> где УИ "хранится"


Это называется канвас, да.
Вообще скачай книгу из шапки, там отдельная глава под UI, там теории ровно 10 страниц (со 138-ой страницы), и то страницы со старым ГУЕМ из 4-ой версии можно пропустить.
600 452908
>>52734
Можешь подробнее объяснить? Че за триггеры анимации?
601 452909
>>52731
У меня есть выстрел, он в 6 кадров происходит. Можно ли как-то запилить, чтобы пуля вылетала всегда именно на первом кадре?
602 452928
>>52869
Дай человеку рыбу, и он будет сыт один день. Научи человека ловить рыбу, и он будет сыт всю жизнь.
603 452929
>>52928
Пиздешь
604 452930
>>52928
- Алло, это сервисцентр? У меня тут...
- Сейчас я посоветую вам прочитать одну книгу, и вы будете сыты на всю жизнь!
605 452939
>>52854
Ага. На выставках, экспозициях, в музейчиках. оно и есть. И почти все это на юньке и чсх делается(блоагдаря приемлимой 3д-шке и тому, что производители делеза быстро пишут под него сдк-шки)
606 452953
>>52930
Вот только у нас тут не сервисный центр.
607 452957
>>52953
А кто вы?
608 452961
>>52957
Без костюма?
609 452962
>>52939
То есть там из кодинга только перемещение всякого дерьма?
610 452965
>>52962
Не. Драйвера писать, CV библиотеки, распознование образов и очень много работы с интерфейсами
611 452966
https://www.youtube.com/watch?v=DKJpDebO-uc
Ребятки, вот скажите, юнити действительно настолько кривой, что чтобы сделать Осану, нужно потратить более, чем год?
612 452967
>>52965
Кароч работать долбоёбом не получится, надо ещё и чёто шарить? Пичаль.
613 452968
А почему Unity не находит обновления автоматически? Не то что-бы очень надо, но стоит версия 2017.1, и через меню Help-Check For Update пишет у вас последняя версия. А на сайте уже 2017.2. Абидно как-то...
614 452969
>>52968
Юнька из пелёнок тебя учит заходить на их сайт и смотреть чё там завезли.
615 452972
>>52971 (Del)
Значит, дело не в массе, очевидно же.
616 452973
>>52971 (Del)
С wheel collider там вообще жопа ещё с 4-ой версии.
617 452996
>>52967
изначально никто не шарит. просто приходит все с опытом - пол-годика поавриться и если не совсем кран - все понятно становится
Curve.png91 Кб, 416x675
618 453006
>>50464
наконец-то игори меня отпустили и я вернулся к погромированию. бамп. мои попытки воспроизвести это окончились этим и какая-то хуита в итоге.
619 453014
>>52622
Ну что ты, бэтман? Напишешь?
>>52637

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


Ну способов это сделать несколько, насколько я понимаю, потому что вот мои способы работают с багами. Что за картошка то блять? Кинь ссылки на мануалы, пожалуйста
620 453019
>>49619 (OP)
Анонас, как ты переключаешься по сценам, мой хуюнити зависает после команды апликатион лоад левел. Сцены в билд сетингс добавил.
621 453070
>>53019
Application.LoadLevel устарела.
Гугли SceneManager
622 453077
>>53014

> Ну что ты, бэтман? Напишешь?


Лол, а ведь я даже набросал локация с трубами и кустиками, хуйнул персонажа, написал контроллер, а потом удалил всё к хуям, потому что подумал что оно нахуй никому не нужно.
623 453084
>>53014
>>53077

Ну чо ебать, вам марио написать и показать как батя делает?
624 453129
>>53006
а я таки нашел бумажку объясняющую что там.
http://runevision.com/thesis/rune_skovbo_johansen_thesis.pdf
если кому интересно почитать. глава 6
625 453170
Есть нормальные ПОДРОБНЫЕ книги для юнити? Где бы объяснялся подробно процесс создания полноценный игры?
Скачал пачку книг и видео туторов из разряда делаем фпс шутер, делаем ртс, делаем рпг, делаем настолку и т.п.. Но у всех тупо начинается с того что дают ссылку где скачать уже готовый ассет или можно сказать сделанный на 99% проект и потом по ходу книги начинают размышлять о дизайне и прочей ерунде. Или разбирают 1%-2% кода из проекта.
А что-нибудь максимально подробное есть от начала и до конца без использования стартер китов и сделанных уже проектов есть?
626 453179
>>53170
Дык юнити это коммерция и маркетинг. Купи ассет, продай ассет, запишись на курсы. Игры делать это только мешает.
627 453186
>>53170
Из шапки книгу попробуй.
628 453210
>>49619 (OP)
Если забить на переключение по сценам, и просто перемещать камеру на одной, какие минусы в этом?
629 453220
>>53210
Спрашиваю, томушта не все текстуры в новую сцену прогружает, а как исправить не ебу.
123.png25 Кб, 274x400
630 453225
Интересное там чтиво, в общем. Надо будет окунутся в процедурные анимации.
Как перестать писать велосипеды и начать писать игры?
631 453230
>>53225

>Как перестать писать велосипеды и начать писать игры?


Устройся на работу.
632 453232
>>53170
Ну, по своему опыту скажу, что ты для начала поковыряйся в чужих проектах.
А там и до своих дорастёшь.

>>53210
Что ты несешь, ааааааааа?!
633 453237
>>53230
Как перестать писать велосипеды и устроиться на работу?
634 453238
>>53237
Устроиться к ИП Андрей Иванович очень даже просто, если ты разбираешься в юнити. Там поработаешь год и можно будет идти в более серьёзную конторку.
635 453243
>>53237
>>53238
Но тогда написание игр потеряет всякий фан. Лучше работать водителем автобуса, а игры писать после работы.
636 453275
>>53238

>Устроиться к ИП Андрей Иванович очень даже просто, если ты разбираешься в юнити.


ИП Андрей Иванов хочет чтобы я делал всю работу по 18 часов в сутки за 15к рублей в месяц.
zvezda7.png11,6 Мб, 3840x2160
637 453288
Привет котаны, вкачусь к вам макакой, стаж 2 дня
Портфолио вон
Зп 300кк/наносекунда

Ваши предложения
638 453291
>>53288
Матрас не аутентичный.Нужен ватный стеганный, который в рулон сказать можно
639 453293
>>53288
Оливье где? Не, таких не берём.
640 453294
>>53291
>>53293
Пофиксим к следующему мажор апдейту, Вы только работать возьмите
Аноним 641 453334
>>53170
тебе на cgpeers, давече видал там много годноты
642 453337
У меня есть голый ректтрансформ без изображения, в котором я создаю дитя с изображением.

NullReferenceException: Object reference not set to an instance of an object
UnityEngine.UI.MaskUtilities.GetStencilDepth (UnityEngine.Transform transform, UnityEngine.Transform stopAfter) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/MaskUtilities.cs:73)

Я хотел спросить, почему это говно выдаёт ошибку, но потом добавил в ректтрансформ изображение (даже прозрачное), и внезапно ошибку перестало давать. Ну надо же! И вот где это требование написано? https://docs.unity3d.com/Manual/script-Mask.html Здесь точно ничего подобного нет, самое близкое

>using say a Panel object (menu: GameObject > Create UI > Panel) as a “frame”


но тут не упоминается, что изображение обязательно.
Нахуя так жить, котаны?
643 453340
>>53337

> Нахуя так жить, котаны?


Документация в юньке не полная. Так что пока ставится юнька - все бегут за лубрикантом.
644 453351
>>53337
>>53340
И ещё одно. Оказывается, если у родителя изображение прозрачное, то для маски ФСЬО будет считаться как будто за пределами маски. Какое же веселье-то.
игорь.jpg222 Кб, 888x1048
645 453418
Анон, нид халп. Появилась возможность вкатиться в геймдев. Предложили пройти тестовое задание. Сделать надо на юнити. Подскажи, анон, реально ли такое запилить при полном отсутствии опыта? В какую сторону гуглить? На задание дали 4 дня. Пикрил.

По заданию: перед нами поле 10 на 10 ячеек.
На поле расставлены блоки (непроходимые) - сделать авто генерацию уровня, но обязательно обеспечить хотябы один вариант к выходу.
На карте есть вражеские объекты 1 и 2 с секторами видимости - они перемещаются по карте (в базе со скоростью игрока +- Random для увеличении скорости врага и усложнения.
На карте есть точка Н и ВЫХОД . В точке Н появляется наш герой (управление - клавиатура и мышка)
Наша цель не попасть в зоны видимости (секторы) объектов 1 и 2 и добраться до выхода.
При попадании на сектор обзора врага - враг стремится к нашему игроку, при коллизии с нашим игроком - конец игры.
Перед основной сценой используйте меню начала игры и завершение уровня.
646 453421
>>53418

> полном отсутствии опыта


В смысле программировать не умеешь?
647 453422
>>53418

> Появилась возможность вкатиться в геймдев


> при полном отсутствии опыта


Мде.
А вообще — реально вполне. Покури вот этот гайд по диагонали. Там много того, что тебе не нужно, но и до жопы того, что нужно.
https://unity3d.com/ru/learn/tutorials/projects/2d-roguelike-tutorial
И да, враги тоже рандомно ставятся на свободные клетки или их позиция задана изначально?
648 453425
>>53422
Нахуй дауну помогаешь, пидоран?
649 453426
>>53425
Пускай учится.
650 453427
>>53425

>я у мамы крутой цынег-разрабодчег

651 453428
>>53421
Да, вообще — полный ноль. Был опыт только написания простых скриптов bat/cmd. Но я в принципе не против попробовать.

>>53422

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


То, что будет проще. Для начала, я так понимаю, лучше сделать уровень и врагов статичными, тупо один уровень игры. А потом уже "улучшать", если время останется.

>до жопы того, что нужно


Как я понимаю, мне нужно следующее:

1. Перемещение игрока.
2. Коллизии со стенами.
3. Коллизии с врагами.
4. ИИ врагов (движение по уровню, определение коллизий).
5. "Зрение" NPC (приближение к игроку в радиусе действия, лимитированный обзор) - пока что самое непонятное из этого списка.
6. Главное меню и завершение уровня.
652 453429
>>53428

> Перемещение игрока


Несколько строчек.

> Коллизии со стенами


Ещё проще.

> Коллизии с врагами


Так же.

> ИИ врагов


Херня.

> "Зрение" NPC


В одном скрипте с ИИ.

> Главное меню и завершение уровня


Это вообще смешно.

И да, двигаться тебе как надо? Как в шахматах, то есть одна клетка — одна позиция?
653 453430
>>53428

> Да, вообще — полный ноль


Это куда нынче берут с полным отсутствием опыта и сколько обещают платить? Я такое тестовое задания за вечерок бы написал.
654 453431
>>53429

> В одном скрипте с ИИ.


Мне гораздо проще было бы найти уже готовый проект, похожий на задание, в котором я бы мог просто потыкать в код/скрипты и отредактировать то, что нужно.
Сейчас пытаюсь пройти https://unity3d.com/ru/learn/tutorials/projects/2d-ufo-tutorial, чтобы появился хоть какой-то опыт работы с движком и создать часть того, что нужно по заданию.

> И да, двигаться тебе как надо? Как в шахматах, то есть одна клетка — одна позиция?


>> На карте есть вражеские объекты 1 и 2 с секторами видимости - они перемещаются по карте (в базе со скоростью игрока +- Random для увеличении скорости врага и усложнения.


Я так понимаю, всё должно происходить реалтайм, перемещение не "ступенчатое", а плавное.
1.png141 Кб, 671x641
655 453452
>>53418
Написал я твою херню, но пока без UI и враги пока двигаются не совсем так, как хотелось бы. Может завтра доделаю, если не забуду.
bandicam 2017-10-31 04-46-46-303.webm4 Мб, webm,
1432x700, 0:44
656 453466
>>53452

> завтра


А ладно.
Мобы медленные, но это чтоб было видно что они преследуют игрока. Можно ускорить.
Прикрутить генерацию уровня и готово твоё задание.
Ну и модельки какие-нибудь хуйнуть, лол, а то шарики бегают за капсулой среди кубиков.
657 453472
>>53418
забей на вакансию. Ты если и сделаешь это за 4 дня, то в первый же день или на интервью все зафейлишь. Они ждут человека не с 4-х дневным опытом.
658 453474
>>53472
Да вот и я не пойму куда это берут таких. Причём явно же ещё что-то спрашивали перед тем как задание дать.
659 453475
>>53472
хотя нет, не забей, охуенный экспириенс, все равно, даже если и выпрут на собеседовании. Делай, короч, если и дальше планируешь вкатываться.

Алсо, сколько обещали и насколько крута контора/что делают?
660 453487
>>53474
У меня знакомого вообще без опыта с юнити взяли.
661 453488
>>53487
а дали то ему сколько
662 453490
>>53488
ЗП? 90 где-то.
663 453504
>>53487
Но, видимо, со знанием шарпов. А тут же случай совсем нулевой.
664 453509
Юнити-рабы пытаются встроиться в систему юнити-маркетинга. Мутятся ассеты, онлайн-курсы, семинары, конференции, создаются рабочие места. А игр как не было, так нет. Так зачем нужен ваш Юнити?
665 453510
>>53509
прост ))
666 453511
>>53509
Попробуй потоньше.
667 453512
>>53511
Ничего личного, анончик. Ассеты крутятся - лавеха мутиться. Но пару лет, а то и месяцев такой работы, и тебя начнёт мутить тебя самого. Не лучше ли работать водителем трамвая, а по вечерам играть в старые добрые игры 70-ых-80-ых?
668 453513
>>53512
Опять этот водитель вылез. Автобус водить надоело, на трамвай пересел?
669 453514
>>53513
Я предлагаю анонам разные варианты. А насчёт водителя автобуса, это конкретный человек Joel Yliluoma aka Bisqwit.
670 453515
>>53512
От движка же не зависит, дело в индустрии, движок-то всего лишь инструмент.
UnityJumpingAss.webm10,3 Мб, webm,
1032x714, 0:17
671 453517
>>53225
сделал забавную прыгающую жопу на этом блендинге кривых. импульс жопы, кстати, высчитывается из движения ног. контролер двигается физоном. надо ещё чего нибудь ебануть.

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

>>53490
чет дохуя. у него небось другие качества были.
672 453518
>>53515
Unity это маркетинговый инструмент в первую очередь.
673 453521
>>53517
Чего тебя вообще туда попёрло? Анимации это прикольно, да, но лучше б игры делал.
674 453522
>>53490
Пидораха, прекращай мечтать, у тебя там говяжьи анусы остывают.
675 453523
>>53466
Ну так давай сорцы то, или тебя, блядь, умолять нужно.
676 453526
>>53523
Так оно ж не доделано, лол. Видишь вон шарик иногда заходит в кубик? И визуал надо дотягивать.
Лучше спроси чего не ясно — поясню.
677 453530
>>53521
я и делал. делал контролер для сетевого дрючева, обнаружил что юнити не обновляет велосити у обычного чарактер-контролера если игра свернута. репу почесал, решил попробовать другие имплементации контролера. сделал контролер через физон. пока делал контролер задумался что "а клево, тут же и правда велосити есть". на тестовом контролере ебанул чтобы шарик наклонялся в сторону куда велосити чтобы проще было дебажить. а потом "а хули бы не приделать ноги", сделал 1D интерполяцию у кривых, персонаж стал забавно семенить шариками по земле. потом задумался что что-то хуево что стрейфится не может, сделал хуевую 2D интерполяцию. потом "что-то говно какое-то, нука попробую интерполировать в полярной системе кординат", получилось хуево. копнул глубже, сделал хуйню эту, стало клево. потом накидал быстренько самописную 1D пружину, инверсивную кинематику, значения кривых стал хватать чтобы жопа качалась. получилась прыгающая жопа. и я чето довольный стал. теперь уже думаю что а не забить бы на воровство анимаций, сам то я их все равно не хочу делать. может процедурными их поделать.

>>53523
лол у этой хуйни же сорцов дай боже строк на 150
678 453531
>>53530

> строк на 150


65
679 453532
>>53523
Чувак, пиши сам. "Списать домашку" тут не прокатит, или ты по каждому вопросу рабочему на сосач бежать будешь? Если попадёшь.
680 453533
>>53523
Держи, чо. Шарики уже в стены не залезают, но оно всё равно сырое. Хотя тебе даже на пользу пойдёт, пока допилишь — что-то поймёшь.
К тому же это только скрипты, придётся по ним ещё и понять что там на объектах висит, тоже полезно будет.
Я бы ещё кое-какие магические числа вынес в переменные, но похуй, сам сделаешь если надо.
И да, код не просто так в скринах. Будешь ручками перебивать — больше запомнишь.
681 453535
>>53533
Застенчивые шарики, как мило.
682 453536
>>53535
Хикканы же.
683 453537
>>53531
как-то скучно на 65 то. ни генерации уровня, ни поиска пути, даже восклицательного знака нету сигнализирующего что "вас заметили".
684 453538
>>53537
Ну оно и писалось под чашку кофе. Хочет допиливать — пусть допиливает.
685 453598
>>53426
Какой твой мотив?
686 453601
>>53598
Гармонический.
687 453670
>>53533

>Будешь ручками перебивать — больше запомнишь.


Два чая этому быдлокодеру
688 453682
>>53670
Лучше будет так:

>будешь сам с этим ебаться и тинкерить, больше поймёшь

sage 689 453766
>>53533
Выебать бы тебя.
690 453770
>>53766
А ты няшный?
691 453779
Перспективный пробивной парень >>53523 нихуя не делая устраивается в престижную фирму за счет полоумного раболепного пидорана >>53533 вытирающего за него обосраный унитаз. Как же жизненно.
692 453781
>>53779
Пф, там нет нихуя кроме движения, которое гуглится за 5 секунд.
693 453785
>>53779
Полный ноль на этих двух скриптах никуда не уедет, а уже тем более обосрётся на собеседовании на первом же вопросе по коду.
Так что один хуй придётся учить.
694 453786
>>53779

> в престижную фирму


>>53418

> при полном отсутствии опыта


Престижная фирма уровня ИП "Петров".
14859409687810.jpg28 Кб, 650x382
695 453789
>>53786
>>53785
>>53781
Пошло ВРЕТИ! чмошных завистлывых ничтожеств.
696 453791
>>53789
Завидовать чему, лол? 60-ти строчкам ебли с трансформом без какого-либо другого сурса?
Да ты сам недалеко ушёл от того нулёвого, раз думаешь что там какие-то тайны вековые написаны.
697 453806
>>53789
65 строчек. Это, конечно, работа, и ещё какая работа, но люди и большее за бесплатно делали для других. If all, это то, к чему общество должно стремиться. Если все всем всё за бесплатно делать будут, это уже утопия будет. Хорошее в людях надо поощрять, а не гнобить.
698 453808
>>53789
Малыш, этот тред для взаимопомощи, а не для взаимообсирания. Тут тебе не /b/.
699 453893
>>53770
Ну у меня встает когда я мимо зеркала голый прохожу.
700 453900
У меня где-то была ссылка на гайд, но я её проебал.
Мне нужно взять спрайт и заменить пограничные пиксели на другой цвет. Сделать границу, то бишь. И ещё поменять размер спрайта, растянуть его.
Где смотреть это?
701 453906
>>53893
А нахуя ты ходишь мимо зеркала голый?
702 453917
>>53906
дрочит небось
703 453929
>>53900
Ты же все описал, просто сделай то что ты описал, и все.
704 453932
>>53900
Ну, давай разберём по частям написанное.
Тебе нужно сменить "пограничные" пиксели. Если я всё правильно понимаю, ты хочешь ОБВОДОЧКУ?
Тогда тут всё просто, берёшь и дрочишь вертикальные и горизонтальные линии пикселей, опрашивая: ЕСЛИ У ЭТОГО ПИКСЕЛЯ АЛЬФА РАВНА 1, А У СЛЕДУЮЩЕГО РАВНА 0, ТО СЛЕДУЮЩЕМУ ЕБАШИМ ЦВЕТ.
Гугли в сторону: texture.GetPixel, texture.SetPixel
В идеале, конечно же дёрнуть анус все пиксели в какой-нибудь буффер, при помощи texture.GetPixels, чтобы не проебать тонну времени на обоссаную маршализацию, но это совсем другая история.

Ну, а растянуть можешь через поле Scale у компонента Transform.

Просто жить без гайдов, не правда ли?
705 453953
>>53808
>>53806
>>53791
Продолжайте верещать, пидораны, чем громче верещите тем скорее поверят что вам не рвет жопы от эксплуатирующих чмырей успешных Ерох.
706 453965
>>53932

>Гугли в сторону: texture.GetPixel, texture.SetPixel


Спасибо, вроде, оно.

>Ну, а растянуть можешь через поле Scale у компонента Transform.


Ну, это как бы очевидное решение, но я про сами спрайты спрашивал. Но если подумать, оно мне и не нужно, проще будет создавать новый спрайт поверх старого с нужной границей.
707 454020
>>53953
Надо же как охуели, в треде про юнити обсуждают юнити!
Никогда такого не было, и вот опять!
708 454024
>>53953
Лол, кто-то от 60-ти строчек так порвался, что до сих пор зашиться не может.
Малышка, это пишется минут так за 10, завидуешь что ли?
709 454028
>>53953

> успешных Ерох


Это которые в шарпы не огут? Ну не траль плес.
710 454076
>>53965
не юзай GetPixel и SetPixel если важна производительность, эта хуйня очень медленная
14865867099800.jpg11 Кб, 320x272
711 454112
Ровный пацан уже прошел собеседование и получил работу в престижной компании за счет пидорах >>54024 а они всё продолжают верещать как им небамбит. Подшивайтесь, пидорахи, когда пацану дадут задачу вам же её выполнять.
712 454114
>>53932
>>54076
Попробовал делать границу.
Texture2D tex = new Texture2D(texW, texH);
Color[] pixels = new Color[texW texH];

for (int i = 0; i < pixels.Length; i++)
{
pixels = new Color();
}

for (int i = 0; i < texW
borderThickness; i++)
{
pixels = borderColor;
pixels[pixels.Length - 1 - i] = borderColor;
}
for (int i = borderThickness; i < texH - borderThickness; i++)
{
for (int j = 0; j < borderThickness; j++)
{
pixels[(i texW) + j] = borderColor;
pixels[texW - 1 + (i
texW) - j] = borderColor;
}
}
tex.SetPixels(pixels);

return Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));

Но эта херь рандомным образом обрывает цикл так, что половина пикселей оказывается незакрашенными, причём случайная половина, может цикл не начаться, а может наоборот закончиться раньше, чем надо. Проблема на моей стороне?
712 454114
>>53932
>>54076
Попробовал делать границу.
Texture2D tex = new Texture2D(texW, texH);
Color[] pixels = new Color[texW texH];

for (int i = 0; i < pixels.Length; i++)
{
pixels = new Color();
}

for (int i = 0; i < texW
borderThickness; i++)
{
pixels = borderColor;
pixels[pixels.Length - 1 - i] = borderColor;
}
for (int i = borderThickness; i < texH - borderThickness; i++)
{
for (int j = 0; j < borderThickness; j++)
{
pixels[(i texW) + j] = borderColor;
pixels[texW - 1 + (i
texW) - j] = borderColor;
}
}
tex.SetPixels(pixels);

return Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));

Но эта херь рандомным образом обрывает цикл так, что половина пикселей оказывается незакрашенными, причём случайная половина, может цикл не начаться, а может наоборот закончиться раньше, чем надо. Проблема на моей стороне?
713 454116
>>54112
Что такое, девочка моя, когда ты что-то спрашивал — тебе не ответили, а тут хуяк и кому-то помогли?
Поплачь и всё пройдёт.
Безымянный.jpg59 Кб, 875x85
714 454120
Похоже на то, что это как-то от нагрузки системы зависит. Поставил count++ в циклы, так все картинки полностью серые становятся, хотя count получается правильный.
715 454125
>>54120
>>54114
Спасибо, сам нашёл. Нужно texture2D.Apply() делать, охуеть вообще.
wtf.webm24,9 Мб, webm,
1278x720, 1:51
716 454212
ЧЯДНТ? Отключаю проверку столкновений у объектов одного слоя, и все равно когда собирается толпа, физон резко увеличивает количество вызовов Physics2D.Simulate. Чё ты там симулируешь, сука?
717 454216
Всем привет, ньюфаг в юньке, немного шарю в обычном дотнете.

Поясните, в юньке можно использовать System.Threading чтобы отпараллелить какую-нибудь жирную задачу в отдельный поток или оно не заработает/не будет собираться/отвалится на каких то платформах? Или в юнити только корутины можно для такой хуйни использовать? Меня просто парит что штуки в корутине будут в основном потоке и это может вызвать какие-нибудь пролаги анимации или другие неприятные глитчи...
718 454217
>>54125
А вот эту хуйню нельзя в юнити шейдером делать, кстати? Ведь шевеление пикселей такое, как я понял, по сути на CPU идет, по идее видюхи с шатанием текстур должны лучше справляться, не? Или там начинается дрочево с тем, что нужно знать цвет соседнего пикселя и гробгробкладбищепидор?
719 454218
>>54217
У меня есть один спрайт из текстуры, но вместо того, чтобы теребить старый спрайт, я создаю новый прозрачный спрайт поверх старого с нужной закрашенной областью. Я так думаю, шейдеры таким же образом устроены, только хитрее.
720 454221
>>54218
У шейдеров прикол в том, что видюхи умеют ахуенно распараллеливать работу с пикселями. То что ты в цикле делаешь, оно делается с каждым пикселем по очереди, а шейдер - в идеале - делает всю работу с каждым пикселем одновременно. Минус в том, что по дефолту в шейдере у тебя есть данные только про текущий пиксель, не соседние (однако можно как параметр дать дополнительную текстуру и исходя из данных в ней трансформировать текущую). Но я в юньке шейдеры никогда не писал, так шо скорее теоретизирую.
721 454228
>>54221
Звучит интересно, но мне лично не очень полезно. Я хочу вообще вместо границ связанные с фракциями изображения использовать, скажем, для одной крылья, для другой чешуя и т.п. Надо будет потом посерьёзнее глянуть на шейдеры, с первого взгляда на колдовство лютое похоже.
722 454240
>>54216
оно будет работать. советую пользоватся и тем и тем.
723 454251
>>53084
Да! Конечно! Я был бы очень признателен! Ну надо все-все нюансы, чтобы марио подбирал гриб, выростал, стрелял и т.д.
image.png111 Кб, 1565x463
724 454284
Продолжаю пердолинг с Unity IAP.
Примеры с кнопками не сработали, написал коротенький скрипт покупки товара, подрубил adb к блюстакам:
Есть плюс - инициализируется вроде ок, высасывает названия и цены товаров с гуглплея.
Но при нажатии кнопки купить - в логи вылазит пикрелейтед.
Какого хера?
На форуме юньки предлагают реинстолить ИАП(сделал 10 раз уже по-всякому - сторого похуй.)
Хелп ме плиз!
725 454293
>>53170

>объяснялся подробно процесс создания полноценный игры


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

Поздравляю, игра готова.
726 454294
>>54293

>Дальше ты узнаешь что игры бывает сетевые, с микротранзакциями и с локализацией.


И понимаешь что все надо делать заново.
727 454295
>>54294
Локализация, микротранзакции и режим для нескольких игроков непосредственно в игру не входят, тащемта, если речь не про сетевую игру изначально.
728 454296
>>54294
И делаешь заново, и так до получения результата.
729 454297
>>54295
Конечно не входят. Как и сохранение и загрузка, и туториал и всякое говно.
А потом говорят что Юнити говно и игры на юнити говно.
730 454300
>>54294

>заново


Кстати про "заново". Если тебе надо перепердоливать готовую функциональность для добавления чего-то нового, то ты проебался на уровне дизайна.
Пример: у меня есть набор скриптов, которые симулируют орбитальную механику. Есть другой набор скриптов, который рисует что-то вроде карты, расставляя на сцене схематические изображения планет, кораблей и всего такого. Есть третий набор скриптов, который ресует "реальный мир", где кораблик вращается вокруг огромной планеты.
Так вот, для добавления функциональности "кораблик может сесть на планету" мне понадобится модифицировать только последний набор скриптов, добавляя в первые два только косметические изменения. Я бы назвал "набор скриптов" сценой, но вообще это одна сцена, на которой в разных слоях работает все что нужно.
Для добавления аэродинамики в атмосфере мне понадобится только дописать скрипты, которые считают силы для аэродинамики.
Так же для всего остального.
Если у тебя это не так - ты пишешь хуйню, иди читай книги по ООП.
inb4: Ряяя программирование нинужно ddp лудше ко-ко-ко пок.
731 454301
>>54297
Уже ответил: >>54300

Сейвы, кстати, тоже добавляются без изменения существующих механик, потому что все данные распиханы по лаконичным структурам.
732 454302
>>54300

> Если тебе надо перепердоливать готовую функциональность для добавления чего-то нового, то ты проебался на уровне дизайна


Скорее "на уровне архитектуры", но так-то да, всё верно.
При грамотном подходе на игру можно налепить хоть небо, хоть Аллаха.
733 454303
>>54300

>ресует


И сорян за неровный почерк.
734 454304
>>54301
>>54300
Какой ты молодец. Я очень рад за тебя.
735 454306
>>54284
Так попробуй на устройстве, мб с этим блюстаком что-то не так
736 454307
>>54306
Тоже самое. Буду теперь пробовать пустой проект.
Ебучий цирк.
14399890753630.jpg104 Кб, 576x778
737 454354
Сап, гдэч.
Есть одно приложение и есть MSSQL бд.
Все бы ничего, но при вызове SQL StoredProc, юнити начинает бешенно обмазываться GarbageCollector. Доходит до абсурда - 10 персонажей, исполняющие каждые пол секунды StoredProc, жрут ресурсов больше чем Camera.
Что я делаю не так? Чому IDbCommand.ExecuteReader() забрызгивает меня мусором? Как сделать, чтобы правильно?

if (dbcon == null)
dbcon = new SqlConnection(connectionString);
if (dbcon.State != ConnectionState.Open)
dbcon.Open();

using (IDbCommand dbcmd = dbcon.CreateCommand())
{
dbcmd.CommandText = string.Format("EXEC [dbo].[Proc] @Param={0}", param);
dbcmd.ExecuteNonQuery();
}
739 454366
>>54357
Что именно из этих полутора часов ты имеешь в виду?
740 454367
>>54366
То что они вводят новый инструмент который нихуево повысит производительность. Я тоже не до конца досмотрел.
741 454368
>>54366
Они наконец пересмотрели свою убогую реализацию системы компонентов и вводят костыльное подобие нормального ECS подхода.
742 454373
>>54368

>ECS подхода


Это что? Не гуглится.
743 454379
>>54373
entity component system
744 454381
>>54368

>Они наконец пересмотрели свою убогую реализацию системы компонентов


Разве? По-моему они просто добавили новый фреймворк для написания "высокопроизводительного кода". Раньше для этого приходилось самому писать свои решения. А сам юнити апи остаётся прежним, что немного печалит.
745 454417
Сап, анчоусы, нужна ваша помощь.
В настройках билда есть галочка Force Single Instance - она нормально работает, если билд уже нормально запущен, но если по exe-шнику клацать ентером как ебанутый, то все равно успевает открыться несколько окон - как это фиксить?
sage 746 454422
>>54357
В целом да. Повторяют примерно что было в bitsquid.
>>54381
Они добавляют поверх него более-менее нормальную ECS. И они не могут выкинуть старые решения, сломает существующий код.
747 454453
>>54379

>entity component system


Прочитал на вики что это такое, не понял разницу с тем, что уже есть.
>>54417
Аноны, когда пользователь разъебывает свою пеку кувалдой, моя игра не работает. Как фиксить?
1401035456039.png4 Кб, 601x695
748 454684
Поясните пожалуйста, как в играх управляются с объектами Игрока и камеры? Если убрать возможно сохранятся и загружаться, то достаточно создать их в самой первой сцене, и поставить флаг "не уничтожать", так?
А если я загружаю игру, то как мне поставить на сцену игрока и камеру? Куда копать?
749 454686
>>54684
Опять ты тралить пришёл.
750 454687
>>54686
Платиновый вопрос что ли? Я просто еще не прикасался к Save/Load, не знаю как цивилизованные люди делают.
751 454688
>>54687

> Я просто еще не прикасался к Save/Load, не знаю как цивилизованные люди делают


Бинарная сериализация.
sage 752 454689
>>54684
Тривиально, так же как и в любой игре не на юнити. Грузишь игрока, спавнишь, говоришь камере "следи!". Всё.
753 454694
>>54687
Подумай, что тебе нужно сохранять и загружать, и делай.
754 454701
>>54689
>>54694
>>54688
А где лучше всего собирать все данные, чтобы их потом сериализовать? В СкриптаблОбжекте, в синглтоне, в скрипте повешенном на игрока?
14205117567140.jpg106 Кб, 707x682
755 454711
>>54701

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


Из переменных.
756 454715
>>54684

>Поясните пожалуйста, как в играх управляются с объектами Игрока и камеры? Если убрать возможно сохранятся и загружаться, то достаточно создать их в самой первой сцене, и поставить флаг "не уничтожать", так?



Ответ на твои вопросы находятся в этой книге "Unity в действии Джозеф Хокинг", а ответы на будущие вопросы находятся здесь "Паласиос Х. - Unity 5.x. Программирование искусственного интеллекта в играх - 2017".
2.png6 Кб, 600x600
757 454759
Посоветуйте годные материалы для создания платформера (крайне желательно на русском языке).

Начал изучать с этих материалов https://habrahabr.ru/company/microsoft/blog/236125/ но тутор старый и версия соответсвенно, и некоторые моменты, ввиду своей неопытности в среде/языке - не понимаю.
758 454761
>>54759

> некоторые моменты, ввиду своей неопытности в среде/языке - не понимаю


Значит не с того начал.
Посмотри в официальных туториалах видосы по roll a ball и space shooter (вроде так называются), освоишь необходимый минимум, а потом уже приходи за платформерами.
759 454763
>>54761
как я посмотрел, там в форме видео-роликов и на английском.
Может быть есть подобные уроки, но в форме текста? И на русском?
760 454764
>>54763

> там в форме видео-роликов


Это даже удобнее для начала.

> и на английском


Он там настолько элементарный, что даже мой кот всё понимает.

> Может быть есть подобные уроки, но в форме текста? И на русском?


Если знаешь шарпы хотя бы на уровне имбецила, то качай книгу из шапки.
761 454765
>>54764

> Он там настолько элементарный, что даже мой кот всё понимает.



с английским совсем беда
762 454766
>>54765
Как вы без английского живёте? На русском языке же ничего нет кроме старых советских статей. А если и есть, на английском всё равно лучше версия - то ли из-за качества переводчиков, то ли из-за того, что это и не перевод вовсе. За державу обидно, это да
1.png513 Кб, 1920x1080
763 454767
>>54765

> с английским совсем беда


Хосспади.
Понимаешь что тут написано? Если да, то смело можешь смотреть.
764 454769
>>54766
Не смотря на мою любовь к державе, дам два чая этому сударю.
Действительно без английского никак. Везде лучше материалы на английском.
765 454772
>>54769
Тричую, хули уж тут.
Даже если где споткнулся - и то на инглише гуглить приходится.
766 454848
Есть два объекта в двух разных слоях, как сделать, чтобы первый затенялся вторым?
767 454849
Game maker studio <3
768 454851
>>54848

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


Настроить свет.
769 454909
Есть набор префабов: prefab1, prefab2 и т.д. Они лежат в папке проекта, в менеджере ресурсов, но в самой сцене их нет.
Я пытаюсь написать генератор, который бы случайно выбирал один из таких префабов и вытаскивал на сцену. Потом, если срабатывает триггер, объект удаляется, и вместо него на сцену вытаскивается другой префаб.
1. Можно ли как-то через скрипт C# вытащить на сцену префаб?
2. Можно ли как-то объединить префабы, чтобы скрипт рассматривал только вот этот набор?
770 454910
>>54909
1. Instantiate
2. public GameObject prefab1; public GameObject prefab2;
771 454911
>>54910

>2. public GameObject prefab1; public GameObject prefab2;



А если префабов 200?
Можно ли как-то еще, чтобы не прописывать каждый руками?
772 454912
>>54909
Instantiate(Resources.Load(nazvanie[r]) as GameObject
, где nazvanie[] - лист или словарь или массив со стрингами-названиями префабов.
>>54911
Есть Resources.LoadAll Можешь фильтры там настроить.
773 454914
>>54912
Спасибо, анон.
774 454917
Поясните за шарпы. Если класс объявляется в классе - какие между ними отношения, области видимости и как вообще все это используется.
775 454921
>>54917
Гугли за ключевые слова public/internal и т.д.
776 454922
>>54921
В паблик классе объявляется паблик класс. Еще утром я думал, что так делать вообще нельзя.
пизда ебать.jpg68 Кб, 949x1013
777 454952
Сап, /gd/аноны, вопрос не совсем по Unity. Делаю пошаговую дрочильню на Unity с помощью .NET Sockets. Архитектура хост - клиент, то есть на одном компе Сервер и клиент, на другом просто клиент.На localhost все работает, но как мне, например, соединиться с друганом?
Как я понимаю для этого нужен белый ip, но как другие разработчики делают соединение для обычных пользователей, когда у них нет белого ip? Какой-то дополнительный сервер нужно делать? Или так вообще не получится и нужно обязательно делать Клиент-Сервер.
Пикрандом.
778 454959
>>54952
Лень объяснять. Просто скажу, что тебе нужен PUN:
https://www.photonengine.com/en-US/PUN

Он очень прост в освоении. Бесплатно до 20 игроков онлайн. За 100 баксов можно купить 200 игроков перманентно. И так далее.
779 454961
>>54959

>200 игроков перманентно


100 игроков. Ошибся. За $185 до 1к игроков онлайн в месяц.
780 454962
>>54959
Да знаю об этом, и о UNET. Короче легче сервак поставить.
781 454977
>>49725
сamera.lookat(), например.
782 455014
>>54977

>14/10/17


Проблема была не в смотрении на объект, а в том, что нужно было смещать камеру на определённую величину (нужен катет "на земле", а мы знаем высоту камеры и угол её поворота + нужно зум камеры учитывать, который как обратное отношение нормальной высоты камеры к усечённой зумом высоте), сохраняя прежний угол. Да и решил через геометрию уже. Надо только поворот вокруг оси Z ещё учитывать, чтобы не только по игреку смещать.
783 455025
Вы используете #region, чтобы код был более понятнее?
784 455026
>>55025
Нет.
785 455027
>>55025
Нет, мы ж не пидоры.
786 455028
>>55026
>>55027
А если найду?
787 455029
>>55028
Ищи.
14213204966240.jpg135 Кб, 800x1136
788 455031
Кто-нибудь мне может объяснить, почему обычный вызов SQL процедуры, даже не возвращающий значение, такой, блять, медленный, даже при простейшем ExecuteNonQuery?
16 Calls = 6 ms. Ебануться, товарищи. Что делать?
789 455035
>>55031

> Кто-нибудь мне может объяснить, почему обычный вызов SQL процедуры, даже не возвращающий значение, такой, блять, медленный, даже при простейшем ExecuteNonQuery?



Ты про какую субд? В орахле, помнится, можно было указывать что функция deterministic
At7fePUCmMA.jpg47 Кб, 526x394
790 455036
>>55035
Я про любую. Функция на сервере не делающая вообще ничего (заглушка), нереально тормозит из-за Mono, даже при использовании последнего System.Data из 4й версии .NET
791 455037
>>55036
Дебаг.лог очень тяжёлый
792 455041
>>55037
Не использую Дебаг.Лог
Вот тебе, подержи произведение сумрачного гения создателей MONO Develope, которое ставит на моей идее на лету брать данные из БД жырный крест
fff.jpg325 Кб, 1815x838
793 455042
>>55037
>>55041
Отклеилась
794 455044
>>55041
Ты читаешь из БД в апдейте? Я, конечно, в БД не разбираюсь, но ИМХО, БД надо читать один раз и записывать один раз, в начале и в конце и, скажем, если сохраняешься. Это ж большая длиннющая стринга, как ты с ней не ебись, если каждый фрейм с ней что-либо делать, то она обязана тормозить.
14429541337361.jpg38 Кб, 600x323
795 455045
>>55044
В корутине, раз в секунду.
Твои слова имеют смысл, но есть ньюанс: я вообще не возвращаю значений, там нет стринга, там вообще ничего нет.
796 455046
>>55045
Проверь со стрингой. Может, там нули какие-то невидимые.
797 455047
>>55046
Нет там ничего. Это просто так реализована на уровне Моно работа с БД (как я понял). Короче, офигенно жаль что оно такое медленное.
798 455062
>>55047
Сделай свою читалку БД, как вариант. Заодно отформатируй стрингу так, чтобы удобнее всего было в БД информацию искать.
799 455063
Правильно я понял, что для юнити достаточно либо аналога местного js, либо C#? Допустим я знаю немного JS, а мой товарищ взялся за C# и мы вместе начали делать проект. Это конфликтно? Нужно для одного проекта выбирать 1 язык, или это пофиг и все в итоге перекомпилируется легко в машинный код даже если разные модули написаны на разных языках?

Всё что пишется на C# в итоге может быть написано на US?
800 455064
>>55063
Переходи на сишарп. Две недели голову поломаешь, а потом всё это говно в крови у тебя будет.
801 455065
>>55064
Я веб макака и JS мне нужен для работы, так еще и если буду в нем хорошо разбираться, то и рост будет на ней же. А запил простой игры - это в свободное время, не хочется дрочиться с 3 разными инструментами параллельно.
802 455067
>>54917
Зачем тебе создавать класс в классе, совсем с ума сошел? Тебе дали метод адейт пиши в нем.
803 455068
>>54962
Деплоишь на heroku приложение вся задача которого это хранить список подключенных к нему айпи и созданных "пати", на клиенте соответственно выводишь этот список пати и подключаешься к уже известному айпи.
804 455070
>>55063

>Это конфликтно?


Да, очень. C# изучай. Не нужно прямо углублёно изучать.
https://unity3d.com/ru/learn/tutorials/s/scripting
14274140913540.jpg33 Кб, 400x400
805 455076
>>55062
Как то это жестко. Я и так родной System.Data юзаю с формированием на стороне Моно класса StoredProc со своими параметрами и т.д. юзаю, и что то мне подсказывает, что лучше чем его создатели, я не смогу написать интерфейс общения с БД.
но на всякий случай: куда копать, с чего начинать?
806 455080
>>55065
Юнитовский жс это изоморфная версия старого стандарта ecmascript, от которой в твоей работе веб макакой тебе не будет никакого профита если ты конечно до этого ничего не знал ни про переменные, ни про циклы, операторы и прочее что есть в любом языке. Но даже и при этом не будет. Если хочешь прокачать скилы именно в жс, то бери любую геймдев жс библиотеку/фреймворк и делай на нем. В юнити тебе в любом случае придется много сталкиваться с с# кодом на форумах, а транслировать его со стаковерфлоу с одного язык на другой, для макаки это тот еще труд.
807 455081
>>55064
>>55070
>>55080
Спасибо за ответы и разъяснение. Еще такой вот вопрос. А юнити накладывает на C# какие-то ограничения? Или выучив где-то его, просто берешь и без задней мысли начинаешь полноценно использовать?
808 455082
>>55081
Использовать-то начинаешь, но у юнити свои пространства имён, со всеми вытекающими.
809 455083
>>55081

>А юнити накладывает на C# какие-то ограничения?


Нет, но там используется C# 3.0 и .net 3.5. Хотя они уже начинают вводить более новую версию шарпа и .net фреймворка.

Сейчас последняя версия шарпа 7.0
 .jpg43 Кб, 250x250
810 455084
>>55083

> Нет, но там используется C# 3.0


> последняя версия шарпа 7.0

изображение.png140 Кб, 964x627
811 455086
>>55084
>>55083

Вот что выгуглил сейчас, похоже что всё не так уж и плохо.
812 455095
>>55067
Мне то не нужно. Я решил игру сделать, но оказалось для этого нужно программировать, но программирование - это пиздец. Я вроде основы почитал (ну там циклы всякие, точки с запятыми, скобочки) - включаю официальный тутор по роглайку, и в первой же серии с кодом нихрена не понимаю. Чувак там юзинги в начале переписывает, классы в классе объявляет и описывает - пиздец одним словом.
large3.png.jpg63 Кб, 600x600
813 455096
>>55095

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

814 455097
>>55095
Кроме циклов по минимуму нужно знать только логику апдейтов и то, как указывать переменные. Рогалику вообще ничего не нужно, кроме циклов и "смены кадров". Банально делаешь карту мира, делаешь первый кадр и логику, которая будет создавать следующий кадр.
Untitled.png108 Кб, 584x763
815 455098
>>55095

>кто-нибудь шарит? Мб замутим)

816 455101
>>55097
Я это тоже почитал. Просто не хочу заниматься придумыванием своих кривых велосипедов, а хочу делать все по науке, как взрослые дядьки. Но эти дядьки переписывают юзинги (я так и не понял, зачем, там вроде и так все должно работать) и объявляют классы в классе.
817 455103
>>55101
Юзинги как раз и обозначают созданные взрослыми дяденьками велосипеды. Не сцы, там и важных только для работы с УИ, Collections.Generic и ещё по ситуации.
818 455105
>>55103
Это как бы используемые скриптом компоненты из базового багажа. Для листов там, словарей, для работы со спрайтами и текстурами и т.п. Не во всех скриптах нужно же это, вот оно и подключается только там, где нужно.
819 455106
>>55101

> Но эти дядьки переписывают юзинги


Шта? Юзинги подключают пространства имён, только и всего. AI, UI, EventSystems и т.д. То есть, чего для обычного макакинга обычно не надо. Только и всего.
820 455107
>>55101

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


И чтоб вот так вот сразу, да? Чтоб хуяк-хуяк и научился.
Ты на сложность туториала по рогалику смотрел? Там было написано "базовая"? Нет, не было. А вот на туториале "Roll a Ball" именно так и написано.
Отсюда вывод какой? Правильно, начинай с малого.
821 455110
Вопрос по архитектуре

У меня используются First person и Third person камеры. Стоит ли их объединить в один скрипт GameCamera, добавить туда CameraMode и через Editor-скрипт скрывать поля в зависимости от выбранного режима камеры? Или же лучше вынести их в разные скрипты FirstPersonCamera и ThirdPersonCamera? В камере от 3го лица используется коллизия, таргет и другие поля, которые не нужно камере от 1го лица.
822 455111
>>55110
У меня водном скрипте. Не вижу смысла разносить.
823 455112
>>55111

> в одном


фикс
824 455113
>>55101

> объявляют классы в классе


Где ты там это увидел? Пальцем ткни. Просматривал я тот туториал — не помню там такого.
825 455119
>>55106
https://www.youtube.com/watch?v=bvvaqAbpPjc&t=60s
Сериалайзбл атрибут - это [SerializeField]? Или я что-то путаю? Но зачем тогда включать пространство имен систем? Оно же и так работает. И зачем ему переуказывать рандом? Что поломается, если он этого не сделает?

>>55107

>И чтоб вот так вот сразу, да? Чтоб хуяк-хуяк и научился.


Ну да, а что, нельзя? Если начинать с малого - нихрена не успеется.

>>55113
На второй минуте - класс Count.
826 455120
>>55086
только юнити с ним регулярно крашится.
827 455121
>>55119

> Если начинать с малого - нихрена не успеется


А если начать со сложного и нихуя не понять — вот тогда всё успеется, ага.

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


Потому что туториал делался под версию 4.6, сейчас это устаревший шаг.

> На второй минуте - класс Count


Он его объявляет и сериализует чтобы рулить им через инспектор.
828 455123
>>55121

>А если начать со сложного и нихуя не понять — вот тогда всё успеется, ага.


Вот я и пытаюсь понять - чтобы все успелось.

>Потому что туториал делался под версию 4.6, сейчас это устаревший шаг.


Под 5 версию, там просто сказано, что на 4.6+ можно сделать все то же самое с минимальными отличиями. И что конкретно устареший шаг - подключение система или указание рандома? Или рандом указывается только из-за подключения система?

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


И как это вообще работает? Как используется эта конструкция, если к ней нужно из других классов обращаться? При всяких наследованиях, дочерних классах и прочем?
829 455124
>>55123

> Вот я и пытаюсь понять - чтобы все успелось.


Ты бы ещё начал курить интегралы до того как цифры выучить. Не еби мозги и начинай сначала. Все так делали и ничего, не поломались.

> И что конкретно устареший шаг - подключение система или указание рандома?


и то и другое.

> И как это вообще работает?


В инспекторе у тебя появляется класс, как же ещё?
Ты пока всё это спрашиваешь — уже бы половину того же "Roll a Ball" посмотрел бы, узнал бы раз в 10 больше.
830 455126
>>55124

>В инспекторе у тебя появляется класс, как же ещё?


В смысле все объекты класса, объявленные в коде или как?
Ты пока всё это спрашиваешь — уже бы половину того же "Roll a Ball" посмотрел бы, узнал бы раз в 10 больше.

>Ладно, уговорил. Пойду уроки сделаю и буду про шарик смотреть.

831 455127
>>55126

> В смысле все объекты класса, объявленные в коде или как?


В смысле все поля вложенного сериализованного класса будут в инспекторе отображаться в свитке, а не просто ячейками. Так удобнее и эргономичнее.
832 455130
>>55127
а можно просто написать нормальный интерфейс вместо пиздилиарда наноклассов просто чтобы стрелочку в инспектор запихнуть.
833 455131
>>55130
Какую стрелочку?
13123123.png19x15
834 455132
>>55131
эту, ёпт
835 455134
>>55132
А, блять, так это свиток и есть. Пишешь класс в классе, пихаешь в него нужные поля, вот тебе они и под стрелочкой.
836 455135
>>55134
мудила, я говорю что так делать не надо. я говорю что надо писать нормальный инспектор и нормальный код вместо того чтобы множить сущности ради простой фичи в инспекторе.
https://docs.unity3d.com/ScriptReference/EditorGUILayout.Foldout.html
837 455136
>>55135

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


Хоссади, откуда такой максимализм? Если тебе надо свернуть всего 4 поля под свиток — нужно пидарасить целый ГУЙЛэйаут? И кто тут сущности плодит?
Я ж объяснял нахуя автор туториала это делает, а не говорю только так и надо делать.
Глаза б сначала протёр.
838 455138
>>55136
да, надо пидорасить свой инспектор, если уж дошел до того что пишешь говно чтобы порадовать глаз. большая ли разница где плодить сущьности? плоди сущьности правильно. в правильных местах.
не каждый туториал юнити учит тому как надо делать. если учишь фиче то учи ещё и применять её.

>>55119

> [SerializeField]


этот артибут говорит о том что это говно надо сериализовать. юнити сериализует только публичные поля в инспекторе, которые вообще можно менять из инспектора. если укажешь этот атрибут приватному полю то оно начнет отображатся в инспекторе и сериализоватся юнити.
если хочешь узнать больше про сериализацию то почитай это
https://docs.unity3d.com/Manual/script-Serialization.html
и особенно это
https://forum.unity.com/threads/serialization-best-practices-megapost.155352/

>И зачем ему переуказывать рандом?


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

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


>Ну да, а что, нельзя? Если начинать с малого - нихрена не успеется.


не набьешь шишек - не поймешь как избежать больше шишек. набивая шишки с середины будешь обьебыватся на самом базовом говне до самого конца.
839 455139
>>55138

>которые вообще можно менять из инспектора.


Ты забыл добавить, что значение публичного поля насильно переписывается значением из инспектора, т.е. задача начального значения в скрипте вообще ничего не даёт.
840 455140
>>55138

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


Окей, только нахуя ты мне это рассказываешь? Найди автора туториала и ему это втирай. Не я его снимал.
841 455141
>>55139

> т.е. задача начального значения в скрипте вообще ничего не даёт


Про наследование не слышал?
842 455143
>>55139
йеп. забыл. назойливое юнити любит сохранять поля даже когда передумал и написал там другое значение. и создает объекты даже если не создавал их.
и другие прелести сериализации юнити с сериализацией наследуемых классов и прочим говном. ну да ладно все это понятно из ссылок которые я дал.

>>55140
я всего лишь продолжаю линию беседы. я не настолько радикален. мне достаточно чтобы тред узнал.
843 455156
Появилась идея сделать retain gui обертку над убогим юнитивским immediate гуи для редактора и загружать ее из xml, например.
Может уже что-то такое есть, чтобы не тратить время?
844 455163
>>55156
а зачем? лучше бы игры делал
845 455167
>>55119

>Если начинать с малого - нихрена не успеется.


Лол. Это как начинать учить матан с двойных интегралов, а потом недоумевать.
image.png83 Кб, 480x360
846 455175
Я подебил ИАП!
Если кому важно - родной юнити иап не дружит с юнити 2017.2, живите на 2017.1, только старая школа, пацаны!
Пик рандом релейтед.
как блять стать альфа тестером в гуглплеее? что за ебаный цирк на каждом шагу!
847 455186
>>55175
Это ты еще с iTunesConnect не работал, там еще больший цирк. А как стать тостером - читай внимательно формочки дашборда, там все расписано.
848 455226
Помогите аутисту. Нужно значение ограниченное min и max превратить в axis (от -1 до 1) и обратно.

var min = -30f;
var max = 50f;
var value = 40f;

var axis = (value to axis) = 0;
var value = (axis to value) = 40;
849 455230
>>55226

> value to axis


> axis to value


Что это за говно?
850 455231
>>55230
Там должна быть функция, которая выдаст нужное значение. В первом случае значение 0, во втором 40.
science.webm8,7 Мб, webm,
640x360, 1:15
851 455232
>>55226
линейное преобразование это называется

(value-minvalue) совмещаем нули
(value-minvalue)/(maxvalue-minvalue) нормализуем до 0..1

((value-minvalue)/(maxvalue-minvalue))*2.0-1.0 приводим до -1..1

Извиняюсь, если ошибся, давно этим не баловался
14944009020220.jpg57 Кб, 551x549
852 455233
>>55232
Ну и в обратную сторону

x -1..1

(x+1.0)/2.0 приводим к 0..1
minvalue+((x+1.0)/2.0)*(maxvalue-minvalue) дорисовываем сову
853 455236
>>55233
Спасибо.
854 455253
>>55226

> var


> var


> var


> var


> var


Уебать бы тебе.
855 455254
>>55253
System.Collections.Generic.Dictionary<string, int> двачую = new System.Collections.Generic.Dictionary<string, int>()
856 455283
Нубский вопрос, но как сворачивать код в свитки в монодевелопе? Видел, что это делают, но не могу понять, как.
857 455287
>>55163

>а зачем?


чтобы делать собственные редакторы ДЕКЛАРАТИВНО
858 455288
>>55283
Объявляй класс в классе.
859 455290
>>55288
нунитралль
860 455303
Как называется алгоритм поиска пути по которому работает навмеш в юнити?
861 455316
>>55303
лол а что вариантов много чтоли. какая-то форма из A* со всякими прибомбасами
 .jpg67 Кб, 1280x720
862 455317
>>55316
Я так понял что он через поиск на графе, а не через матрицу реализован. Мне не понятно как навмеш создает такую такие полигональные фигуры для навигации?
Unity 2017-11-08 17-57-19-90.png1,3 Мб, 1140x744
863 455321
>>55317
какую нахуй матрицу то? разумеется любой навмеш будет на графе. сам навмеш это просто визуализация графа где члены графа являются конвексными фигурами. ты что-ли хочешь узнать как делается навмеш? могу рассказать, хули.
 .png1,5 Мб, 1140x744
864 455324
>>55321
Ну типа на твоем пике каждый красный/зеленый куб это элемент в двумерном массиве, и если он с чем то пересекается то становится невалидным для прохода. Я таким способом представлял вэйпоинты в А*. Мне непонятно зачем нужны эти черные грани и каким способом они образуются. Если что то знаешь то поясни.
865 455327
>>55324
разумеется я знаю, я же написал это говно.
ты дурак чтоли. навигация происходит не по вокселям, а по центрам конвексных фигур. очевидно что эти линии это грани между этими фигурами. и из-за того что они конвексные между разными фигурами может быть только одна грань. в этом вся хитрость навмеша. он уменьшает размер графа который перебирается чтобы найти путь по нему.
образуются они каким-либо методом триангуляции как правило и объединением треугольников. или в моем случае они образуются поиском ноды для всех углов нормали которых смотрят вовнутрь, ограничиваясь углом до нормали где угол это угол между следующей и предыдущей ноды в списке.
866 455328
>>55327
Я слишком тупой все равно не понял какой они дают профит. Если навигация идем по графу из этих фигур, то зачем здесь нужны воксели?
867 455330
>>55328
они грань, понимаешь? они грань между фигурами. когда находится путь между фигурами то берутся их грани. эти грани образуют "туннель" с правой и левой гранью. и зная правую и левую границу пути можно найти самый короткий путь.
гдето у меня был набор картинок. я уже рассказывал как это работает.
вот смотри:
1 - конвексная область и её грани
2 - граф из конвексных бластей
3 - путь между областями через одну промежуточную область
4 - путь между гранями соединяющими эти фигуры. самый короткий путь находит алгоритм воронки.

а воксели нужны чтобы вообще создать эти фигуры. они не участвуют в процессе навигации.
868 455331
>>55330
Так, более менее представил как это происходит. А как получить фигуру по мировой позиции? Я представляю перебор всех фигур и проверять вписывается ли туда точка.
И у этого всего подхода есть называние или это такой кастомный поиск придуманный дэвами из юнити?
10415636622091040837.png1,3 Мб, 1018x657
869 455334
>>55331

> А как получить фигуру по мировой позиции? Я представляю перебор всех фигур и проверять вписывается ли туда точка.


ну а как ещё то. ну можно ещё оптимизировать поиск, ограничить перебор фигур. например у меня это делается простенько. весь мир делится на чанки, а в чанках есть грид. в этом гриде ссылки на все области которые попадают в этот грид. так что проверяется не все 20-30 фигур, а 2-3.

>И у этого всего подхода есть называние или это такой кастомный поиск придуманный дэвами из юнити?


дурак чтоли. это все придумали давным давно по отдельности и у каждой детали этого процесса есть какое-то свое название. конкретно поиск пути https://ru.wikipedia.org/wiki/A* который придумали давным давно
870 455336
>>55334
Ладно, спасибо что пояснил анончик, пойду гуглить триангуляцию :3
Безым1231янный.png12 Кб, 686x641
871 455338
>>55336
если интересно то для создания навмеша не обязательно проводить триангуляцию. достаточно сделать все фигуры конвексными. у меня например сделано что-то вроде того что можно почитать в этом интересном тексте. http://upcommons.upc.edu/bitstream/handle/2099.1/16508/Ramon Oliva.pdf правда у меня не создаются новые эджи, а вместо этого берется самые близкие к нормали правые и левые видимые ноды.
UnityDrunkedSailor.webm1,7 Мб, webm,
1024x768, 0:28
872 455342
ха-ха! тестировал синхронизацию движения ИИ по сети. сделал чтобы каждые 3 секунды ИИ выбирал одну из 4 точек для движения и топал туда. и по какой-то нелепой причине ротация не синхронизировалась как надо. зато направление взгляда вполне себе. получилось очень выразительно.
873 455500
Суп гд.
Объясните как сделать фаст слоты (2д рогалик), я сделал инвентарь, по сути просто массив итемов, но что собой представляют слоты быстрого доступа - хз
874 455502
>>55500

> я сделал стул но не знаю как сделать табуретку


Они чем то принципиально отличаются? Тот же самый массив итемов.
875 455507
>>55502
Да я тупой, но стой подожжи.
Если я его сделаю просто таким же массивом, то это будут доп слоты, а не быстрые, или мне надо просто передавать ссылки с объектов в этот массив?
876 455513
877 455514
>>55513
2 цистерны чая тебе
878 455577
>>55338
Ты когда первоначальные многоугольники строишь из сетки, упрощаешь их через тот Ramer-Douglas-Peucker алгоритм из статьи, или что-то еще делаешь?
879 455583
>>55577
йеп, через него. хотя конечно много хуйни можно нагородить в алгоритме упрощения линии. упрощать приходится в два прохода, сначала с очень небольшим отклонением, а потом с нужным. иначе это слишком деформирует линию.
ну и чтобы упростить приходится сначала находить все отрезки для упрощения и флажками помечать какие сегменты уже были упрощены, чтобы не пытаться одни и те-же места несколько раз упростить.
881 455589
>>55583
Понял, спасибо, анон.
882 455823
Сап, ю. Решил обучиться юнити, скачал тутор по шарику и космической аркаде, собрал проектs, и наблюдаю в них микролаги. Почему в этих стандартных проектах изображение какое-то дерганое, как при 15-20 fps?
picture.jpg30 Кб, 800x600
884 455908
Аутисту снова требуется помощь. Есть камера от третьего лица, которая расположена сбоку от персонажа. Когда игрок стреляет, берётся луч из камеры. Но у стрельбы есть рейндж. Мне нужно получить правильную дистанцию от игрока (player) до цели (target), чтобы потом сравнить её с ренджом оружия.

Я так понял, нужно как-то спроецировать позицию игрока на луч из камеры? Но у меня не получилось это сделать правильно. Я не могу просто взять дистанцию от игрока до цели, потому что в логике кода используется луч от камеры и мне нужно скорректировать его origin позицию, чтобы потом получить правильную дистанцию.
885 455917
Сап.

youtu.be/_HF0QHGsq1s

Подскажите, почему частицы не отображаются? Почему пиктограмма есть а самих particles нету. Как это можно пофиксить?
886 455919
>>55908
Ты тупой?
887 455921
Вечер в хату, гемдев-бояре. Решил совместить приятное с полезным: изучить C# и геймдев. Однако где-то читал такое мнение, что в юнити юзают какой-то измененный сишарп, а мне бы хотелось не только научиться игорки пилить, но и приобрести полезные навыки. Отличается ли C# в юнити от классического шарпа и, если да, то насколько сильно?
888 455926
>>55917
бамп
889 455928
>>55908
нихуя не понял, ну скачай ассет какой нибудь
14301549044400.png2 Кб, 222x211
890 455929
>>55921
На самом деле в юнити используется питон с шарпоподобным синтаксисом, так что делая на нем игры ты вряд ли потом сможешь перекатиться в тот же wpf или еще куда. Лучше бери pygame, там чистый питон. Сможешь потом писать программы для микроконтроллеров и другие крутые вещи. Эта хуйня сейчас как раз набирает популярность.
891 455930
>>55929
Да на этом пайгейме ничего, кроме пакмана или марио не запилить, насколько я знаю. А я хочу свою тульпу перенести в 3Д мир.
892 455931
>>55921
К анону выше добавлю, что девы юнити потихоньку перекатывают его на хаскель платформ, поэтому советую начать изучать хескель чтобы в будущем не остаться без штанов.
893 455933
>>55931
по-моему, вы меня наёбываете, пацаны
нихуясе-поворот.jpeg32 Кб, 635x359
894 455934
>>55929
Т.е. я учил шарп, а скрипты говнокодю на питоне?

мимо
895 455935
>>55926
Донт вори, фиксанул.
896 455958
>>55928
Ну короче, как спроецировать вектор Player на вектор Camera по направлению к Target.
14.png19 Кб, 500x600
897 455962
>>55933
Да ну, брось, кто ж тебя тут обманывать будет?
898 455976
>>55253
Тебе бы уебать, придурок.

>>55254
моё увожение.pcx
899 455977
>>55283
Enable code folding, вась.
900 455978
>>55958
Скачай учебник по векторной геометрии и не иби господам монокль.
1)ты вообще хуиту порешь, 2)проекция вектора на вектор
901 455979
>>55976
Нравится яваскрипт? Долго учил?
902 455980
>>55921
Отличается тем, что это форк моно 11 летней давности. Там множество костылей с тем, чтобы он мог работать под юнити. Также есть некоторые классы, которые адекватно не работают, т.к. дохуя платформ имеют свои особенности. Если интересно, то этот форк открыт и можешь почитать сорсы тут: https://github.com/Unity-Technologies/mono но тебе это делать рано

Энивей, особо мозги не делай и пиши код. На месте разберёшься.
1356870499385.jpg30 Кб, 300x338
903 455981
>>55978
Ладно, пока перепробую всевозможные варианты. Если не получится, тогда попробую расписать проблему человеческим языком.
904 455982
>>55978

> проекция вектора на вектор


Вот тут тоже чаем подавился.
905 455986
>>55979
Деблод, автовывод типов есть в любом современном языке. И тут дело не только в эргономике, а если нравится по два раза части кода переписывать, то дело твое.
906 455987
>>55986
Какой ты молодец.
907 455989
>>55986

> называет кого-то деблодом


> не знает про линейное преобразование


Земля тебе пухом, братишка.
908 455991
>>55989
Проигрываю с пиздоглазых, вы вообще различаете кто где какие посты оставляет
909 455992
>>55991
Меняй проигрыватель на выигрыватель.
910 455993
>>55982
И ты тоже учебник купи.
Боже, с кем я сижу на одной доске.
911 455994
>>55993
Нет ты.
912 455995
>>55993

> И ты тоже учебник купи


Окей, а ты пока проецируй вектор на вектор, лады?
913 455996
>>55995
В чем тот анон не прав, разве это не обычные матричные преобразования?
мимо
914 455997
>>55995
Сообщи мне пожалуйста определение ортогональных векторов, а?
915 455998
>>55997
Я бы тебе сообщил определение запятых, но, думаю, сам найдёшь. Как и определение ортогональных векторов.
916 455999
>>55998
Q.E.D.
917 456002
>>55999
Как ты меня, ууух!
918 456003
>>56002
Хватит поясничать, иди игры пиши!
919 456005
>>56003

> поясничать


Вот уж кому учебник нужен.
920 456014
>>55979
Нравится, когда я меняю типы, то мне не надо педалиться в 90 местах меняя одну и ту же хуйню.
921 456015
>>55929
Кстати это причина корявой работы дотнетовских библиотек. Майкрософтовцы вообще офигевают от происходящего и никак не могут договориться как к этого монстра застваить общаться с Universal Windows Platform
922 456018
Можете посоветовать годные туторы на ютубе по юнити ру/англ?
923 456020
>>55929
Это так жирно, что я обоссал монитор.
picture.jpg26 Кб, 670x555
924 456025
player_pos - позиция игрока
camera_pos - позиция камеры
camera_dir - направление камеры
new_camera_pos - искомый вектор, новая позиция камеры
(всё это Vector3)

Нужно как-то провести перпендикуляр от позиции игрока и найти новую позицию камеры.
926 456030
>>56025
В школе теорему Пифагора и тригонометрию не учили?
927 456031
Покупать playmaker? Или деды говно жрали сами кодили и мне велели? Где его спиздить хотя бы?
928 456037
>>56025
Астанавись!
Что ты пытаешься сделать, никак не пойму?
Почему нельзя камеру впидорить потомком к игроку?
929 456039
>>56031
на персии, как и всегда
930 456047
>>55908

>Мне нужно получить правильную дистанцию от игрока (player) до цели (target)


>>55922 (Del)

>Vector3.distance(player.position, target.position)


Остановите этого аутиста, он же себе мозг сломает. Что ты вообще хочешь сделать то и найти?
931 456063
>>56028
Спасибо.
932 456099
>>56037

> камеру впидорить потомком к игроку


Вся суть.
933 456123
Блэд, че происходит то

Написано жи: Structs are copied on assignment. When a struct is assigned to a new variable, all the data is copied, and any modification to the new copy does not change the data for the original copy.

Я пишу:
static public DateTime date [инициализация];
private DateTime dateOfDSB [инициализация];

Потом, в цикле
dateOfDSB = date;
date = date.AddYears(1);

Проверяю в watch dateOfDSB и date, они не равны (по значению), все правильно

Потом, внезапно, посреди выполнения какого то левого геттера dateOfDSB становится равным date (по значению). Как блядь? Потоки не использую. Где я обосрался то?

DateTime жи структура public struct DateTime : IFormattable, IConvertible, IComparable, IComparable<DateTime>, IEquatable<DateTime>
934 456143
>>55917
Может кто знает и кому не впадлу подсказать. Как реализовать флип для врагов относительно игрока (см.видео)?

В голову приходят только громоздкие решения, может есть что-то простое?
935 456147
>>56143
Очевидно же

if(player.position.x > enemy.position.x) enemy.turnRight();
else enemy.turnLeft();
Screenshot17.09.28-02.09.2693Rescale.png2,3 Мб, 2880x1363
936 456150
Вкатился со своей процедурной генерацией шаров.
Спрашивайте свои ответы.
У самого вопросов много, но гуру на дваче не сидит.
937 456152
>>56123
Давай сюда код, подебажим за тебя.
938 456156
>>56037
Это адепт велосипединга, не мешай ему познавать дзен.
zxcz.png38 Кб, 904x618
939 456159
>>56147
Тысяча благодарностей. Подскажешь ещё одну вещь?

https://youtu.be/j8YkUt7bveY

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

В endMarker должны быть зафиксированы координаты один единственный раз.

Ловлю ступор на этом моменте, понимаю что решение простое и кроется в синтаксисе, но вот хоть убей не могу сообразить как пофиксить
940 456162
>>56159
Прикол в том, что endMarker - это ссылка на объект, а тот объект, на который эндМаркер ссылается, меняется (он же игрок, ага). Мне лень открывать юнити, чтобы посмотреть, можно ли копировать так, но сделай endMarker = new Transform(playerCoords.transform); Как вариант - сделай new Vector3(playerCoords.transform.position.x, ~y, ~z)
941 456163
>>56162
Хотя трансформ это монобихевиор, вроде (и потому его нельзя создать просто через new), так что лучше сразу использовать Vector3 для startMarker и endMarker, т.е. сохранять в маркеры не трансформы, а transform.position (которые являются Vector3).
U2FsdGVkX18x3ULJ5Vj6gSzGk5ChEREYRnP0G50TnzowxyTBH40ekRBJ8eM[...].jpg36 Кб, 640x426
942 456166
>>56162
>>56163
Какой же ты охуительный
Planetiav4-2.png804 Кб, 1920x1032
943 456167
>>56150
До чего ж популярная тема, на реддите каждую неделю презентуют новый генератор шаров.

>>56152

>Давай сюда код, подебажим за тебя.


Спасиб, братишка, но я уже вкинул весь код что имеет значение. Просто посреди левого метода две структуры DateTime с разными значениями (например, год 2014 и год 2015) получают одинаковое значение. Ни потоков, ни переопределений нет. Причем, в watch цифра не подкрашивается красным, мол переменная поменялась. Просто меняется значение и все.

Ну его на фиг, я эту дату для отсчета времени в стратежке использую. Лучше запилю свой MyDateTime, все равно мне тот избыточный функционал не нужен с високосными годами прочей поебенью.
944 456175
сильно ли юнити требовательна к ресурсам? смогу делать 2д на своем ноутбучине 2 гига 2 ядра?
945 456176
>>56175
Сможешь.
946 456177
>>56175
От целевой платформы зависит. WebGl кушает ресурсы сильнее. Standalone - norm. Под андроид много жрет. Но на 2д то все равно хватит.
947 456178
>>49619 (OP)
Насколько хорошо нужно сишарп изучить, прежде чем приступать к юнити? Так то я программировать умею но вот сколько уделить этому времени лучше всего? Изучить основные конструкции и сразу переходить к юнити или лучше позадрачивать его подольше и потом это окупится?
15101312256390.webm6,9 Мб, webm,
640x360, 1:05
948 456179
А правда что Animation Events работает тупо как SendMessage, который пиздецки медленный и использует сравнение строк?
У меня просто есть два варианта как поймать кадр, либо проверять NormalizedTime анимации каждый кадр и ловить нужный, либо через эвент вызывать метод на нужном кадре. Как будет лучше?
949 456180
>>56178
Я вот на java, c, c++ писал. Перешел на c# - вообще разницы не заметил. такая же хуйня получается
950 456189
>>56167
Я в этом дед. Начал, когда это не было мейнстримом.
Сейчас все делают майнкрафты и майнкамфы
Даже не интересно как - то.
951 456194
Какой же гейтс пидор. За 20 лет не сделал норм менеджер ресурсов. Пункты из меню исчезают. Перезагрузись, еще раз перезагрузись, я не перезагружался целую неделю. Весь функционал попрятан и нихуя не очевиден.

извините, у меня бушприт
952 456195
>>56150
расскажи че как. дай текстов почитать.
у меня вот не шары, а квадраты.
953 456201
>>56195
Каких текстов? Сорцы? - Заперто :)
Я от квадратов перешёл к процедурке всего сущего.

Кстати, нодовые редакторы - это хорошая штуковина, но я слишком уж привык к ковырянию шейдеров. Да и лень свой нод редактор писать....

Покажи хоть что получается, а то кажется мне, что я эти пикчи уже где-то видел.
954 456202
>>56150
Зачем тебе процедурная генерация? В каких играх, кроме клонов майнкравта, её можно использовать?
955 456204
>>56202
Оть глупенький. Не дорос видать, раз такие вопросы задаёшь.

Оглянись, придурок, она везде... Везде фракталы.

А вообще репутация у неё явно сильно подпорчена на фоне недавних высеров типа NMS. Но не обязательно делать упор именно на повсеместной процедурности контента. Да, местами она уныла (в большинстве случаев это связано с неумением ей пользоватся или дозировать её), невыразима. И это действительно так, куда не посмотри...
Но ведь есть примеры, когда эта 'технология' (или 'фича' - называй как хочешь) действительно разбавляет картинку и вообще, в целом, делает её более правильной. Повторюсь - игры выглядят стерильно, процедурка же вносит в виртуальные миры крупицу хаоса. Не того хаоса,
даун
956 456205
>>56202
Ц И В А
И
В
А

>>56195
Ебать ты генератор. Чотко, красиво.
А у нас в игре это выглядит сейчас не очень.
хотя у нас карта крутится во все стороны, но это отдельная песня
957 456206
>>56204
Какие это игры выглядят стерильно? Люди собственными ручкам как раз более интересные пейзажи создают. Другое дело что не все могут позволить себе таких людей.
958 456208
>>56206
Да почти все. В большей или меньшей степени, конечно.

Да, люди, но все они пользуются процедуркой.
Ты знаешь хоть об одном инструменте для создания контента? Она там везде.
Это глупый спор по сабжу, в котором один вовсе не понимает сути. Другое дело, если тебе интересно всё это узнать, но это же борда,
камон
959 456210
>>56208
Ну ладно, ты прав. Просто как-то много тут людей которые этим занимаются, вот я и решил узнать. Никто не пилит свои системы диалогов/квестов, например.
14841273346350.jpg11 Кб, 241x230
960 456211
>>56210
Я бы для диалогов и квестов написал бы нодовый редактор... Но мне лень.
961 456221
>>56214 (Del)
Фантазируй. Ты же можешь комнату разбить как хочешь, но тебе нужно то, что поможет тебе.
В твоём случае - это функция, которая, НАПРИМЕР, скажет, где поставить стену.
Т.е ты просто можешь поменять свой рандом на результат работы шума, его комбинаций, модуляций и тд. Особенно, если карта генерируется 1 раз при старте уровня, например.
Тут сколько хочешь усложняй систему.

Да всё что угодно можно для этого использовать.

http://www.gridsagegames.com/blog/2014/06/procedural-map-generation/

Это как точка опоры.

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

Если что-то всплывёт интересное - я бампну в нить.
962 456239
>>56201
текстов откуда черпалось вдохновение, если такие есть. или сам чего интересного расскажи. как кстати сферы то генерировать? куб выпучивать до состояния сферы?

по моему без нодовых редакторов процедурной генерации не запилить нормально.

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

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

>>56205
над этим ещё работать и работать. за основу кстати взял вороного, чтобы ещё его ещё переиспользовать потом для некоторых фич.
покажи хоть что сделал то, интересно же.
1392396964950.jpg89 Кб, 640x384
963 456240
Как реализовать вызов метода WasHitByPlayer(float damage, vector3 impact). Из-за того что параметр не один, SendMessage не работает, а GetComponent я не могу использовать, потому что этот метод должен быть у совершенно разных врагов в их личных скриптах.
т.е. игрок бьет НПС, вызывает у них метод, а кого именно он ударил он не знает

Можно ли сделать класс Enemy, наследовать от него конкретные классы врагов, и каким-то образом получать потом ссылку на скрипт который наследует от Enemy? Это возможно?
964 456241
>>56240
А, всё. Я узнал про виртуальные методы, и они решили проблему.
Блять, стараюсь задавать в тред только те вопросы которые кажутся самыми сложными, но в результате всегда сам их решаю довольно быстро, зато бьюсь часами над всякой хуйней которая с первого взгляда кажется простейшей
965 456243
>>56240

>использовать SendMessage


Кек
>>56241

>узнал про виртуальные методы


Почему новички узнают о сендмессадж раньше, чем о виртуальных и абстрактных методах?
966 456253
Ананасики, надеюсь на вашу помощь. Загрузил и установил с официального сайта пятую версию Unity. Всё нормально установилось, но при запуске редактора перестает работать мышь. Переподключение не помогает, только перезагрузка компьютера. В четвёртой версии такой проблемы нет.
967 456267
>>56239
Да просто с интернета же. Все подряд бумажки про процудурку на шарах, или как не выстрелить себе в ногу превращая квадрат в шар. Нет, реально, я все пальцы отбил себе обгугливая это по 10-12 страниц результатов.
А вообще есть книжки хорошие... (прикрепляйтед 1 и 2)

Вообще вдохновение черпал из Space Engine, потому что мне хотелось по такой же вселенной полетать на кораблике. (Потом, правда, в SE появились корабли)
Да, я знаю про дефолтный граф, но даже не пытался поковырять его.
Да, куб. Только не прямой подход: У меня всё считается в Clip Screen Space, а потом происходит магия 2D => 3D.
968 456270
>>56211
А я написал.
969 456278
>>56239
Я бы с большой радостью показал бы хоть что-нибудь, но я сижу под НДА, поэтому особо показать ничего не могу.
970 456290
>>56267

>У меня всё считается в Clip Screen Space


Что это значит?

другойанон
971 456292
>>56243
В Unity in action SendMessage приводится в качестве первого варианта для связи между ГО. Затем, конечно, поясняется его хуевость, но всё равно, способ запоминается.
zcxza.png567 Кб, 1922x1036
972 456294
Подскажите, как эти курвы можно подвигать?
973 456295
>>56294
Отставить. Нашел кнопку Scaling Mode
974 456299
Это снова анон с произвольно меняющимися переменными. Я заменил структуру DateTime на мой класс MyDate, но оно все равно произвольно меняет значение. Возможно, я таки обосрался с мнопоточностью, а именно с гуишными колбеками. Я даже заметил момент когда проц нагружается какой то параллельной хуйней посреди простейшего оператора.

Вот только как это дебажить? Я пробовал ставить брекпоинты в точках где может вызваться параллельный код но дебагер их игнорит: кажется, он только 1 поток видит (MS VS). В call stack криминала не видно

ПС. закоментил потенциальный коллбек, а переменные все равно меняются.. И нет, я присваиваю объекты не по ссылке а по значению.
Печалька..
stopquestion.png5 Кб, 483x199
975 456304
Вопрос от ньюфага.

Двигаю объект с помощью Rigidbody.velocity.
Задача, прекратить двигать объект, когда он достигнет определенной координаты по оси Z.

Я пробовал делать через while, но у меня все зависало и вообще все плохо.

Учусь кодить целую неделю.
976 456305
>>56299
Небось public полями обмотался и теперь сосёшь. Используй проперти и дедовский дебаг.

Например,
MyDate m_myDate;
MyDate myDate
{
get { return m_myDate; }
set
{
m_myDate = value;
Debug.Log(m_myDate); вот это называется дедовский дебаг
}
}

Если у тебя в консоли не отключен стектрейс, то вообще будет красота.
977 456306
>>56290
Боль. Я по сути работаю только с текстурками. Всё остальное рассчитывается через матрицы.
978 456307
>>56304
if(Rigidbody.position.z == myValue)
Rigidbody.enabled = false;

От балды написал, мб не работает.
А циклом while, ты лочил основной тред, в котором крутятся скрипты юньки, поэтому всё и висло.
979 456308
>>56304

> Я пробовал делать через while


В апдейте? Ёбу дал? Такое говно разве что в корутине делать можно, и то в приличном обществе за такое по ебалу бьют.
980 456310
>>56307
Лучше так:
if(Mathf.Abs(transform.position.z - myValue) < epsilon)
stopanswer.png3 Кб, 425x154
981 456321
>>56307
Cпасибо!! Rigidbody теперь нельзя делать en/dis, но сделал через кинематик.

>>56308
Только начал. Еще туплю совсем пиздец.
while в апдейте вообще не используем?
982 456322
>>56321

> while в апдейте вообще не используем?


Смотря при каких условиях. Твой апдейт прорабатывается раз в кадр, и если ты там замутил, например, while (true), то будь готов к тому, что всё зависнет нахуй, потому как следующий кадр не наступит пока не обработается предыдущий.
983 456323
>>56321

> Rigidbody теперь нельзя делать en/dis


Можно, как и любой другой компонент.
rb disabled.png25 Кб, 262x470
984 456326
>>56323
Серьезно, нельзя.
985 456327
>>56326
Хм. My bad, окей.
986 456334
>>49619 (OP)
При компиляции на андроид возникает такая ошибка, как можно исправить?

Win32Exception: ApplicationName='C:/Users/Самсунг/AndroidSDK\tools\aapt.exe', CommandLine='package --auto-add-overlay -v -f -m -J "gen" -M "AndroidManifest.xml" -S "res" -I "C:/Users/Самсунг/AndroidSDK\platforms\android-25\android.jar" -F bin/resources.ap_', CurrentDirectory='Temp/StagingArea'
System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start ()
(wrapper remoting-invoke-with-check) System.Diagnostics.Process:Start ()
UnityEditor.Utils.Program.Start (System.EventHandler exitCallback) (at C:/buildslave/unity/build/Editor/Mono/Utils/Program.cs:44)
UnityEditor.Utils.Program.Start () (at C:/buildslave/unity/build/Editor/Mono/Utils/Program.cs:28)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg, Int32 retriesOnFailure)
UnityEditor.Android.PostProcessor.Tasks.BuildResources.CompileResources (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.Tasks.BuildResources.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, System.String downloadWebplayerUrl, System.String manualDownloadWebplayerUrl, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:186)
UnityEditor.HostView:OnGUI()
986 456334
>>49619 (OP)
При компиляции на андроид возникает такая ошибка, как можно исправить?

Win32Exception: ApplicationName='C:/Users/Самсунг/AndroidSDK\tools\aapt.exe', CommandLine='package --auto-add-overlay -v -f -m -J "gen" -M "AndroidManifest.xml" -S "res" -I "C:/Users/Самсунг/AndroidSDK\platforms\android-25\android.jar" -F bin/resources.ap_', CurrentDirectory='Temp/StagingArea'
System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start ()
(wrapper remoting-invoke-with-check) System.Diagnostics.Process:Start ()
UnityEditor.Utils.Program.Start (System.EventHandler exitCallback) (at C:/buildslave/unity/build/Editor/Mono/Utils/Program.cs:44)
UnityEditor.Utils.Program.Start () (at C:/buildslave/unity/build/Editor/Mono/Utils/Program.cs:28)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg, Int32 retriesOnFailure)
UnityEditor.Android.PostProcessor.Tasks.BuildResources.CompileResources (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.Tasks.BuildResources.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, System.String downloadWebplayerUrl, System.String manualDownloadWebplayerUrl, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:186)
UnityEditor.HostView:OnGUI()
987 456336
>>56334
Может проблема в кириллице?
988 456349
>>56336
Имя польователя, вроде бы, не переименовывается
989 456355
>>56305
Тэкс. Нашел место парарелльного вызова.

Есть код
balance = getDemandSupplyBalance(price.getProduct());

Дата меняется в getDemandSupplyBalance.
НО! Я рассчитываю что должен сначала выполниться метод price.getProduct() а затем getDemandSupplyBalance. Правильно?

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

UnityEngine.Debug:Log(Object)
Market:getDemandSupplyBalance(Product) (at Assets/code/Logic/Market.cs:593)
Storage:getProduct() (at Assets/code/Utils/Storage.cs:252)
Market:simulatePriceChangeBasingOnLastTurnDate() (at Assets/code/Logic/Market.cs:694)
Game:simulate() (at Assets/code/Logic/Game.cs:509)
MainCamera:Update() (at Assets/code/Panels/MainCamera.cs:119)

Как так то? getProduct прост как блин:
public Product getProduct()
{
return product;
}
он ничего не перегружает, не переопределяет и не вызывает статических инициализаторов. Хуйня какая то.

Алсо, нельзя сделать что бы юнити консоль отображалась в ms vs? А то в во время дебагинга Юнити подвисает и консоль не видна.
989 456355
>>56305
Тэкс. Нашел место парарелльного вызова.

Есть код
balance = getDemandSupplyBalance(price.getProduct());

Дата меняется в getDemandSupplyBalance.
НО! Я рассчитываю что должен сначала выполниться метод price.getProduct() а затем getDemandSupplyBalance. Правильно?

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

UnityEngine.Debug:Log(Object)
Market:getDemandSupplyBalance(Product) (at Assets/code/Logic/Market.cs:593)
Storage:getProduct() (at Assets/code/Utils/Storage.cs:252)
Market:simulatePriceChangeBasingOnLastTurnDate() (at Assets/code/Logic/Market.cs:694)
Game:simulate() (at Assets/code/Logic/Game.cs:509)
MainCamera:Update() (at Assets/code/Panels/MainCamera.cs:119)

Как так то? getProduct прост как блин:
public Product getProduct()
{
return product;
}
он ничего не перегружает, не переопределяет и не вызывает статических инициализаторов. Хуйня какая то.

Алсо, нельзя сделать что бы юнити консоль отображалась в ms vs? А то в во время дебагинга Юнити подвисает и консоль не видна.
990 456357
>>56310
Таки да, да и float сравнивать дело гиблое.
Лучше через какой-нибудь Mathf.Approx
991 456358
>>56349
Лол, а SDK в другую папку тоже переложить никак?
992 456362
>>56355
>>56305
>>56299
>>56167
>>56123

Блэт, какой же я дегрод, пиздец просто
У меня этот метод getDemandSupplyBalance() в простыне watchа был вписан, оттуда вызывался и ломал логику при дебагинге. Пиздец я в шоке.

А вообще, суть была в том что бы этот (оче тяжелый) метод не вызывался 100500 раз за тик, а только тогда когда дата сменилась.
993 456363
>>56358
Ок, переместил в другую папку, теперь немного другая ошибка :
Win32Exception: ApplicationName='C:/AndroidSDK\tools\aapt.exe', CommandLine='package --auto-add-overlay -v -f -m -J "gen" -M "AndroidManifest.xml" -S "res" -I "C:/AndroidSDK\platforms\android-25\android.jar" -F bin/resources.ap_', CurrentDirectory='Temp/StagingArea'
System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start ()
(wrapper remoting-invoke-with-check) System.Diagnostics.Process:Start ()
UnityEditor.Utils.Program.Start (System.EventHandler exitCallback) (at C:/buildslave/unity/build/Editor/Mono/Utils/Program.cs:44)
UnityEditor.Utils.Program.Start () (at C:/buildslave/unity/build/Editor/Mono/Utils/Program.cs:28)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg, Int32 retriesOnFailure)
UnityEditor.Android.PostProcessor.Tasks.BuildResources.CompileResources (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.Tasks.BuildResources.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, System.String downloadWebplayerUrl, System.String manualDownloadWebplayerUrl, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:186)
UnityEditor.HostView:OnGUI()
993 456363
>>56358
Ок, переместил в другую папку, теперь немного другая ошибка :
Win32Exception: ApplicationName='C:/AndroidSDK\tools\aapt.exe', CommandLine='package --auto-add-overlay -v -f -m -J "gen" -M "AndroidManifest.xml" -S "res" -I "C:/AndroidSDK\platforms\android-25\android.jar" -F bin/resources.ap_', CurrentDirectory='Temp/StagingArea'
System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start ()
(wrapper remoting-invoke-with-check) System.Diagnostics.Process:Start ()
UnityEditor.Utils.Program.Start (System.EventHandler exitCallback) (at C:/buildslave/unity/build/Editor/Mono/Utils/Program.cs:44)
UnityEditor.Utils.Program.Start () (at C:/buildslave/unity/build/Editor/Mono/Utils/Program.cs:28)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg, Int32 retriesOnFailure)
UnityEditor.Android.PostProcessor.Tasks.BuildResources.CompileResources (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.Tasks.BuildResources.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, System.String downloadWebplayerUrl, System.String manualDownloadWebplayerUrl, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:186)
UnityEditor.HostView:OnGUI()
994 456364
>>56362
Причем, при вызове метода из watch он не прерывается на брекпоинтах
995 456365
>>56363
Не может ли дело быть в обратных слешах?
996 456367
>>56365
Вроде бы это особенность написания в Unity или Wшndows вообще
997 456368
>>56367
У меня картинки не грузились с неправильными слешами
998 456369
>>56368
Зависит от контекста. В строках "\" есть escape symbol

Если не уверен, юзай два слеша подряд.
999 456397
суп, анонасы.
я новичок в юнити и делаю sampleговношутер (да-да), вопрос таков: как сделать так, чтобы руки + пушка двигались за камерой, как в топ шутерах.

буду благодарен, если накидаете годных моделек с анимациями.
1000 456399
>>56397

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


Parent your Camera to these objects and use transform relatively?
1001 456412
Приветствую господа. С одной стороны, не хочется выкладывать полную фигню, но с другой еще более не хочется вставать на чужие грабли. Мы тут с другом игру делаем. Он рисует, я всё это кодю. Первый рас в жизни пробую, поэтому хотелось бы узнать ваше мнение. Подскажите, где и что еще не так, кромет ого, что я обозначу ниже. Ну и по поводу обозначенного подскажите, может стоит что по-другому сделать? Хотим, чтобы вышло годно, поэтому мнение каждого очень важно для нас. Вот собственно, сама демка:
https://youtu.be/jeH0AF1un-g
Мои мысли по ней:
Итак, выявленные проблемы:
1. Враги преследуя тебя, находятся в стене. Решение: Во время генерации путей запилить коллайдеры всех объектов в 2 раза толще. Это заёбно, но других способов пока-что не вижу. Надо подумать над оптимизацией этого процесса.
2. Динамичность. Игра слишком тактическая, пока-что. Решение: Нужно увеличить скорость передвижения игрока, отдалить камеру, забалансить хп/урон.
3. Если враг подойдет вплотную, то ты не сможешь по нему стрелять, т.к. пуля летит из пистолета прямо. Решение? (Возможно оно не нужно)
4. Однообразные смерти. Есть разные смерти под разные виды оружия, но сами смерти однообразны. Я думаю, что смерти по-любому надо разнообразить, т.к. игрок будет зачищать большое кол-во врагов одной пушкой. Для основных пушек (пулевое, колящее, дробь, ударное) надо запилить по несколько анимаций смерти. Для всяких огнемётов-плазмоганов и прочего, анимация может быть одна и та же. Типо челик разваливается на плазму, или бегает горящим, потом от него остаётся лишь пепел.
5. Шум. Делать его вообще или нет? Если делать, то мне не нравится моя идея реализации. Надо вместе посидеть подумать.
6. Укрытия. Появилась идея, типо если ты стреляешь из-за дивана, то по тебе урон проходит меньше, ну и если враг из-за дивана, то тоже меньше.
7. Враги ближнего боя. Я запилил им механику удара без хитбоксов: После замаха определяется дистанция игрока. Если игрок попал в дистанцию, то урон проходит. Тут есть минус, он заключается в том, что игрок, находясь за спиной у врага ближника получит урон. Фиксится это легко, но вопрос стоит ли? Типо враг же все-равно так или иначе на тебя будет смотреть.
8. Стрельба сквозь стены. Фиксится легко. Просто проверять есть ли стена между игроком и местом, откуда вылетает пуля.
1001 456412
Приветствую господа. С одной стороны, не хочется выкладывать полную фигню, но с другой еще более не хочется вставать на чужие грабли. Мы тут с другом игру делаем. Он рисует, я всё это кодю. Первый рас в жизни пробую, поэтому хотелось бы узнать ваше мнение. Подскажите, где и что еще не так, кромет ого, что я обозначу ниже. Ну и по поводу обозначенного подскажите, может стоит что по-другому сделать? Хотим, чтобы вышло годно, поэтому мнение каждого очень важно для нас. Вот собственно, сама демка:
https://youtu.be/jeH0AF1un-g
Мои мысли по ней:
Итак, выявленные проблемы:
1. Враги преследуя тебя, находятся в стене. Решение: Во время генерации путей запилить коллайдеры всех объектов в 2 раза толще. Это заёбно, но других способов пока-что не вижу. Надо подумать над оптимизацией этого процесса.
2. Динамичность. Игра слишком тактическая, пока-что. Решение: Нужно увеличить скорость передвижения игрока, отдалить камеру, забалансить хп/урон.
3. Если враг подойдет вплотную, то ты не сможешь по нему стрелять, т.к. пуля летит из пистолета прямо. Решение? (Возможно оно не нужно)
4. Однообразные смерти. Есть разные смерти под разные виды оружия, но сами смерти однообразны. Я думаю, что смерти по-любому надо разнообразить, т.к. игрок будет зачищать большое кол-во врагов одной пушкой. Для основных пушек (пулевое, колящее, дробь, ударное) надо запилить по несколько анимаций смерти. Для всяких огнемётов-плазмоганов и прочего, анимация может быть одна и та же. Типо челик разваливается на плазму, или бегает горящим, потом от него остаётся лишь пепел.
5. Шум. Делать его вообще или нет? Если делать, то мне не нравится моя идея реализации. Надо вместе посидеть подумать.
6. Укрытия. Появилась идея, типо если ты стреляешь из-за дивана, то по тебе урон проходит меньше, ну и если враг из-за дивана, то тоже меньше.
7. Враги ближнего боя. Я запилил им механику удара без хитбоксов: После замаха определяется дистанция игрока. Если игрок попал в дистанцию, то урон проходит. Тут есть минус, он заключается в том, что игрок, находясь за спиной у врага ближника получит урон. Фиксится это легко, но вопрос стоит ли? Типо враг же все-равно так или иначе на тебя будет смотреть.
8. Стрельба сквозь стены. Фиксится легко. Просто проверять есть ли стена между игроком и местом, откуда вылетает пуля.
1002 456414
>>56412

>Подскажите, где и что еще не так, кромет ого, что я обозначу ниже



HOTLINE EBANIY

Остальное, пили так как считаешь нужным. На коммунити лучше не смотреть, ибо ТЫ делаешь игру, а не коммунити.
1003 456417
>>56414
Просто не хочется чужие ошибки повторять. Мало ли кто-то на чем-то обосрался, подскажет.

Мы и планируем что-то вроде хотманямирки, только без убийств с первого удара. Хотим запилить гринд в виде покупки вооружения, прокачки, вот это всё.
1004 456420
Пацаны, а кто-нибудь работает здесь в юнити профессионально? Под этим словом я подразумеваю ЗА ДЕНЬГИ? В какой-нибудь конторе.
1005 456422
>>56420
Вот тут по ответам пройдись: >>52387
1006 456425
>>56420
Ну, допустим, я работаю.
1007 456444
>>56425
А где, если не секрет? и в чем работа состоит?
Ну, в смысле, локально, в ватной, или удаленно, на гейропу?
1008 456494
Пацаны, скажите нубу, бесконечные циклы однозначное зло или обсуждаемо? Просто в официальных гайдах по юнити разрабы ими пользуются. Но погуглив я обнаружил, что все называют их говнокодом. Так где же истина?
1009 456495
>>56494
В апдейте - зло. В корутине - норм.
1010 456496
>>56494
Что ты конкретно подразумеваешь под бесконечным циклом?
1011 456497
>>56496
While (true), например. С возможностью брейка. Или лучше точно прописывать условия?

>>56495
Да, естественно в корутине.
1012 456499
>>56497
Если знаешь зачем и как делаешь - можно.
1013 456500
>>56497

> естественно в корутине


Тогда пиши, почему бы и нет? Кукареки про "так низя" и "говнокод" не слушай.
1014 456505
>>56363
Ещё не получилось справиться, буду очень рад объяснениям
image.png48 Кб, 790x257
1015 456509
Все сломалось, кто-то знает что мне с этим делать?
1016 456511
А почему в юнити не сделали возможность добавлять несколько тегов к объектам? Вполне же простая, очевидная и очень полезная фича.
1017 456512
>>56511
А что, комбинации layers+tag+name недостаточно?
1018 456513
>>56512
Я позавчера только начал юнити изучать, до таких тонкостей еще не дошел, но мне кажется, что озвученный вариант не столь практичен, удобен и прост как список тегов.
1019 456514
А почему юнити тред лучший на всем харкаче? Во всех остальных местах ньюфагов обоссывают, хамят и троллируют. А тут всегда помощь и нормальный диалог. Юнити-господа лучшие из людей?
1020 456516
>>56514
Нет, просто в треде одни ньюфаги, что они, сами себе хамить будут?
1021 456517
>>56513
Если нужны глобальные Properties для GO, создай отдельный класс (скрипт) с нужными полями и лепи на объекты, хватать можно через GetComponent<>()

Правда, это примитивный и довольно медленный вариант если у тебя СТОТЫЩЬ объектов и запросы идут почти каждую секунду/фрейм. Впрочем, запрос тега тоже не без потерь.
1022 456518
Когда перекат?
1023 456531
>>56444
Ну, надеюсь, что меня не пидорнут, но так и быть расскажу.
Работаю в Herocraft. Пишу игровую логику, редакторы, шейдеры. В общем всё то, что нужно текущему "секретному" проекту.
shruggity shrug.jpg51 Кб, 500x682
1024 456532
>>56531

>Работаю в Herocraft.


literally who
1025 456533
>>56509
Ну, тут скорей всего у тебя беда в самом устройстве. Ковырни в сторону adb. Чтобы через консоль сам девайс был виден. Я давно с андроидом не работал, поэтому сорян.

>>56514
Видимо тут собрался один молодняк, а не пропёрженые плюсовики-затейники, которых обоссывали и обоссывают, а они типа как ДЕДЫ в армейке себя ведут.

>>56518
Завтра.
1026 456535
>>56532

>literally who


Отгадай с трёх раз, если я что-то про Unity знаю и что-то пишу.
1027 456536
>>56533
Ненавижу работать с андройдом
1028 456537
>>56536
С Apple-устройствами ещё хуже, браток.
1029 456538
>>56535
Пост был риторическим
1030 456539
>>56538
Понял.
1031 456543
>>56531
А что по зп/как вкатился/какой опыт?
1032 456545
>>56543
По зп, увы сказать не могу, ибо НДА.
Вкатился спонтанно. Искал другую контору, в которой не будут лепить говноказуалки. Так вышел на них. Коллектив охуенный. Подход к работе идеальный для меня.
Опыт чуть больше, чем 3 года.
1033 456551
>>56545
Охуенно.
Как думаешь, имея полгода практики и 2-3 завершенных проекта, реально куда-нибудь вкатиться на джуна? Социалка/общение на хорошем уровне.
Никогда раньше не кодил, но не так давно попробовал, и неожиданно для самого себя, стало нормально получаться. Код, который казался каким-то дремучим лесом 2 недели тому назад уже сейчас выглядит для меня вполне понятным + пока что, все задачи, которые я себе ставлю в своих небольших проектах, я реализую достаточно быстро с помощью гугла.

Я понимаю, что вопросы идиотские, и все зависит от обстоятельств. Просто никогда не работал в айтисфере + я весьма великовозрастный.
1034 456555
>>56551
А ты готов работать (не пинать хуи дома на диване, а ежедневно, в офисе, по 40 часов в неделю, где с тобой будут обращаться аки с дерьмом 20-летние мальчики (а иногда даже и девочки), взваливая на тебя самую нудную работу) первые полгода забесплатно? Если готов - то да, в принципе можно вкатиться куда-нибудь джуном.
banana duck.jpg22 Кб, 480x336
1035 456565
>>56555

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


> забесплатно

1036 456578
>>56555
Ну а хули делать.
1037 456672
>>56545

>не будут лепить говноказуалки


>http://www.herocraft.com/games/


Я ничего такого не хочу сказать, а ты не именно этим сейчас занимаешься?
1038 456674
>>56672
А что не так? Копит бабло и скилл, со временем м.б. уйдет и своего Cuphead'а захуячит.

мимоанон
1039 456675
>>56578
Не работать забесплатно. Любой труд должен быть оплачен, это золотое правило всех нормальных коллективов. Хотя на первое время нужно соглашаться на скромную зп, канешн.
1040 456676
>>56674

> А что не так?


То, что он назвал контору, которая лепит казуалки, конторой, которая их не лепит.
1041 456677
>>56675

>Любой труд должен быть оплачен


>пидорашка



Хуя ты борзой, за зарплату работать
1042 456679
>>56674
Так речь была о том, что анон искал контору не про казуалки, а пришел туда.

Кстати, анон-разраб, можешь написать зарплатную вилку для мимохуя без опыта в геймдеве, но с 5+ лет опытом в ойти вообще?
1043 456681
>>56679

>5+ лет опытом в ойти вообще


Это вот что в твоем контексте значит? Переустановка Ворда?
1044 456682
>>56681
Витуху обжимал.
1045 456684
>>56681
Кресты, питон, шарп, есественна, на жаве небольшой опыт (но только как скриптящего qa), паттерны, ООП. Официально работаю qa-инженегром, хотя временами это напоминает программиста или продакт менеджера, когда приходится полоскать мозги кодерам на счет того, что делать надо не только на основе того, что в джире написано, но и руководствуясь здравым смыслом.
Дома ради фана пилю свой космосим с орбитальной механикой.
1046 456686
>>56363
Может быть, попробовать переустановить Java?
1047 456690
>>56686
И антивирус отключить?
1048 456694
Сделайте перекат уже.

Предлагаю Coroutine edition.
1049 456734
1051 456865
>>56675

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


Как и труд конторы по его обучению и превращению из говна в человека, который способен делать что-то полезное.
1052 456866
>>56684
Дели свою текущую зарплату на 5 и на 3 - получишь нужную тебе вилку.
1053 457131
Чем отличается Dublicate от Copy ?
1054 457161
Не могу понять, как работает Box Collider.
Пытаюсь реализовать столкновение двух автомобилей - игрока и опонента. У обоих есть Box Collider с Is Trigger = true.
Сделал проверку на OnTriggerEnter и OnTriggerExit. Завел отдельную булевую переменную, которая определяет, что пока объект не покинул коллайдер бокс другого объекта, повторно код для столкновения обрабатывать не надо. Переменная статическая! И все равно Unity считает, что столкновение происходит каждые четверть секунды. Как выйти из ситуации? Какую логику лучше использовать для обработки столкновений?
1055 457484
Котики, у меня иногда из-за ошибок код уходит в while(true){}. Можно ли как то вывести редактор из бесконечности иначе чем через убивание процесса?
1056 457494
>>57484

>Котики, у меня иногда из-за ошибок код уходит в while(true){}. Можно ли как то вывести редактор из бесконечности иначе чем через убивание процесса?


Бля не тот тред
Скриншот 2018-01-02 20.05.14.png189 Кб, 1920x1080
1057 464549
Здравствуйте.

Начал осваивать движок, прошёл курс сишарпа.
Хочу попробовать сделать тайловую карту по которой бегает герой.

Нашёл пачку уроков по таким вещам.

И столкнулся с проблемой.

Вот например один из уроков:
https://youtu.be/70sLhuE1sbc?t=19m12s

Я отмотал на время. когда там начинают писать код.

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

И я не понимаю почему - там же явно коду объясняется что такое WaterTile! Почему он не понимает, что это такое?
1058 479559
>>53430
Незнаю даже, компания "Rock star" какая-то. Там по англ всё. Хер её знает.
image.png243 Кб, 1542x850
1059 490745
>>64549
Tile странным образом не происходит из Tilemaps (серенькие = no use)
Тред утонул или удален.
Это копия, сохраненная 18 сентября 2018 года.

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

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