Этого треда уже нет.
Это копия, сохраненная 15 апреля 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
15198036612070.jpg16 Кб, 790x447
Unity Thread | 2018.5 498593 В конец треда | Веб
Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности!

Прошлый тред: >>489738 (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
2 498596
И сразу вопрос. Где-нибудь есть инструкции по созданию цивилизацияподобных игр? Ну чтобы там объясняли, как генерировать карту, писать ИИ для таких игр, ИИ для двигания войск и всё такое.
3 498598
Пока народ перекатывается, давайте покидаем в тред примеры ААА-игор на юнити.
Я начну: Сабнавтика.
4 498601
>>498598
Тиранни, Раст, Блицкриг, Пилларс оф Этернити. Вообще поддерживаю. Вот у уечепидоров куча примеров, а у нас что? Нажо собирать библиотеку успешных игр и продвигать как пример успешности юнити.
6 498606
Чёт они охуели и в линуксовой версии 2018 потеряли поддержку старых процессоров, чё мне теперь не делать игры что-ли?
7 498607
На 2018 версию уже можно перекатываться?
8 498609
>>498607
Только если собрался делать игры.
9 498610
>>498609
Ну, я на андроид игру делаю. Сделал билд на 2018 версии, размер файла уменьшился на 6 МБ. Но была проблема со скриптами. В одном скрипте была ошибка, я её исправил, но юнити упорно отказывался видеть изменения. Пришлось реимпортнуть папку со скриптами.

Может есть ещё какие-то проблемы...
10 498611
Так блять, перекатился на 2018 и как включить редактор шейдеров?
11 498615
>>498606

>линуксовой версии


Что? Вышла версия на линукс?
13 498618
>>498486

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


Сам навелосипедил почти 17 loc

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


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

>>498596
На гихаб пиздуй, там и движки есть и готовые игры https://github.com/SWY1985/CivOne

>>498607
Если только оче нужна поддержка c# 7, иначе - нахуй ее, глючит
onmapunits.png248 Кб, 613x726
14 498650
О, зделол. Как же юнити хорош, без него я бы это месяц делал.

Вопрос - я включаю анимацию ходьбы юнита через m_Animator.SetFloat("Forward", m_ForwardAmount, 0.1f, Time.deltaTime);

Но при каждом следующем использовании этого метода юнит бежит все быстрее и быстрее. ЧЯДНТ?
15 498651
>>498650

> Но при каждом следующем использовании этого метода юнит бежит все быстрее и быстрее


Ну само собой, ты же метод несколько раз вызываешь.
Я как-то раз додумался корутину из апдейта вызывать, можешь представить что там было.
16 498657
>>498651
Так и что, мне останавливать анимацию сначала?

Алсо, что лучше квад с тексутрой или спрайт?
17 498663
>>498657
Можешь ждать окончания этой анимации, например.
18 498698
Короче, пацаны. Пишу мультиплеер для двигающихся кубов с пушками. Так вот, там есть объекты общие для всех, типа кубов на сцене или предметов. Мне надо физику для них и взаимодействие .
Нормальный ли вариант сделать одного игрока типа хоста, и чтобы координаты для этих шмоток считал он, отправлял на сервер, а он всем остальным. Так, по идее, если он отрубится, то мы передаём это на следующего игрока и теперь считает он. Вот такой велосипед. Нормас или хуйня? насколько сильно хуйня, я не особо в клиент-серверной параше разбираюсь
19 498699
>>498698
Чему бы на сервере не считать? Или сразу на всех клиентах?
20 498700
>>498698

> Пишу мультиплеер


> я не особо в клиент-серверной параше разбираюсь


Может сначала туториалы по мультиплееру покурить, не?
21 498710
Охуенно, пытался купить два ассета, после ввода пароля из смс, произошла ошибка, бабки с карты списали, а ассеты не добавились, даже в истории покупок нет ничего, было у кого-нибудь? Получится решить проблему? Алсо, написал им в саппорт, ну там типа до 5 дней ожидания может быть.
22 498712
>>498710
Роскомнадзор напиши
23 498713
>>498712
Ну деньги то в unity ушли, я надеюсь они там смогут это посмотреть
24 498717
>>498710
А ну сейчас спустя 40 минут отмена покупки прошла. Ну блять, сраный роскомнадзор
25 498724
>>498710
>>498717
Не мог посмотреть в гугле как VPN поднять? В треде уже несколько раз писали что ассетстор заблочен.
26 498725
Я не смог нагуглить. Скажите пожалст вот в EditorGUILayout.ObjectField есть отдельно хуйня говорящая можно ли совать туда объекты из сцены, или нельзя. А как тот-же функционал сделать если не хочется переписывать инспектор? Есть ли волшебный атрибут?
27 498726
>>498710
На какие ассеты положил глаз если не секрет?
28 498743
ПАМАГИТИ!

Есть динамическое риджидбади2Д. Я хочу сделать так, чтобы при падении оно уменьшалось в размерах. Рассчитываю через лерп, но во время изменения размеров все начинает дико тормозить. Я уже все испробовал, не понимаю в чем дело. Может кто из гуру подскажет, куда копать?
29 498753
>>498743
код покажи че ты там понаписал. может дебаг лог забыл убрать из апдейта или ещё какую хуиту
30 498757
>>498726
Текстуры лошадиных хуёв и модели коней.
image.png106 Кб, 394x282
31 498763
Как управлять очередностью отрисовки в 3д? По идее, через renderQueue но многие материалы не содержат данного поля (3д текст, спрайты). ЮИ элементы тоже наслаиваются в world space.
32 498781
Что дешевле: пять рейкастов или один сферекаст?
33 498783
>>498781
Дешевле сначала игру сделать, а уже потом оптимизировать.
34 498787
>>498725
Блять, ну написано же, епт твою мать.
https://docs.unity3d.com/ScriptReference/EditorGUILayout.ObjectField.html
35 498792
>>498753

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

public class test : MonoBehaviour {

// Use this for initialization
void Start () {
StartCoroutine(ScaleObject());
}

// Update is called once per frame
void Update () {

}

IEnumerator ScaleObject()
{
float scaleDuration = 5; //animation duration in seconds
Vector3 actualScale = transform.localScale; // scale of the object at the begining of the animation
Vector3 targetScale = new Vector3(3f, 3f, 3f); // scale of the object at the end of the animation

for (float t = 0; t < 1; t += Time.deltaTime / scaleDuration)
{
transform.localScale = Vector3.Lerp(actualScale, targetScale, t);
yield return null;
}
}
}
35 498792
>>498753

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

public class test : MonoBehaviour {

// Use this for initialization
void Start () {
StartCoroutine(ScaleObject());
}

// Update is called once per frame
void Update () {

}

IEnumerator ScaleObject()
{
float scaleDuration = 5; //animation duration in seconds
Vector3 actualScale = transform.localScale; // scale of the object at the begining of the animation
Vector3 targetScale = new Vector3(3f, 3f, 3f); // scale of the object at the end of the animation

for (float t = 0; t < 1; t += Time.deltaTime / scaleDuration)
{
transform.localScale = Vector3.Lerp(actualScale, targetScale, t);
yield return null;
}
}
}
37 498799
>>498796
Но тормозов не видно.
UnityExperimentFail.webm31 Кб, webm,
1128x802, 0:03
38 498803
>>498763
шейдором конечно-же

>>498781
сферкаст

>>498787
что написано? не написано там нихуя

>>498792
не удалось воспроизвести ни с 2д ни с 3д. хуй знает че ты там понаписал.
39 498804
>>498803

>шейдором конечно-же


В смысле, через renderQueue или ZTest Always или как?
40 498806
>>498804
renderQueue. сам же перевести можешь. https://docs.unity3d.com/ScriptReference/Material-renderQueue.html
41 498807
>>498806

>https://docs.unity3d.com/ScriptReference/Material-renderQueue.html


Допустим. Но если у меня в 3д ГУИ картинка наслаивается на панель, мне дополнительный шейдер делать на каждый слой? Как то это тупо. В одном шейдере ведь не может быть разных renderQueue

Алсо, придется искать текстуры для переписки стандартного шейдера 3д текста - он, суко, поверх всего рисуется
42 498808
>>498807

>В одном шейдере ведь не может быть разных renderQueue


они же вроде в материале ещё настраиваться могут? хотя я не проверял работает или нет

>он, суко, поверх всего рисуется


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

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


Я, в данном случае, использую 3Д Текст, без всяких канвасов. Или он устарел и не стоит им пользоваться?
44 498810
>>498809
ну это. с разморозкой, да. это ты там какую-то экзотическую хуиту творишь. там конечно шелухи побольше, но и контроля побольше. и очередность отрисовки на канвасе управляется позицией обжекта в иерархии.
image.png24 Кб, 223x226
45 498811
>>498810
Окей, попробую переделать.

Но другой вопрос - почему у меня текст проваливается в серую панель? Это ЮИ текст на паниле в канвасе с мировыми координатами. Z координата - 0. Так и должно быть или я где то обосрался? Матриал - дефолт ЮИ.
46 498812
>>498811
* на панели, текст - дочерний объект по отношению к панели, ессно.
47 498816
>>498811
Если честно то хуй знает что ты там понакрутить успел. Покрути координаты, скейл элементов и прочую хуйню. Там много чего можно покрутить.

Кстати а чего ты вообще решил все это в мировых координатах то ебошить? Может сделал бы отдельную камеру которая рисовала бы только UI, двигал бы там все эти надписи через код переводя кординаты из мировых в скрин спейс, имел бы себе отдельный менеджер который за все это отвечал бы.
48 498828
>>498799
Как это не видно? Видно же, что правый объект дергается и медленней падает.

>>498803

>не удалось воспроизвести ни с 2д ни с 3д. хуй знает че ты там понаписал.



Но я же привел код, это единственный код в сцене. Ты не мог бы скинуть свой скрипт для правого шара, а лучше залить куда-нибудь весь проект, если не сложно?
49 498830
Стандартный террейн неудобный кусок говна. Есть ему альтернатива?
Начал рисовать вручную в зебре, но потом осознал, что придется вручную сажать травку и раскрашивать и забил хуй. Так же пробовал импортировать карту высот, но как начинаю что-то фиксить, то все идет по пизде.
50 498831
Юнити или UE4 ?
51 498832
>>498830
че тебе там не нравится то? карты с травкой так-же легко суются как карты высот и текстурки. там разве что обосрамс с тем что у какой-то из них перепутана X и Y.
можно и процедурно ещё генерировать. вон покажу мой старый прототип. клево же.

>>498831
че хочешь то
52 498841
>>498816

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


Да вроде хуйни не делал. Прост в мировых координатах, как я понял, ЮИ элементы - обычные полигоны, вот их и вмазывает z-fighting

>Кстати а чего ты вообще решил все это в мировых координатах то ебошить?


Ну, сам ЮИ у меня поверх камеры рисуется, только всякая хуйня из сцены в мировых.

>>498816

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


Чет дофига переусложнений, пересчитывать координаты сотен объектов при каждом движении камеры, вообще охуеть.
53 498842
>>498816
Кстати, изменение render queue нихуя не помогает - сделал панели 2000, тексту - 3000, также пидорасит. Только увеличение z на 0.0001 помогает
Unity 2018-05-10 14-56-45-78.png191 Кб, 1152x732
54 498854
>>498841

>Да вроде хуйни не делал. Прост в мировых координатах, как я понял, ЮИ элементы - обычные полигоны, вот их и вмазывает z-fighting


внутри канваса у них нет з-файтинга

>Чет дофига переусложнений, пересчитывать координаты сотен объектов при каждом движении камеры, вообще охуеть.


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

>>498842
там не совсем так просто всё с очередью отрисовки. как видишь она вполне работает. просто для прозрачных и непрозрачных объектов по разному.

вообще че ты там творишь? че у тебя там пидорасит то? говорю - перенеси на отдельный слой который рисует только UI. То есть у всех элементов UI поставь Layer: UI и сделай камеру которая рисует только этот слой.
55 498858
>>498763
а хотя. перечитал твой вопрос и подумал над контекстом. тут и правда проще всего будет просто приподнимать немного UI нарисованный в ворлд спейсе.
вообще твои странные проблемы можно было бы решить иным способом. завести ТРИ камеры! одна рисует карту, вторая рисует UI а третья хопа и юнитов!
56 498859
>>498858

> завести ТРИ камеры!


три камеры на 3fps
Unity 2017-09-10 16-50-25-35.png117 Кб, 1116x796
57 498861
>>498859
да ну не пизди, у меня был прототип в котором было аж пять камер. иметь лишние камеры вполне себе решение если хочется что-то поверх чего-то рисовать. например хопа и вот тут я рисую кликабельное превью карты в лобби. команда 1 выбирает чанк, а команда 2 выбирает чанк за пределами сферы первой команды. а карта вообще на другом слое за три пизды.
image.png756 Кб, 1920x923
58 498862
>>498854

>внутри канваса у них нет з-файтинга


У меня - было см текст на панельке >>498811

>>498854

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


>


Куча провинций, юнитов, хз что я еще добавлю

В принципе, я решил свои проблемы - таки нашел текстуру для нового шейдера 3д текста который риcуется не поверх всего а в порядке. остальное по Z поднял на 0.001

Осталось только разобраться...
59 498864
>>498854

>говорю - перенеси на отдельный слой который рисует только UI. То есть у всех элементов UI поставь Layer: UI и сделай камеру которая рисует только этот слой.


Не, я пока оставил старый 3д текст с новым шейдером. Он прикрепляется к объекту без всяких канвасов - просто и удобно. Там еще и лоды прихуячены..

>вообще че ты там творишь?


Куча элементов в одной плоскости проваливаются друг в друга
60 498866
>>498862

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


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

>Куча провинций, юнитов, хз что я еще добавлю


да ну брось у тебя на скриншоте даже сотни надписей нет. как бы пересчет пространства то не такая хитрая операция как можно подумать. лучше бы менеджер завел. вот захочешь ты например завести кручение карты. и че? это ты на каждом повороте будешь говорить каждой провинции "поверни свою надпись"? чем-то эта идея попахивает.
61 498867
>>498864

>Не, я пока оставил старый 3д текст с новым шейдером. Он прикрепляется к объекту без всяких канвасов - просто и удобно.


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

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


по моему у тебя просто хуйня поверх юнитов рисуется. рисуй юнитов поверх всего.
62 498868
>>498866

>да ну брось у тебя на скриншоте даже сотни надписей нет.


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

>>498866

>или ещё какая проблема


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

>>498866

>вот захочешь ты например завести кручение карты


Низахочу. В этом жанре камера не крутится.

Зато, может быть сделаю систему чтобы текст названия страны вписывался в размеры страны. но некогда. И сложна.
63 498870
>>498868

>Так это ж тестовая версия. Так то весь мир долго генерируется.


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

>Низахочу. В этом жанре камера не крутится.


да ну не ври. вон например в Stellaris вполне себе крутится. это у тебя пока карта плоская и хуевая смысла крутит мало. а вдруг у неё карта высот появится, горы, деревья? а тут нате, крутить нельзя. или можно но только вместе с надписями.
64 498874
>>498870

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


А зум и есть, через ЛОД. Мне пересчет этих сотен(тысяч) объектов не нравится. Лишнее, пока и так работает.

>>498870

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



Вообще, у меня была идея добавить мою же генерацию высот с пикрила, но это вряд ли. Надо работу искать, а с Патреона едва 15 баксов приходит.

Перепишу если что, а заранее универсальные механизмы делать - зло. Рефакторинг в данном случае почти ничего не стоит.
65 498876
Норм идея добавить в сцену объект LoadingManager содержащий ссылки на префабы, материалы и прочее? Или как лучше?
66 498889
Доброго денечка, мастера Юнити. Я сам в юнити не разбираюсь, нужен ваш экспертный совет. Играю я времена в такую игру, как Project Gorgon - мморпг сделанная на Юнити. И есть в игре большая проблема - производительность. Когда в локацию набивается больше 50 человек, игра начинает проседать в ноль по фпс. Причина известна - анимации. Если отключить их, лаги исчезнут. Разработчик оправдывается тем, что это особенность движка юнити, и пока из эксперементальной фазы не выйдет какая то функция "graphics jobs" проблему никак не решить. Правда это, или кривые руки?
67 498891
>>498889

> пока из эксперементальной фазы не выйдет какая то функция "graphics jobs"


Она что, всё ещё в экспериментальном режиме? Охуеть, третий год уже пошёл.
68 498897
>>498828
Так дело не только в коде может быть.
Ты в RigidBody не менял ничего? У тебя там gravity поди другое выставлено
69 498901
>>498889
пиши разрабу что вышла 2018 версия юнити, в которую как раз завезли jobs.
70 498911
Что там с Unity Entity Component System? Уже можно пользоваться?
71 498912
>>498593 (OP)
Где можно посмотреть примеры, как организованы проекты юнети у белых людей?
72 498920
>>498912
Поддвачну вопрос. А то везде лишь громоздят гору велосипедов и подпирают ее костылями.
73 498929
>>498726
Как раз из-за впн платеж и не проходил, я его вырубил и все ок стало, потом снова поднял, чтобы в самой юньке ассетстор открылся, а в браузере он и так работал слава богу.
>>498724
Да почему секрет, взял corgi engine, rex engine и pro camera 2d, нарадоваться теперь не могу, я ведь столько времени ебался велосипедил свои костыли, вместо того чтобы делать игру.
74 498944
>>498912
Очевидно, что в документации юнити, в примерах проектов.
75 498946
>>498912
На сайте в официальных туториалах от самих разрабов юнити.
76 498951
>>498912
https://blogs.unity3d.com/ru/2018/05/10/launching-3d-game-kit-explore-and-learn-unity-in-3d/
Ну вот например, тут тебе и контроллер персонажа, и боёвка, и двери, и шейдеры
77 498961
Нахуя в документации в качестве примера к классу добавляется атрибут [System.Serializable] если потом все переменные один хуй публичные и будут видны в инспекторе?
https://docs.unity3d.com/ScriptReference/Serializable.html
Сейчас вот создал класс с таким атрибутом и с приватными переменными - в инспекторе их не видно.
Получается, эта хуйня нахуй не нужна?
78 498965
>>498961
Суть этого аттрибута в том, чтобы показать возможность сериализации всего класса, а не его полей. Ты скорее всего путаешь с [SerialiseField]

Создай не монобихувир класс с этим аттрибутом и без него, после чего сделай публичную переменную этого класса в другом скрипте и сравни результат.
79 498966
>>498965
Спасибо, сейчас проверю.
80 498967
>>498961
он для класса который не наследуется от монобихейвора же. сериализация в юнити имеет свои особенности. можешь почитать про неё в этом посте. https://forum.unity.com/threads/serialization-best-practices-megapost.155352/
81 498969
>>498965
>>498967
Уяснил, спасибо.
82 498970
>>498911

>Что там с Unity Entity Component System? Уже можно пользоваться?


Аноньчики, ответьте, плиз...
83 498977
Посоны, такое дело.
Есть класс Item, который ни от кого не наследуется. Там поля с именем, весом и т.д.
В папке Resources/Items лежат префабы, состоящие из пустых геймобджектов с прикреплённым классом Item.
На сцене висит скрипт, который делает вот это:

public List <Item> allItems;

void Start () {
allItems = new List<Item> (Resources.LoadAll<Item> ("Items"));
}

Юнька на меня ругается, говорит что

> Assets/Scripts/ItemController.cs(21,40): error CS0311: The type `Item' cannot be used as type parameter `T' in the generic type or method `UnityEngine.Resources.LoadAll<T>(string)'. There is no implicit reference conversion from `Item' to `UnityEngine.Object'



Если же Item унаследовать от монобихэвиора, то всё работает безо всяких ошибок. Но мне от него наследоваться не надо. Как быть?
84 498986
>>498977
оно ж тебе пишет - могу грузить только UnityEngine.Object.
унаследуй его от обжекта а лучше скриптабл обжекта и убери нахуй префабы нафиг тебе полноценный геймобжект со всем вагоном стандартной фигни?
b2b9e06718446f868164af73c7d3fc50.png5 Кб, 273x89
85 498992
>>498986

> унаследуй его от обжекта


Пробовал, тогда префабы выдают пикрилейтед. Хотя в консоли никаких ошибок нет.

> а лучше скриптабл обжекта


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

И ещё вопрос.
Вот есть у меня префаб айтема, например зелья. У него есть поле, например amount.
Вот загоняю я этот префаб в лист игрока и в лист, например, ящика, который можно облутать. И если я изменяю это поле в зелье игрока, то оно же меняется и у зелья в ящике. То есть меняется поле самого префаба, а в листе только ссылки на префаб. Само собой, мне надо чтоб каждое зелье было отдельно от другого.
Скриптэйблобджект мне в этом поможет? Или изначально надо было брать не лист, а какую-нибудь другую хуергу?
86 498996
>>498992
не, скриптабл не поможет. тебе нужно что-то типа пар, типа
public struct ItemSlot
{ public ItemInfo Item; public int Count; }
и соответвенно список таких слотов в ящике
87 499003
Всё, я понял. Я просто изначально выбрал ебланскую модель инвентаря. Не так всё надо было делать.
Спасибо ананасам за ответы или это был один, слава богу не сильно много нахуевертил, думаю перепишу довольно быстро.
88 499019
Кто-нибудь выводил деньги с Unity Ads?
89 499020
>>499019
У тебя там дофига денег - выводить-то?
90 499025
>>499020
Есть немного. Проблема в том, что нужен договор оферты на русском, а у них на сайте он только на английском
https://unity3d.com/ru/legal/monetization-services-terms-of-service

Может кто уже выводил деньги и у него есть договор на русском.
91 499026
>>499025
Почем там за тысячу просмотров плотют?
p.jpg122 Кб, 1155x722
92 499027
>>499026
По России копейки. А вот по США и Канаде норм.
93 499029
>>499027
Блэт, у меня с начала года более 5к просмотров было из Америки, мог долларов 30 заработать, пичалька

Алсо, можно же в Facebook опубликовать приложение, как идея?
94 499032
>>499027
Это ты блять 7к зелеными за 10 дней нахуячил?

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

>>498970
скачай и попользуйся, что же ты.

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

>>498992
так ты каждый итем как экземпляр класса заводи. редактируй не то что в префабе, а то что создано по этому префабу.
96 499037
>>499036

> заведи свою базу данных предметов


В чём её хранить? В скиртблобжухкте? Что легче всего для нуба?

> так ты каждый итем как экземпляр класса заводи


Да, это я уже понял. Как раз упёрся в стулья, на какой сесть чтоб хранить данные о предмете.
97 499039
>>499037
Можно в SO, можно sqlite прикрутить
3.png21 Кб, 357x541
98 499043
>>499037

>В чём её хранить? В скиртблобжухкте? Что легче всего для нуба?


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

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


лол ну ты всегда можешь воспользоваться любой другой сериализацией. если у тебя какая-то своя особая структура папок в проекте то хули, XML сериализацию приделай.
99 499044
>>499043
Уговорил, чертяка. Значит всё таки нарушу свой целибат и нормально разберусь с этим дерьмом.
Сука, как же всё хорошо было пока не упёрлось в этот инвентарь, его отображение в окне-инвентаре и т.д.
100 499045
Няши, подскажите, в чем можно нормально анимировать? Модельки беру из Daz, пытался экспортировать в блендер - получается херово, даже в самом дазе лучще. Слышал, в юнити напрямую можно анимировать, но не пробовал. Еще есть позер, но в чем его отличие от ДАЗа я тоже не очень понял.
101 499071
>>499037
Как нубу, тебе объясняю: делай игры, а не думай, в чем хранить нужно. Что первое в голову придет - в том и храни.
102 499080
>>499036

>скачай и попользуйся, что же ты.


А я уже нашёл, что она не production-ready, так что нахуй надо.
103 499090
Знатоки, подскажите, как пофиксить.
В 2д платформере, если персонажа упереть в стенку и пытаться идти в неё, он как будто на долю секунды проваливается в неё и потом откидывается обратно, и так много раз.
В общем надо, чтоб он в стенку не мог входить, лол.
Вдруг сталкивался кто.
104 499098
Неужели, чтобы один скрипт мог получить доступ к другому public class они оба должны находиться в одной папке?
Такая вот хуйня с out of scope
105 499099
Вроде подгрузка ассетов из сети уже давно в юнети вставлена, а видосов для кирила не завезли.

Где посоветуете посмотреть/почитать? Хочу грузить сцены с проприетарного сервака. Мамка денех даст.
106 499101
>>499098
Нет. Ты обосрался. Вероятно, с пространствами имен Namespace Zalupa {}
107 499102
>>499101
Именно, что без namespace {} вообще!

Сработало, когда перетащил с папку, где сидел другой скрипт, к которому хотел обратиться
108 499103
>>499102
неймспейс должен быть общий
109 499104
>>498500

Анон, где можно будет поиграть в ЭТО?
110 499105
>>499103
С общим неймспейсом из разных папок, а вообще без неймспейса только из одной что ли?
111 499106
>>499071
Да вот я и попробовал хранить в префабе, но хуйня получается. Сейчас курю скриптэблобжект, пока не сильно понимаю как мне его натянуть на свой инвентарь, но то наверное я уже просто вареный. Отложу до понедельника.
112 499109
Как мне удалить из списка элемент с определённым именем? Да, я знаю что можно сделать list.RemoveAll(x=>x.name=="Yoba"); но тогда он удалит все элементы с таким именем, а мне нужно только один.
113 499110
>>499109
var hui = list.Find()
list.Remove(hui)
Проверку на нуль можешь добавить
114 499111
>>499109
просто Remove же, удалит первый попавшийся
115 499113
>>499111

> просто Remove же


Remove в качестве аргумента требует сам элемент, а мне его нужно сначала найти по имени, то есть по строке.
Попробую через Find, как этот >>499110 товарищ предложил.
116 499116
>>499099
бамп вопросу блеть!
117 499117
>>499099
Читай про AssetBundle. Именно их загружают. Примеров дохуища. Тебе нужно будет только разделить контент игры на бандлы.
118 499119
>>499110
Получилось, спасибо.

> Проверку на нуль можешь добавить


Оказалось что не надо, если ничего не нашлось, то Remove не ругается, ему просто похуй.
MUhnePnjmeI.jpg71 Кб, 698x625
119 499122
Пускаю луч из точки нажатия на экран и двигаю объекты, но когда двигаешь их близко, считывается только одно нажатие, второе просто пропадает.
120 499123
>>499122
По вопросу не помогу, но очень советую отказаться от магических чисел и всё держать в переменных. Ну и переменные лучше с маленькой буквы обзывать, даже лучи.
121 499129
>>499119
Тогда var можешь убрать

>>499122

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


Нихуя не понятно чего ты хотел

Алсо, если кто пользуется incremental compiler - где их сайт? Не могу найти, а он похоже ломает что то у меня
122 499130
>>499122

>но когда двигаешь их близко,


?
123 499131
>>499029

>Алсо, можно же в Facebook опубликовать приложение, как идея?


Плохая идейка. ВКонтакте тебе дадут хоть какой-то трафик на старте, а в Фейсбуке крутись как хочешь. Да и денег в социалках нет. Лучше продолжай работать с мобильными платформами.
124 499132
Пацаны, а в Юнити 2д нет встроенной поддержки света/тени, самому пилить чтоль?
125 499134
>>499129
>>499130
https://www.youtube.com/watch?v=9Oh-U9UzRQs&feature=youtu.be
Когда подвожу пальцы на телефоне близко, один касание пропадает, когда отвожу появляется. На видео видно.
126 499135
>>499134
на видео водно, что левый принимает позицию правого. Может, телефон не всиле распознать 2 кацания, если они близко? И переключается на одну точку.
127 499136
Кирилу на заметку:

После последнего крупного апдейта win10 (с вопросами про cortana и пр.) у юнети отвалился Debug.Log()

У меня 4.2.f2
128 499137
>>499134
Попробуй уменьшить зону касания в игре. Ты ведь получаешь сырые данные, сделай так, что бы зона касания была меньше, нежели телефон рапортует. В этом случае управление будет чуть более чувствительным к изменению, но пропадать не должно.
Device multitouch-то поддерживает?
129 499138
>>499136
Ты небось в настройках его отключил Player settings\other settings\logging
130 499140
>>499135
Он не меняет позицию, он удаляется. А удаляется он потому, что касание пропадает.
131 499141
>>499137
Мультитач поддерживает, проверял на нескольких планшетах.
А как уменьшить зону касания?
132 499143
>>499141
Хз анон, тут помочь не могу - гугли. Просто первое, что пришло в голову
image.png7 Кб, 311x182
133 499144
>>499138
Первый раз о таком слышу, ибо нуб
134 499145
>>499140

>он удаляется


ты это в редакторе видел?
135 499146
>>499136

>У меня 4.2.f2


но зачем
136 499147
>>499146
не крошится
137 499149
>>499147
что там вообще может в более современных крошится лол. ты что? линуксойд? макоёб? как ты это смог?
138 499150
139 499151
>>499149

>что там вообще может в более современных крошится лол



В 2017.3.1f1 постоянно грохался редактор при drag&drop
140 499153
>>499151
а это то как у тебя могло случится лол. даже без переписывания редактора? ну ты это. попробуй 2018 чтоли. а то охуеть аж 4.2.f2. даже не 5+ а 4 где были все эти платные фичи.
141 499154
>>499153

>аж 4.2.f2


2017.4.2.f2
142 499155
>>499149
Ну у меня при дебаге все время крошится, все версии
другой
143 499164
Как запустить корутин из другого скрипта
public ScriptName ScriptName;

void start()
{
ScriptName.StartCorutine(NameCorutine())
}
не работает
144 499165
Что нужно знать для того что бы пойти работать джуном? И сколько времени уйдет на обучение? (Зная java, kotlin шарп по идее апну быстро)
145 499166
вопрос снят, научился гуглить, если кому интересно

public ScriptName ScriptName;
void start()
{
StartCorutine(ScriptName.NameCorutine())
}
146 499167
>>499166
засунь вызов в обыкновенную функцию в том скрипте
147 499168
что я делаю не так? Хочу двигать прицел по экрану в координатах от 0 до 1, где (0.5, 0.5) была бы серединой

RectTransform myRectTransform = crossHair.GetComponent<RectTransform> ();
myRectTransform.anchoredPosition = new Vector2 (newX, newY);

Но пизда не рыпается
148 499169
>>499167
Так то что я написал работает
149 499171
>>499168
Ты его на полпиписьки сдвигаешь, я думаю
window.GetComponent<RectTransform>().anchoredPosition = new Vector2(150f, 150f);
150 499175
>>499171
Дык я и (0, 0) задавал, всё одно по центру висит, как в редакторе повесил.
151 499176
>>499175
Может у тебя ноль в центре?
152 499180
Анон подскажи, если использовать в сценах скачанный с левого сайта ассет, а потом задним числом купить в сторе, есть подводные? .Unitypackage имеют зашитую информацию о аккаунте или это архив?

Покупать все подряд, чтобы изучить и понять а надо ли оно тебе вообще, это негуманно.
153 499187
Чекал значит туториал рандомный по юнити.
https://youtu.be/aFxucZQ_5E4?t=21m29s

И на этом моменте автор меняет направление юнита, если он близок к точке хотя бы на 0.2. Но что делать, если игра лаганёт и из-за большого Time.deltaTime враг перескочит точку? Как это фиксить?
154 499188
>>499187
21^30 таймкод момента
15261569619261627712362.jpg259 Кб, 1280x720
155 499190
>>499176
Кстати, да )))
Решение на пике. Самой гуйной пиздюрине надо задать pivot внизу слева. Так и raycast стреляет с теми же настройками
156 499191
>>499180
Проебал майскую распродажу и лепишь отмазки про "дороговизну стульев"? )))
Я вот закупился до упора. Мамка денег дала
157 499210
какая-то хрень с rigidbody... Приделываю его находу. Реагигует и на гравитацию, но не надо.
Приложить силу могу и хреновина летит, куда надо, а вот с isKinematic и скоростью вообще не двигается с места

GameObject fireBall = (GameObject)Instantiate(fireBallPrefab);
fireBall.transform.position = fireBallSpawn.position;
Rigidbody body = fireBall.AddComponent<Rigidbody> ();
Vector3 dir = (target.position - fireBallSpawn.position).normalized;
dir.Scale (new Vector3 (300f, 300f, 300f));
body.isKinematic = false;
body.useGravity = false;

body.AddForce (dir);
//body.velocity = dir;
158 499218
>>499210

> с isKinematic вообще не двигается с места


это может быть связано с тем, что isKinematic это пометка "не двигаться с места"
159 499222
Некоторые считают, что 2D в юнити не самый лучший. Сам собираюсь сделать какую-нибудь 2D игру на юнити, но стоит ли?
160 499223
>>499222
Некоторые считают, что стандартный молоток от фирмы производителя "Совок" не самый лучший для забивки гвоздей на 7, только на 5. Стоит ли брать?
161 499224
>>499223
Что мешает аргументировать, что 2D в юнити нормальный?
162 499225
>>499224
Никак не могу, схлопнувшиеся Ori and The Blind Аorest and Hollow Knight все еще в кошмарах снятся
163 499226
>>499225
А кроме этих игр?
autism.png341 Кб, 726x542
164 499227

>"А чо бля, кроме этих двух, продавшихся миллионами и ставшими бессмертными хитами - нет чтоль ничё? Ха, так и знал - сдуулся, ссученок!"



И вообще, чой-то троглодит делает утром майского воскресенья вне пещеры?
165 499228
>>499227
Не считаю инди-игры достойным примером
166 499231
>>499228
Ты хочешь 2D AAA игры. Ещё уже круг снизить нельзя?
167 499232
>>499231
Да нет, я уже убедился, что 2D в юнити отлично работает.
168 499233
Хочу сделать игру, 3д экшон. Суть такова. Шарик на плоскости. Шарик бегает за курсором по клику или не по клику, похуй.
Стартанул пустой проект. Добавил террейн, добавил шарик. Шарику добавил ригид боди. Камеру привязал к шарику и подвигал, так чтобы смотрела как в стратегиях сверху под углом.
В гугле нашел, вот такие ответы.
Мне нужен Camera.ScreenToWorldPoint и Vector3.Lerp. Ну позиции курсора вроде считываются и шарик двигается.
И похоже у меня перепутаны Y и Z на террейне или хуй проссыш. Шарик постоянно прыгает, а должен по плоскости кататься. Или камеру я неправильно навертел. Помогите.
169 499234
>>499218
Я тупой, спасибо! Убеждал себя, что если-мол сам задаю скорость, то это isKinematic.
Заработало!
170 499237
>>499234

> Убеждал себя, что если-мол сам задаю скорость, то это isKinematic


Чё чё? Искинематик это если ты движение задаёшь не через риджидбади, а через трансформ.
171 499239
>>499233
Разобрался, надо было NavMesh юзать.
172 499242
>>499237
дык ясен хуй блэть
image.png17 Кб, 662x208
173 499263
>>499136

>отвалился Debug.Log()


Я даун, сам отключил вывод в консоль
174 499269
подскажите где туплю - есть пустой геймобьект, в нем n дочерних объектов. пытаюсь получать дочерние объекты, брать рандомный и перекрашивать его в красный, после чего в цикле менять цвет на белый/красный (воссоздать мерцание). Вообще в юнити 1й день, так что можете хоть ссаными тряпками бить, но прошу помочь. Собсна вот код, проблема на " yield return new WaitForSeconds (2f); " Объект перекрашивается в красный, и на этом больше ничего не происходит. Может как-то можно по другому реализовать или подскажите в чём ошибка?
ss (2018-05-14 at 01.33.15).png32 Кб, 909x540
175 499270
>>499269
Код то забыл
176 499271
>>499270
Нахуя? Повесь на дочерние объекты скрипт, который будет мерцание выполнять (хоть через коуртину, хоть через Update) и потом просто запускай его.
Можешь там параметров накидать - когда /через сколько прекратить и т.п.
177 499272
>>499271
Объект окрашивается в красный, потом начинает мерцать и потом снова становится белым (ну то есть по сути неактивным, но действие потом запилю). Было бы удобнее с 1 скриптом который рандомно выбирает 1 дочерний объект и работает с ним, после чего повторяет то же самое но с другим. Это ведь реализуемо?
178 499273
>>499272
Ну так один скрипт и будет, просто на объектах будет его инстанция. У тебя вообще один дочерний будет, его копии - инстанция префаба.
В скрипт логику мерцания пихай и вызывай когда и как надо

PomorgatIPrerestat()

MorgatDolgo()
179 499274
>>499273
Хм, ну пока выглядит почему то сложнее. Ладно, завтра попробую так. А для будущего - почему моё дерьмо не заработало? Оно как бы и красит объект, но в цикле где должно быть якобы моргание ничего подобного и нет. Другие объекты тоже не окрашиваются.
180 499275
>>499090
В риджидбади смени с дискретного на непрерывный режим
181 499281
https://feedback.unity3d.com/suggestions/ability-to-change-the-download-d хочу оставить это здесь. про https://forum.unity.com/threads/asset-store-download-folder.83620/#post-1448812 в курсе, но подход юнитойдов всегда радует. кстати, как юнитойдов называть принято? юниорами норм?
182 499311
>>499281
юнипидоры жи (три дня дебагил несуществующую ошибку)
183 499338
Почему OnBecameInvisible иногда срабатывает как надо, а иногда с задержкой в полсекунды-секунду? На одном и том же объекте. Или это в последней версии нахуевертили?
184 499339
>>499281
>>499311

>в моем обсере виноват юнити

185 499341
>>499339
Таки виноват. Потому что ошибку выдает только 2018 юнити
186 499342
>>499341
Каждый раз улыбаюсь, читая, как местные ноускиллы бомбят от ошибок в коде, который они даже осознать не в силах.
187 499357
Сап двач. Есть проблема. Есть игра, в ней две сцены -меню и основная игра. При билде меню работает норм, как надо. Основная игра не работает вообще - не отображаются спрайты игрока, враги не создаются, на нажатия клавиш не реагирует вообще. ЧЯДНТ?
188 499358
>>499357
При этом в редакторе игра работает так как надо ВЕЗДЕ.
189 499362
Все, уже сам решил.
190 499363
Певый скрипт

gravity.ApplyGravity(transform);

Второй скрипт

public void ApplyGravity(Transform receiver)
{
...
receiver.GetComponent<Rigidbody>().freezeRotation = true;
}

Почему это работает, если мы передаем не GameObject, а только его transform?
191 499364
>>499363

>Почему это работает, если мы передаем не GameObject, а только его transform?


Они, по сути, не отделимы в Юнити. Subtle differences возникают в редких случаях.

Конечно, при желании можно отделить - но не надо.
192 499365
Huley OnTriggerEnter fires multiple times, cykablyat!
193 499367
>>499365
Он будет всегда срабатывать, если объект входит в зону триггера несколько раз. Отключай после первого раза, если нужно
194 499368
>>499357
x86_64 попробуй
195 499369
>>499367

>Отключай после первого раза, если нужно


Так и делаю. Но что значит "входить несколько раз". Иногда срабатывал 2, иногда 3 раза
196 499370
>>499364

>Subtle differences


А с точки зрения языка программирования как это реализовано?

Типа по умолчанию передается объект класса?
197 499371
>>499370

>А с точки зрения языка программирования как это реализовано?


Посмотри сырцы, вроде опубликовали же.

>>499369
Сразу же на этом же кадре после срабатывания либо отключай либо переменную ставь.
AjBGPfA[1].gif1,1 Мб, 600x285
198 499378
Повернул я свой объект точнее - дохуя объектов на 90 градусов по оси Х и словил gimbal lock.
Да, я знаю что можно засунуть в родительский объект, хуё-моё, но разве никак нельзя rotation order изменить?
Шёл 2018-ый год, а до сих пор приходится обмазываться костылями в виде пустых родительских объектов чтоб рамки не складывались.
199 499379
>>499378

>Повернул я свой объект точнее - дохуя объектов на 90 градусов по оси Х и словил gimbal lock.


Так не используй системы ротации с gimbal lock, используй Quternion'ы - для того и сделаны
200 499389
>>499378
Кватернионы жи
Больно будет только поначалу
201 499390
Кирилу на заметку

audiosource.volume += fadeStep работает глюкаво
Делайте через отдельную переменную
202 499396
>>499390
Охрененно объяснил, ничо не скажешь.
203 499408
>>499396
Пример отсюда по убавлению громкости может работать или не работать

https://forum.unity.com/threads/fade-out-audio-source.335031/

Такое ощущение, что read-modify-write прямо на audiosource.volume да еще в каждом фрейме сбивался и звук не убавлялся. У меня версия 2017.4.2f2

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

ЗЫ я не Борис если чё
204 499431
>>498799
>>498803

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

1) Скейлится, без интерполейта в риджидбоди.
2) Скейлится, с интерполейтом в риджидбоди.
3) Не скейлится, без интерполейта в риджидбоди.
4) Не скейлится, с интерполейтом в риджидбоди.

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

Скрипт скейла и камеры прикрепил в пикчах.

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

Я, может, не понимаю каких-то базовых вещей, но подозреваю, что дело тут в работе интерполейт. Ибо 1-й и 3-й астероиды хотя бы ведут себя более-менее одинаково. А поведение второго вообще мне непонятно. Может как-то можно покадрово дебажить, что именно в какой момент происходит?
205 499432
>>499431
скейлив апдейте вместо корутины
206 499436
>>499432
Корутину убрал. Прописал в апдейте:

transform.localScale = Vector3.Lerp(actualScale, targetScale, Time.deltaTime);

Картина примерно такая же.
207 499438
>>499436
Где-то десинк
208 499440
>>499438
Понятно, но как фиксить, как гуглить, где хоть почитать теорию про это? Как работает интерполейт, как в него попасть при скейле? Есть вообще какие-то методы отладки синхронизации в юнити?
209 499442
>>499431
я откровенно неибу в чем твоя проблема. на, хули. http://rgho.st/8ztj9tMgq
шарики падают, верхний становится больше. нука поломай это.
210 499443
>>499442
Здесь камера внутри скейлящегося объекта. Попробовал сделать так в своей демке, работает отлично. Спасибо большое, ты натолкнул меня на мысль, которая может помочь.

Но насколько это правильный подход, класть камеру в объект? Мне бы хотелось иметь возможность плавно переключаться между несколькими объектами. При таком подходе это какие-то костыли получаются.
211 499444
>>499443
камера заперенчена к не скейлящемуся объекту, а к объекту без компонента который его скейлит. но одна хуйня так как сам видишь что они неподвижны относительно друг друга. что у тебя там пошло не так - а хуй его знает. поломай это и расскажи как поломал, а мы посмотрим.
если думаешь что дело в том что камера заперенчена то на, хули. http://rgho.st/7zzlLxBK6 будем считать эту хуиту контролером камеры.

>Но насколько это правильный подход, класть камеру в объект?


так себе подход. хуевый какой-то.
212 499445
>>499432
>>499431
Не слушай этого долбоеба, он хуйню несет, у тебя проблема в камероконтроллере. Ты третим параметром передаешь дельтатайм x4. Время в секундах, которое потребовалось для отрисовки последнего кадраhttps://docs.unity3d.com/ru/530/ScriptReference/Time-deltaTime.htmlТебе-же надо передавать значение от 0 до 1https://docs.unity3d.com/ru/530/ScriptReference/Vector3.Lerp.html Как это делать - решать тебе.
213 499447
>>499440

>но как фиксить, как гуглит


У Brackeys есть видос про "following camera". Так там тоже дергалось в начале, после от разобрался, в какой из апдейтов ставить ( Update, FixedUpdate, LateUpdate - я не помню)

Дерзай!
214 499448
Че пацаны, ECS? Кто-то его хоть за лящки щупал, бо я только на гите нашел оф проэкт и более - ничего. Буд-то создали лялечку, а кодеры-говнищеры ниацынили, так-как дюже сложно, вот ребеночка и хоронят.
215 499449
>>499448
gopnek detected
216 499450
>>499445

>Не слушай этого долбоеба, он хуйню несет


Ну так все правильно сказал - у него десинк, ибо LERP неправильно работает. Точнее, работает как надо - по неправильным данным.
217 499451
>>499444
Я, кажется, что-то понял. Дело в этой строчке:

transform.position = follow.transform.position + cameraDelta;

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

>>499445
>>499447
Спасибо, анончики, я посмотрю, а то совсем уже голову сломал.
218 499452
>>499451

>анончики


Пидар жопотыковый
219 499453
>>499452
Ты ошибся тредом, тебе в /ga
220 499455
>>499453
да тут все с /ga
221 499456
>>499453
>>499455

>/ga


gay way?
222 499457
>>499451
слушай, ты уже утомил. думай давай своей головой. http://rgho.st/8D8dh9RJb на тебе плавное перемещение камеры.
предвидя твою глупость - можно написать Vector3 = Vector2. И наоборот. И тут я использовал это чтобы убрать Z у позиции камеры. это не слишком то оптимально, но в общем-то похуй.
Screenshot2.png48 Кб, 414x950
223 499458
Анон, подскажи, что за инфу выводит Инспектор внизу, где подчеркнул, а именно, размер чего указан?
Это точно не размер файла, так как он весит 20КБ.
224 499459
>>499458
файл + мета, не?
225 499460
>>499459
Что за размер?
226 499461
>>499460
Юнити конвертирует все картинки в dds при импорте.
227 499464
>>499339
каком обсере? ты, ебалашка, в "состоянии осознать", что выбор папки - нетривиальная инженерная задача?
228 499469
>>499461
А в чем прикол, если оно весит в разы больше теперь?
Алсо, если я буду генерировать мипмапы, размер увелчится сильнее, но на размер билда это не влияет.
Где эти объемы данных хранятся-то?
229 499493
Какие подводные скачать ассет с интернетов, а не покупать его в юнити стор?
Потом на выходе игры похерят её? Или как это работает? Сталкивался кто?
230 499495
>>499493
Никаких подводных. Что купить, что спиздить - на выходе получишь просто папку с файлами. Некоторые даже скидываются по 5-10 человек и покупают, если ассет дорогой.
У меня вот папка с ассетами на 6 гиг, ни один из них не купил правда там и бесплатные есть. Но я их и не пиздил, какие-то наш художник покупал, какие-то геймдизайнер, а мне через коллаборейт достались, они ж в папке проекта лежат.
231 499561
Как замутить приемлемый графон в своей игре, если ты программист, а 3д моделлингом почти никогда не занимался?
Есть какие-то компромиссы и уловки, чтобы и сил затратить немного и нормально смотрелось.
Например, вот хочу я сделать уровень "строительный магазин". Мне нужны модели полок - это легко. А вот всяких товаров и так далее, огромное множество. С этим возникают проблемы.

Ну, или может есть какие-то игры, которые выкрутились из этого, сделав всё красиво, но затратив мало усилий, и на них можно равняться?
232 499563
>>499561

> Как замутить приемлемый графон в своей игре, если ты программист, а 3д моделлингом почти никогда не занимался?


1) научиться в 3д-моделлинг
2) нанять 3д-моделлера
3) не ебать себе мозг и пилить прототип, а уж когда будет готова игра — выполнить пункт 1 или 2
233 499569
>>499563
И что, у меня будет, например, лабиринт из серых параллелепипедов (типа, магазин, ок да) и так на всю жизнь и останется? Код и внутриигровой текст то я уже написал весь.

Если начать дрочить моделлинг, ну, скажем, 3 часа в день, через сколько приобретается навык для инди разработки, чтобы хотя бы не вырвиглазно было?
234 499572
>>499569

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


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

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


Ну тут смотря насколько ты дебил/недебил.
Вон парень из нашей команды тридэёбство освоил за неделю на вполне вменяемом уровне (правда он сам по себе художником был и до этого, только 2д), а через год уже творил аки боженька.
А у предыдущего было 4 года стажа, а лепил как будто из говна и соломы.
235 499573
>>499569
месяц ± обучаемость ну, естественно, курение всяких гуйдиков по возможности
236 499578
>>499572
>>499573
Какой-то у вас разброс слишком большой.

А почему никто не предлагает просто ассетов накачать?
237 499579
>>499578

> Какой-то у вас разброс слишком большой


Чому? Я ж говорю — наш товарищ за неделю наловчился на уровень "норм", затем через год (не задрачивания именно 3д, а вообще, у него и своих хлопот хватает) уже был на уровне "бог". Второй ананас тебе сказал про месяц именно задрачивания, но явно не про уровень бога.
А про ассеты — ну хуй знает, ассеты не изменятся если ты попросишь "ну вот тут бы чуть-чуть вот так".
Да и вообще определись, тебе скилл или ассеты.
238 499580
>>499579
Да мне... сделать хоть что-то на каком-то уровне.

Понятно, что набивка скилла потом поможет и окупит себя в будущем, но это же нужно потратить столько времени на дрочку чего-то, что может и не понадобиться тебе после этого.
239 499582
>>499578
Ежели он юнПограммист, то по-дефолту, первое куда он должен был обратиться - в ассет стор. По той причине и не предлагаем. И вообще, лучше не в сторе искатьт.к. там 3д - помойка, а в каких-то модельстоках, хотя и там за-безплатно, редко что выцепишь.
240 499584
>>499580

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


Ну вот для этого есть второй стул — искать скилованного братишку, который будет за еду/бабос тебе пилить что надо.
Или третий — юзать ассеты, но там найти картошечку в куче дерьма не всегда получается в нужные сроки.
241 499585
>>499561
Чот по-моему ты школьник, а не погромист. На двух стульях одной жопой пытаться усидеть - очень хуевая идея, а еще учти, что третий стул - маркетинг - требует больше первых двух вместе взятых.
242 499586
>>499585
Я не пытаюсь, а просто спрашиваю. Вдруг у вас есть тут эталон типа: "Вот, тут парни не сделали почти нихуя, а картинка получилась норм. Вот как они это сделали. и тд"
243 499589
>>499586
"не сделали почти нихуя, а картинка получилась норм" - это только хороший агент, но найти такого - такой же актив, как и все остальное, и, естесно, все равно не бесплатно.
244 499592
>>499457
Понимаю, что утомил. Стараюсь думать, просто поторопился спросить, пока ты не ушел из треда. Большое спасибо за помощь.

>>499586
Ну ты попробуй загуглить игры с минималистичной графикой, лоу-поли, вот это все. Но один хрен тут вкус нужен, цвета приятные чтобы были и вообще дизайн.
245 499593
>>499592
сочетание цветов - уже давно расписано в этих наших тырнетах https://flatuicolors.com/ например©Павук
246 499627
>>499593
И как эти разноцветные квадраты понимать?
247 499633
>>499627
Ну,как хочешь, так и юзай. Я тебе дал молоток. Как им кудрявые гвозди забивать - тебе решать.
248 499637
>>499274
Так тебе нужно один раз моргать случайным объектом или запускать периодичное моргание?
И нахуя тебе рекурсивно корутину стартовать, чем тебя while не устаивает?
249 499659
>>499469
dds - родной директиксовский формат текстур. по сути тупо дамп видеопамяти с текстурой. плюсы - быстрая загрузка в виду отсутствия перекодирорвания, сжатия(есть хардваерное, но его не учитываем) и прочих ништяков, встроенные мипы и т.д. минусы - размер в виду тех же причин.
250 499660
>>499563
Двачую одеквата. Особливо по пункту 3
251 499670
>>499274
Слушай, а может анимацию навесишь?
252 499729
>>499659

>директикс


Тут 90% анонов пилят мобилкодрочево. Там директикс неприменим.
Остальные пилят кроссплатформу. Там тоже актуальнее опенгл.
Тут такая тема, что директикс потихоньку в прошлое уходит.
253 499731
>>499729

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


Ага, сука тупая, он 20 лет как в прошлое уходит. Его OpenGL с десяток лет назад "победил", а потом еще и Вулкан 3 года назад.
Все чего=то его побеждают, побеждают - а он, год за годом полнее и жирнее.
254 499732
>>499731
Толко от графического АПИ если большинство игор сливает пиксельной дрисне по геймплею.
255 499733
>>499729

>Тут 90% анонов пилят мобилкодрочево. Там директикс неприменим.


несовсем точно написал. формат то родился в дх, еще в первых версиях, но стал дефакто стандартом в виду широкой поддержки на уровне железа.
256 499757
>>499732
Наверное потому Rise of Tomb Raider и FF15 на DX12? а не но победившем Вулкане? Потому как "слил гыыы"

Тупопидар мамкин
257 499758
>>499757

> и FF15 на DX12?


Это тот порт, лицензионная копия которого тормозит на 20% по сравнению с пираткой? И вообще это халтура и обман десятилетия, столько контента не дошло. Верните Стеллу ааааааааа
Безымянный.png10 Кб, 802x393
258 499789
Сап. Не могу сверстать пикрил. Всё элементарно: два горизонтальных скролл вью с таблицами под вертикал лайаут. Халп.
259 499790
>>499789
а в чем проблема-то?
260 499793
>>499790
Да с content size fitter-ами в основном. Я думаю. элементы скукоживаются в 0 или не хотят по размеру контента становиться. уже час сижу над этим.
261 499799
>>499585
А не пойти ли тебе нахуй, животное?

15 лет в программаче, десяток лет в рисоваче, 4 года в моделлинге. И это, сука, ЕДИНСТВЕННЫЙ способ пилить игры, а не быть обоссаным школокириллом с ДИЗДОКАМИ. Пропорции опыта могут быть разными, но либо ты в соло умеешь всё, либо путешествуешь нахуй.
262 499810
>>499799
Ого, получилось что реально годное сделать за все время?
Фанбаза есть? Стало хоть что-нибудь минимально популярным?
263 499821
>>499799

> 15 лет в программаче


От чего считаешь? От первого хэллоу ворлд на спектруме?
264 499827
>>499789
Отбой. Вроде сделал.
265 499829
>>499827
да никто и не напрягался на самом деле только сейчас решил открыть юньку, что-б глянуть че там могло быть сложного.
266 499831
>>499827
На самом деле и 5 минут не потребовалось. Наверное я - хорош.
image.png33 Кб, 960x554
267 499832
>>499831
отклеилось
268 499883
Сап, аноны.

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

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

Будьте добры, ответьте на вопросы:
0) Есть ли что-либо прям готовое под мой случай? Мне не нужны никакие анимации и прочее, только редактор по сути.
1) Я хочу кликнуть на руку и потягать за ползунок, поменять её позу. Это задача инверсной кинематики, верно?
2) Как переключаться между инверсной кинематикой и прямой кинематикой?
3) Как при клике на collision box отдельной части тела рисовать ползунок? (хз как называется, выглядит как три ортонормированных луча rgb)
4) во сколько мне обойдется заказать код для подобного?
269 499886
>>499821
От моей первой пошаговой стратегии со смешными спрайтами, нарисованными в лагающем фотошопе.
>>499810
Лол, всё было хорошо, пока я был маленьким и делал корявые игрульки сам. Потом полез в КОМАНДНУЮ ИНДИ РАЗРАБОТКУ и наглотался невероятных хуёв, когда сидят по 10-15 хуесосов и пиздоболят на тему игры мечты, но никто ничего не делает. Потом хардкорный моддинг для вк3, было очень круто, но в итоге Лига Легенд убила нахуй все такие проекты. Потом семь лет коммерческой разработки тупо за деньги, никакого геймдева, рисовач в свободное время. Сейчас вот достаточно задрочил тридач, чтобы пилить рпгшку полностью самостоятельно, чего и вам желаю. Алсо, юнити это неебически удобная среда, разве что минет не делает, пока игру пилишь, мне бы такую, да в моё тяжёлое детство.
270 499892
>>499883
Мой тебе совет: пиши диплом и не усложняй. Никто твоё кривое юнети-поделье не оценит, а времени потеряешь много.

Твой вопрос про позы звучит примерно как "Как делать пиздатые анимации?"

Да, инверсная кинематика. Под это есть пиздатые ассеты, но за деньги
271 499893
>>499886
Респект тебе, о, Анонче!
Безымянный.png867 Кб, 976x529
272 499900
тупой вопрос. мне надо нарисовать тактический оверлей, который показывал бы дальность пушек и угол обстрела. что-то вроде такого. в какую сторону воопше копать?
273 499909
>>499900
>>499580

> Да мне... сделать хоть что-то на каком-то уровне.


> хоть что-то


> на каком-то уровне


Сука, какой же ты соплежуй-говноед. Представляю твое тупорылое бледно-желтое ебасосево со теклянными глазами, подтглазами мешки, сутулость.
274 499911
>>499900
DrawLine (или как там её), создание панелек/моделек/чего хочешь из кода, превращение координат с гексовой доски в нормальные мировые.

Такбля, ебался полторы недели со своими скриптами, почти закончил (нужно только "вслепую", то бишь без тестирования, анимации прикрутить как-то), и вдруг обнаружил, что в половине игр (например, эти ваши into the breach) для скриптов внешних используют lua какие-то. В первый раз их вижу, лёл. Там чистенько, аккуратно, но, сука, я уже несколько недель облизываюсь на свой собственный скриптинг и ПОЧТИ ЗАКОНЧИЛ теперь надо ещё анимации курить, эх
Есть у вас какие-нибудь советы по lua? Если юнити как-то просто их умеет читать, то я их как-нибудь имплементирую параллельно своим скриптам.
275 499912
>>499911

>создание панелек/моделек/чего хочешь из кода, превращение координат с гексовой доски в нормальные мировые.


это все есть. карта генерируется, юниты создаются, бегают и стреляют. нужно тупо визуалзировать "тактическию информацию" куда можно стрелять.
276 499913
>>499909
не вижу твоей игры, Чад, которая в топе в стиме.
277 499914
>>499912
Ну вот у меня, например, пиздец вместо тактической информации. Беру сами гексы и меняю их цвет, чтобы информацию отразить. Дохуя разных стейтмашин, но этот пиздец работает и даже не тормозит. +в зависимости от стейта включаю/выключаю проверку на ивенты (типа нажатия клавиш/мышки/кнопок на панели). Так что В ПРИНЦИПЕ это не тактический оверлей, а тот же самый мировой, но при этом подкрашиваю несколько объектов в другой цвет + меняю привычное взаимодействие на особое. Планирую потом шейдеры/модельки поверх спавнить, чтобы красивее было и чтобы не зависеть от особого состава моделек.
278 499916
>>499914
буду наверно поверх рисовать отдельных слой гексов, включать их и назначать цвет по необходимости. в принципе линии мне не нужны, все по гексам.
279 499920
>>499916
Думаю, рисовать линии выйдет дешевле + много путаницы, если будешь на каждый гекс иметь по две модельки. Не слишком хитрый подход, к тому же. А шейдеры ещё дешевле выйдут. Но решать и воплощать в жизнь всё равно тебе, лул.
280 499924
>>499883

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


Ну и дипломы у вас.
281 499926
>>499892
соль в том, что это малый кусок диплома, но его нереально обойти. как в пасте про 1 байт, никак. И я потрачу слишком много времени чтобы замутить камеру, сцену и так далее с нуля.
нашел вот такой ассет: https://assetstore.unity.com/packages/tools/animation/umotion-pro-animation-editor-95991

вроде бы то, что нужно. но как заебашить управление с IK и FK пока непонятно.
Если кто хочет халтуру сделать -пишите на cppworkmailboxANUSmailPUNCTUMru
282 499932
Сап, задача у меня такая моя игра нуждается в такой системе которую называют EventAggregator. И для теста мне нужно всего три объекта со скриптами
1.switch - Переключат какой-то bool. и публикует это событие в EventAggregator.
2.EventAggregator - Хранит событие.
3.Manager - читает событие, и как результат что-то делает(например добавляет очки)
Но при этом switch и Manager, не должны знать друг о друге.
Я читал вот эту статью, но я не понимаю как это работает
https://habr.com/post/212055/
Помогите разобраться
283 499934
>>499932
Что именно ты не понимаешь? В статье и так приведен самый простейший из возможных пример.
284 499935
>>499932

>https://habr.com/post/212055/


оче старая статья. конкретно в юнити реализовали нативно третий вариант в виде EventSystem (новый гуй например работает на ней)
https://unity3d.com/ru/learn/tutorials/topics/scripting/events-creating-simple-messaging-system
285 499937
>>499934
Ну например там есть класс UnitDiedEvent. Это отдельный компонент или где он должен находиться?
286 499939
>>499937
Это не компонент, а просто класс. Находиться может где угодно.
287 499941
>>499935

> EventSystem (новый гуй например работает на ней)


Но ведь только если ты к гую привязываешь какие-то события, не? Типа там на button нажал - хуяк и метод вызвался.
А так если просто добавить надпись "Ваня хуй", то eventsystem вроде и не нужен.
288 499950
Создаю объект через GameObject.Instantiate.
Нужно задать объекту некоторые свойства из другого объекта. Конструктор применять не советуют. Start() не может иметь аргументов. Как быть?

Мало того, Start() ведь выполняется не сразу после создания объекта, правильно? А в следующем кадре.
289 499951
>>499950
var NewObject = Instantiate(Prefab);
var some_component = NewObject.GetComponent<SomeComponent>()
some_component.Foo = 1;
some_component.Init();
290 499952
>>499950

> Мало того, Start() ведь выполняется не сразу после создания объекта, правильно? А в следующем кадре.


Чтоб прям сразу-сразу используй Awake ()
291 499955
Анон, помоги пожалуйста. Уже битый час не могу понять как написать скрипт на простую смену анимации спрайта по клику мыши на этот спрайт.
292 499956
>>499951
>>499952
Спасибо
293 499958
>>499955
В меканим создай триггер или булеву переменную, сделай переход в нужную анимацию, по клику мышки активируй триггер или задавай нужное значение булевой переменной.
294 499972
>>499926

>https://assetstore.unity.com/packages/tools/animation/umotion-pro-animation-editor-95991


Его я и имел ввиду, когда говорил, что есть пиздатые. Этот сделал австриец, судю по говору в видосах.

Есть еще Final IK эстонца из Тарту. Тоже дельный, но за те же деньги. И ты пропустил майскую распродажу. Оба были в полцены я купил оба

Если тебе нужна только одна поза, то можно, наверное, стопкадром из анимации выбрать. А их есть много и бесплатно в сторе.

Я невполне понимаю, какого конечного результата ты хочешь добиться этими позами.
295 499991
Как проверить наличие объекта на сцене, даже если он выключен? по тегу или названию.
297 500002
Поцоны, есть один пробилдер. Когда создаю два примитива и юзаю boolean SCG tool (любую операцию), то всё ахуеноо работает, за пол секунды выдает желаемый результат, но когда я использую те же операции на polygon shape, то юнити тупит пару секунд и закрывается без какого либо объяснения и ошибки. Сталкивался кто-то с такой же хуйней и смог ли решить эту проблему? Есть ли какая-то альтернатива без использования 3д редакторов?
298 500009
>>499994
Может подскажешь тогда как реализовать подобное - есть префаб с ГУИ, он привязан к объекту. По нажатию на объект нужно выводить этот ГУИ, т.е создавать объект на сцене. Если закрыть его то ещё какое то время до уничтожения ГУИ со сцены нужно иметь возможность снова нажать на тот объект для вызова этого же окна. После уничтожения через какое то время снова можно нажать на объект для вызова того же префаба но по новой, для новой генерации. Извиняюсь за кривое объяснение.
torus.PNG344 Кб, 956x651
299 500010
>>500002
Даже ебаный торус смогло вырезать в кубе, создав пару сотен полигонов за долю секунды, а с одной платформочки вырерать другую не может. Халп!
300 500012
>>500010
кстати на тему. покажу клевую хуйню. https://www.youtube.com/watch?v=RXpIwdk8Z60
пробилдер не трогал, ничем помочь не могут.
301 500013
>>500009
Как я понимаю, гуй висит на объекте стауионарно, а не спавниться.
На объект вешает скрипт ShowGUI
В нем делаешь public ссылку на твой гуй (Canvas, Panel или что у тебя там)

В том же скрипте имеешь OnMouseDown()
В ней активируешь объект, что прописан по ссылке
Корутиной деактивируешь его через заданное время

Что я забыл?
302 500014
>>500002

>Есть ли какая-то альтернатива без использования 3д редакторов?


Нет, это всё полумеры. Тебе религия не позволяет скачать любой редактор и посмотреть пару туторов как им пользоваться?
303 500015
>>500013
>>500009
зачем создавать то каждый раз? Делай активным-неактивным через SetActive(bool)
304 500016
>>500010
"А могли бы игры делать..." (С)
305 500017
>>500015
И я про то же. В скрипте прямая ссылка на гуй
306 500018
>>500015
И я про то же. В скрипте прямая ссылка на гуй
307 500019
>>500009
лан я еблан, уже разобрался. А активен ли этот объект который я вызываю как проверить? поиск по тегу с последующий активСелф почему-то не срабатывает.
308 500025
309 500026
>>500019
Не надо ничего искать! Проверяешь:

public Canvas myGUI;
if(myGUI != null)
{
myGUI.SetActive(true);
StartCoroutine(ShutUpIn5Sec());
}

IEnumerator ShutUpIn5Sec()
{
yield return new WaitForSeconds(5f);
myGUI.SetActive(false);
}

Вообще все эти Find для лузеров. Чоткие поцаны юзают ссылки через public
310 500028
>>500019
Что тебе мешает сделать в скрипте private bool guiActive?
Если труъ, при ни след.слике закрываешь. Если false, то активируешь
311 500030
В чем разница между Editor And Runtime и Runtime Only?
312 500031
>>500030
первое работает и в редакторе и в игре, второе только в игре
2kPBrW2UfOg.jpg238 Кб, 1280x852
313 500033
>>498593 (OP)
Суп, котаны.
Делаю первый пробный проект на унити, почти получается, но сегодня весь день проебал себе мозг только с одним вопросом - как, сука, как считать ебаный счет.
Ситуация простая - игрок внизу поля, сверху падают бомбы. Когда бомба уходит за границы экрана и исчезает, то нужно счет++ и обновить на экране. На какой объект закидывать скрипт подсчета очков и как отслеживать бомбы, которые появились, упали и исчезли? Няша авансом
314 500034
>>500033

>Когда бомба уходит за границы экрана и исчезает, то нужно счет++ и обновить на экране


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

>На какой объект закидывать скрипт подсчета очков и как отслеживать бомбы, которые появились, упали и исчезли?


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

а вообще пошел бы ты с такими вопросами знаешь куда? на сайт юнити. и посмотрел бы экзамплы.
315 500036
>>500033

> На какой объект закидывать скрипт подсчета очков


Похуй, хоть на сами бомбы (только поле static ебашь) хоть на пустой геймобджект, который у тебя типа геймконтроллером будет.

> как отслеживать бомбы, которые появились, упали и исчезли?


OnBecameInvisible, например, или под игровым полем размести пустой геймобджект с коллайдером и на него привесь OnTriggerExit, в котором пропиши Destroy(other.gameObject), а на самих бомбах повесь OnDestroy и плюсуй свои очки.
Или плюсуй прям с того коллайдера, на котором OnTriggerExit
Короче, вариантов дохуя.
316 500037
>>499561
ассет стор же есть. если прогер, то лишняя двадцатка найдется. ну как "двадцатка", я в ассеты косаря три вложил. главное тут если что-то меняешь - делай это с умом, т.к. легко что-то толковое превратить в полное говнище (зато художественно самовыразиться). если ассет дорогой, то это переоценный оверинжиниринг. удели время на слепое изучение ассортимента. например, можно купить комплект 3д-деревьев за 10 баксов, или генератор деревьев за 5.
317 500038
>>500028

>private bool guiActive


Пописял тебе в рот
https://docs.unity3d.com/ScriptReference/GameObject-activeSelf.html
318 500039
>>499495
мне тоже этот вопрос был интересен. с одной стороны, спасибо. а с другой:

> просто папку с файлами


что, простите? просто файлы? и там не будет просто отчета с твоим id'ом, например?
319 500040
>>500039

> и там не будет просто отчета с твоим id'ом, например?


Лол, нет. Только в твоём профиле ассет появится в списке купленных, чтоб если ассет обновился - тебя об этом уведомили.
320 500041
>>499886

> юнити это неебически удобная среда


hcr по 10 секунд не бесит? если сравнить удобство с фотошопом - нет ощущения, что юнити говно?
321 500044
>>500041

>hcr


щито це?
322 500045
>>500041

>hcr


Herbal Cannabis Reef
Hawaii Consolidated Railway
?
323 500046
>>500040

> нет


вот если я игру скомпилил с функцией сбора статистики - мой ид в игре точно будет. я вообще не понимаю, могут ли тут пруфы быть. может, сам юнити где-нибудь обмолвился-де "мы ничего такого не делаем"? на чем основано твое мнение?
324 500047
325 500048
>>500045
hot code recoad
326 500049
>>500048
* reLoad быстрофикс
327 500050
>>500041
а что ты в этих ваших фотошопах перекомпиливаешь? Извинись
eec39e15e8c0bdeebcde086730afb463.png7 Кб, 196x320
328 500051
>>500046

> мой ид в игре точно будет


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

> на чем основано твое мнение?


На пикрилейтеде, например. Один из билдов вполне себе висит в стиме и приносит на хлеб с маслом палить я его, конечно же, не буду.
329 500052
>>500050
я ничего, а ты? мамку твою могу извинить. мне интересно что 15летПрограммач + 10летРисовач про оба пункта ответит.
330 500053
>>500052
Это - другой Антон
331 500054
>>500052
ля, ну по твоей логике я могу винамп с фотошопом сравнивать.
332 500055
>>500051

> палить я его, конечно же, не буду


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

> сидит армия макак


когда ассеты скачиваешь, юнити показывает какие файлы новые и какие - общие. независимо от их местоположения, по хешу контента. попап "calculating assets hash" опять же. армия макак врядли нужна для уже автоматизированной работы. по факту - до поры до времени юнити на это забивает.
333 500056
>>500054
я сегодня в магазине сравнивал мороженное и желатиновых мишек. мороженное оказалось лучше. никто не знает почему. с субъективными ощущениями всегда так.
334 500057
Называйте меня поехавшим, но у меня в скомпилированной игре пропадают кнопки и текст. Перезапуск не помогает, сохранения в игре ещё никакого и нет. Что это блядь такое? В Unity всё в порядке, в игре сначала исчезла кнопка, теперь и часть текст (делаю текстовую игру). Что это блядь такое?
335 500058
>>500055

> но пруфы у тебя жидкие


Ну я тут не убеждать пришёл, а на вопрос ответил. Или ты думаешь что я товарищ майор юнити-разлива и всё жду когда ты спиздишь ассет чтоб тебя повязать?
Если хочешь успокоить своего внутреннего параноика — купи и не парься.
336 500059
>>500057
При этом ещё час назад все функции исправно работали.
337 500060
>>500057
Под мобилу небось сбилдил, да?
338 500061
>>500060
Нет, шинда
339 500062
>>500058
дружище, я ассеты покупаю (потому что про западный и штатовский копирайты читал и потому что воровать нехорошо). вопрос у меня был не тот, на который ты не можешь ответить. мою надежду найти спеца по кишкам юнити ты не оправдал, благодарю за потраченное время.
340 500063
>>500061
Ну значит мистика. Хотя вот недавно у меня слайдер исчез, в иерархии есть, галочка стоит что активный, а его нет. Забил хуй, лёг спать, утром проснулся, запустил - всё нормально.
341 500064
>>500063
Скомпилировал заново (причем изменений никаких не производил) - всё на месте. Проверю через час, лол.
342 500066
>>500062

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


Да я и не претендовал.

> и потому что воровать нехорошо


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

> благодарю за потраченное время


Да не за что.
343 500067
>>500064
при лужкове такого не было
344 500068
>>500063
Да, с юнькой иногда классическое "Перезапустии и все пройдет" срабатывает, но очень редко, т.к. чаще всего - это оплошность человека, а не машины
345 500070
>>500064
Кстати, если у тебя бэтка, то советую откатиться на стабильную версию. Там порой и не такое бывает.
346 500074
>>500070
Хэх, такое и на стабильной относительно часто бывает
347 500078
Анончики, как запаковать xml файлы при сборке? В редакторе всё отображается, в игре нихуя.
348 500081
Почему этот индоскрипт не работает, если объект, что хочу вращать мышкой, сидит "чайлдом" на дереве моего first person controller?

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

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

Короче, вопрос про то, как повращать перед рожей айтим из инвентаря
349 500082
>>500081
там из кода только это

void OnMouseDrag()
{
float rotX = Input.GetAxis ("Mouse X") rotationSpeed Time.deltaTime;
float rotY = Input.GetAxis ("Mouse Y") rotationSpeed Time.deltaTime;

transform.RotateAround (Vector3.up, -rotX);
transform.RotateAround (Vector3.forward, rotY);
Debug.Log ("rotating");
}

Так вот, если этот объект со скриптом весит на FPC, то OnMouseDrag() не в вызывается вообще
и при отключенном FPC тоже
350 500085
>>500082
смотри, немного знаний английского и смекалки тебе помогут https://docs.unity3d.com/ru/530/ScriptReference/MonoBehaviour.OnMouseDrag.html
мое вангование: у тебя нет коллайдера на обьекте к которому ты крутишь скрипт
351 500086
>>500085
Есть коллайдер. Тебя подвёл твой русский: я же писал, что если объект не чайлд, а отдельно, то крутится
352 500088
>>500086
Скрин иерархии с инспектором можешь скинуть?
image.png16 Кб, 408x319
353 500089
>>500088
does not work
image.png14 Кб, 403x302
354 500090
>>500088
does not work
356 500092
>>500089
>>500091
>>500090
во всех трёх случаях FPC деактивирован.
и курсор мышки свободно двигается и виден
357 500093
>>500091
лол, даже не поленюсь, юньку запущу, шоб глянуть че там такое
358 500095
>>500092
ну у тебя на тех объектах висят коллайдеры которые либо просто выше по иерархии, либо больше
359 500101
Чуваки, подкиньте норм или не норм туториалов по созданию редактора/конструктора 3д объектов. Например, редактор транспорта, где я могу поставить каркас, колесики, еще что нить (по сетке или свободно), чтоб потом это работало и игралось. Я интуитивно понимаю, что от поставленных объектов зависят свойства/способности сборного объекта, но как это реализовать, понять не могу.
Удалось найти только туториалы про редактор лиц ((
Еще примеры: Crossout, Robocraft, Sims (дом), Spore, Angry birds с машинками.
360 500125
>>500095
Дело было не в коллайдерах. С ними всё норм. И, кстати, у коллайдеров нет иерархии.

Мешало rigidbody на parent. Причём при любой комбинации UseGravity и isKinematic. Rigidbody на самом объекте не мешает его крутить, опять же, если на parent его нет.
361 500126
>>500101
blender?
362 500138
>>500101
Туториал - это нечто конретное. А твоя задача - нет, ее можно реализовать хуилионом совершенно разных способов.
Ты наверное сможешь найти туториал по какому-то одному конкретному способу, но подумай, нахуя тебе это, если твоего абстрактного мышления понять это не хватает.
363 500146
>>500138
я бы такие туторы тоже посмотрел. к взаимодействию объектов, я уверен, много подходов есть. вот у меня есть генератор уровней. есть стометровки с самопальными joint-компонентами. есть спавнер блоков, который joint'ы ищет - иногда из-за него лаг случается. надо переделать. единственная мысль - при awake джоинта искать спавнера в родителях. а в туторе могут других мыслишек подкинуть.
364 500147
>>500146
Подкидываю мыслишку: закрой нахуй юнити, и не открывай, пока не сделаешь на любом языке абстрактный сериалайз/десериалайз всех сцен на любой момент времени.
365 500149
>>500147
делал. с компонентной моделью и авто-эмиттером. еще мыслишки будут?
366 500157
>>500147
>>500149
"А могли бы игры делать" (С)
367 500159
Как обратится к родительскому объекту?
369 500162
>>500159

> Как обратится к родительскому объекту?


transform.parent
370 500163
>>500162
Так transform это же компонент, как это работает?
371 500164
>>500163
Ты тралишь? И panert и child работают именно через transform.
372 500165
>>500163
MyYobaScript script = transform.parent.GetComponent<MyYobaScript>();
if(script != null) script.ShowMyZalupa();
373 500166
>>500164

> panert


Лол, parent конечно же.
374 500167
как по-взрослому и для кат-сцен работать с камерой? технически всякие самописные вращения, перемещения и переключение пост-эффектов умею. хочу с камерой нормально работать, а не ворочать ее грудой скриптов и сплайн-ассетами. и не держать сценарий нумерованными объектами в иерархии, а видеть что с камерой происходит. мне камеру красиво тяжело (т.к. я не оператор-постановщик), а тут еще и разные ракурсы, переходы между ними. кто-то делал кат-сцены и раскусил удобные решения (платные норм)? таймлайн стоит ковырять, какие от него плюсы?
375 500168
>>500164
Нет, просто не знал.
376 500169
>>500163

> как это работает?


Монобехэвиор ковырял? Тебя и ебать не должно как это работает, просто прими это как факт.
А если уже тебе пиздец как интересно почему это работает именно так — это будет тебе домашним заданием.
377 500172
Звиняйте за тёмную картинку. Вот, взял отстреленную голову и несу. Но она создана копириванием меши, а раз раньше сидела на плечах, то оффсет сохранился (пик2). Какой он, можно узнать из MeshRenderer.mesh.bounds.center. Исходя из этого вектора и навешены коллайдеры.

Вопрос: как мне сделать по-людски, сдвинув меш к пивоту, т.е. вниз?

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

%парентить в empty и сдвигать там не хочу%
378 500175
>>500172

>MeshRenderer.mesh.bounds.center


MeshFilter.mesh.bounds.center

selffix
379 500176
>>500172
может для верчения будешь просто пользоваться Transform.RotateAround?
380 500179
>>500176
Я понял твой намёк! Спасибки!
Надо брать не transform, а центр коллайдера!
381 500186
>>500147
Это пиздец. Лишь бы игры не делать.
383 500193
>>500138
Ну в туторах могут быть приемы, которые я смогу применить. Еще я уверен что есть какие то частые грабли.
384 500198
>>500126
Как ты в блендере играть собрался? Я же примеры в конце написал. Нужно чтоб объект был создан в игре и им можно было играть.
385 500227
>>500188
спасибо. таймлайн, кста, уже потыкал - норм штука. синмаш, судя по тутору, пригодится.
!q0AZUNYAn2 386 500251
Почему упити самопроизвольно мне меш сглаживает? Всякую хуйню при импорте менял и нихуя не помогло.
387 500252
>>500251
Ёбаный рот етого казино.
388 500253
>>500251
нука давай вертексы сравни
389 500254
>>500253
С чем?
390 500255
>>500254
да ты верно дебил. до того как ты их импортировал и после.
импортируй ка давай куб с стороной в один юнит. и посмотри. может поменялось чего! вот удивительно то будет!
391 500257
>>500255
Хуя ты прям помог, импортировл куб со стороной в юнит и сразу всё заработало, заиграли фанфары, мамка пирожков испекла, друзья звонят, поздравляют.
392 500258
>>500257
ну и че? куб то перестал быть кубом, или че? что поменялось? давай, мы тут с тобой делаем базовую науку - наблюдение.
393 500259
394 500260
>>500258
Да оказался обсёр где-то при триангуляции во время экспорта. Вместо чекбокса при экспорте соединил все вертексы руками. Всё нормально.
395 500298
>>498929

>pro camera 2d


поделитесь, пожалуйста
396 500372
У кого и кириллов есть опыт загрузки ассетов из облака?
Какое посоветуете?
397 500374
>>500372
Perforce.
398 500376
>>500374
На Ubisoft работаешь, антон?
399 500379
Сорян за тупой вопрос - а в 3д форматах, которые понимает юнити, есть аналог служебных каналов у картинок, или это отдельными мешами делается?
400 500382
Huley they talk about "non-code content" в отношении asset bundles??? Ведь в сцене всё на скриптах и держица-вертица, блэть! В прифабах-то скрипты не похерятся же
401 500385
>>500382
Классы компилятся в бальшую дллку, которую можно заранее набить, а всякую мелочь типа новых юнитов и ребаланса нормальные люди обновляют через какой-либо формат данных.
402 500386
>>500379
Нихуя тебя не понял. Может тебе цвет вертексов подойдёт?
403 500393
>>500385
звучит как пиздец какой костыль
404 500405
>>500393
Это не костыль. Наоборот, любые скаляры или типы ради типов в коде - зашквар.
405 500418
>>500393
>>500405
между северным и южным полюсом целый мир
406 500427
>>500386
Ээ, ну как бы да, "цвет вертексов", но в файле геометрии, а не в текстурах - такое есть?
Я хочу просто чтобы дезигнер хуярил коллайдеры/споты под партиклы/итд в своем редакторе, а в юнити-реализацию оно оборачивалось через код.
408 500497

>придумал идею для хоррор-рогалика с пушками и процедурными канализациями


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


>начал пилить другую хуйню

409 500500
>>500497

>asset flip


Нахуй иди обратно в Digital Homicide
410 500506
>>500500
О, очередной разработчик 2д параши с программер артом закукарекал. Много вас таких за последние пару лет повидал, унылее петухов не сыскать. Никаких амбиций, никаких стремлений, только вечные поклепы унылой шаблонной хуеты и пуканье в тредике. Удивительно, как ты вообще додумался готовый движок использовать, а не сел сначала писать диалект лиспа под себя. Ты жалок и смешен.
411 500510
>>500506

>Никаких амбиций, никаких стремлений


>и это мне говорит мамкин червь-пидор, накупивший да напиздевший ассетов


Как отвратительно.
412 500512
>>500510
Но ведь ты даже с готовыми ассетами не сможешь работать, мань. Ты не можешь в постпроцессинг, ты не можешь в шейдеры, ты не можешь такой графон как на вебм, ты не можешь в оптицизацию, не можешь в генерацию, ты вообще ничего не можешь кроме как двигать своего пиксельного аниме рыцаря по мануалам из гугла. Ты - бесполезный кусок червя-пидора, не нужный ни одной уважающей себя конторе, да и самому себе скорее всего тоже. Будь я на твоем месте - я бы давно ригидбадимувнулся в окно, нахуй ты вообще нужен?
 .png359 Кб, 1920x1080
413 500513
>>500510
Да и в свои ассеты ты тоже скорее всего не можешь.
sage 414 500514
>>500513

>pidorahen.blend



репорт пораши
415 500515
>>500512
>>500513
Да нах так прикладывать этого разработчика кликеров для геймджолта с тремя фолловерами из собственного класса? Он же сейчас вскроет себе вены тупой ножовкой, а тред навсегда закроют за доведение
416 500517
>>500513
>>500512
>>500506
свинка порвалась
417 500519
>>500517
Петух, пытающийся делать игры ради самоутверждения, ты? Да, ты.
418 500521
>>500519

> делать игры ради самоутверждения


Всё ещё лучше, чем клепать однотипную хуйню для профитов.
419 500551
>>500512

> не нужный ни одной уважающей себя конторе


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

>бесполезного хуйла


А ты, значит, полезное хуйло?
421 500568
>>500567
это ты попробовал не растеряться? давай еще разок.
422 500569
>>500568
Чего-ты застеснялся-то на вопрос ответить? Испугался, что укажут на твое место?
Жидкий тролль какой-то пошел, хлюпкий да пидарковатый.
423 500573
>>500569
ах так то вопрос был. нет, я не хуйло. ты хуйло. этого ожидал? ну, все по плану идет - давай свою многопроходочку.
15200657647380.jpg80 Кб, 1280x948
424 500574
>>500573

>нет, я не хуйло.


Это потому что ты так сказал? Какое милое, но неведающее хуйло.
425 500576
>>500574
с таким гигантом мысли мне не совладать. сдаюсь.
426 500579
Как лучше хранить динамически генерируемый разрушаемый ландшафт? Планируется физика жидкости и сыпучих материалов.
427 500581
>>500579
что за хуйня у тебя в голове то? как собрался реализовывать все это - так и храни. о какой части ландшафта речь? карта высот, карта чего? как float[] храни, нахуй
428 500582
>>500581
Планета с гравитацией. Изменение ландшафта как в Astroneer, при этом "висячие в воздухе" воксели падают под воздействием гравитации.

Вообще не ебу как это реализовывать, вот за советом пришел.
429 500583
>>498832
действительно клёво, привстал аж gj, покажи ещё что-нибудь подобное, если конечно делал
430 500584
>>500579
интересно, как такое на юньке вообще сделать. недавно видел ассет про физику, где камни трескались под давлением колес. ассет про воду (с волнами на gpu) тоже видел. про сыпучие пески ничего кроме партиклов с коллайдером не видел. подозреваю, что как там реализовано - так и надо оставлять.
431 500587
>>500582
лол ну почитай про marching cubes.
вообще лучше пойди возьми готовое, пилить воксельный движок даже зная что делаешь это на добрые пол годика в лучшем случае. спизди какой-нибудь Voxel Farm или что-то в этом духе.

>>500583
я не слишком развивал тот проект, если он тебя интересует. сделал в нем эту фичу с тем что можно применять модификаторы к уже готовым картам и решил на этом остановится. и доделать уже важную фичу в моем сраном навмеше.
на самом деле я могу весь тред засрать тут своими велосипедами. у меня накопилось много всякого забавного говна. на немножко. (а игр нет)
432 500589
>>500587

>(а игр нет)


>могу


>но не хочу



А я вот хочу, но не могу. Пиздец.
433 500598
>>500587
Может можешь посоветоваит какой-нибудь литературы напрямую или косвенно связанную с геймдевом (процедурные генерации там, всякое такое)
434 500599
>>500587
Прыгающая жопа это простая анимация? Или место прикрепления ноги учитывается?
435 500600
>>500579
В пример можно привести джпег формат, где одинаковые пиксели в блоке хранятся в виде начала блока, конца и самого значения. Но у тебя так майнкрафт получится.
Unity 2018-03-28 21-31-59-86.png39 Кб, 274x392
436 500601
>>500589
на самом деле это такой мастер-план. в самом начале я поставил цель "сделать процедурный мир с большим упором на ИИ" и не забил.
как приделаю пару полезных фич к навмешу то вернусь к основной цели. этот микроскоп оказался очень полезным, им можно сваи забивать, не то что гвозди.

>>500598
пожалуй нет. не могу. так как большинство того что я реализовал имело под собой краткое описание из какой-нибудь статьи, а не какой-то огромный багаж знаний.
но вообще если интересно то основная идея взята из этого текста http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/ там все приятно и с картинками. я просто приделал к этому нодовый редактор всяких там шумов и хуйни которые бы накладывались по маскам биом.

>>500599
неа, там ещё интересней чем может показаться. это процедурная анимация.
я как-то почитал немного про то как сделана анимация в overgrowth и подумал что хуево что зайчик бегает только вперед-назад но не вбок. а как блендить такое? нужна какая-то хитрая интерполяция. ебанул бленд филд примерно как у меканима где в качестве ноды выступают 2 кривые - движение ноги вбок и в сторону (скриншот). сделал экспорт кривых с готовых анимаций, потягал их пол вечера. по земли стали елозить шарики. потом приделал на энной высоте жопу, к жопе небольшую инверсивную кинематику, стало похоже на ножки. потом чуть интересней - я стал высчитывать предполагаемую акселерацию исходя из текущего движения пятки и эта акселерация стала толкать пружинку под этой жопой. что и делает эти покачивания жопы вверх-вниз.
у меня нет видео что там дальше. но дальше я сделал эти покручивания бедра в такт шагу, сделал множественную пружину где каждый следующий сегмент влияет на предидущий, чтобы типа жопа прыгала, но башка не прыгала так сильно. и на этом закончил. потратил наверно неделю на этот клевый прототип.
решил что если в моем проекте будут шагающие танки то определенно воспользуюсь этой хуйней.
437 500606
>>500601
Какой лвл если не секрет?
438 500611
>>498593 (OP)
есть тут кто юзает magica voxel?
как центр модели(pivot point) настрить (передвинуть в центр объеката) в самом юнити нету инструмента,и в проге тоже.
я заебался выражать через пустой объект,это как-то неправильно.
помогите раку ебаному
439 500614
>>500611
посмотри proBuilder (он нынче бесплатный), другие редакторы. сам я спокойно живу и без редактирования пайвотов, но кнопку "pivot to center" по одному из ассетов явственно помню.
440 500626
>>500614

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


помню делал игрушки на скирре и там была функция в редакторе
441 500627
>>500626
с разметкой проебался
442 500633
>>500626
ну у юнити куда не плюнь - везде что-то не так. посмотри, например, туторы по тряпочным материалам в юньке. или, например, "find reference in scene" есть в project, но нету в hierarchy. а еще как найти в иерархии все по произвольному коду - ну, конечно, написать свой скрипт. как кастомайзить хоткеи? написать свой скрипт. или вложенные префабы: мало того, что их нет, так еще и ссылка на под-префаб сохраняется при неведомом мне стечении обстоятельств. или поворот объекта внутри скейленного объекта приводит (не всегда) к искажению объекта, если оба рендерятся. меш-коллайдер в скейленном объекте пересчитывается (явно не на gpu) по 100мс, поиск по иерархии тоже при крайней необходимости, gc высвобождает драгоценные (нет) 20 метров за пару фреймов, от и до говеный ui ассет-стора и компиляция не работающая при включенном впн... быстро привыкаешь к этому говну и перестаешь его запоминать - а так в юньке на месте только самый базис. но есть и всякие удобные полу-документированные штуки (типа v и ctrl+shift+f).
443 500634
>>500633
когда отправил вспомнил, что нет возможности выровнять объекты, уронить объекты (роняются только при dnd из префаба). затосковал по 95му ворду, где можно было кучу кнопок вывести на экран и мышкой перемещать их между панельками (вот тут бы юнитивый воркспейс реально пригодился). ну и вдогонку еще косячки в памяти всплыли. слои сохраняются на уровни юнити (а не проекта), слоев 32 штуки и не больше, скейл не меняет радиусы у лимп и партиклов. и на фидбек уважаемым разрабам юнити срать. но ты держись, в 2018й (не пробовал) случилось (ли) подкомпиливание только измененного кода и (смею надеяться) нас покинул кеш ошибок.
445 500648
>>500551

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


Там из шаблонов только текстуры из гугла и модель человека из конструктора. Все остальное я делал сам, а ты просто завидуешь что не способен в такой уровень разработки. Вечный рисовальщик пикселей для аниме рогалика, даже жалко тебя становится.
загружено.jpg7 Кб, 207x244
446 500649
Господа, начал ковырять ScriptableObject дабы хранить в нём предметы, то есть общую базу предметов, а также инвентарь игрока, содержимое лутабельных сундуков и так далее.
Так вот, написал я класс Item, прописал там поля, конструкторы, все дела. Отдельным скриптом, наследованным от ScriptableObject, описал лист этих самых айтемов (ItemList, например), затем третьим скриптом я из этого ItemList создал asset-файл, который лежит себе в папке и хранит всё что я в него засуну.
Как я понял, именно так это и работает.
Так вот, всё оно хорошо, но возникает вопрос.
Это мне что, под каждый список создавать такой asset-файл? Для списка игрока, для каждого ящика? А если у меня 100 ящиков, то это 100 таких скриптаблобджектов в папке будет?
Я, конечно, догадываюсь что скорее всего так оно и есть, потому что ну а как ещё. Но как-то оно странно.
Ну да, я могу через скрипт на ходу запихивать в списки из базы всё что душе угодно и пока обойтись одним файлом-базой, но в конце концов будет же возможность сохранения и где-то придётся их хранить.
447 500650
>>500649

> общую базу предметов


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

> инвентарь игрока,


Юзай json, редактировать скриптаблы в рантайме нельзя
448 500651
>>500650

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


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

> Юзай json


Ну вот, ещё одну новую хрень курить. Ну да ладно, пригодится.

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


Да вроде можно. Во всяком случае в общую базу (единственный скриптабл что у меня пока есть) я в скрипте через конструктор могу добавлять новые айтемы.
449 500652
>>500651

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



Сконпелируй и еще раз попробуй

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


в json

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



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

https://docs.unity3d.com/Manual/JSONSerialization.html
39149original.jpg44 Кб, 604x604
450 500653
>>500652

> Сконпелируй и еще раз попробуй


Попробовал, добавляется. Ну и да и хуй с ним, не важно.

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


Окей, спасибо, гляну что это за дичь. Уже хочу разобраться с этим сраным инвентарём и забить хуй пилить игру дальше.
Хотя хорошо что инвентарь оказался таким злоебучим, хоть что-то новое узнал.
451 500654
>>500653

>Попробовал, добавляется


А новые скриптаблы создаются? Я просто когда сам с ними знакомился, помню что на какой-то подводный камень наткнулся, и с тех пор редко их юзаю, в основном какие-нибудь настройки храню, которые игроку не нужны
b93a8eba527caa6dbc9c5c3d26c3a67c.png6 Кб, 678x83
452 500655
>>500654

> А новые скриптаблы создаются?


Ага. Я даже вот такую вот хуету написал чтоб ручками на каждый ящик свой файл не создавать. Чтоб по имени файла отдельный скриптабл был, откуда при загрузке подтягивать содержимое. Работает как нехуй.
Но если json зайдёт, то это не пригодится.
 .png97 Кб, 796x725
453 500656
>>500655
И правда, скриптаблам таки завезли сериализацию. Беру назад свое утверждение о необходимости использовать json
454 500657
>>500656

>You can serialize ScriptableObjects to Json with JsonUtility.ToJson, and save that to a file


Хотя стопе...
455 500658
>>499239
Давай почту
456 500659
>>500656

> Беру назад свое утверждение о необходимости использовать json


Но тогда я правильно понял, что действительно под каждый ящик надо держать свой скриптабл?
 .png4 Кб, 525x233
457 500665
>>500659
Если у тебя задача - схоронять содержимое ящиков в файл, то я бы сделал как-то так
458 500666
>>500650

> Юзай json


Странный этот ваш JSON.
Выдаёт хуй без масла, хотя список не пустой. Чего ему надо?
459 500667
>>500666
Попробуй вот такую хуйню, работает вроде чётко.
https://www.youtube.com/watch?v=C9WFOX6kDoo&t=7s
мимо_не_вникал
460 500668
>>500667
Да один класс захуевертить это и так понятно. Мне б список загнать. Можно, конечно, через цикл каждый элемент цикла загонять, но как потом его прочитать?
461 500669
>>500668

> каждый элемент цикла загонять


То есть каждый элемент списка.
462 500670
>>500668
Погоди, ты плагин simple json используешь?
463 500671
>>500670
Хрен его знает, просто ебошу JsonUtility, как и написано вот тут >>500652

> https://docs.unity3d.com/Manual/JSONSerialization.html

464 500672
>>500671
Ты видео нормально посмотри, там сторонний плагин используется, под видео ссылка на него есть.
465 500674
>>500672
Плагин это здорово, но разве "искаропки" json не хавает списки что ли? Если нет, то конечно придётся обмазываться плагином, но как-то это странно, я ж не многого прошу.
466 500675
>>500674
Я не читал, что ты там хочешь, какие списки?
467 500676
>>500675
Вот тут >>500666 на первом пике обычный класс с полями, на втором - список экземпляров этого класса. Я хочу этот список скормить в JSON, а он мне выдаёт null. А если скормить один экземпляр класса, а не список, то всё нормально.
468 500677
>>500666
Короче, завернул список в отдельный класс. Работает, но как-то это костыльно.
Ну да и ладно, пока и так сойдёт.
Всем спасибо.
469 500678
>>500666
Скорее всего enum не сериализуется, пробни простые интовые величины
470 500679
>>500678
Неа, не хочет.
Да и ладно, хрен с ним, буду использовать класс-прокладку.
471 500695
>>500679
попробуй Json.Net для юнити.
https://assetstore.unity.com/packages/tools/input-management/json-net-for-unity-11347
стандартный очень прост и заточен под юнитовские геймобжекты и скриптаблы и вечно тупит на обычных.
472 500735
Ананасы, посоветуйте статью с типсами по использованию платформо-зависимой компиляции.
Дали на работке проект, а там пикрил. Ниразу жо этого не видел такого пиздеца, подключение библиотек и объявление переменных в зависимости от платформы.
Я уже привык каждый раз спрашивать себя, когда чувствую возмущение по поводу чужой работы: "Мол, а может это ты петушок не шаришь?". Поэтому и прошу подсказок.

Проект собирали в последний раз под WebGL больше полугода назад, все работало, решили накатить обнову. И посадили за это дело меня джун-макака, до этого был чем то между Technical Artist и разработчиком, но разрабатывал только инструменты для таких же technical artist'ов. Никаких гитхабов и прочих систем контроля версий нету (пиздец а не галера) просто один проект под всевозможные платформы. Разумеется, это дерьмо выдает ошибки при попытке запустить в бравзере (abort(x) at error). Крч мне кажется, что это потому что какие библиотеки не зашились в проект и при попытке их вызвать происходит краш. Все это, разумеется из-за таких вот пре-процессинговых директив или нет?.
Снимок экрана 2018-05-23 в 15.02.51.png40 Кб, 410x208
473 500737
>>500735
отклеилось
474 500738
>>500695
За наводку спасибо, но вроде и так получилось.
475 500739
>>500735

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


У меня под WenGL не компилится уже давно. Пару раз попытался разобраться в чём хуйня, а потом забил, всё равно только под форточки пишу.
Ну а про платформенно зависимую компиляцию вроде прилично написано, покури, может чего найдёшь. Я эту хуету использую только чтоб держать editor-скрипты для создания скриптаблов в папке с остальными скриптами и чтоб компилятор не ругался при билде.
476 500740
>>500739

> WenGL


> Wen


Тьфу ты блин. Ну ты понел, кароч.
477 500744
>>500739

>Я эту хуету использую только чтоб держать editor-скрипты


Ну вот и я. А так, если надо под разные платформы какую-нибудь логику, то просто разные ветки.
А по поводу объявления библиотек, так это вообще бред как по мне, фишка в том что линкер сам откинет те библы, которые не используются в случае чего. А по запросы "Unity platform dependent compilation" только уроки касательно синтаксиса по всей видимости для тех, кто читать не умеет, в официальном мануале все расписано. Вот и решил поинтересоваться у анона, а может и годный линк поймать.
478 500750
>>500648
где "там"? ты кто? аноним?
479 500751
>>500737
Так нормально, в принципе, но нахуй аж два раза то - наверное это автоматом сгенеренный код
bgtyhx.jpg33 Кб, 512x330
480 500758
Спасибо тому ананасу, который посоветовал хранить общую базу предметов в скриптабле, а списки игрока/ящиков хуячить в файл через json. И остальным товарищам спасибо, не часто тут помогают советом, а не сразу хуй за щеку толкают.
Пришлось немного покурить эту тему, но по итогу это такое удобное говно, что я себе уже несколько ментальных пощёчин отвесил за то, что раньше в эту тему не залезал.
481 500771
>>500758
А я пришел к тому, что вообще все данные храню в одном scriptableObject, который сериализую в json, когда надо сохраниться.
Т.е. схема такая.
При начале новой игры scriptable десериализуется из "пустого" json, который содержит некоторые начальные данные.
В процессе игры монобехавиоры не содержат никаких данных, все данные хранятся в scriptable, монобехавиоры хранят ссылку на "свой" кусочек, модифицируя и зная только его.
Когда надо сохраниться скриптабле сериализуется в файл, при загрузке десериализуется назад.

Дополнительный охуенный плюс - совершенно похуй на смену сцен, потому что сцена только рисует то, что находится в скриптабле.
kCBm5QFGdSQ.jpg8 Кб, 630x54
482 500772
Анон, вот какого дъявола? Это все ебаный РКН? Пару месяцев назад все было хорошо. Что делать-то с этим с соединением все в порядке? По треду бегло пробежал - не нашел подобной проблемы.
483 500773
>>500772

>Это все ебаный РКН?


Да, читай тред сучечке
shaders.png76 Кб, 420x435
484 500779
после полутора дней мучений с дополнительными спрайтами поверх в виде оверлея понял что это гиблая идея и решил попробовать шейдеры.
знаю что это такое только теоретически и повтыкав в код шедйера нихера не понил, решил попробовать любезно предоставленный экспериментальный шейдер граф. после еще одного дня за тыканием окошек и рисованием линий начал приблизительно понимать что это за херня и даже получил нужный результат, но внезапно оказалось, что со спрайтрендерером он не дружит в принципе(ибо называет параметры рандомно выставляя наружу только описание, а тому нужны _MainTex и _Color, попытки, как было предложено на форуме, изменить параметры в дебаге привели к вылетам 3 из 5 раз. те 2 раза когда не вылетело - не сработало.
пришлось вернуться к коду. благо понимания принципа осталось, вроде даже получилось то что я хочу ( снизу вверх - дефолтный спрайт, спрайт с узорной маской, спрайт со сплошной маской принципиально не отличающийся от просто задания цвета)
485 500791
>>500772

> Это все ебаный РКН?


Yep. Заводи VPN, будь сопротивлением!
486 500793
>>498593 (OP)
Стоит смотреть у него гайды?
https://www.youtube.com/channel/UCq9_1E5HE4c_xmhzD3r7VMw
487 500798
>>500771
Твоё кунг-фу по описанию пока сильнее моего я даже не всё понял, хуёво быть мной, потому как я только-только ворвался в это дерьмо, но ты лишний раз подтвердил что это довольно полезная дичь.
488 500800
Гружу вот так из сети и сцена действительно кешируется, ибо после перезапуска грузится моментально, а там 400МБ

var www = WWW.LoadFromCacheOrDownload("https://www.dropbox.com/s/xyz/level1?dl=1", 1)

вопрос, блэть, где этот кэш лежит?
489 500802
>>500800
нашол
490 500803
>>500793
Ты на английском не нашёл что ли?
491 500811
>>500626

> pivot to center


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


https://assetstore.unity.com/packages/tools/modeling/mesh-combiner-and-pivot-editor-51142 вот на глаза попалось
492 500837
>>500779
меня было не остановить. запилил покраску мехов в кастомные цвета по шаблону
493 500840
>>500837
nice.webm
494 500843
>>498593 (OP)
Подскажите, как можно "Добавить текстуру в текстуру", желательно с альфа-каналом. Не совместить два полигона с разными текстурами, а именно изменить существующую текстуру, смешав ей с другой по заданным координатам. Я знаю как это сделать попиксельно через скрипты, но это слишком медленно. Есть быстрый способ?
495 500845
>>500843
делай попиксельно через шейдер

если нужна именно отдельная текстура - генерируй отдельно через рендер таргеты.
https://docs.unity3d.com/Manual/class-RenderTexture.html
496 500846
>>500845
Благодарю, попробую RenderTexture. Но, похоже всё таки мне придётся изучать шейдеры, чтобы делать что то нестандартное.
497 500849
>>500803
Так он на английском говорит
498 500854
>>500849

>that


>english


no
499 500860
>>500846

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


это не так сложно как кажется. для эксперимента может поставить ShaderGraph + LightweightRenderPipeline(они еще слишком глючные для реального использования) в отдельном проекте. там удобно визуально рисовать шейдеры и уже понимая что происходит переводить в код.
500 500866
>>500791
Вот это сопротивление!
Как же у меня горит с этого говна.
501 500922
>>500849
На индостанском блэть

Есть полно контента на достойном северо-европейском английском
502 500984
реквестирую плагин Pro Camera 2D, может у кого-то есть поделится?
503 500985
>>500984
magnet:?xt=urn:btih:HDUIA5JUP4YI3SESDX23IW2YWMCMVB3M
504 500990
>>500985
Благодарю. А нет версии по свежее? Сейчас актуальная 2.6.2
505 500991
>>500990
Только такая, давно не юзал, так что за обновлениями не слежу.
506 500992
Сап, аноны. Пытаюсь вкатиться в разработку игр. Где искать уроки? Видео, статьи, книги?
507 500994
>>500992

> Где искать уроки? Видео, статьи, книги?


Если сможешь прочитать шапку, то может и хоть один урок осилишь.
508 500999
>>500992
ипать ты долбохрен
tactical.png1,7 Мб, 1496x843
509 501016
>>499900
ну таки да.
510 501018
Перекатываться будем?
511 501019
>>501016

>2018


>Делоть на юнети 2д парашу

512 501020
>>501019
Да ладно тебе. Почему бы и нет.
513 501027
>>501019
первый варинт был 3д
он мог в расстановку тайлов
расстановку мехов
движение мехов
но так как в моделинге я ноль и хоть и смог в блендере сделать хекс, то двигать кубик вместо меха стало скучно. а найти спрайты мехов оказалось куда проще чем вменяемые модельки
514 501028
>>501027
Без обид ))
Мой потолок после 6-ти выходных

https://www.dropbox.com/s/0j7xpnm23338si2/2018-05-23 21-12-56.mp4?dl=1
515 501030
>>501028

>винегрет из напижженых ассетов

516 501043
>>501030
Не стерпел? Л.О.Л.
517 501057
>>501030
и он тут не один такой. https://www.dropbox.com/home/samolet-exe
518 501058
>>501057
что там?
Vanga-01.jpg13 Кб, 300x414
519 501066
>>501058
наверно самолет
202-units.png384 Кб, 1004x692
520 501070
Подскажите нубу. Хочу ИИ сделать, что бы он армиями управлял в стратежке, пикрил. Хз, как делать, вообще ничего не знаю.

У армий, в принципи, могут быть следующие задачи:
-консолидировать армии
-уничтожать армии противника
-захватывать провинции
-гонять повстанцев
-пока все
521 501071
Парни, поясните за ассетбандлы, пожалуйста.
До того, как столкнулся с нуждой импортировать модели, я банально брал папку ресурсов и создавал на компе пользователя её копию. Если добавить туда новые файлы, то игра их тоже как бы видит. Во время игры я либо подгружаю с компа файлы, либо из внутренней папки ресурсов, если запрещена подгрузка. Ну, логика понятная - соответствие папок внутренних и внешних.
А с ассетбандлами как это работает? Создаётся AssetBundles папка, и только из неё их можно загрузить? Оно совмещается с папкой ресурсов как-то? Какая там иерархия вообще?
522 501072
>>501071
Раскури Asset Bundle Manager для начала. В описании внизу он его тянет с гита. Но сейчас он уже в Asset store

https://unity3d.college/2017/06/04/use-assetbundles-assetbundlemanager-update-unity3d-games/

Сам начал неделю назад. Уже гружу сцены с сервака. Брат жив.
523 501073
>>501072
Мне так-то нужно только модели импортировать постольку поскольку obj, как оказывается, без анимаций и костей импортируется. Ну, раз и модели импортировать таким методом, чому бы и не прикрутить обычные форматы таким образом как альтернативу.
Спасибо за ссылку, покурим.
524 501078
>>501073
Obj ни анимаций, ни рига не поддерживает ИМХО.
Можно автоматом отригать на миксамо
525 501080
>>501078
Попробуй открыть любой obj блокнотом. Там банально список вертексов с увишками. Ты можешь это как меш импортировать в рантайме очень даже легко, но ни костей, ни анимаций не будет внутри.
>>501072
>>501073
В общем, почитав, я ничего толкового не прочитал. Во-первых, юнити у меня старый (5.2 что-то там), ибо 32бита и нет возможности ничего поменять в этом плане Новые примочки мимо меня проходят, в общем.
Будет ли работать такое? В папку ресурсов для эдитора положу ассетбандлы, дам им расширение читаемое (тхт, например), создам из этого бандл When you create your AssetBundle, save it as a .txt file. Then load it as a TextAsset, and create the AssetBundle with AssetBundle.CreateFromMemory( textAssetRef.bytes )., и будто подгружать это в рантайме как обычный бандл, но из папки ресурсов. В папке ресурсов у конечного пользователя делать всё таким же образом.
Взлететь должно, думаю. Жуткий велосипед? Что я упустил из виду? Если юнити так и так бандлы читает тем же способом, что выше под спойлером, никакой разницы быть не должно, наверное?
526 501082
>>501070
мне тоже интересно. при постановке задачи я бы учитывал:
1. важность задачи - оборона пекина важнее атаки на петропавловск камчатский...
2. расстояние до цели (+скорость) - ...катапульта из хабаровска рванет защищать столицу, но штурмующая рио-де-жанейро конница продолжит покорять далекие земли...
3. вероятность успешного исхода - ...чтобы базирующиеся в пекине лучники не целились (из окопов) по сверхзвуковым бомбардировщикам, а метнулись атаковать ближайший вражеский аэродром.

все три фактора - числа от 0 до 1 (расстояние от 1 до 0). имеем список задач. сначала его фильтруем: 1 и 3 должны быть больше 0.2. сравниваем две задачи по сумме 1 и 3. если сумма отличается больше чем на 30% - берем лучшую задачу. если сумма примерно одинаковая - берем цель поближе. числа не надо делать одинаковыми на всю программу: хочешь безбашенную и самонадеянную нигерию - поставь ей x3 модификатор успешности.

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

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

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

т.е. имеем маршала (контроллер генералов), который формирует список целей. имеем генералов, которые знают вероятность успешности действий. имеем юнитов, которые ходят за генералами. если маршал молчит - генералы действуют по своему усмотрению. т.е. если у нас мирное время и ничего не меняется, генералы стоят в городах и пишут запросы на новых юнитов. а если чехия напала на словакию, маршал увольняет всех генералов обороны - все юниты идут в атаку. список целей строим (ситуацию) стоим из: вероятность выжить, вероятность победить. чем ценнее победа, тем более агрессивную страну получим. если цена у победы ноль, то ии не развяжет ни одной войны (швейцария).
526 501082
>>501070
мне тоже интересно. при постановке задачи я бы учитывал:
1. важность задачи - оборона пекина важнее атаки на петропавловск камчатский...
2. расстояние до цели (+скорость) - ...катапульта из хабаровска рванет защищать столицу, но штурмующая рио-де-жанейро конница продолжит покорять далекие земли...
3. вероятность успешного исхода - ...чтобы базирующиеся в пекине лучники не целились (из окопов) по сверхзвуковым бомбардировщикам, а метнулись атаковать ближайший вражеский аэродром.

все три фактора - числа от 0 до 1 (расстояние от 1 до 0). имеем список задач. сначала его фильтруем: 1 и 3 должны быть больше 0.2. сравниваем две задачи по сумме 1 и 3. если сумма отличается больше чем на 30% - берем лучшую задачу. если сумма примерно одинаковая - берем цель поближе. числа не надо делать одинаковыми на всю программу: хочешь безбашенную и самонадеянную нигерию - поставь ей x3 модификатор успешности.

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

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

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

т.е. имеем маршала (контроллер генералов), который формирует список целей. имеем генералов, которые знают вероятность успешности действий. имеем юнитов, которые ходят за генералами. если маршал молчит - генералы действуют по своему усмотрению. т.е. если у нас мирное время и ничего не меняется, генералы стоят в городах и пишут запросы на новых юнитов. а если чехия напала на словакию, маршал увольняет всех генералов обороны - все юниты идут в атаку. список целей строим (ситуацию) стоим из: вероятность выжить, вероятность победить. чем ценнее победа, тем более агрессивную страну получим. если цена у победы ноль, то ии не развяжет ни одной войны (швейцария).
527 501089
>>501080

>Попробуй открыть любой obj блокнотом. Там банально список вертексов с увишками.


я про это и говорил
528 501091
>>501080

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



Это тупик же. У меня подержаный Lenovo X230 под геймдев, да и то с Win10 64-bit
529 501092
>>501091
Нормальнааа. Чем ниже характеристики у твоего компа, тем гарантированнее игра будет лучше идти на более сильных компах пользователей. Я ж не 2д платформер делаю, а файрэмблемклон, тут много оперативы и видюхи не надо.
image.png27 Кб, 1166x650
530 501097
>>501092
Характеристики? Вот я и брал в Акихабаре не с nvidia, а ссаной Intel 4000

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

на пике всё, что нужно, чтобы загругить бандл асинхронно с сервака
531 501098
>>501097

>прEтерпела


cykablyat
532 501117
нахуя я сделал хпбар на шейдерах?
533 501118
>>501117
Шоб быстрее было и мусор не хуячело как канвас
bandicam 2018-05-26 22-27-48-409.webm373 Кб, webm,
528x352, 0:16
534 501119
>>501118
ок, а то я уже думал что совсем двинулся
535 501121
>>501117
чтобы легко менять скругление уголков, скорость рывка и гарнитуру для текста поверх бара. нет
536 501149
Ребзя, короче вот что, приходят ордера по вебсокету, нужно передать данные в другой скрипт (оредрбук), вот думаю сделать это на евентах. Но а что если оредруков будет тысяча, а данные предназначены только для одного? Триггерить 1к рассылку и столько же IFэов это пиздец, ведь я не знаю для какого именно предназначено. А что если передавать в контроллер ордербуков какой ордер пришел, а там уже держать словарь с 1к оредрбуков, дергать нужный, и передавать ему, а? В этом случае хуита с перебором. Ордербука всего два, и по сути похуй на производительность, но интересно как правильно делать, где баланс между производетльностью и лапшой в говнокоде. Второй вариант больше нравится, так как общение происходит только между контроллерами (скриптами, которые управляют другими скриптами/геймобжектами, содержат данные котоыре возможно в сей момент визуализировать не надо)
537 501152
>>501070
БАМП!
538 501153
>>500606
не секрет. медленно но верно приближаюсь к своему тридцатнику. увлекаюсь всем этим наверно лет пять.

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

>>501070
лол ну вообще у тебя теперь проблемы которые можно обсасывать очень долго. вон почитай например http://hevi.info/tag/artificial-intelligence-in-real-time-strategy-games/
539 501156
>>501153

>http://hevi.info/tag/artificial-intelligence-in-real-time-strategy-games/


СЛОЖНААААА

Сделаю на ифах пока (уже сделал)
niceBottom3small.png885 Кб, 846x557
540 501158
>>500579
>>500579

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


В текстуре жи

>>500582

>Планета с гравитацией. Изменение ландшафта как в Astroneer, при этом "висячие в воздухе" воксели падают под воздействием гравитации.


Тысячи людей это делали и не доделали
Хочешь, сурцы мои посмотри https://github.com/Nashet/Interactive-Erosion

Алсо, зацени этого хуйца https://twitter.com/BioGridGame

>>500598

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


Весь интернет этим завален, просто погугли. Если инглишь знаешь, конечно.
541 501159
>>500735
>>500739
2018 версия ломает webGL у меня

>>501153
И спасибо за ссылку
542 501191
Анон, есть контроллер с rigidbody и capsuleCollider. В коллайдере все настройки дефолтные. Если упираюсь в наклоненное препятствие и продолжаю жать кнопку движения вперед происходит первый пик. Почему так?
543 501225
Подскажите с анимациями.
Тренируюсь на кубах, сделал анимацию скачков (за 60 фреймов z с 0 до 1 и обратно в 0), всё норм, ибо от 0 до 0, а вот захотел анимацию поворота и даже как-то не знаю, что делать. Базовые туториалы скурил, но там не объясняется, как вообще эти значения изнутри аниматора с перемещением в координатах совмещать.
Допустим, делаю анимацию поворота по z от 0 до 90 - в аниматоре при переходе к чему-либо 90 в последний момент в 0 обращается. Как мне не допущать разворота обратно? Ещё видел в каких-то видео, как использовали какое-то значение, выражающее, сколько моделька пройдёт игровых метров за время анимации, но в аниматоре я такого не нашёл.
544 501232
Реально ли на юнити создать качественную стратегию, как, например, у парадоксов, чтобы страны были динамическими или нет?
545 501233
>>501232
Всё реально. Зависит от рук.
546 501238
>>501232
Невозможно. Забудь.
547 501240
>>501232
Ещё корованы можно реализовать, но это уже из области фантастики.
548 501245
Блет, как же я не люблю когда Юнити виснет. Ушел в бесконечный цикл - завис. Обпатился к несуществующей хуйне - завис. Это блять редактор для прототипов или что? Так сложно задетектить зависание и сказать об этом? Надо жи прощать ошибки пользователя..
549 501246
>>501245

> Обпатился к несуществующей хуйне - завис


Схуяли? Про цикл — это да, но если обратился к несуществующей хуйне, то просто эксепшен выкинет.
550 501247
>>501245
Не сравнится с 3дс максом.
551 501249
>>501246
Хз, молча виснет. Может в другом дело

Оно, кстати, нигде в логах не пишет чему решило зависнуть?
552 501262
>>501245
Юнити выйдет из цикла с ошибкой, когда память кончится.
553 501264
>>501262
Понаставят себе 64гб озу и ябут друг друга в жёппы.
554 501265
>>501264
Ещё одно преимущество древнего железа.
555 501289
>>501225
Если упростить вопрос, я хочу сделать анимацию поворота модельки. Что нужно в анимации сделать, чтобы при собственно повороте (скажем, при нажатии стрелки) поворот модельки был правильным и не сбрасывался?
Вот у объекта проигрывается анимация, ок. В анимации координата Х прибавляет 100 на последнем фрейме. В окне просмотра аниматора Х сбрасывается до нуля. Если объект стоит на Х = 0, сбросится ли Х до нуля по окончанию анимации?
556 501291
>>501225
>>501289
Чёто ты усложняешь. Берёшь модельку, ебашишь ключ на ротейшене, потом поворачиваешь модельку как тебе надо и ебашишь второй ключ.
557 501292
>>501225

> в последний момент


apply root motion должен помочь

> пройдёт игровых метров за время анимации


вот тут https://docs.unity3d.com/560/Documentation/Manual/nav-MixingComponents.html посмотри список "NavMesh Agent and Animator". а вот тут https://docs.unity3d.com/560/Documentation/Manual/nav-CouplingAnimationAndNavigation.html - есть пример кода, в т.ч. "Update position based on animation movement". хотя я бленд-анимашки не люблю из-за некрасивых переходов (может, варить не умею) и помню какой-то другой (из документашки) пример применения, где аниматор через слои копали - но найти я его не смог.
558 501294
>>501292
Спасибо, вроде оно.
https://docs.unity3d.com/Manual/RootMotion.html

>RootPosition(Y)


>RootPosition(XZ)


А у меня вместо высоты Z, мда.
Видимо, мне только в бленды дорога. Оно и к лучшему, наверное.
559 501298
Обоссыте меня, если очень нужно!

Имею сцену весом в 400 МБ даже в упакованном виде.
Так мне говорит Asset Bundle Manager.
Иерархии всё разложено по полочкам (пропы, хуёты, террейн). Каждая группа собрана чилдренами в "empty"

Получалось грузить сцену из бандла целиком. Теперь хочу по частям. То есть перетянуть с папку проекта, сделав из групп и подгрупп префабы. Их по частям запаковать в отдельные бандлы и грузить по логике появления (террейн, пропы, мобы).

Если у "контейнеров" (empty) координаты были (0,0,0), то так и спавнить.

Где я обосрусь с подливой? Грузить буду асинхронно.
560 501301
>>501298
если у сцены есть ссылка на префаб - префаб грузится вместе со сценой. т.е. пока не загружен префаб - не загружена и сцена. но если тебе нужно 400мб прогрузить перед тем как что-то показать - то так и надо. сделай сцену "лоадинг" и грузи сначала лоадинг а после асинхронно грузи нужную сцену. и не забудь про небольшую дырку между лоадинг-сцена загрузилась и мы начали грузить следующую сцену (в плеймоде и закомпиленной игрухе лоад сцены ведет себя по-разному).
561 501303
>>501301
Спасибо, анонче! Геймобжекты из иерархии, конечно, надо пидорнуть, если в планах их спантить.

У меня и есть (пока) сцена start, где тупо гуй с progressBar из слайдера. Сразу грузит бандл, показывая прогресс, и активирует из него сцену. Хотел бы и в самой сцене расставить триггеры, чтобы зашел, остановил время в игре, на панели показал, что что-то грузишь. Заспавнил, похерил панел, включил время и пошел дальше.

С дропбокса можно грузить по ссылке. А потренироваться можно и на локальном сервачке, я так думаю
562 501307
>>501303

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


интересно, какие у дропбокса лимиты на скачивание
563 501308
>>501307
Места 2 гига. Про ограничения в объёмах скачки не нашел
564 501330
>>501291

>на ротейшене


прочитал ротешник
Обдвачевался
0,00000001.png93 Кб, 374x370
sage 565 501339
>>501330

>на ротейшене


>прочитал ротешник

566 501344
>>500587

>2 вебм


Такое видел только у FEAR остальные разработчики сожалению ленятся такое сделать.
567 501360
>>501298
Нигде не обосрешься. Так и надо делать - компоновать сцену из бандлов. Хотя для объема 400 мегов это, наверное, излишне.
568 501369
что может быть за хуйня?

есть 2 спрайта для подсветки юнитов.
1. обычный спрайт с кружочком, если юнит выбран - SetParent(unit, false), SetActive(true). все ок, перецепляется между юнитами как положено

2. спрайт с анимацией - вращающийся кружочек(по кадровая). то же самое, но при наведении
(IPonterEnter - SetParent(unit, false), SetActive(true), IPointLeave - SetParent(uicontroller, false)m SetActive(false)
и вот он появляется нормально только первый раз. ворлдкоординаты растут с каждым следующим прикреплением на тысячи, локальные остаются (0,0,0). крепится к правильному объекту(видно в иерархии). больше нигде этот объект не используется. в чем, мать его, проблема?
569 501371
>>501369
разобрался, я идиот.
570 501377
>>501371
Спасибо за инфу блэть
571 501383
>>501377
ну я прост пропустил false во втором setparent, благодобря чему спрайт сохранял свои координаты и прикрепляясь повторно уезжал в ебеня.
572 501404
>>501191
У платформ всё в порядке с коллайдерами?
573 501405
>>501191
Двигаешься как? Силой через риджидбади? В апдейте? В фикседапдейте?
574 501424
Помогите разобраться с траблой в коде!

https://pastebin.com/2XS3J7v2

Ошибка: Assets/Scripts/PresistentManagerScript.cs(43,49): error CS0118: `System.IO.File' is a `type' but a `variable' was expected
575 501425
>>501424
Это скрипт синглтона и элементами сохрания/загрузки игры.
576 501427
>>501425
у тя файл с большой буквы
577 501428
>>501424
Ты куда-то закидываешь System.IO.File (который тип, а не переменная). Скорее всего ты забыл System.IO.File.ReadAllText() или что там есть вообще, чтобы получить строку или что тебе надо.
578 501430
>>501427
Спасибо большое. Я слепой/тупой.
579 501431
>>501428
Проблема решена

>>501427
1312111581599.png113 Кб, 320x240
580 501442
>>498593 (OP)
Пагни помогите. Как сделать чтобы ФПС контроллер не проваливался под текстуры на стыке генерируемых чанков. Если можно, то объясните попроще, а то я нуб.
581 501444
>>501344
лол да ну брось полно игр с клевым ИИ. разве что на фоне этого раздела можно кого-то впечатлить.

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

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

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

>>501442
как реализовал то все это?
582 501448
>>501444

>как реализовал то все это?



Я скачал готовый проект этого ютубера:

https://www.youtube.com/playlist?list=PLFt_AvWsXl0eBW2EiBtl_sxmDtSgZBxB3

Для ознакомления решил сам побегать по ландмассу, но что-то у меня работает не так как надо.
583 501450
В сцене есть ИИ. Он ходит по локации случайным маршрутом. У персонажа есть фонарик, который можно включать и отключать. Как сделать так, чтобы при включении фонарика ИИ бежал на персонажа, а при выключении терял его и снова рандомно ходил по локации?
584 501452
>>501450
используй эвенты
585 501453
>>501450
Набираешь в гугле "game AI free without sms" и читаешь, читаешь, читаешь и выбираешь понравившуюся архитектуру.
А можно просто на ифах сделать, стеной кода.
586 501475
Поцоны, нужна помощь. Есть два скрипта которые должны добавлять всех входящих и выходящих из триггера врагов в List (скрин2), а также, удалять убитых врагов (скрин1) из Lista. Проблемы возникают именно с удалением мертвых врагов из списка. Как сделать чтоб эти дохлые пидарасы удалялись из моего списочка?
587 501477
>>501475
скрипт подписывается на эвент смерти.
по смерти моба он посылает эвент.
???
PROFIT!
588 501480
>>501477
А жопу мне тоже ивенты подтирать будут? Анончик, помоги чтоб без этой хуйни. Ивенты это для девочек, а я хочу кодить как бородатый мужик.
589 501481
>>501480
придурок тупой
нахуй иди
2017DoodleJump.jpg1,4 Мб, 1920x1080
590 501483
Аноны, нужна ваша помощь. Делаю платформер типа пикрил, где игрок по Y прыгает по платформам, есть несколько вопросов

1) Как делать нормальную генерацию, как в том же дудл джампе? У меня плеер либо не достаёт в какой-то момент до платформы, либо наоборот платформы слишком близко.

2) Как уничтожать все платформы которые не видит камера? То есть сгенерировал платформы вверх, игрок прыгает всё выше и выше, а те платформы что камера уже пролетела - удалять.

3) Хочу сделать механику прыжков такой же как и в DoodleJump, но что-то не догоняю как реализовать. В общем, у меня начинается уровень, игрок прыгает, пролетает через 2-3 платформы по Y во время прыжка, и затем улетает в ебеня со скоростью кометы. Как это исправить? То есть нужно сделать чтобы этот триггер не стакался (если игрок на платформе - AddForce.Impulse), после того как я пролечу через другие платформы, до тех пор пока не завершится анимация прыжка. Блять, я не знаю как это объяснить, просто запустите http://vseigru.net/igry-na-lovkost/21959-igra-dudl-dzhamp.html, и поймете что я имею в виду.
591 501484
>>501483

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


Прикрепи к камере коллайдер со скриптом, который уничтожает объекты при столкновении.
592 501485
>>501481
Сам нахуй иди. Ты предлагаешь совсем ебанутый вариант с еблей в анальную жопу. С таким же успехом я могу отнимать 1 от enemy.Count, каждый раз, когда умирает враг.
593 501486
>>501483

> Как уничтожать все платформы которые не видит камера?


void OnBecameInvisible () {
Destroy (this.GameObject);
}
autorpg0001.webm6 Мб, webm,
970x526, 0:57
594 501490
Есть пассивный мультиплеер с клиент-серверной архитектурой, есть сверка состояния сумки у клиента с её состоянием в БД на сервере перед любым изменением (будь то покупка, продажа, дроп и т.д.). Если состояние сумки у клиента отличается от состояния в БД, то она синхронизируется с экземпляром из БД, после чего снова происходит попытка выполнить действие и только после успешно пройденной проверки на идентичность происходит запись результатов действия.
Так вот, насколько это безопасно? Есть ли какие-нибудь советы по безопасному устройству архитектуры мультиплеера? На что ещё стоит обратить внимание по части защиты от взлома?
Сама игра на unity (с#), сервер на php
595 501492
>>501475
Ну и говнокод.
Луч точно с тегом игрока?
А ивенты хорошая вещь, не в твоем случае, правда.

бородатый мужик
596 501495
>>501492
Он до ивентов не дорос
autorpg0002.webm5,7 Мб, webm,
968x528, 0:31
597 501497
>>501490
И кстати, анончик, раз уж у меня тут такой каминг аут, то глянь на мою только начатую боёвочку.

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

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

Интересно твоё мнение, анон! Стоит менять концепт файта или двигаться в этом направлении? Может быть у тебя есть свежие идеи?
598 501498
>>501480

> Ивенты это для девочек


Шта?
599 501499
>>501497
Сделай что б можно было кричать бойцуЖ Етух, что ле, не мужик, и т.д. Кто громче кричит тот и побеждает
600 501502
>>501484
>>501486
Спасибо. А насчёт прыжков что? Как сделать чтобы прыжок не стакался от каждой платформы, через которую я пролетел? Чтобы персонаж всегда прыгал на одну и ту же высоту, за исключением каких-нибудь ускоряющих платформ, как в DoodleJump. Спасибо.
601 501503
>>501492
Наверное, вещь хорошая, но я надеялся обойтись без нее для столь тривиальной задачи. На самом задал не тот вопрос изначально задал. Меня интересует 1) как лучше всего сравнить два объекта, например мертвый объект с каждым объектом из списка в данном случае 2) может ли колайдер одного и того же обьекта отличатся, если он получен из разных скриптов?
602 501506
>>501503

>лучше всего сравнить два объекта


Object1.Equals(Object2)

>2)


Нет, "Collider c;" это ссылка, объект всегда один и тот же.
603 501511
>>501506
Дай Бог тебе здоровья.
604 501512
>>501503

>Наверное, вещь хорошая


какой же ты сука тупой
image.png200 Кб, 1867x723
605 501520
Снова взялся за старое, вернулся к тикерам. Для одного графика с жирными свечками вполне годно, но теперь нужны более точные и несколько штук друг на друга наложенные. Вот хуйнул 1800 линий, лагает. Не ну можно жить, но это хуйня, если ебануть два гарфика к примеру. В шейдеры не умею, но похоже это единственный выход?
606 501522
>>501512
Я просто не опытный, извини.
607 501526
>>501522
Да нет, всё же тупой.
608 501530
>>501522
Ты ебобо? Иди читай про ивенты на хабре, это сейчас со списка удалить надо,.потом еще звук воспроизвести, очки в стату добавить понадобиться, и как ты это собрался делать без ивентов? Никак, пидор.
609 501533
Хорошо, то что я тупой я понял. Давайте еще что-то новое о себе узнаю.
Стало очевидно, что вся проблема, в том, что по какой-то причине, колайдер в списке отличается от колайдера, переданого в функцию RemoveEnemy, ибо фаза один срабатывает, фаза 2 срабатывает, фаза 3 нихуя не работает! Вопрос знатокам, в чём возможная причина сей оказии? инб4 ты тупой
610 501536
>>501530
Спасибо, пидор на добром слове, я обязательно изучу данный материал, но хотелось бы здесь и сейчас понять в чём причина нежелания скрипта подчинятся моей магии. Я ведь уже засунул хуй, так стазать, нужно доебать эту тварь до конца, а не говорить, ой у меня не стоит, давай завтра там, давай я изучу ивенты, а потом будем ебатся и так далее
611 501538
>>501533
Боги Юнити, экстрасенсы, духи предков, взываю вас о помощи.
612 501541
>>501497

>Интересно твоё мнение, анон!


2д параша
Бесабит
image.png22 Кб, 120x120
613 501543
>>501541

>2д параша

213232214.jpg152 Кб, 343x497
614 501545
>>501533
Один и тот же обьект не равен сам себе, как такое может быть?

Верхняя часть выдает true, нижняя false.
615 501558
>>501545
в первом ты сам задаешь значение enemy внутри метода и тут же проверяешь. иными словами, у тебя написано: "x=2+2; if(x==4)" - всегда правду вернет, можешь if убрать.
а во втором случае ты смотришь ранее присвоенное значение. x!=4 бывает по следующим причинами: "x=2+2" не случилось, случилось "x=3+3", случилось (enemy хранит последний) сначала "x=2+2" а потом "x=3+3".
equals.PNG11 Кб, 471x140
616 501561
>>501558
Дело в том, что объект один и тот же во всех трех случаях, но почему-то не идентичен для скрипта.
617 501563
>>501558
>>501561
Скрипт1 берет колайдер обьекта по вхождению в тригер, добавляет в список. Скрипт2 берет колайдер обьекта после того, как обьект потерят все hit points, вызывает функцию RemoveEnemy из скрипта1 и сравнивает эти два (на самом деле один) обьекта, Если обьекты идентичны, то обьект удаляется из списка. Но почему-то обьект не идентичен сам себе же.
618 501566
Пдждите, а эвенты типа
// rise event on day passed
EventHandler handler = DayPassed;
if (handler != null)
{
handler(World.Get, EventArgs.Empty);
}
они разве параллельно вызываются?
Suiseiseki.full.4983.jpg255 Кб, 610x908
619 501570
Аноны, помогите нубу в Unity. Подскажите, что можно использовать вместо AddForce.Impulse? Эта хуйня прибавляет силы каждый раз как я пролетаю через объект (или как-то ещё с ним взаимодействую), а мне нужно чтобы сила не прибавлялась. Пытался создать переменную со значением "5f", потом создать класс Vector2, а потом локальной переменной с полем "y" присвоить мою переменную со значением "5f", но так эта хуйня не работает вообще, а почему - не ебу. Что не так делаю?
620 501575
А на прыщах юнька работает?
621 501579
>>501570
подсказываю гугл https://answers.unity.com/questions/12878/how-do-i-zero-out-the-velocity-of-an-object.html или документацию https://docs.unity3d.com/ScriptReference/Rigidbody.MovePosition.html . выбирай сам, но тебе нужно для себя понять стоит ли выпиливать физику. я бы физику оставил и пошел по первому варианту.
622 501580
>>501563

> на самом деле один


ну тут или ты мне врешь, или я в https://msdn.microsoft.com/en-us/library/bsc2ak47(v=vs.110).aspx что-то не понимаю. зачем ты проверяешь похожесть объектов? чтобы можно было удалить похожего врага? попробуй сравнение по ссылке (==) - сработает? хотя, не пробуй - если у тебя объект не похож на (якобы) самого себя, то это разные объекты. хотя, попробуй-таки.
623 501584
>>501566
Нет, они вызвываются синхронно. Внутри ивента лежит список функций, которые вызываются по очереди.
624 501588
>>501584
более того есть старая архитектурная проблема шарпа - все может пойти попизде если в процессе вызова эвентов кто-то отпишется от этого эвента или объект будет удален
625 501590
>>501575
Нет
626 501594
Парни, что лучше - апдейт или корутины?
627 501599
>>501594
что лучше - молоток или отвертка?

апдейт нужон для постоянного отслеживания и изменения состояния а короутины для отдельных растянутых на несколько апдейтов процессов. разные же вещи.
628 501601
>>501588
Сейчас бы из параллельного потока от ивентов поотписываться.
629 501604
>>501575
вкатился из соседнего треда?
icevideo20180530-112952.webm19,4 Мб, webm,
1680x1050, 0:25
630 501608
>>501580
Зачем мне врать, если мне нужно разобраться в чем причина такого поведения, что бы в дальнейшем я мог решить эту проблему, эсли столкнусь с ней еще раз. Оператор == я первым делом еще использовал, еще до equals, результат тот же.

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



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

Еще раз вставляю вебм. Если рваг входит в триггер и "умирает", то количество врагов в списке не меняется, если враг входит и выходит за пределы триггера, то кольчество врагов в списке меняется, как и должно быть.
631 501610
>>501608

>Список содержит коллайдеры


>а проверка по геймобжекту



Сука, сделай list GO и храни ГО там и по ним чекай. Заодно на будущее - вдруг у объекта будет 2 коллайдера для головы и тела?
632 501611
Котаны, как сейчас билдят под iOS? Через их Cloud? Больше ничего не нужно?
633 501614
>>501610
Да нет же, берет коллайдер у обжекта и сравнивает со списком, а сравнивать объекты я решил для дебагинга. Коллайдер один на обьект. За лист ГО спасибо, если можно, поподробнее, если нет - сам найду.
634 501625
>>501584

>Нет, они вызвываются синхронно. Внутри ивента лежит список функций, которые вызываются по очереди


Т.е. сначала заканчивается выполнение одной функции в очереди и затем выполняется следующая функция в очереди?
635 501627
>>501625

>Т.е. сначала заканчивается выполнение одной функции в очереди и затем выполняется следующая функция в очереди?


да. упрощенно эвент это тупо список делегатов и при его вызове идет foreach(delegate in list)delegate();
636 501629
>>501627
Спасибо. А то у меня баг какой то похож на перезапись списка из параллельных потоков..
637 501632
>>501614
List<GameObject> жи. Вместо List<Collider>.
638 501633
>>501632
Да, я потом понял через пару минут о чём речь и даже немного покраснел. Я сделал всё так, но результат остался прежним.
Скрипт врага, который передает gameObject в функцию RemoveEnemy
https://ideone.com/OyC3Fl
Скрипт коллайдера, колайдер является дочерним обьектом "игрока".
https://ideone.com/aX3UkT
dgherh.PNG11 Кб, 583x135
639 501634
>>501632
>>501633
Вот что выдает консоль, то есть функция RemoveEnemy запускается, но обьекты опять не идентичны
640 501637
Пацаны как связать два типа , только объявлять структуру? Почему нет обобщения как у делегатов, чтото типа Struct<Image,Text> imageAndText ?
641 501638
>>501637
KeyValuePair(TKey, TValue) Structure (System.Collections.Generic)
642 501639
>>501637
в C#6+ есть кортежи
Turple<T0,T1...>
Turple<int, string> a;
a.Item1 = 1;

в 7+ расширили до анонимных
и анонимные rjhnt;b типа
var a = (1, "test");
int b = a.Item1;
public (int, string) foo() { return (1, ""); }
(int a, string s) = foo();

если не ставил инкрементал компилер - объяви где нить темплейт
struct <T, T1> Pair
{
public T Item1; public T1 Item2
}
и юзай её
644 501641
>>501640
Tuple, да.
645 501642
>>501639
Короче проебался с синтаксисом анонимных кортежей
https://blogs.msdn.microsoft.com/mazhou/2017/05/26/c-7-series-part-1-value-tuples/
646 501644
>>501642
>>501639
Ко всему прочему - Tuple медленные как пиздец.
Лучше свой класс-обертку создать.
647 501645
доска оживилась. сразу видно что лето.
покажу рисование кругов вокруг сфер.

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

>>501450
лол ну если игрок у тебя один то сделай в каком-нибудь сраном синглтоне public static bool который бы говорил включен ли там в игруна фонарик. и обращайся из всех сраных мест туда.

>>501637
либо С#6+ либо сам себе ебани пару-тройку дженерик структов.
648 501646
>>501644
с чего вдруг? это же просто синтаксический сахар вокруг темплейт структурки
Spelunky-2013-08-10-20-28-08-24.jpg242 Кб, 1920x1080
649 501651
Аноны, есть пара вопросов.

1) Как сделать смерть игрока если он падает с платформ на пустое пространство? Платформы генерятся вслед за камерой, а те что камера не видит - уничтожает. Короче говоря, у меня камера бежит по X, и в том месте где она - там генерятся платформы, а если игрок за камерой не успевает по платформам скакать - смерть. Так вот, как мне реализовать смерть игрока, если он попал в ту зону, где платформы уже уничтожены? Тут какой-то метод из юнити типа OnTrigger нужен или что?

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

пикрандом
650 501653
>>501651
1. так же как и платформам. а на OnDestroy повесь запуск геймовера/респауна/что там тебе надо
2. ну например
public ScorePlatform : MonoBehaviour
{
public int Score;
private bool used = false;

public int GetScore()
{
int score = used ? 0 : Score;
used = true
return score;
}
}

и при регистрации приземления
не Score = Score + 1; а Score +platform.GetComponent<ScorePlatform>().GetScore();
651 501655
>>501651
2.
Можно еще по ID go чекать
652 501663
>>501475
>>501533
>>501545
>>501561
>>501608
>>501633
>>501634
Бамп вопросу, уже вторые сутки ебусь, никак не могу понять почему одни и тот же gameObject не равен сам себе
653 501665
>>501663
Давай сначала - в чем проблема? Что делаешь?
15245106743550.jpg112 Кб, 1400x787
654 501670
>>501639
Спасибо анон, пойду накачу чайку за твое здоровье.
655 501671
>>501665
Делаю скрипт, который записывает в список GameObject все обьекты с тегом врага. После этого атакую те самые записаные обьекты, когда они теряют хп, они должны передавать свой gameObject в функцию и вызывать ее. Функция находится в скрипте тригера, который соберает эти попавшие обьекты в тот самый список и если gameObject убитого врага содержится в списке, то удаляет его из него. Всё. Но по какой-то причине не делает этого. Из нового, то что GetInstanceID() у обьектов всётаки равный, значит обьект один и тот же для скрипта, но почему-то
if (enemies.Contains(killedEnemy)) {enemies.Remove (killedEnemy);} не реагирует.
656 501673
>>501671
enemies это список всех зашедших в тригер врагов, killedEnemy это убитый и переданный в функцию враг.
657 501674
>>501671
>>501673
а "enemies" это дефолтный List<> или со своим IEqualityComparer?
658 501676
>>501674
Это самый обычный List <GameObject>
659 501678
>>501676
Тогда должен по референсу находить и удалять.

Попробуй вручную
660 501681
>>501678
По референцу тоже проверял, всё работает. Думаю единственным решением будет проверять на самом враге вошел ли он в триггер, и передавать gameObject врага в список только вот где его хранить и в этом же скрипте врага удалять себя из списка.
661 501683
>>501678
>>501676
>>501681
А до этого где хранил?
662 501684
>>501683
До этого хранил в скрипте дочернего тригера игрока, с которого и записывал обьекты в список.
663 501706
Я уже совсем близко подобрался к разгадке кода Да Винчи, но мне всё еще нужна помощь величайших умов игростроя.
Выяснилось, что всё таки в листе id не соответствует ни убитому, ни вошедшему обьекту, кроме того цикл выдает сразу три разных id, а List.Count сообщает о том, что обьект в листе всего 1. Чё нахуй вообще происходит? Почему в листе сразу 3 id? Помогите, Христом Богом молю.
664 501711
>>501706
Погоди, так ты пытаешься удалить GO убитого врага, а вот скажи - как враг умирает? Destory или Disable?
665 501714
>>501711
Да, я пытаюсь удали GO из списка. Врага из сцены удаляю через Destroy. Но я не думаю, что проблема в этом, ибо даже если не убивать врага, а просто проверять лист во время вхождения врага в тригер, цикл по enemies уже выдает эти три enemy GetInstanceID.
666 501720
>>501711
Я сделал через SetActive(false), нихуя не поменялось, обьект все равно не удаляется
667 501722
>>501714
>>501720
Просто уточнял, ибо Destory превратить реф на объект в null.
GetInstanceID должно быть уникально, я хз почему у тебя дупы, где-то в коде навреное что-то выполняется не раз и не два.
668 501733
>>501653
Спасибо, это работает, но только с одним объектом за всю игру. Как сделать так, чтобы работали все платформы?
669 501737
>>501733
Я не он, но ты странный - создай префаб, повесь скрипт и спавни платформы с префаба
670 501743
>>501737
Уже исправил, но спасибо.
Аноним 671 501765
>>501737
Скорее не он странный, а просто нубу даёт советы ещё более ёбаный нуб. И префабы тут не помогут, потому что

Score = Score +platform.GetComponent<ScorePlatform>().GetScore();

Cпециально выделил жирным. Каким хуем это должно работать у того дебила - я не ебу вообще. Что с префабом, что без префаба персонаж будет получать очки только с любой одной платформы в игре, будь это клон или оригинальный экземпляр, потому что присваивается метод из другого скрипта, а в этом методе значение равно
int score = used ? 0 : theAmount;

Это будет работать точно так же, как если бы я написал ScorePlatform.theAmount = 0/40/1000/etc;

Соотвественно, я получу 0/40/1000 при соприкосновении с любой одной платформой в игре, от остальных я не получу ничего, потому что там =, а не +=.
672 501770
>>501765
Анон - ты дурак?

Score += 1;
все равно что
Score = Score + 1;
e87aceiywSKX1nfemHti2lfJKx2.jpg232 Кб, 1920x1080
Аноним 673 501780
>>501770
А причём тут это? Я говорил про
Score = Score +platform.GetComponent<ScorePlatform>().GetScore();

Этом дерьмо ни при каком желании очки не будет прибавлять, потому что тут

Score = Score + метод

А в этом методе значение равно 0 или любому другому. А прибавляться ничего не будет, потому что used = true, а потом возвращаем этот score, которому присвоен used. То есть мы как бы говорим "получи очки единожды за игру".

А не работает потому что метод писался от балды, на скорую руку. Так оно работать не будет, потому что из-за used = true ничего прибавляться не будет, потому что никакой прибавки в методе и нет. Соответственно, если мы выпилим used = true - мы не получим значения из прошлой строчки (то есть значение будет 0).

Вот на примере:

int score = used ? 40 : theAmount;
used = true;
return score;
В первой строке мы имеем значение "40", благодаря второй и третьей - мы его получаем ЕДИНОЖДЫ от любой платформы. Иными словами, нам нужна прибавка в методе. А её нет.

И если мы уберем вот эту хуйню "platform.GetComponent<ScorePlatform>().GetScore();" и поставим вместо неё значение, тогда очки будут прибавляться, но не так как нужно тому нубу.

Виновником всему этому - дебил, который этот метод писал. В методе должно быть +=, и проверка был ли игрок на этой платформе или нет. Вот и всё. А ваши костыли ебаные (которые вы создаёте с целью ШОБ ПОПРОЩЕ) работать не будут, потому что вы даже не проверяете как они будут работать.
674 501782
>>501780
Не уверен, что таки понял о чем ты, но вообще, бля,
if (!used) { код } решил был траблу заранее и понятно сразу стало что куда
675 501805
>>501780

>называет окружающих дебилами


>очки не будет прибавлять, потому что тут Score = Score + метод



Еще и картиночку прилепил, лел.
676 501807
>>501780
ты че несешь дубинушка?
1. Score в Score += метод это общий счет
2. Score в компоненте - это количество очков за платформу
3. used - метка использованния платформы.
4. и самое страшное Score и used в 2 и 3 индивидуальны для каждой платформы(я бы попытался тебе объяснить чрезвычайно сложные концепции типа и переменной, но это видимо слишком эдвансед тема)
678 501914
Поясните нубу ебаному в Unity, как сделать проверку на то посещал ли я объект или нет? Ну, то есть был ли он задействован в игре. Испробовал уже кучу хуйни, и activeSelf, и "if(collision.gameobject == true)" - не работает нихуя.
679 501921
>>501914

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


ЧТА
680 501925
>>501914
Тебе ООП или ДОД решение? По ООП тебе достаточно завести поле у обьекта, в котором записан счётчик твоих посещений. По ДОД тебе нужно завести синглтон, который хранит все свойства всех обьектов в файле. Но читает не весь файл, а только те данные, которые относятся к читаемому свойству. Иначе говоря, когда ты обратишься к ДОД-объекту за количеством посещений, контроллер прочитает в базе данных счётчики посещений всех-всех объектов, найдёт твой и выдаст тебе инфу. Удивительно, но эта хуйня на 0.15 секунды быстрее, чем поиск метода в ООП.
681 501932
>>501925
Мне, пожалуйста, решение на Unity C#
682 501934
>>501921
Ну, короче говоря, нужно узнать посещал ли игрок объект или нет. Если не посещал - вывести одно, если не посещал - вывести другое.
683 501935
>>501934
*если посещал
684 501937
>>501934
Что значит "посещал
685 501941
>>501937
Значит был ли вообще задействован объект в игре или нет. Если коллайдер/коллизия объекта не была задействована - сделать что-то, если была - вывести в дебаг что я уже это сделал. Так понятно?
686 501945
Юнити-господа, как мне заинстанциировать объект в пределах двух линий по типу пикрилейтеда? Ограничения сверху и снизу - то хуйня, там всё норм. А вот слева и справа? Если с прямой линией всё понятно, то вот с наклонной - хуй знает.
687 501955
Да какого хуя эта параша ёбаная не работает?

void OnBecameInvisible() {
Destroy(gameObject);
}

Сука, что с ней не так? Это какой-то устаревший метод в моей версии или что?
Untitled-1.png6 Кб, 187x268
688 501956
>>501945
Мда, только заметил что пик отклеился.
689 501958
>>501955
Сам с неё горел недавно. Кто-то советует закрыть вкладку сцены, мол, "камера" сцены тоже считается за камеру, кто-то ещё какую хуйню советовал. По итогу забил хуй и поставил пустой прямоугольный коллайдер по периметру камеры (ортогональной, понятное дело) и уничтожал объекты по OnTriggerExit
690 501959
Полезная статья
692 501962
>>501960
Читал я это. Если запустить сцену, взять объект за оси и ручками гонять её за пределы сцены и обратно, то событие, которое прописано в OnBecameInvisible, работает как нехуй. А если запустить объект в свободный полёт, то он улетает за пределы камеры и пидорит в неведомые дали, даже не пытаясь чёто сделать после того как стал невидим.
693 501963
>>501960

>renderer


>yield


Ясно, в пизду это говно ебаное.
694 501965
>>501960

> When running in the editor, scene view cameras will also cause this function to be called


Хех, значит правильно советуют

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

695 501970
>>501956
вариант первый, простой. для трапеции с параллельными оси y нижней и верхней гранью
1. взять уравнения прямых(для этого нужны 2 точки прямой, например там где они пересекаются с отекающими прямыми снизу и сверху
2. испульзуя эти уравнения получить x координаты точек на прямой для заданного y искомой точки
3. проверить находится ли x точки между x координатами точек на прямой

вариант второй, для произвольного выпуклого многоугольника
1. получить уравнения прямой для каждой грани(нужны координаты углов строго по порядку)
2. подставить координаты точки в уравнение каждой грани и запомнить знак результата
3. если знак для всех граней (пропуская нули) одинаков - точка лежит внутре.
696 501972
>>501970
*с параллельными оси x нижней
быстрофикс
697 501973
>>501970
Попробую первый, спасибо.
12311.png116 Кб, 1359x780
698 501977
>>501956
У тебя всего 4 точки же. Возьми и заспавни в пределах 2 треугольников используя барицентрические координаты. (Когда стороны треугольника являются координатной осью). если хочешь какое-то хитрожопое распределение то вычисли площадь каждого треугольника и используй соотношение их площади для того чтобы узнать какой из двух выбрать для спавна.
699 501984
Анончики, скажите - существует ли возможность из game view объект добавить в scene view?

Нашел вот такой ассет: https://assetstore.unity.com/packages/tools/modeling/probuilder-111418
Позволяет редачить сцену и создать её как список объектов.
Я могу затем написать скрипт, который сохранит их все на диск.
То есть, редактор из scene view создает объект для game view.

Задался вопросом: а возможно ли обратное - в game view например скриптом создать куб (для примера) и сделать его видимым в scene view как постоянный объект?
700 501985
>>501977 >>501945
а хотя. тогда они кучковатся в центре будут. как насчет того чтобы найти края из этих 4 точек брать рандомную точку то дех пор пока она не будет находится в пределах одного из двух треугольников?
12312123.png8 Кб, 602x432
701 501990
>>501985
>>501977
>>501956
а хотя лол погоди я подумал целых 5 минут так как проблема то клевая.
смари, можно взять треугольник, сказать что 2 его стороны это оси обычной координатной плоскости. но одна её сторона наклонена. когда берешь рандомную координату, то если она выходит за пределы левого треугольника, то мы отражаем её координаты, чтобы они соответствовали координатам в правом треугольнике но как будто он левый. понял, да? мы по прежнему имеем квадратную координатную сетку, поэтому у нас не будет сраного распределения и координата всегда будет в пределах треугольника, поэтому не надо угадывать координату до тех пор пока она не появится в пределах треугольника.

интересно как эта хуйня называется, наверняка название есть.
52e.png486 Кб, 600x737
702 501991
Блядь, как же горит порой с этой ебучей юнити-хуюнити, и тупых макак которые над ней работают. Это вообще нормально? Создаю я такой публичную переменную bool, чекаю/анчекаю его в скрипте, внезапно вместо моих 10 очков мне прибавляется 20 очков за убийство врага. Как я это исправил, догадаетесь? Правильно, перезапуском Unity. Сука, в такие моменты я просто ненавижу эту парашу, и дебилов которые над ней работают. А если у меня будет большая игра, как я буду искать почему это говно так работает? Уёбки.
703 501992
Help cykablyat!

Есть вектор v. На его залупе весит меш. Надо вычислить, какое вращение приложить, чтобы залупа вектора тыкала в [0, 1, 0]

Поясню, чтобы было понятно. Меш = голова пидора. Вершинки сидят со смещением к его очку-пивоту. Пивот могу занулить, но голова как на палке сбоку. Хочу выстроить ее вертикально, чтобы сдвинуть ебало в очку, где ему и место.

Повторяю вопрос. Position обнулён на [0, 0, 0] и запарентин. Центр головы находится по центру коллайдера на ней. Этот вектор надо выправить параллельно [0,1,0].

Как блэть?
72f94939ae696eaf222c9404076617478cec9a57c1ceb5b12c3dd85e5ca[...].jpg261 Кб, 900x900
704 501993
>>501991
И это я уже молчу про "патчи", которые починят одно, и сломают другое. Сссссука в рот ебал.
20160104190135cd03a832f498390509e4e50a1f688126.jpg39 Кб, 604x342
705 501994
>>501984
Зочем тебе эта?
706 501995
>>501991

>А если у меня будет большая игра


Не ссы, не будит
707 501998
>>501984
да воопше элементарно.
[ExecuiteInEditMode]
и вперед
708 501999
>>501991
тупая свинораха
709 502001
>>501956
Пусть есть две прямые: AB и CD (левая и правая).

Есть два стула - алгоритм с тремя рандомами и с двумя и математикой.
Все числа рандомные лежат в пределах от 0 до 1.

Алгоритм 1.
Суть: находим случайную точку на АВ, потом на CD и случайную точку между ними.

1) Генеришь rnd1.
2) Находишь точку P на прямой AB с координатами:
по Х: rnd1 (B_x - A_x)
по Y: rnd1
(B_y - A_y)
3) Генеришь rnd2
4) Находишь точку E на прямой CD с координатами:
по Х: rnd2 (D_x - C_x)
по Y: rnd2
(D_y - C_y)
5) Теперь есть прямая PE.
Генеришь rnd3 и находишь:
X: rnd3 (E_x - P_x)
Y: rnd3
(E_y - P_y)
Готово вы восхитительны!

Алгоритм можно упростить если брать середину отрезка PE.

Алгоритм 2: обойдемся 2 рандомами, так как вообще говоря это дорогая функция. находим точку P, решаем уравнение для прямой BD, подставляем туда Y точки P и находим E_x. Теперь находим случайную точку по Х между Е и Р

1) Генеришь rnd1.
2) Находишь точку P на прямой AB с координатами:
по Х: rnd1 (B_x - A_x)
по Y: rnd1
(B_y - A_y) - это Y координата нашей будущей точки
3) Вспоминаешь уравнение прямой: y=kx+b;
Работаем с прямой CD - находи k.
k_DC = (D_y-C_y)/(D_x-C_x)
4) Находишь b_DC:
b_DC = D_y - k_DC D_x
5) Из P_y = k_DC
E_x + b_DC получаем: E_x = (P_y - b_DC) / k_DC
6) генерим rnd2 и находим координату по X: rnd2 * (E_x - P_x)
709 502001
>>501956
Пусть есть две прямые: AB и CD (левая и правая).

Есть два стула - алгоритм с тремя рандомами и с двумя и математикой.
Все числа рандомные лежат в пределах от 0 до 1.

Алгоритм 1.
Суть: находим случайную точку на АВ, потом на CD и случайную точку между ними.

1) Генеришь rnd1.
2) Находишь точку P на прямой AB с координатами:
по Х: rnd1 (B_x - A_x)
по Y: rnd1
(B_y - A_y)
3) Генеришь rnd2
4) Находишь точку E на прямой CD с координатами:
по Х: rnd2 (D_x - C_x)
по Y: rnd2
(D_y - C_y)
5) Теперь есть прямая PE.
Генеришь rnd3 и находишь:
X: rnd3 (E_x - P_x)
Y: rnd3
(E_y - P_y)
Готово вы восхитительны!

Алгоритм можно упростить если брать середину отрезка PE.

Алгоритм 2: обойдемся 2 рандомами, так как вообще говоря это дорогая функция. находим точку P, решаем уравнение для прямой BD, подставляем туда Y точки P и находим E_x. Теперь находим случайную точку по Х между Е и Р

1) Генеришь rnd1.
2) Находишь точку P на прямой AB с координатами:
по Х: rnd1 (B_x - A_x)
по Y: rnd1
(B_y - A_y) - это Y координата нашей будущей точки
3) Вспоминаешь уравнение прямой: y=kx+b;
Работаем с прямой CD - находи k.
k_DC = (D_y-C_y)/(D_x-C_x)
4) Находишь b_DC:
b_DC = D_y - k_DC D_x
5) Из P_y = k_DC
E_x + b_DC получаем: E_x = (P_y - b_DC) / k_DC
6) генерим rnd2 и находим координату по X: rnd2 * (E_x - P_x)
710 502002
>>502001
ну и дополню, что везде можно сделать функцию в одну строчку если составить уравнения и посокращать всё. Я хз как часто тебе надо генерить точку между линиями. Если часто - второй алгоритм лучше так как рандом по умолчанию дольше сложения и деления несколькхи чисел
711 502003
>>501992
Я знал, что вы не сможите. хе-хе Тут кватернионы надоть.
712 502005
>>501992
глянь любой скрипт где голову вращают вслед за объектом, там всё показано
Toy.webm372 Кб, webm,
1064x780, 0:02
713 502008
>>501956
>>501945
на, держи. я внезапно понял что я и сам хочу эту хуйню. сам там оптимизируй че как там не сложная математика.
http://rgho.st/8czzdVGzh
714 502009
715 502010
>>502005
Проблема не в этом. Предстать, как голова сидит на теде. У тела все меши просчитаны относительно к точке [0,0,0]

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

Мне эти головы по игре надо собирать, а они как на палках. Простое смещение их центра головы в [0, 0, 0] давало умеренно удовлетворительные результаты.и

Поэтому и хочу ту "палку", на которой голова, выстроить ВЕРТИКАЛЬНО, чтобы след.шагом сдвинуть меш к пивоту

Пойми, что если пидор лежал горизонтально, когда я ему отхуярил голову, то и меш головы будет висеть на "палке" (от пивота), висящей ГОРИЗОНТАЛЬНО.

Я их, сцука, навешиваю перед камерой, а они торчат в стороны. А надо выставить вертикально.
716 502012
>>501985
>>502008
>>501977
>>501990
>>502001
Ох, спасибо. Не вовремя я отлучился.
LocalAvoidanceVelociped.webm748 Кб, webm,
1160x760, 0:06
717 502014
>>502012
на здоровье, да.

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

>>502010
в чем твоя проблема лол схему нарисуй или скриншот покажи
AreaMod.png1,6 Мб, 1447x818
718 502025
о. поперло. вот так пару дней хуем покрутил и собрал клевую штучку.
надо будет ебануть поиск пути который бы искал какую-то специфичную зону и заодно который бы искал путь за пределы какой-то специфичной зоны.
719 502048
>>502025
у него с зонами имхо
https://arongranberg.com/astar/
720 502093
>>501292
>>501294
Продолжаю делать анимации.
Приспособил под свои события пример из https://docs.unity3d.com/560/Documentation/Manual/nav-CouplingAnimationAndNavigation.html , но тут несколько проблем возникло.
Для теста пока что использую вместо lookat как в примере transform.LookAt. Из-за этого анимации как-то дёргаются. В примере используют anim.SetLookAtPosition и anim.SetLookAtWeight во время OnAnimatorIK() -- правильно ли я понимаю, что это то же самое, что и я использую, только "дружелюбное" к анимациям?
Так как двигаю кубы, то анимация у меня для прыжков, и с каждым прыжком из-за остановок с блендами высота куба немного набирается т.е. анимация прыжка не до конца проигрывается. Как нормальные люди такое решают? Первая мысль - разбить анимацию прыжка на взлёт и падение, и проигрывать падение когда значение высоты максимальное пока значение высоты не опустится до нужной позиции. Но я ж нуб, на словах описать легко, а как это воплощать в жизнь? Мне переменные высоты в аниматоре хранить как-то, снаружи их высчитывать или что?
721 502105
>>502010
Кажись нашел решение: Quaternion.FromToRoteshnic
Mods.png1,3 Мб, 1669x921
722 502148
>>502048
у меня зоны и до этого были, просто мало инструментария было для того чтобы их указывать. теперь вот захотел сделать побольше методов указывающих че где.
и не за сто баксов а бесплатно. для всех бесплатно.
723 502162
>>502148

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


Дык поэтому и дал тебе ту ссылку
В ассет сторе полная за 100
На его сайте есть и free
724 502163
>>502162
ты сам то видел что он в фри положил? я вот видел. говна накинул.
725 502172
>>502163
И видел, и пробовал. Мне динамичное обхождение препятствий не надо пока.

Чего тебе-то не достаёт?
726 502177
>>502172
бесплатная версия разве что грид ебанет. зачем оно? там конечно есть всякое говно вроде навигации по тому что ты там ручками сделаешь или совсем что-то смешное вроде навигации по точкам соединенным линиями, но все это баловство.

>Чего тебе-то не достаёт?


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

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

а что этот бесплатный астар? хуита какая-то.
727 502178
>>502177
И что же ты пилеш такое?
UnityRaycast.webm24,5 Мб, webm,
944x756, 0:16
728 502188
>>502178
вообще - хуй знает. я стремлюсь к своим идеалам. все мои идеи эволюционировали многократно по мере достижения новых высот. что-то где ИИ имел бы те-же возможности что и игрок и мог бы надрать ему жопу. но не за счет уменьшения возможностей игрока. в краткосрочной перспективе что-то где один игрок бы командовал болванчиками как например в маджести, а другие игроки пытались проникнуть к этому игроку на базу и нажать кнопку. в долгосрочной что-то с самостоятельным миром. например чтобы игрок слонялся по руинам а его преследовали терминаторы. чтобы они сами высылали подмогу, ломали стены, могли пользоваться предметами, обходили сбоку, пользовались укрытиями, имели цепь командования и вертолеты с прожекторами и десантом.
и чтобы в траве могли прятаться во время боя. чтобы вот хопа потерял из вида терминатора, побежал в сторону где последний раз видел а он хопа нашел рядом густую траву по пояс, сел и сидит, проходиш мимо а он вскакивает и стреляет.

вообще мелкие прототипы половины этого я сделал, например чтобы ИИ пользовался предметами, цепь командования, укрытия. показывал видосики в треде. но чтобы сделать такое заебись определенно нужно иметь более крутой способ получения, хранения и применения информации о мире. как доделаю то что перечислил в том что хотел бы видеть то наверно вернусь к своим прототипам.
хотя конечно много что можно ебануть сверх этого.
image.png237 Кб, 854x355
729 502194
Чему у меня в редакоторе починился z-fighting а в webGL все равно пидорасит? настройки Quality одинаковые.
Чинил через увеличение Z координаты. Там разве другая камера в webGL?
730 502265
>>502188
Анонче, да воздастся тебе за дерзания твои!

Тоже думаю над ИИ, но в сторону "чтобы тёлка дала"
731 502266
>>502105
Решениё сработале. Залупа показывает в небо.
Спрошивайте ваши вапросы
732 502267
>>502194
Нахуя тебе там вообще глубина? У тебя же карта плоская. Рисуй слоями, без з-теста.
733 502316
Видели, что божила мутитhttps://twitter.com/hxLexie/status/1002756355197825024
734 502317
>>502267
Но гипотетически карта может быть объемной. Да и там в 3д все, хочется 3д.
А поднимать выше я координату не хочется - и так видно что флаг не на своей плоскости находится а висит выше
Алсо, вот демка, таки запилил юниты ходящие по карте, почти как у взрослых: https://nashet.github.io/Prosperity-Wars/WEBGL/index.html
735 502331
>>502316
Когда добавит 3-е измерение, сообщи.
736 502334
>>502331

>сообщи


Нет, я тогда мгновенно перекачусь с годота на говноюньку и запилю игру, и про HXGI никому не скажу, чтобы конкуренты не успели воспользоваться годнотой!
737 502335
>>502331
Сообщу как только в /гд/ появится хоть одна 3д игра.
738 502336
>>502335
Вылажу на этех выходных
739 502369
Huley GetComponentsInChildren<Transform>() ритёрнз и трансформ самого парента?

Я протистую!
740 502372
Насколько стабильна версия 2018?
741 502373
>>502372
Сама версия норм, только вот монодевелоп в ней ведёт себя как уебан. Если ебошишь на студии, то накатывай.
742 502380
>>502373

>монодевелоп


до сих пор не пофиксили ctrl+v блэть
743 502384
>>502380
Оно работает, но иногда. От какой фазы луны это зависит - хуй знает.
744 502392
>>502384
Да, я тоже зометил, что иногда ;-)
Багу 3 года с хуем. Прысчавый опенсурс блеть
745 502399
>>502380
>>502384
>>502392
Это потому что вы не гуглите. Такая проблема со многими англоязычными программами есть. Нужно использовать хотя бы одну комбинацию клавиш НА АНГЛИЙСКОЙ РАСКЛАДКЕ - ктрл+в, ктрл+с, любую - до любого другого действия. Тогда и только тогда комбинации клавиш будут работать. Как вариант - переключите стандартную раскладку клавиатуры на английскую, чтобы при открытии любой программы сразу английский работал. Японская раскладка тоже сойдёт. Любая латинице-базовая, т.е. иероглифы поддерживаются лучше, чем кириллица, лёл.
746 502429
>>502399

>Японская раскладка тоже сойдёт


тут обосрался с подливой

У меня Lenovo X230, купленый в Акихабаре. На нём японская win10 64-bit

И та же хуйны с ctrl+v
747 502431
Парни, как быстро решительно прикуртить базу данных для сохранения информации, отсортированой по айди? Что курить/гуглить?
748 502456
>>502429
Винда =/= раскладка. У тебя при загрузке моно какая раскладка загорается, RU, EN или JP?
749 502458
>>502431
Попробуй загуглить "база данных".
750 502497
>>502431

> быстро решительно


Скриптаблобжэхт. Делов в несколько строчек.
image.png1,1 Мб, 877x591
751 502514
Что делать, чтобы террейн издалека не выглядел как made with Unety?
752 502515
>>502514
Пересесть на другой движок и съебать из треда.
753 502516
>>502514
тебе бы шумы сделать (в фотошопе) и наложить их картой высоты. и текстура.
754 502589
>>502458
Ты пидор.
755 502590
>>502514
Издержки процедурной генерации. Даже пубг этим страдает. Есть специальный софт, который все это устраняет, но можно и руками.
756 502598
>>502590
From huley procedual? Tiling, Sir!
757 502606
>>502317

>Но гипотетически карта может быть объемной.


Когда она станет объемной твои надписи станут залезать под горы, потому что все буквы в одной плоскости. Для 3Д тебе придется другой способ рендера текста делать.
758 502607
>>502317
а ложить надписи на горы после того как они станут обьемными, но все равно рендерить их поверх всего, кроме юнитов? не?
759 502609
>>502598
Ты хочешь сказать, что взял один тайл и размножил его? Ну и получил, что хотел.
760 502628
хитровопрос. допустим у нас есть лист с абстрактными классами который не сериализуется, но наполняется сериализованным говном когда происходит OnAfterDeserialize. а как отобразить его в инспекторе то?
я конечно могу сделать CustomEditor для него и реализовать отображение элементов этого листа. но тогда я не могу воспользоваться CustomPropertyDrawer которые уже по человечески написаны для содержимого этого листа. как воспользоваться CustomPropertyDrawer для листа который не сериализуется?
761 502637
>>502636
товарищ маркетолог, вы бордой ошиблись вам куданить в /v/
762 502641
>>502636
От создателей Копателя Онлайн и Блокады 3D? Васяны вышли на новый уровень, теперь они нашли ассеты оружий и пропов в высоком качестве.
763 502642
>>502637
Слышь, бля!

>Игра была разработана на игровом движке «Unity 5», что безусловно дает ей колоссальное преимущество.


КАЛАСАСАЛЬНА!
764 502661
>>502609
>>502609
Я хз. Ассет спизжен как мне тут сказали
765 502662
>>502628
А могли бы игры делать...
766 502664
>>502636

>на игровом движке «Unity 5»


Когда пидор не знает того, о чём ему сказали написать
767 502666
>>502661
Так никто не делает. Тебе нужен террейн едитор.
768 502667
>>502664
Пидор - ты, Tarkov использует последний stable билд из 5-линейки.
Unity 2018-05-08 02-13-26-29.png240 Кб, 1664x980
769 502674
>>502662
а я делаю.
вообще, после вечера фрустрации и выражения недовольства ебаной сериализации юнити которую делали нелюди, я пришел к выводу. можно заняться той-же хуйнёй что делают эти мудаки. тоесть не делать наследование-хуедование, сделать один сраный тип, сунуть в него пару значений и значение из энама говорящее какого типа эта хуйня и рисовать его значения используя сраный свитч. но это просто ебаный цырк и я такое могу делать только потому что разница между наследниками это пара float
770 502683
>>502674
Найми фрилансера. Сложная какая-то хуита.
Quaternion.png30 Кб, 369x549
771 502687
лол юнити что ты делаешь прекрати
применил EditorGUI.PropertyField для Quaternion и юнити выдало мне эту хуйню. и тут то я узнал что у юнити нету человеческого метода рисовать в инспекторе кватернионы.

>>502683
для кого сложная?
772 502688
>>502687
Ты хуйней вместо игор занимаешься.
773 502698
>>502687

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


Ты всегда можешь предложить свой инновационный метод рисования четырехмерных векторов.
774 502700
>>502687

>для кого сложная?


Для тебя obviously
1431234.png703 Кб, 1677x916
775 502701
>>502688
что же такое игры?

>>502698
иновационный метод рисования четырехмерных векторов это ебануть все четыре оси в одну строчку, так-же как это происходит с Vector2 и Vector3.
ну а для кватернионов могли бы уж сразу сделать рисовалку в eulerAngles. прямо как у трансформа в инспекторе.
я, конечно, сделал. но задумался почему не сделали за меня.
776 502706
>>502701
Что это вообще такое? Я выпустил три тайтла, заработал на хату и тачку, нахуй тебе хуйней всякой заниматься, что это вообще лол.
777 502712
>>502706
Игры то были 3д? Иначе не считается!
778 502716
>>502456

>какая раскладка загорается, RU, EN или JP?


Только родная японская по дефолту. Никаких других клавиатур не ставил. В других "англоязычных" прогах (редакторы, Visual studio) такой хуйни не замечал.

Для справки: в японской винде латиница по дефолту. Для кракозябров надо переключать
779 502717
>>502701

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


Кватернион -не ротешник, а МЕРА вращения.

Куда твоя рисовалка показывать-то будит?
780 502720
А возможно ли как-то запилить свою сетевую дэдматч игру, но при этом не раскошеливаться на сервера?
781 502722
>>502720
Ну, сделай выделенный сервер, чтобы игроки сами хостили сервера.
782 502730
Как я понял, у Unity существует два языка для реализации игровой логики: C# и UnityScript. На что будет проще перекатиться бывшему крестовику? Есть ли разница между этими двумя вариантами в плане производительности?
783 502731
>>502730
Хуево ты понял, а значит не сможешь перекатиться, страдай.
image.png519 Кб, 1920x1080
784 502732
>>502731
Перекатываю тебе за щекой, выродок.
785 502735
>>502732
Школота тупая, хуйни с вики начитается и верещит с умным видом. Юнитискрипт год назад уже похоронили
https://blogs.unity3d.com/ru/2017/08/11/unityscripts-long-ride-off-into-the-sunset/
786 502740
>>502735
Ну а сразу так спиздануть не мог, сраный выебонщик за решеткой? Я думал у меня фактическая ошибка в суждениях, а тут бля сука лишь частность.
787 502741
>>502740
Ты же элементарного найти не можешь, беспомощная собака, куда ты суешь морду в погроммирование.
788 502742
>>502741
Ты мне еще указывать будешь куда лезть? Я в программировании был пока ты еще формочки в борланде клеил, салага.
789 502743
>>502730

>перекатиться бывшему крестовику?


Очевидный уеч очевиден
790 502746
>>502743
Ок, спасибо.
11113.jpg177 Кб, 450x675
791 502748
>>502742

>Я в программировании был


>Нихуя не знает, не может нихуя найти, задает детские вопросы


>Стыдно позорится перед всеми

792 502750
>>502748

>Сидит в своем манямирке за скриптовой решеткой


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


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

014856172693461.jpg5 Кб, 257x196
793 502753
>>502750

>потому что ничего кроме юнити не пробовал


Я все движки пробовал и тестил, а ты просто жрешь то что тебе двачеры скажут.
794 502759
>>502753

>Я все движки пробовал и тестил


>Продолжает сидеть ни юнити


Сдаётся мне, что ты пиздишь.
795 502763
Аноны, подскажите, как сделать фонарик? Без энергии, модельки. Просто свет, который можно, нажав на кнопку, включать и отключать. В интернете не нашёл.
796 502764
>>502759

>Продолжает сидеть ни юнити


Не приписывай мне негативных качеств, фантазер-ебанько.
797 502768
>>502763
Забыл дополнить. Свет должен включаться на полсекунды. Допустим, нажал E, свет включился и сразу же сам отключился.
798 502771
>>502763
вешаешь лайт на персонажа, все для фонарика (включая "блик" лампы) у него есть. по нажатию кнопки включаешь/выключаешь.
если >>502768
включаешь кнопкой и стартуешь короутину, которая через полсекунды выключает
799 502772
>>502753
Схуяли я жру что мне двачеры советуют? Мне приходится жрать то, что на работе скажут.
800 502773
>>502730
шарп подхватывается крестовиком за полчаса-час пролистывания книжки троелсена. стандартную библиотеку можно подтянуть походу.
801 502786
>>502716
Я тоже с JP по дефолту сижу. Чтобы хуйни не было, первым делом при открытии моно ктрл+ц, ктрл+в, ктрл+с. После этого дела все комбинации работают, как надо.
Нет, я не защищаю моно. Просто видел много программ, в которых не просто комбинации, клавиши просто не работают без предварительного танца с бубном. Ух, сколько я с Gauntlet игрой бодался
802 502802
>>502716
>>502786

>онемепидоры

803 502806
>>502730
Есть интрепритаторы с++. Это значит, через костыли писать с++ в юнити можно.
804 502810
>>502806
собственно можно сделать сборку на любом .net языке и подлинковать её к юнити, но писать на C++.clr может только очень сильный извращенец. это же нереально стремный пиздец у которого с плюсами меньше общего чем у c#
805 502812
>>502810
Бред. Много топовых тайтлов на юпити написаны на с++. Я встречал в сети свободный интрпретер, но сейчас не могу найти.
806 502814
>>502771

>включая "блик" лампы


Как по-ангельскому называется?
807 502815
>>502786
Если я правильно понел, надо размять комбинацию клавиш внутри моно.

Спасибо, добрый анон!
808 502816
>>502814
Spotlight - стандартная вариация света
809 502826
Боги юнити, скажите вот такую вещь.
Есть у меня в пространстве залупа, которую я через Vector3.MoveTowards двигаю к другой залупе. И всё вроде бы хорошо, но вот что заинтересовало. Я могу двигать её только с определённой скоростью. А можно ли без велосипедов задавать не скорость, а время? То есть, условно говоря, прописать "будь там-то через 2 секунды", а уже от этого оно само посчитает необходимую скорость.
810 502827
>>502826
Высчитываешь расстояние, делишь на время и получаешь скорость.
Ничего никогда на юнити не делал, просто скроллил.
811 502828
>>502826
Вектор расстояния подели на время, получишь вектор скорости.
812 502830
>>502827
>>502828
И правда, что-то я совсем туплю.
Спасибо.
813 502860
>>502816
блэть, я-то думал, что допфишка какая-то, чтобы конусный источник выглядел как реальный фонарь
UnityAreaSearch.webm1,3 Мб, webm,
1080x796, 0:27
814 502869
что-то немного более практичное чем абстрактные манипуляции с навмешем. надо будет напильником обработать

>>502706
ха-ха. не первое лето я читаю подобные комментарии. время когда школьники активируются. чё покажешь?

>>502717

>Кватернион -не ротешник, а МЕРА вращения.


че предлагаешь то? переименовать Rotation в Rotation Measure?

>>502730
чего на UE то не перекатишься? там тебе кресты. так то в юнити никому ничего кроме C# нахуй ненужно. можно подключать конечно свои библиотеки но это сомнительное удовольствие.
815 502879
>>502860
блжад, он и будет выглядеть как реальный фонарь.
816 502881
>>502812
воопшем-то только логику. собираешь в обычную дллку, поверх неё делаешь managed сборку(на любом .net языке) с прокси monobehaviour которые дергают функции из либы. учитывая что нормально встроенные типы передать в unmanaged либу не получится - то еще развлечение.

подозреваю то, о чем ты слышал - это il2cpp который переводит нетовский il в код на сях, который уже компилится в нативный для платформы, которые не поддерживают .net
817 502901
>>502879
У реального фонаря пятно неравномерное.
Спотом пользуюсь на своём фпс-киллере
818 502902
>>502901

>включая "блик" лампы


вот эта хрень. Cookie называется в параметрах спотлайта.
819 502903
>>502902
Вот за это спасибо, анон!
820 502904
>>502902

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

https://assetstore.unity.com/packages/tools/photorealistic-lights-ies-59641
821 502918
Объясните дебилу, какая принципиальная разница между

> public string name;


и

> public string name


> {get; set;}



И так и так это строка, которую я могу вертеть из других классов. Так в чём разница?
822 502925
>>502918
В том, что ты не читал C# hfnbook
Screenshot1.png21 Кб, 1469x551
823 502927
>>502771
Как в этот код запихнуть корутину?
824 502939
>>502925
Не читал, каюсь. Так в чём разница?
825 502940
>>502927
Invoke("название функции, в которой выполняется отключение/включение");
826 502941
>>502927

> в этот код запихнуть корутину


Нахуя?
827 502942
>>502940
вторым аргументом время в float, быстрофикс
828 502943
>>502927

> if (Input.GetKeyDown(KeyCode.Mouse0))


Если чё, для этого есть

> if (Input.GetMouseButtonDown(0))

829 502949
>>502927
Можешь без корутины. Делаешь флоат, каждый тик апдейта прибавляешь к флоату тайм.дельтатайм, если флоат выше 0.5, то вырубаешь свой фонарик. При включении фонарик обнуляешь флоат, чтобы таймер сбрасывался.
830 502950
>>502941
Потому что корутины быстрее апдейтов. ему выше в треде посоветовали закорутинить Но с такой мелочью неважно, я думаю.
831 502951
>>502950

> с такой мелочью неважно


Да вот и я о том же.
832 502952
>>502939
Второе property
833 502953
>>502952
Это я знаю. Первое - поле, второе - свойство.
Это всё заебись, только вот

> И так и так это строка, которую я могу вертеть из других классов. Так в чём разница?

834 502954
>>502918
Проперти - это как метод, только проперти. Ты можешь в get засунуть что хочешь, прямо как в метод. Допустим, get { а++; return a; } set { a = value; }, и каждый раз, как будешь требовать свою проперти, она будет увеличиваться на 1
Олсо, интерфейсы не принимают переменные, только проперти.
835 502955
>>502918
первое - поле(field)
второе - свойство(property)
принципиальное отличие поле - это тупо переменная в классе.
пропертя - это переменная и два метода - get и set т.е.
public string name {get;set;}
это тупо синтаксический сахар для
private string _name;
public string _get_name() {return _name;}
public void _set_name(string value) { _name=value;}
это открывает тебе 2 фичи
1. можешь написать свой сеттер/геттер
например
private int _n;
public int n { get => _n; set => _n = value < 0 ? 0 : value; }
2. у геттера и сеттера свой уровень доступа, например ридонли свойство
public int n {get; private set;}

в контексте юнити еще свойства не попадают в инспектор. приходится писать свой редактор.

>>502927
private void Update()
{
if(mousedown && !light.enabled)
StartCoroutine(light_off());
}

private IEnumerable light_off()
{
light.SetEnabled(true);
yield return new WaitForSeconds(0.5f);
light.SetEnabled(false);
}
835 502955
>>502918
первое - поле(field)
второе - свойство(property)
принципиальное отличие поле - это тупо переменная в классе.
пропертя - это переменная и два метода - get и set т.е.
public string name {get;set;}
это тупо синтаксический сахар для
private string _name;
public string _get_name() {return _name;}
public void _set_name(string value) { _name=value;}
это открывает тебе 2 фичи
1. можешь написать свой сеттер/геттер
например
private int _n;
public int n { get => _n; set => _n = value < 0 ? 0 : value; }
2. у геттера и сеттера свой уровень доступа, например ридонли свойство
public int n {get; private set;}

в контексте юнити еще свойства не попадают в инспектор. приходится писать свой редактор.

>>502927
private void Update()
{
if(mousedown && !light.enabled)
StartCoroutine(light_off());
}

private IEnumerable light_off()
{
light.SetEnabled(true);
yield return new WaitForSeconds(0.5f);
light.SetEnabled(false);
}
836 502956
>>502954
А быстрая запись get; set; просто быстрая запись, обычно тебе бы нужно было дополнительную переменную использовать, но с быстрой записью не надо.
837 502958
>>502956
еще одна мелочь
для валуе типов возвращается копия значения. соответственно полям структуры нельзя присваивать значения. например
transform.position.x = 5 пошлет тебя нахуй, потому что Vector3 - структура а не класс.
838 502959
>>502954
>>502955
Братишки, я это понимаю. Я почему и написал именно

> {get; set;}


То есть абсолютно пустые, без нихуя.
Натолкнулся вот на такое в чужом коде и понять не могу - зачем? Почему просто как поле не обозначить?
И да, интерфейсами там и не пахнет.
839 502960
Сделал я значит движение камеры. Оно движется, но почему-то улетатет в стратосферу.
840 502962
>>502959
у многих тупо привычка, ибо стиль программирования на шарпе предполагает свойства, некоторые фичи стандартной библиотеки(включая сериализацию и прочую привязку свойств к чему либо) завязаны на свойства, интерфейсы завязаны на свойства, ну и потом в случае необходимости автосвойство {get;set;} разворачиваяется по необходимости в просто свойство с кастомным геттером/сеттером.

кстати в 8.0 собираются добавить поля в интерфейсы.
841 502963
>>502962

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


Была такая догадка, но она была быстро отброшена. Как оказалось - зря.
Всем спасибо за ответы на идиотский вопрос.
842 502965
>>502960
Я сделаю фишку в игре. Каждый левел будет начинаться просто полетом в стратосферу.
843 503009
Вот карп рыба хитрющая, по мели не идет, ее надо на удило тяжелое брать, а то сорванец этот так и норовит соскочить.
844 503023
>>503009
На налима как ходил? Удилища грузилом крепил?
 .png39 Кб, 514x334
845 503033
В чем проблема? Почему колесный коллайдер не вращается? Даже через посредников. Как переделать модель чтоб было заебись?
846 503037
>>503033
зачем тебе вращать коллайдер?
847 503038
>>503037
Что бы он соответствовал направлению колес.
848 503040
>>503038
В смысле когда ты поворачиваешь колеса влево-вправо (стиринг), а не полное поступательное вращение вместе с колесом вокруг оси при езде? Потому как последнее вообще смысла не имеет.
Screenshot2.png2 Кб, 542x23
849 503041
Установлен Visual Studio 2017
Выскочил пикрил. Как обновить c#?
850 503042
>>503041
Unity -> Player Settings
851 503043
>>503040
Коллайдер при привязке к кабине устанавливается по дефолту под 90 градусов. Вопрос не о повороте. Видно же на скрине что не по оси колеса коллайдер. И вот как это пофиксить.
853 503047
>>502953
Модификацию через пропёрти можно, если надо, перехватить в субрутине. То есть класс может отслеживать, что в его пропёрти делают. Типо делаеть set {} и в нем проверяешь, что тебе лезит в очко. Ести неформат, то просто игноришь или выдаёшь обрабатываемое исключение

Если просто public, то любая хуемразь может модифицировать, и класс этого не заметит.

В серьёзнос прогроминге тебя обоссут да чисто public, вместо пропёрти. В юнети всем пох. Здесь игры делают
854 503048
>>503042
Что-то не могу найти. Это в VS или в Unity?
Screenshot3.png2 Кб, 538x23
855 503053
>>503042
>>503046
Ну, теперь у меня версия 6, но мне нужна 7
856 503060
>>503053
Ее еще нет вроде
857 503061
>>503053
ну хз что ты там намутил
858 503062
>>503061
зы. пока делал скрины, выпили инкрементал компилер для теста. таки без него юнити может только в C#6.0 сразу поотваливались conditional switch и анонимные кортежи.
859 503063
и воопше разбаловались
с#6 им мало
мы тут год назад во всю на огрызке от C#4 писали, где даже инициализаторов свойств не было, а им блжад уже локальные функции подавай!
860 503064
>>503063

>понипидар что-то там гогоче

1.png25 Кб, 621x602
861 503067
Я что-то не так сделал?
862 503068
>>503067

>локальная корутина

863 503071
>>503067
Корутина - это тот же самый обычный метод, но который возвращает IEnumerator (и который должен съйилдить хотя бы раз). В апдейте вызывай, но убери её саму из апдейта.
864 503072
>>503062
Как открыть панель с компилером?
865 503073
>>503067
Все эти новомодные языки пиздецки раздисциплинировали кодеров. Вот в старом добром Паскале корутину нужно было бы описывать строго вначале хостовой рутины, перед блоком begin ... end; И это охуенно! Это дисциплина, не дающая кодеру стрелять себе в ногу.
image.png437 Кб, 680x578
866 503074
>>503073

>в старом добром Паскале


Его душа на Небесах. Я знаю это.
image.png587 Кб, 620x388
867 503075
>>503067
Заебенил корутину с упдате
868 503076
>>503067й
Корутина в апдейте? С тобой шутки плохи, да?
869 503077
>>503067

StartCoroutine(SegodnyaEbemMamkuOPa());
....

}

IEnumerator SegodnyaEbemMamkuOPa()
{
yield return new WaitUntilSheSleeps(10f);
// nobody gives the fuck
while(1)
{
Trash();
yield return new WaitForSeconds(0f);
}
}
870 503079
>>503067
Анон, если те папка разрешит, можешь апдейт сделать корутиной

IEnumerator Update()
{
LetsFuckMyOldSistah();
}
871 503080
>>503076
>>503075
в чем проблема? вполне валидное применение локальной функции. вот только поддержки локальных функций у него нет.
872 503081
>>503079

> OldSistah


> Old


Так себе предложение.
873 503082
>>503081
Спишем как неудачную попытку выразиться предельно политически корректно
image.png30 Кб, 420x294
874 503083
>>503080

>вполне валидное применение локальной функции.


>вот только поддержки локальных функций у него нет

875 503084
>>503079
Кстате, я тут обосрался, а вы и не заметиле :3

IEnumerator Start()

про Упдате я спезднуль
876 503099
Пиздец, каникулы, 100 постов в день. КЕКнула с вас.
Unity 2018-05-06 01-23-05-52.png183 Кб, 1148x802
877 503101
>>503099
из года в год все хуже и хуже, кстати. прошлым летом треды с юнити тоже дай боже недели по 3 жили.
878 503126
>>503033
Бумп вопросу.
879 503128
Сцуко юнити такое юнити.
Заметил, что OnPointerEnter регистрируется только для части юнита. Сначала подумал, что полгон колайдер хуево генерится(юниту рантайм выставляется спрайт а по спрайту создается колайдер), посмотрел - все ок, но для составного полигона событие срабатывает только для первого многоугольника. 2 часа тыкался пытаясь разобраться что за хуйня. В результате помогло удаление/добавление рейкастера. с теми же параметрами(там параметров то целых 2). хотя до этого менял второй параметр(макс количество проверок) во все стороны.
880 503130
>>503128

>Сцуко


Как там в 2007?
881 503131
>>503130
https://www.youtube.com/watch?v=pcr8kBeA_kE
охуенно, никаких юнити и еу. кодю на XNA
image.png1,2 Мб, 1405x720
882 503144
реально ли в юнити сделать IRL графон?
Screenshot4.png33 Кб, 635x795
883 503145
Да что не так-то опять.
884 503148
>>503144
Да нехуй делать. Покупаешь воксельный скан сцены, шлифуешь напильником, хуяк хуяк и готово.
885 503152
>>503145
нажми ктрл-шифт-пробел и посмотри наконец на типы параметров старткороутин
886 503153
>>503144
в уеч тред иди
887 503166
Пацаны, можно ли с помощью видеокарты и шейдеров распаралеливать вычисления. Есть массив из миллиона элементов, каждый нужно на свое место положить (timestamp), можно ли массив разбить на количество вычислительных блоков видеокарты, типа давайте парни разгребайте?
888 503170
>>503166
лучше скажи че ты там делаешь, так как скорей всего ты маешься хуитой.
так то да, можно. например смотри - я заимплементил хитрую растеризацию на гпу.
но ты учитывай что перемещение данных на видеокарту и обратно само по себе требует время, так что если ты там собрался сотни мегабайт перемещать то я бы не советовал.

>>503145
слушай, ты какой-то отбитый. может все-же шарп сначала подучишь, туториалов там посмотришь?

>>503144
шутку про тролейбус из батона думаю мы все знаем.
889 503172
>>503144
хотя, а причем тут ЮНИТИ? графоний от 3d редактора зависит, блендер там , майя, а не от движка
890 503180
>>503170

>так как скорей всего ты маешься хуитой


Верно, вот есть такая хуйня, думал сделать расчет горизонтального объема торгов, 72 часа -300к элементов, 12 мб вес на харде, хз сколько в памяти. Пока просто интересуюсь, но в будущем, когда будет время и желание, хочется график как на пикрелейтед, с объемами и плавным ресайзом.
linq.png14 Кб, 580x398
891 503184
linq - зло
LinqToy.png77 Кб, 922x745
892 503188
>>503180
ну такое то особо без проблем. ты только учитывай то совать и изменять информацию довольно легко, а вот объединять и вытаскивать довольно трудно. потому что все происходит одновременно и синхронизировать проблемно.

>>503184
лол где эта хуйня, какое-то время назад тут поднимался интересный вопрос про формирование процедурных linq запросов. смотри как клево! ух! linq - благо!
но вообще что за хуйню ты понаписал то? чейто?
893 503189
>>503172

>графоний от 3d редактора зависит, блендер там , майя, а не от движка



От расчета света. А это шейдеры, которые хитровыебанно рендеряд твои материалы
894 503190
>>503188

>но вообще что за хуйню ты понаписал то? чейто?


поиск пути для робадов. ранее использовал тупо дейкстру(ибо надо было чего дебажить и нужны все доступные клетки для подсветки) теперь дошел уже до реальной реализации а в ней проблема с тем, что на поворот робада тоже тратятся очки движения.
первое выражение рекурсивно получает все возможные пути с учетом поворотов, второе из этого списка отсеивает только самые короткие.
path.png690 Кб, 789x610
895 503197
>>503190
its alive!
896 503205
>>503145
IEnumerator корутина должна возвращать. Не нумерейбл, а нумератор.
897 503207
Сап, никто кастомные едиторы для интерфейсов или листов интерфейсов не писал? Если есть у кого, или сцылочки на подходящие статейки - кидайте, с меня - как всегда
898 503208
>>503197
нихуя, как обычно перепутал плюс с минусом. но вот теперь то уже точно алайв
899 503209
>>503184

>var list = run_list.Select(i => i.coord).Distinct().Select(coord => new path_target{..}).ToList();


Да ты охуел. Мозг же сломаешь от количества точек.
900 503210
>>503209
потому и разбил на строки
зы. работает, даже посчитало что быстрее зделать шаг назад и потом повернуться чем идти напрямую через ландшафт
901 503290
Пацаны, как сделать так чтобы перемещался не сам объект, а только его камера?
902 503292
>>503290
ммм... ну не знаю... попробуй перемещать не сам объект а его камеру?
903 503293
>>502869

>чего на UE то не перекатишься?


Уеч не дает нормально кодить, мой комп начинает кипятиться.
904 503294
>>503292
Не работает, я делаю GetComponent<Camera>(), а он шайтан не реагирует.
906 503296
>>503290

> чтобы перемещался не сам объект, а только его камера


Если в этом вашем юнити есть локальные координаты, то тебе надо двигать локальные координаты камеры, которые локальны относительно родительского объекта.
907 503297
>>503296
Ебать ты умный братан, ты наверное умдурт?
909 503300
>>503297
Я ост-годот.
910 503301
>>503299
Ответ отрицательный.
911 503302
>>503300
Ты из питонов?
912 503304
>>503302
Нет, когда я пришёл на эти земли, народ питониан уже вымер. Не довелось с ними породниться.
913 503305
>>503304
На плюсах там можно кодить?
914 503307
>>503305
Можно, и на шарпе.
915 503309
>>503307
О, спасибо, пойду кочать.
image.png272 Кб, 1920x1080
916 503324
Пытаюсь реализовать перемещение камеры без поворота самого объекта. Почему-то хоть я и указываю локальные координаты, камера не поворачивается в родительском объекте, а поворачивает сам родительский объект. Аноны, вы знаете причину?
917 503330
>>503324
Пацаны, помогите, я обещал бате показать вечером работающий прототип.
918 503331
>>503330
блжад. у тебя камера компонентом на обьекте висит? ты ебанутый?
919 503332
>>503331
Точно, видимо это тупое решение. Тупые гайды с хабра, это все они суки
920 503335
Чтобы намертво закрепить камеру на определенном расстоянии надо скрипт писать или это предусмотрено штатными средствами как у UE?
921 503338
>>503335
Cinemachine в АссетСторе если тебе чекбоксы мышкой нажимать
922 503339
>>503338
Придется писать, лень качать ассеты.
923 503345
Как в юнити реализована коллаборация нескольких людей над одним проектом?
924 503349
>>503345
Хуевенько, говененько.
925 503351
>>503331
Спасибо за совет, все заработало, батя похвалил.
926 503355

>503345


как обычно - ставишь git/svn/что там тебе нравится, ставишь в юнити сохранять мета файлы текстом, заводишь репозиторий и впиред.

в платной версии там вроде есть что-то еще, но я особо не смотрел
1528340730394.png167 Кб, 634x769
927 503367
>>503355

>в платной версии там вроде есть что-то еще, но я особо не смотрел


ПОСМОТРИ!!!!
928 503368
>>503345
Внезапно сервисом Collaborate
929 503379
>>503367
этот мужик не из рекламы юнити курсов?
it-microsoft-github-pornhub-4512810.jpeg69 Кб, 700x848
930 503380
>>503367
зачем? меня вполне устраивает git с которым я работаю уже наверно лет 10
931 503398
>>503379
Да. Он меня бесит. Уебать охото.
932 503401
>>503380
Мне показалось, что у него на шее петля.
933 503409
Сделал скрипт движения камеры, но она предательски заваливает горизонт если двигать ее к углу. Блять
934 503410
>>503409
Пока писал понял как это решить можно.
935 503419
>>503410
Пацаны, не понял.
936 503420
>>503419
Чего непонятного, ты на пенёк сел?
937 503421
>>503420
У меня скрипт движения камеры заваливает горизонт, а нихуя не понятно почему.
938 503424
>>503421
Координаты.
939 503456
>>503305
Плюсы для пидорасов.
940 503458
>>503424
Что ты говоришь одно слово, как какой-то там мудрец в просветлении.
941 503459
>>503456
В школе много задали читать на лето?
942 503460
Где взять хорошие статейки по процедурной генерации ландшафта, лучше воксельного?
943 503468
>>503421

>У меня скрипт


А у нас только твои вскукареки.
Где твой говнокод, Светлейший?
944 503472
>>498593 (OP)

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


Проиграл что-то.
Пикрелейтед - вся суть юнити.
945 503478
>>503460
На ютубе.
946 503493
>>503472
У меня юнити вообще даже не установился.
485020819.jpg30 Кб, 612x406
947 503495
Unity бог вкатился, задавайте свои ответы, знаю всё алсо с#
948 503498
>>503495
как перестать угорать по linq и начать писать читабельный код?
949 503503
>>503498
linq не предназначен для выскогопроизводительного кода игр, тупая ты свинораха, это для продакшена с большими тимами где читабельность важна и кодомакаки меняются каждый день.

>linq


>в играх


>с реал-тайм бюджетом в 16ms



Впрочем, если ты делаешь говноВН или ты YandereDev (ему персонально можно) - тогда похуй, соси
950 503505
>>503503

>>с реал-тайм бюджетом в 16ms


А если таргетная платформа - это консоль, то можно?
951 503506
>>503495

>> Unity бог


пакажи праектики свои
UnityDataInsideNavmesh.webm261 Кб, webm,
1400x918, 0:10
952 503510
какую клевую хуйню сделал. возможность добавлять зоны не из словарика.
зоны теперь могут содержать в себе обжекты и возвращают их при поиске пути через них. агент сначала ломится к зеленому квадрату, видит что у него на пути какая-то хуйня, а хуйня ссылается на координату кнопки. когда агент заходит на кнопку то она переключает bool внутри обжекта который референсится при поиске пути. и тогда агент хопа и понимает что ему можно ходить по синей зоне и идет к зеленому квадрату.
абстрактненько. можно ведь любую хуиту сунуть которая будет появляться только при поиске пути через конкретно это место.

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

>>503293
лол а как же вижуальное погромирование?!
953 503513
>>503510

>лол а как же вижуальное погромирование?!


Я лучше буду писать на DirectX, чем ебаться с этими блупринтами.
image.png289 Кб, 1920x1080
954 503514
>>503468

>вскукареки


Спасибо.
Вот мой говнокодище.
955 503517
>>503495
>>503514
Заваливает камеру при движении в бок. В чем проблема, человек, который хорошо знает Unity?
956 503518
>>503510

>какую клевую хуйню сделал.


А мг бы игры делать
957 503521
>>503498
Презираю linq.
958 503541
>>498593 (OP)
Поцоны, хочу сделать управление на босе, чтоб игрок мог бегать(скользить) только вокруг оси боса. Но с одним условием, чтоб после того, как я отжимаю кнопки управления, игрок еще немного скользил по поверхности по этой же оси, собственно по этому RotateAround мне не подходит. Подскажите как такое реализовать?
image.png50 Кб, 471x490
959 503544
>>503541
Возможно по формуле
(x-a)^2 + (y-b)^2 = r^2
можно высчитывать местоположение игрока.
А инерцию наверное надо реализовать через определение ускорения игрока на момент отжатия кнопки и сделать передвижение по этому ускорению так, чтобы оно плавно стремилось к нулю.
1243336346.webm1 Мб, webm,
640x360, 0:12
960 503546
>>503544
Спасибо, я понял твой намек сделать через RotateAround и просто поменять gravity в InputManager
961 503556
>>503517
тут юнети не при чём. Так вращать всегда будет криво
962 503626
>>503518
как же их делать когда юнити не дает то что я хочу? приходится делать своё, а потом уже хватать все остальное. так то я бы с радостью.

>>503544
текущее положение вектора в радианах:
Mathf.Atan2(y, x)
963 503627
>>503626
ой не тот хоткей двач зачем ты так. продолжение:
прибавь к радианам сколько там тебе надо.
получи вектор обратно:
Vector2(Mathf.Cos(radian), Mathf.Sin(radian))
экзампл надо?
964 503718
image.png69 Кб, 998x700
965 503733
Почему у меня нету render pipelines, хотя версия юнити последняя.
966 503742
>>503733

> SRP Core

967 503776
>>503472
1000 и один способ сделать "по-другому", столкнувшись с юнитевскими багами. Понятное дело, что в здравом уме не стоит юзать юнет, а если хочешь гибкости, то сразу качаешь тмПро.
Просто такой подход, "не нравится что-то дефолтное, качаешь ассет или пишешь своё". Мне норм.
bandicam 2018-06-10 15-55-51-123.webm4,8 Мб, webm,
960x612, 0:42
968 503918
пора делать пушки, пушки сами себя не сдаеляют
969 503949
Пишу стратегию. Собираюсь сделать возможность выделять юниты мышкой. Я сделал эту функцию, но я не знаю каким образом ее отрисовывать. Создавать объект и рендерить что ли под область мышки?
970 503956
>>503949
1. проецированием если 3д
2. тупо спрайт под юнитом если 2д
971 504098
Кто-нибудь мне объяснит наконец-таки человеческим языком как исправить регулярно выплывающие ошибки в консоли "Refresh case sensivity failure" связаную с .meta файлами? Что за ? Что хочет от меня этот Юнити, что ему не нравится? Что на семерке, что на десятке одинаково парит мозги этой темой. В гугле ответы по этой теме какие-то унылые, не хачу такие. Хочу послушать вас.
972 504257

>Что хочет от меня этот Юнити


оно хочет что бы поудалял мусор из ассетс папки
973 504394
Анонасы, а можно в Юнити 2017-18 вернуть .net 2.0? (не субсет)

А то там только 3.5 и 4.6 а у меня дллка только 2.0 поддерживает (https://github.com/gkngkc/UnityStandaloneFileBrowser)
974 504415
>>504257
Так мусор сам Юнити и создает. Он создает какие-то служебные файлы к ассетам, которые я добавляю в проект и сам же на них бугуртит. -_-
975 504416
>>504394
А тебе обязательно самую новую версию Юнити юзать?
976 504427
>>504415
ты добавляешь левые файлы. (например винда добавляет Thumbs.db если в папке есть картинки) юнити создает к ним мету. потом левые файлы удаляются/меняются, юнити проебывает метаданные и начинает нести хуйню.
977 504428
>>504394
пересобрать либу под новый дотнет не вариант? там же вроде исходники есть
978 504456
Шоу "ебанутое поведение Юнити" снова в эфире! Функция UnloadSceneAsync может вернуть null (что в документации не сказано!) и из за этого говна мене прямо по середине выходных надо срочно ехать час в офис заниматься билдами в аппстор потом что дедлайн уже вот сегодня. Вместо того чтобы бухать как все нормальные люди.
979 504482
Что любой уважающий себя юнити-аристократ должен знать из математики? Как я понял, пока делал игру с катящимся шариком, векторы - это мастхев.
980 504483
>>504482
Где ты там в катящихся шариках вектора увидел? Там элементарщина же.
981 504501
>>504482
векторы мастхев для любого движения, безотносительно юнити
982 504519
>>504482
Что значит "знать"?
Линию пересечения двух плоскостей движения объектов, каждый из которых задан векторами position и velocity, нарисуешь?
983 504522
>>504456
Сам выбрал себе работу юнитимакаки у мобилкопидарасов.
984 504526
>>504522

>Сам выбрал себе работу юнитимакаки у мобилкопидарасов.


Но у юнити нет альтернатив, что поделать.
985 504533
Как сделать свой сорт оф логгер в игре выводить сообщение что хуйня нейм началась Но тут вопрсоа два, первый это как сделать для юнити обжектов, второй как выводить из класса без наследования от монгобихейвор?
986 504535
>>504533
Делаешь логгер синглтоном и из любого места дергаешь Logger.Instance.Print("ya pokakal")
987 504559
>>504522
Юнити безальтернативная, увы. Наличие возможности например купить готовые сплайны с редактором перевешивают все недостатки с точки зрения бизнеса. Я вообще год за Cocos2D в конторе топлю, уеч слишком велик для наших говноигрулек.
988 504563
>>504559
Можно подумать, у тебя кокос не будет хуйню делать. У меня, кстати, юнька работает отлично, все косяки, которые встречались, были только из-за моего кривого кода.
989 504568
>>504563
Я хотя бы могу узнать что именно он делает, а не работать с недокументированным чёрным ящиком. Ты не представляешь как в уече помогает доступ к исходному коду. Возникает вопрос - смотришь код - вопрос решается.

> У меня, кстати, юнька работает отлично, все косяки, которые встречались, были только из-за моего кривого кода.


Ну это пока. До тех пор пока ты не наткнулся на ещё одну функцию что ведёт себя не так как указано в документации.
990 504569
>>504535

> Синглетон


Буээээ.... Сильное связывание в своём худшем проявлении.
Прячешь логгер за интерфейсом и инжектишь его через DI.
>>504533
Debug.Log* не требует вызова из монобехевиора исключительно.
991 504593
>>504569

>Прячешь логгер за интерфейсом и инжектишь его через DI.


Спасибо за Урок, Учитель!
мимокрок
992 504617
>>504482
Тридегеометнию, линал, тервер, теорию графов.
993 504641
>>504568

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


Ну, так и посмотри

https://blogs.unity3d.com/2018/03/26/releasing-the-unity-c-source-code/
sage 994 504679
>>504641
Мальчик, ты вообще в курсе что это просто банальная прослойка между .NET и нативным кодом? И что UnloadSceneAsync уходит прямо в нативный код? Разумеется не в курсе, иначе бы не гнал хуйню.
995 504732
Анон, у меня есть класс Team в нем Enam TeamList и переменная TeamList teamList. Есть еще класс Unit и он должен знать какой команде принадлежит, и в зависимости от значения teamList по разному реагировать. Сначала подумал что у юнита может быть свой список команд и переменная в которой хранится значение его принадлежности , но как оказалось их нельзя сравнить, как это решить?
996 504734
>>504732
Enam? если ты про енум то его можно использовать снаружи через имя класса

public class A { public enum E { ...} }
public class B { public A.E e; }
997 504735
>>504734
зы. можно канешна еще кастовать енум к инт, но это хороший способ отстрелить ногу
998 504736
>>504734
так, а сравнивать как?
999 504737
>>504736
так и сравнивать
public class A { public enum E { e1, e2} }
public class B {
public A.E e;
public void Foo(){
if(e == A.E.e1) do_something();
else if(e == A.E.e2) do_somthing_other();}
}
1000 504738
>>504737
Хм, кажется понял, спасибо
1001 504751
>>504679
Живи дальше с этой болью
1002 504775
Прошел тутор с игрой про катящийся шарик, что делать дальше?
1003 504780
>>504775
Делать AAA Multiplayer rpg/action, сам скорее всего не справишься, по этому ищи команду на Gamedev.кг
1004 504785
>>504780
Раньше проходил какой-то тутор аля "СДЕЛАЙ ШУТЕР И СТАНЬ ОЛОЛО ГЕЙМДЕВЕЛОПЕРОМ С БОРОДОЙ С НУЛЯ", но как-то не особо пошло. Хочу в этот раз хорошо усвоить все основы и не торопиться, благо время есть.
1005 504854
float px1 = a1.x - b1.x;
float py1 = a1.y - b1.y;

float px2 = a2.x = b2.x;
float py2 = a2.y - b2.y;

2 часа мучений блжад. почему элементарное пересечение прямых блжад не считается. сука.
1006 504882
>>504854
У вас там отдельный кружок по корявому задаванию вопросов?
"Не считается" это как? Что выдаёт?
1007 504883
>>504775
Space Shooter, оттуда же.
intersect.png15 Кб, 742x409
1008 504886
>>504882
все уже считается, пост был отправлен уже по факту исправления. 2 часа мучений из-за = вместо -. хоть бы варнинг какой выдало
1009 504887
>>504886

>хоть бы варнинг какой выдало


вот же даун
bandicam 2018-06-14 18-23-29-763.webm1,9 Мб, webm,
960x612, 0:17
1010 504888
>>504887
я знаю. от этого горит еще сильнее.

зато у меня теперь есть отличный рейтрейсер на гексагональной сетке, который проверяет только len*2 гексов.
1011 504916
Как у плейна сводить альфу на ноль в том месте куда попадает луч? SetPixel, SetPixels очень фпс просаживают.
1012 504929
>>504916

> очень фпс просаживают


От одного плейна? Чёто сомневаюсь.
1013 504982
>>504929
Не сами SetPixel, SetPixels просаживают, а texture.Apply
1014 505061
Здарова, бандиты! Начал вкатываться в моделирование, хотел бы уточнить, сколько примерно faces, на одном экране, может вывести на 50-60 фпс современный нищий Xiaomi, ну например снапдрагон 430?
1015 505113
лол юнити что ты делаешь
TypeMismatch.png4 Кб, 472x57
1016 505115
>>505113
ах хоткеи двача интересно как их отключить лучше бы капча была
делал чтобы из текущей сцены сохранялся массив геймобжектов в скриптабл обжект. получился хуй. но лол юнити мне пытается что-то сказать и я не совсем понимаю что
1017 505116
чо
1018 505245
>>505115
она говрит "тип объекта неправильный", какого типа GameObjectLibrary и что ты пытаешься туды сунуть?
1019 505396
>>505245
лол да знаю я что он неправильный. на самом деле он правильный. он имеет тип геймобжекта и суется в него геймобжект и я его обратно получаю. но сериализацию оно разумеется не пережвает. просто этот обьект находится в проекте, а то что я пытаюсь в него сунуть находится в сцене. а юнити такое не делает.
image.png30 Кб, 561x255
1020 505418
Хуйнул примитивный логер для вывода сообщений, надо же смотреть когда с базы дозагрузится говно. Логер устрен элементарно, статическую функцию накидываю сообщений в лист, апдейтом лист обрабатывается. Ну норм вроде, а вот только как быть с несколькими потоками. Ну как обычно первое что в голвоу пришло это скидывать сообщения в потокобезопасный мешок и дерьгать оттуда. Может быть это неправильно?
1021 505457
Анон подскажи что нужно делать. Создал простенький шутер с мультиплеером на uNet, потестил на локалке, вроде все нормально работает. Что нужно сделать чтобы я мог хостить, а ко мне могли подключатся без локалки/хамачи, т.е. по IP? Кстати статический ip провайдер мне уже выдал
1022 505461
>>504888

>который проверяет только len*2 гексов


Невероятно полезно в пошаговой игре
1023 505462
>>504916
Шейдером.
14793670476690.jpg44 Кб, 768x1024
1024 505505
Покидайте идей как сделать реестр инстансов компонентов, ну или префабов чтобы можно было их в массиве перебирать. Причём нужно создавать несколько реестров для разных типов объектов (например разных типов юнитов).
FindObjectofType юзать не хочу так как он медленный. Вот если бы кеширование к нему прикрутить.
1025 505522
>>505505
Всё. Запилил.
1026 505644
Как звершить другие потоки когда закрыл парашу? Подписаться на Appplication.quiting ?
1027 505645
Всмысле не просто абортнуть, а чтоб они свои дела сворачивали.
1028 505673
>>505645
потоки через что запускаешь?
System.Threading? System.Tasks?
1029 505792
>>505673
Через Threading, с помощью Threadpool. На самом деле всего один поток пока что, который либо постепенно пишет в базу чтоб не превышать рейтлимит, либо извлекает пару лямов позиций. Я вот хз что будет если приложение снять через диспетчер, поток тоже умрет?
1030 505798
>>505792
да, поток умрет. если тебе нужно завершить его корректно - кидай треду с ним Interrupt() и лови ThreadInterruptException внутре
1031 528666
Может кто подскажет? Как сделать так чтобы текст на экран выводился побуквенно(с анимацией), весь гугл прочекал ничего толком не нашел.
arm64 Oreo 8.0 1032 532074
Help, намутил апк - на xiaomi с 8 ядерным хз чем и андроидом 8.1, запускается норм. На Sony с arm64 Snapdragon 835 MSM8998 под андроидом 8,0, не запускается, сразу ошибка. В настройках поставил галку на arm64, всё обновил - и Юнити от 12.10.2018 и в андроид студии все инструменты обновил и джаву. в гугле ответы только от 2017го года, где обещают завести поддержку arm64, а в нынещней юнити оно уже есть но не робит. ПОМОХИТЕ!!!
Тред утонул или удален.
Это копия, сохраненная 15 апреля 2019 года.

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

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