>>489744шапки для быдлаоффициальность убивает живое общение./gd/ для живого общения, а не для накопления и передачи знаний.есть вопросы - задавай их в треде!
Перекат уровня .Net 2.0 SubsetНо у меня вопрос: Чему у меня Debug.Log больше не показывает строчку где произошло событие? Из-за обновления или я дурак?
>>489744Пусть моча шапки в свой ньюфаг тред пишет, если ей очень этого хочется.Аноны сидящие в юнити-треде эту шапку все равно не читают.
Запилил поиск пути. Больше провозился с вытаскиванием данных из tilemap'ов. Документации по ним вообще нету.
куда шапку то проебали?ух. как же я заебался. уже долгое время переписываю рэйкастинг на навмеше в что-то более адекватное. чтобы вот фанси-шманси, чтобы проверялись только те еджи которые должны проверятся и столько сколько нужно. чтобы потом с его помощью нагородить хуйни в другом месте.и каждый день я находил как его поломать и как его починить. и ломал и чинил и ломал и чинил. и так пару недель. кажется, больше не ломается.я собой доволен.>>490087в тайлмапы то хуем потыкаешься и можно понять как работают. у юнити много другой отсутствующей интересной документации.хотя на мой вкус лучше ебануть свой собственный редактор и иметь собственное представление о тайлах, которые ты потом суешь юнити.
>>490441надеюсь скоро. перед новым годом у меня пиздец со здоровьем приключился, пришлось какое-то время вместо того чтобы код писать заниматся здоровьем. а потом пришлось начать запиливать фичу для навмеша которую у меня давно просили - локал авойденс. он мне и самому нужен был. сделал рабочий прототип, но потом залип на том как же мне связать его с навмешем. и с тех пор уже больше чем месяц страдаю с этой проблемой, вместо того чтобы делать игры. как доделаю локал авойденс то кстати планирую с одним мудаком запилить вдвоем что-нибудь клевое. у нас с ним давно крутится идея сделать что-нибудь с социальным ИИ. типа симулятора злого властелина где надо командовать миньонами из своей башни через диалоги, а потом смотреть с неё как они делают нихуя и звать стражу чтобы пошли и рабов палками побили.>>490513даже не знаю с чего начать. то как навмеш работает я пожалуй рассказывать не буду, но могу.конкретно рэйкастер работает примерно так: пользуясь немного нахуеверченным алгоритмом Брезенхэма который бы возвращал все квадраты которые пересекает float линия сначала растеризуются все эджи навмеша. когда делается луч то сначала находится нужная конвексная область откуда он пускается, потом чанк за чанком сначала делается отрезок находящийся внутри чанка, потом этот отрезок растеризуется тем-же алгоритмом, потом квадрат за квадратом проверяется каждый эдж на пути растеризации. если у эджа то откуда равно текущей области то проверяется пересекает ли луч этот эдж. если да то текущей областью становится область на другой стороне. и так пока либо эта хуйня достигнет лимитов по дистанции, либо пока эдж вместо области на другой стороне не будет содержать хуй, что значит что луч куда-то воткнулся. думаю картинка скажет о процессе достаточно. красными линиями грид, красными точками через что от грида проходит луч, синим какие эджи относятся к этой ячейке грида, зеленым путь конвексных областей, сине-зеленым то где случился переход в эту область. до меня по какой-то нелепой причине довольно долго доходило что если все линии описаны по часовой (или против), то если взять скалярное произведение -Y, X вектора этой линии и луча то можно узнать с какой стороны эта линия находится относительно луча и рэйкастить только дальние линии, а не писать хуиту чтобы отличать дальние линии от ближних. числа по краям эджа показывают это.
Что можете сказать по поводу nested prefabs?Лично я считаю что хуйня без задач, которая превратит проект в анал-карнавал из ебли с зависимостями, когда изменение в одном префабе тихо изменит половину проекта.
>>490583> месяц страдаю с этой проблемой> то чувство, когда ты ебанул поиск пути на клетках за 1 вечер
>>490649С клетками действительно всё гораздо проще делается. Задолбался делать переход из комнаты в комнату через двери для перемещения по навмешу.Зато получился инстурмент, который ещё пригодится
>>4906504 дня пилил процедурный генератор кристаллов, хотя мог бы их отмоделить за час. Болезнь программиста.
>>490673https://www.chiark.greenend.org.uk/~sgtatham/polyhedra/Взял точки на сфере, растолкал их итеративно, через каждую провел плоскость с нормалью "центр сферы - точка", посчитал пересечение плоскостей каждой с каждой, посчитал ближайшие пересечения, построил многоугольники, триангулировал. Выдохнул, налил, выпил. Закусил.
>>490677Не проще сделать простые 3д операции (bisect), и потом сделать скрипт который применяет эти операции к мешу
>>490679А то, это вам не ноды в блюпринтиках таскать, юнититжреад только хардкорное погромирование.>>490680Нет, наверное, если резать какой-то меш, он неоптимальный получится, потом еще вершинки оптимизировать.
Пупсики, перкатился на 2017.3.1f1 и чёт не понял. Вроде же обещали выпилить JS а вроде бы он всё ещё работает.Его ещё не выпилили окончательно?С какой версии выпилят?
>>490649поиск пути на клетках то и я максимум за час ебану! а тут пришлось городить хуйни, возвращатся к старому коду, переписывать, смотреть в потолок. боль. хотя месяц то я со всей проблемой целиком вожусь. с рэйкастингом может дней 7-10.суть то в том что надо быстро-быстро найти ближайшую точку к целевой в тени от границ навмеша. чтобы вектор движения был в стороне от препятствий. решений много и все плохие. нагородил много интересных вещей. получил пару интересных инструментов в процессе, починил мелкие баги.
Кто знает что за херня с Tile Palette происходит? Клеточки пустые, но если начать рисовать на сцене, то они рисуются спокойно, хотя на палитре не отображаются.
>>490729Ну и ещё такой момент - юнити ебали мне мозг, отключили мои ассеты в ассетсторе, мотивируя тем, что поддержка JS скоро будет прекращена.Я думал, что это как бы уже коснулось самого юнити, но, похоже что в 2017.3.1f1 JS ещё работает и в property release-ах я ничего не нашёл на эту тему.
>>490726Нихуянепонял. Какая тень от навмеша? Зачем тебе навмеш если уже есть клетки? Начни с постановки задачи блять, нихуя не понятно же.
Мне тоже помогает перезапуск, однако этот баг происходит почти после каждого изменения кода или не только кода. Ну и вообще неприятно так часто перезапускать.
Так ебана, продолжаю мучить канвасрендерерДопустим, мне нужно сначала нарисовать что-то с помощью канвасрендерера, а потом проверить, находится ли нарисованное за пределами какой-либо области и спрятать это. Маску сделать, то бишь. Стандартная маска вроде как не работает. Есть очевидное велосипедное решение - проверять, находится ли рисунок за пределами области и отъедать у вертексов и увишек рисунка столько, сколько ушло за пределы области. Должен же быть юнитовский способ попроще, нет?
Too many layers used to exclude objects from lighting. In deferred only up to 4 layers can be used simultaneously, scene would need 5.Ты чё блять юнити, ты чё блять сука?! Это мне нельзя иметь источник, который освещает только 1 слой если у меня больше 1.5 слоев в сцене? Деинсталирую нахуй эту парашу.
>>490793Ты ебаный шизик. Тебе уже сто раз сказали, рендери MeshRenderer'ом.Маска делается stencil'ом в шейдере.
>>490728юнити не делает то что я от него хочу. >>490791а в чем проблема то? и у юнити и у меня навмеш вполне можно создавать в процессе игры. даже думаю написать немного кода чтобы навмеш быстро-быстро строился с инпутом в виде грида. вон на 45 секунде показываю.https://youtu.be/tnDtjIocX1o?t=45
>>490801>Ты ебаный шизик.Я уже перестал это отрицать>Маска делается stencil'ом в шейдере.Звучит сложно, но ок. Шейдер же меняет цвета по какой-то схеме, разве мой очевидный велосипед не то же самое делает?
>>490804Там на самом деле очень просто. В одном шейдере пишешь что записать в стенсил, а в другом пишешь "если в стенсиле значение такое-то, то не рисовать". Ну и нужно учитывать еще порядок отрисовки (render queue)это делается там одной строчкой в заголовке. читай доки.
Правилен ли данный скрипт с точки зрения профессионала? using UnityEngine;using System.Collections;using UnityEngine.UI;namespace Nashet.UnityUIUtils{ [RequireComponent(typeof(Button))] public class HotKey : MonoBehaviour { [SerializeField] private KeyCode key; // Use this for initialization private Button button; void Start() { button = GetComponent<Button>(); } // Update is called once per frame void Update() { if (Input.GetKeyUp(key) && button.interactable) button.onClick.Invoke(); } }}
>>491039>[RequireComponent(typeof(Button))] да, добавление этого автоматически обозначает код профессионален
>>491039И в догонку - хотелось бы скрипт доработать чтобы он автоматом дописывал в tooltip что есть такой хоткей. Но вот как?Ясень пень добавляем [RequireComponent(typeof(ToolTipHandler))] и можно в продакшенНо вот текст тултипов у меня меняется, некоторые вручную при обновлении окна, некоторые - каждый фрейм.Получается, это надо отлавливать обновление тултипа и в конец дописывать что у него еще и хоткей есть..>>491041Ну не траль, я хочу работу найти
>>491053>Но вот текст тултипов у меня меняется, некоторые вручную при обновлении окна, некоторые - каждый фрейм.Отлавливай момент изменения, хуле. У меня который канвасрендерер ебал с этим делом проще, есть отдельные классы статов, которые обрабатывают указанные значения, и все значения для тултипов/кнопок/диалогов происходят из этих статов, т.е. статы это эдакая прокладка. Я там аж запилил неповторяющиеся рандомные листы при задаче массива значения, чтобы иконки для юнитов не повторялись.
>>491268неймспейсы нужны только если ты делаешь библиотеку, которую будут использовать другие пользователи.писать в своем коде неймспейсы это идиотия уровня объявления приватных переменных.
Как пофиксить?public double offset;"строка X": transform.position.x = ( X - Camera.main.transform.position.x )/offset + real_X;(строка X,35): error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.position'. Consider storing the value in a temporary variable(строка X,44): error CS0266: Cannot implicitly convert type `double' to `float'. An explicit conversion exists (are you missing a cast?)Я догадываюсь, что нужно где-то тут добавить new Vector3 но не понимаю шо куда, я только учусь.
>>491348Нельзя обращаться к полям структуры напрямуюtransform.position.x = ...Или пили новый вектор transform.position = new Vector3(...)Или следуй совету Consider storing the value in a temporary variableVector3 temp = transform.position;temp.x = ...;transform.position = temp;
>>491357> нинужна> размер командыОпределись уже, что тебе конкретно мешает не лепить остоебевшее всем одинаковое платформер-говно.
>>491398Трудозатраты на создание 3д такого же качества, как и 2д говнища при отсутствии навыка рисования меньше. Но ты даже не пробовал.
>>491402Я хуй знает как ты оцениваешь качество, но всратые спрайты всегда приятнее лоуполи с кривыми текстурами.
>>491417> 2к18> не уметь запечь нормали > не уметь скачать сабстенс и намазать красивую текстуру за 20 минут> продолжать лепить всратое пиксельное говноТы же необучаемый даун, застрявший в 2003. Впрочем, тут весь раздел такой.
>>491698скорее так.непонятно на чьем горбу такое говнище выбирается в свет.не устаю поражаться человеческой глупости.
>>491728зря ты так говоришь.я говно чувствую издалека и обхожу его за километр.поэтому я еще не играл ни в одну т.н. "инди" (по-русски говоря хуевую) игру
>>491780>поэтому я еще не играл ни в одну т.н. "инди" (по-русски говоря хуевую) игрувот этого удваиваю, индипетух не человек.причем, своё индиговно высирать нормально и даже почетно, но жрать чужое говно уже не оче
>>491802Ну конечно. Каждое предложение с новой строки, мелкобуква, отсутствие точки в конце последнего предложения.Старайся получше.
>>491698Ну это грофон так грофон, моё увожение.Всем гд перекатываемся на одноцветное лоуполи на однотонном фоне.>>491546Ты лучше нормали запекай, вместо самоподдува мантрами о чужом провале.
Сконвертил всё своё JS на C# юнитивским конвертером.На удивление ничего не сломалось, все вкрипты автоматически заменились на объектах и т.д.Но что это за странная конструкция "this" ?Встречается охулион раз, например:this.StartCoroutine this.FadeAudiothis.fadeTimeи т.д.И ещё вот такое не встречал раньше:public virtual void Update()
>>491909> Но что это за странная конструкция "this" ?https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/keywords/this
>>491909this это обращение к самому себе. можно же обращаться к объекту по ссылке, а this это обращение к самому себе.виртуальные функции могут иметь иную имплементацию в потомках класса.
>>491780Не устаю поражаться экспертам, которые за других решают, во что весело играть, а что говно. Страшно представить, что у тебя там в топ 10 висит. fun_is_a_buzzword.jpg>>491847Всем перекатываться незачем, но графон выполняет свою задачу, тем не менее.
>>491995Почему в этом итт тренде принято ненавидеть JS ?Он же прощает ошибки, писать намного проще и интуитивнее, написанное намного компактнее.Т.е. он очень хорошо подходит для швабодных художников, которые вкатываются в инди-эксперименты без знаний программирования.
Статистика, август 2017 :На сегодняшний день проанализированы все проекты, которые сделаны на Unity 5.6 (актуальная версия на момент анализа статистики).- 14,6% (от общего количества) проектов которые имеют по крайней мере один файл с расширением .js.14,6% звучат весьма внушительно, но затем мы проанализировали статистику более тщательно:- 85,4% (от общего количества) проектов которые полностью на C# скриптах, без JS.- 9,5% (от общего количества) проектов которые "сделаны в основном на C#" - т.е. у них есть некоторые файлы JS, но менее 10% от общего количества скриптов.- 1,5% (от общего количества) проектов содержат от 10% до 20% кода в JS.- 3,6% (от общего количества) проектов содержат более 20% кода в JS.- 0,8% (от общего количества) проектов сделаны исключительно (т.е. на 100%) на JS.
Поясните за mixamo. Стоет ли связыватся с этими пидорами?Магазин дропнули, фичу паки собирать дропнули
Где можно посмотреть на примеры реализации контекстного меню при клике мышью на какие-нибудь объекты?
>>492056Поэтому я и спрашиваю, как сделать контекстное меню, чтобы у меня были все необходимые навыки для создания игры
Как лучше назвать папку/неймспейс, в котором расположена непосредственна логика игры? Там, где внутри Player, Weapon, Inventory, вот это всё.InGame, Mechanics, Gameplay, Core или просто Game(хотя все скрипты и есть Гейм)?
>>492144Бросай Юнити. Это выглядит стрёмно как бы ты ни старался. Рендерит движок говнисто. Сам посмотри со стороны.
Попытался сделать волны через _Time и охуел. В Бнити эта встроенная переменная в шейдере абсолютно, нахуй, бесполезна, потому что она теряет точность через минуту и анимация превращается в пиздец. Бнити блять, просто пиздец.
>>492231Лол, в менеджед части там нет НИХУЯ. Собственноручно делал декомпил ilspy`ем и перекомпил с изменениями чтобы сделать тестовую среду без графики. Весь движок в нейтив части. Но пиар ход неплохой, дауны схавают.
>>492235А что тебе нужно? Просто документации по скриптам редактора, например, нет и не будет. Единственный способ сделать какой-то нестандартный редактор с разными фичами - это дизассемблировать код и смотреть как сделаны дефолтные в юнити редакторы.С исходниками и комментариями это будет проще.
Допустим у меня игра поделена к экраны.Как это лучше всего сделать.Самый простой вариант: сразу загрузить всю карту и просто двигать камеру. Тогда возникает вопрос, как выключать неактивные объекты. Например, нет смысла обновлять все 1000 врагов на всех экранах сразу.Второй вариант, это удалять и создавать только несколько экранов вокруг игрока. Это гемморойный способ.
>>492266Да, это простое решение. Но оно не гибкое. Например, может понадобиться ситуация, когда объекты могут перемещаться между экранами.>>492267Ты предлагаешь прочитать всю книжку? Если там есть ответ, то скажи его.
>>492270>Да, это простое решение. Но оно не гибкое. Например, может понадобиться ситуация, когда объекты могут перемещаться между экранами.Тогда пиши свое.
>>492270Не та книга ошибся.Вот эта книга страница 172Торн А. - Искусство создания сценариев в Unity - 2016
Хелп.Надо в юньку воткнуть гифку, кучу гифок. И критична поддержка в вебгл. Просматривая гугл пришел к выводу, что юнити живет в 3018 и о гифе не слышала. Как блядь это сделать?
>>492477чего спиздил? мне дали около 20 готовых гифок от художников, теперь их втыкать надо, а тут вот сюрприз - могу только хуй себе за щеку воткнуть.
>>492478а, извиняюсь, попутал.крч у фш есть экспорт гифок в .png, пользуйся.и да, юнети не может в гиф, тебе придется смириться.
>>492505Юнити недавно выложили C# исходники движка для референса, и кто-то пофиксил старый баг, понижающий производительность, который сами юнити-разрабы не хотели/не знали как пофиксить. Он сделал пул-реквест, но по юридическим причинам они их не принимают. Один из разрабов там потусовался в комментах и пообещал передать специально обученным людям, что этот баг оказывается можно исправить. Ну и в конечном итоге его исправили.
>>492508> Юнити недавно выложили C# исходники движка для референсаВот это новость! Какие прекрасные вещи конкуренция животворящая творит.
>>492260лол у тебя же 2д говно. найди границы экрана и проверяй для каждой группы объектов находятся ли его границы в ганицах экрана. 4 числа сравнить между собой то уж компьютор сможет быстро.>>492535лол они их давным давно выложили, просто новое докинули.
Думал слаать веб запросы через корутины , но короч наловился хуев в рот, то джейсон ломает, то пустое сообщение, вроде изьебнулся вчера, но сегодян не рабоает. Оставлю пока с трудпулом и локами. Поясните за джоб систем, хуй знает что это такое, но вроде круто.
Ебусь с канвасрендерером, хотя на самом деле не очень-тоБыстрый вопрос: как называется шейдер из базового набора юнити, который используется для картинок? Для текста есть GUI/Text Shader, а для этой хуйни что? Просто как-то не комильфо, когда всё чёрное, лул.
Посоны, вот есть у меня трёхмерный мудила, который ходит по локации. На мудиле висит скрипт с контроллером движения. Ну там чтоб ходил, крутился, анимировался, вся хуйня.Есть камера, которая летает за мудилой, позволяет вокруг него крутиться, облетает препятствия чтоб в текстурки не улететь и так далее. Этот скрипт висит на камере.Само собой, в скрипт камеры передаётся трансформ самого мудилы, чтоб камера могла за ним следить.И вот стало мне нужно в скрипт перемещения мудилы передать камеру для кое-каких вычислений. Итого получается у меня оба скрипта друг с другом постоянно обмениваются данными.Правильно ли будет всё это объединить в один скрипт? Один хуй он пересекаются. Или же мухи отдельно, котлеты отдельно?Как тру-папки делают в такой ситуации?
>>492583ты же понимаешь что все это зависит от множества нюансов и мы их не знаем? сделай так, сделай сяк. пять минут код копипастить.лучше давай рассказывай что там камера думает, может ты хуйню камере даешь.
>>492590> лучше давай рассказывай что там камера думаетЛетает за персонажем, крутится вокруг него если мышкой вертишь, немного прижимается к нему если между персонажем и камерой какое-то препятствие (чтоб в текстуре не утонуть), как только препятствие исчезло - возвращается на прежнее расстояние.Это то, что в скрипте камеры.А нахуя мне её передавать в скрипт персонажа - потому что хочу чтоб в зависимости от поворота камеры персонаж тоже поворачивался. То есть, условно, я зажимаю W, персонаж идёт прямо, и я дальше только мышкой поворачиваю и сам персонаж тоже поворачивает.И чтоб его повернуть куда надо - нужно знать позицию камеры.
Пацаны, вот жму плей и жду сек 5, заебало, а то и 10, а как понять что оно там грузит и вообще где ботлнек? Процессор не загружен.
>>492668по моему ты не можешь. пробовал наверно пол года назад. знаю что можно совать новые через https://docs.unity3d.com/ScriptReference/Animations.BlendTree.AddChild.html где можно ставить трешхолд как хочется, но вроде там не дают модифицировать ChildMotion как хочется.
>>492683ну ты поинвестигируй, я то так, уделил этому минут 40-50 наверно. https://github.com/jameslinden/unity-decompiled/blob/master/UnityEditor/UnityEditor/Animations/BlendTree.cs вон почитай, может найдешь че.вообще в аниматоре довольно много мест которые вот черная коробка. помню пытался расковырять бленд три, но хуй там был. проще было на коленке сделать что-то что к юнити отношения не имеет.собственно юнити дает множество инструментов для бленда анимаций, так что всегда можешь свой велосипед сделать.
>>492691Да мне вообще и надо было чтоб параметр в блэндтри менял значение через Mathf.LerpОно-то в одну строчку делается, но мне надо в трэшхолды передавать значения из полей класса. Чтоб было откуда и докуда разгоняться.Но походу придётся просто в трэшхолдах поставить флажки в 0 и 1, а разгонять через лерп значений из полей.Уже постестил, вполне работает. Не совсем красиво, но что поделать.
>>492694> Не совсем красиво, но что поделать.а в чем именно разница-то? должно на выходе быть то же самое
>>492583Нинадо, подумой. Люди специально делят на файлы а ты в один сливать собрался>>492615Профайлер все показывает, даже твою мамку и редактор (потом падает от нехватки памяти)
>>492696> а в чем именно разница-то?Ну смотри.Вот у меня есть точки в трэшхолде 0 и 1. И чтоб их лерпить - мне надо именно прописывать "0" и "1". То есть магические числа получаются.А так я бы лерпил от "treshold (0)" до "treshold (1)".Ну ты понел.
>>492705Само собой. Но мне же нужно знать границы, чтоб не залерпить больше верхнего трэшхолда.Например, в дереве трэшхолды просчитаны автоматом и стоят, к примеру, 0.157 и 5.678И как мне их получить?То-то и оно.
>>492708Ты что то совсем не туда плывёшь. Ставишь в дереве трешхолды [0,1] и отражаешь значение в этот отрезок.
>>492710>отражаешь значение в этот отрезокдумаю, он не разобрался в матане.по сути, анон, тебе нужно всего лишь НОРМАЛИЗИРОВАТЬ свой параметр. это элементарно. расписывать?
>>492710> Ставишь в дереве трешхолды [0,1]Ну блин, ну читай же ты внимательнее.>>492699> То есть магические числа получаютсяА я хочу в трэшхолды прописывать значения прямо из своего класса.
>>492715братан, столько постов ради трех строчек.float spd; //текущая скоростьfloat spdMax; //макс скоростьfloat spdMin; //мин скоростьfloat spdAnim = (spd - spdMin) / (spdMax - spdMin);anim.setFloat("speed", spdAnim);
>>492719Братишка, это всё понятно.Но мне надо или устанавливать трэшхолды, или же их получать. Я не хочу каждой анимации ручками прописывать её трэшхолды и соответствующие лерпы, понимаешь?
>>492731тебе так или иначе пришлось бы указывать соответствующие границы в блендспейсах. но, как выяснилось, прямое изменение границ через код невозможно, а значит придется выкручиваться своими силами. так что я бы на твоем месте просто установил все блендспейсы в 0..1, а потом использовал сточки выше для передачи своего значения.я так понял у тебя ситуация потипу "есть анимка с стою-бегу, но игрок может купить апгрейды на максимальную скорость бега". ну вот такие задачи решаются примерно моим методом.а еще я не понял зачем тебе нужен лерп — с ним же еще больше ебаться чем с математической пропорцией.
>>492737> я так понял у тебя ситуация потипу "есть анимка с стою-бегу, но игрок может купить апгрейды на максимальную скорость бега"Примерно так, да.> а еще я не понял зачем тебе нужен лерпЧтоб не сразу по нажатию шифта ОХ ЕБАТЬ МАМ СМОТРИ Я БЕГУ БЕЗ РУК, а как бы с разгоном.>>492744Можно, конечно, и ручками, я просто интересуюсь можно ли прямо через код трэшхолдами рулить. Но похоже что нельзя.
>>492852Шапочку из фольги одень еще, довн. Твои данные давно у всех есть, начиная от гугла заканчивая анб через дыры в твоем интеле.
>>492868Я именно про "вкатывание" в юнити. Все туториалы, которые по 2д видел, уже подразумевают какой-то багаж знаний, не смог найти те самые "с нуля".
>>492870Рекомендую тебе те туториалы, которые надо не смотреть, а читать. Ютуб, конечно хорошо, но не ютубом единым, как говорится...Если от тебя ускользает смысл туториала, который смотришь/читаешь - переходи к изучению основ.
>>492870Даже любопытно, на чем ты решил забить на 2D. Вроде на одну ось меньше, сиди квадратики вместо кубов двигай, необязательно уметь в 3D мышление в плане дизайна локаций.
>>492936Бля, да дело в том, что туторы на 2д, наверное, подразумевают, что я с 3д и вообще юнити уже работал, поэтому многое, для совсем начинающих, не объясняют.
>>492940как по мне так похуй с какого конца заходить. лучше вырази конкретно что там у тебя не получилось.
Профессионалы, а как к физике подступиться? Хочу побаловаться с физикой, но не знаю, как начать. Как, хотяб, фиксед джоинт реализовать? Или пружину?
>>493021не стоит писать велосипеды для физона. у этого болота дно палкой не найдешь.но если хочется то попизди ассеты https://assetstore.unity.com/categories/tools/physics почитай их код.
>>493022Да мне так, для развлечения. Я ж не собираюсь физон перепиливать. Посодомирую кубами и дропну.Спасибо, как я сам спиздить не догадался.
Интересное про открытый мир, кастомную траву без тормозов и всякое другое https://youtu.be/KJ56UGClpUE
>>493027Ты недооцениваешь мощь тянок. Они даже команды собирают.https://www.youtube.com/watch?v=CACmBA0qKFU
>>493025> мы хотели всё запихнуть в одну сцену, но в юньке так нельзя, так что пришлось костылить> мы накостылили и разбили город на три сцены, но надо чтоб объекты из одной сцены обращались к объектам из другой сцены, а в юньке так нельзя, поэтому мы ещё накостылили> мы всё накостылили, но нам нужен стриминг, а в юнити его нет, так что мы ещё накостылили> а ещё мы написали свою компонентную систем, свой менеджер и свой сериализатор, и мы не используем апдейт и вообще не используем монобехэвиор Что они там говорили про выбор движка когда только начинали проект? Что-от про удобство, да.
>>493050Причём тут "похвастайся"? Я просто говорю что с движком они явно проебались, не подходит он для таких задач.
Узнал, что Unity входит в Fair Play Alliance, оказывается, ололо.То есть они могут забанить твой юнити-аккаунт, если ты назвал кого-то ниггером в дискорде. Да, профессиональный аккаунт за тыщи баксов тоже могут забанить.
>>493079Делается без проблем, но игру на уече не сделать. Короче выбираешь между открытым миром и игрой.
>>4930794 квадратных километра (а в видео говорится именно о такой площади) в уече развернётся без проблем. Здоровенный, типа скайрима, уже хуй.Ты видео посмотри, они там нахуевертили такого, что у них проект 8 минут запускается.Выбрали юньку, после чего переделали её чуть ли не полностью.Ещё вопрос что было бы быстрее - написать свой движок или пилить напильником юньку.
>>493083В твоём манямирке может быть и так, а в реальном мире тем временем в топе продаж и стима, и псстора висит игра с открытым миром на уече.
>>493084>написать свой движокЛол, ты же понимаешь что движок пишут годами, вот тот же Xenko open source проект пилят 4 года и никак допилить не могут.Короче говоря у тебя нет таких квалифицированых трудовых и денежных ресурсов, чтобы запилить что то более менее внятное.
>>493091Да в принципе у айспиков есть свой движок, см. первый Мор и Тургор. Но, видимо, взять Юнити оказалось проще, чем довести свое до ума.
>>493062> с движком они явно проебались> проект 8 минут запускается> поделие уровня мора> 8 минутДвижок тут нипричем, просто у них программисты - какие-то дауны. Впрочем, это понятно, если у них тянки программируют.
>>493094>если у них тянки программируютИз за левацкой идеологии сами же пострадают, продвигать людей на должность не по професиональному признаку а по тому чтобы было социально равенство, но как мы знаем равенства не бывает, и бизнес будет расплачиватся убытками а спецы будут уходить в другие компании где нету левацкой идеологии.
>>493096>другие компании где нету левацкой идеологииЛеваки закидают эти компании исками и всё равно обанкротят.
>>493037> Что они там говорили про выбор движка когда только начинали проект? Что-от про удобство, да.Эх, насколько же ты еще юн, неопытен и глуп. Если они доделали проект - значит, движок был более, чем удобен. А твое описание техпроцесса соответствует разработке чуть менее, чем всех програмных продуктов. В реальности все именно так и происходит. У всех.
>>493103Покостылять несколько лет и выпустить игру, выглядящую так, как будто ей лет 10-15 - это может и такое, но лучше, чем не выпустить ничего.
>>493037>всё запихнуть в одну сцену>накостылилиСобственно, похуй на этих тянок. Обесните ньюфагу в геймдевелопинге, как сделать открытый мир, чтобы значит, огромная территория с горами и лесами отобразалась как distantland, низкополигонально?Я для себя набросал такой алгоритм:Есть одна сцена с глобальным террейном, она не содержит в себе скриптов, загружается быстро, в оперативке висит как влитой, синглтон. По мере приближения по карте, вокруг игрока загружаются интерактивные области (чанки? локации?) по мере удаления выгружаются. В этих интерактивных областях террейн уточняется, добавляются камни, трава, пропсы, акторы, скрипты добавляющие интерактив. Интерьерные локации (ещё более нагруженные контентом по формуле: 1 интерьерная = 4-6 экстерьерным) не загружаются автоматически. Они загружаются через хитрый механизм подгрузки, спрятанный в анимацию открытия дверей, если точнее, ты подходишь к двери, она закрыта, т начинаешь вскрывать замок, игра забирает контроль над камерой, запускает анимацию открытия или миниигру взлома и включает подгрузку локации. Затем, когда интерьер загружен, проигрывается анимация входа в локацию, при этом, если ты отойдешь на определенное расстояние от двери, она автоматически закрывается и сборщик мусора выгружает экстерьеры за дверью. Если у интерьера есть окна, там на стекла наложен эффект размытия отображающий дистантлэнд.Правильно ли я считаю?
>>493108> Покостылять несколько лет и выпустить игру, выглядящую так, как будто ей лет 10-15Бля, это мой случай.
>>493100>Леваки закидают эти компании исками и всё равно обанкротят.Не у всех странах европы есть такие законы.
>>493117Какая из них:https://ru.wikipedia.org/wiki/Ice-Pick_LodgeТы тупой ЧСВшный свинорыл, пока свою игру не запостишь, дабы было чем свой базар обосновать - нахуй иди.
>>493120Пусть сначала сами добьются. Первую игру делали из говна и палок на собственном движке и как-то получилось. А теперь и движок готовый и издатель не давит и бабла на кикстартере собрали больше чем хотели, а воз и ныне там.>>493121> Какая из нихЭммм. Перезапуск Мора, не?
>>493037> мы хотели всё запихнуть в одну сцену, но в юньке так нельзя, так что пришлось костылить> но надо чтоб объекты из одной сцены обращались к объектам из другой сцены, а в юньке так нельзя, У меня программист решил это так (на Юнити офк) - запихнул несколько сцен в отключаемые перфабы а их - в одну сцену, это 2Д.Скажите, это совсем пиздецовое решение или нормально? Какие подводные камни?Мы пока эксперементируем с таким решением, поэтому пока не поздно переделать.
>>493127Части цены можно в префабы и подгружать.Сообщение между объектами можно на ScribtableObject организовать.
>>493094> у них программисты - какие-то дауныНе только програмисты.Судя по демке, они даже ЛОДы не сделали.
>>493127Одна сцена это абсолютно нормально. сделал игру с открытым миром так, вторая сцена на жкран боя
>>493127Ну у них проблема была в том, что город слишком большой для одной сцены. Дохуя объектов (мебель там, травон, пыль на рояле, мандавошки), большая площадь, все дела. У вас в 2Д вряд ли такие же объёмы.
>>493129>>493123Слился.Вот когда ты придешь с пруфами, что ты в бизнесе как минимум вполовину срока IPL, и выпустил хотя бы половину игр - тогда тебя буду слушать.А пока обоссал тупую свинораху, голосовавшую за путенга.Впрочем, мы все 8-ом прекрасно понимаем, что ты сдохнешь один в своей коммуналке даже на порог GDC не ступив.
>>493109>Обесните ньюфагу в геймдевелопинге, как сделать открытый мирСоздаешь Terrain, настраиваешь размеры и размещаешь объекты. Все.
>>493136>Все.В смысле, "всё он будет грузиться 20 минут и вылетит на десктоп"?Ты вообще внимательно читал пост?
Что думаете насчёт этого движка https://xenko.com/features/?Может он быть альтернативой юнити? Исходники открыты и написаны на C#. Можно использовать последнею версию шарпа для написания кода игры. Есть вложенные префабы, которые юнитеки до сих пор не могут запилить.
>>493134> все 8-омВсем восьмым классом? Понятно, ну, смотреть в рот с восхищением любому ебанату на сцене в этом возрасте - это норма. Вырастешь еще.
>>493134Порашный даун, пока ты итт усераешься анонимными вскукореками, ты ни чем не лучше дебила сверху.
>>493139>В смысле, "всё он будет грузиться 20 минут и вылетит на десктоп"?Схуяле? Ты проверял? Там есть внутренние механизмы оптимизации? oculus culling тот же, и использование функций OnBecameInvisible и OnBecameVisible.
>>493141Он не развивается. https://trello.com/b/FwbjOjjB/xenko-roadmap последняя карточка 28 июня 2017
>>493149Охуенно!Любую часть открытого мира можно легко и непринужденно подгружать двумя строчками кода при наведении на её местоположение камерой и так же легко выгружать.Приходите к нам в годотред. У нас есть печеньки.Бросьте эту вредную привычку ебаться с префабами в префабах.
Почему такой быстрый постинг, неужели весенние обострение? Признавайтесь кириллы, сколько раз нажали New Project за этот месяц?
>>493160Допустим, у тебя есть префабы домиков. Внутри них ты используешь сундучки. Вдруг ты захотел изменить сундучок. Тебе придётся лезть в каждый их домиков и обновлять сундучок. А если бы сундучок был префабом, то тебе нужно было бы обновить всего 1 префаб.
>>493153>годот, слишком сыройЭто было актуально год назад. Сейчас там всё охуенно! Ну ладно, многое охуенно, не всё.Римейк Мора можно написать в годо за пару ночей.
>>493168> Римейк Мора можно написать в годо за пару ночейА вторую ночь что делать? Я ремейк Мора за полтора часа пишу.
>>493167> Вдруг ты захотел изменить сундучок. Тебе придётся лезть в каждый их домиков и обновлять сундучокЗачем, если можно открыть префаб домика и изменить в нём сундук?
>>493167Пиздец, какая удобная технология! [САРКАЗМ]В движке здорового человека... а ну да. Всё так же. Извиняюсь. Сарказм отменён.
>>493174Бесплатно тебе что-то показывать? Годотобоги пишут три-четыре игры за то время, что я потрачу чтоб тебе что-то показать. Настолько там всё пиздато.
>>493181> У тебя несколько домиковТипа несколько разных префабов домика, в которых используется одинаковый сундук? Ну да, тогда имеет смысл.Правда я думал что можно разместить префаб внутри префаба и так. Можно же из Resources просто подтянуть что надо.
>>493185> годотобоги не визывались написатьЧего чего?>>493168> Римейк Мора можно написать в годо за пару ночей.
>>493184Что ты имеешь против прототипирования? Прототипичный куб заменяется на модельку вообще без единой строчки кода.
У меня ещё такой пример - нпч в перфабе, а у него вместо руки дрель вертится, например.Отдельная анимация для пнч и дрели, поэтому дрель (или разные её варианты) тоже в перфабе.Так вот и получается - перфаб в перфабе.
>>493188В годоте то? Без единой строчки кода? Они нормальную совместимость со своим же плагином для блендера не могут добиться уже 2 года. То нормали проебутся, то распидорасит все. Про анимации я вообще молчу.
>>493164Конечно же ноль, я архитектуру одного и того же проекта мусолю. Чтобы было ОПТИМИЗИРОВАНО.На самом деле я просто вспомнил про свою любимую ферму-дрочильню и понеслось.
>>493164> сколько раз нажали New Project за этот месяц?Два. Один доделал, второй удалил через пол часа, передумал лепить никому ненужную хуйню. Хотя и первый никому не нужен, потому что клон однокнопочной хуйни, которой уже не один десяток лет, просто интересно было повторить
>>493186Что за гамиво в вебмке?Ну а вообще, по OnTrigger забирай управление у перса и начиная двигать камеру плавно *% от скорости перса.
>>493212void OnTriggerEnter(Collider Oldshcool) {if (Oldshcool.gameObject.tag == "Oldshcool"){Snyat_Shlyapoo(Shlyapa.gameObject);}}
>>493218Его не пердорасит. Просто тупо разработчик делает паузы зачем-то и все объекты замирают на месте.
>>493207>Что за гамиво в вебмке?Konosuba>Ну а вообще, по OnTrigger забирай управление у перса и начиная двигать камеру плавно *% от скорости перса.Ок, понятно. А как сделать чтобы камера "упиралась" в край комнаты, если по умолчанию она следует за игроком?
>>493221Так это же азы dead zone в по-экранной 2Д хуйне, анон. Гуглиться на раз-два, тот же полупидар выебистый Brackey делал видосы на тему. Ну или можешь Cinemachine2D использовать, у них там тутор есть.
>>493133Но ведь не обязательно их всех сразу подгружать же.Тем более не обязательно дом, мебель и людей в нём обязательно пихать в одну сцену. Надо тебе чтобы какой то объект из непрогруженной сцены общался с прогруженными - прогрузи только его.Зачем тебе грузить всю площадь, чтобы находящийся на ней торговец чебуреками мог кричать рекламные лозунги в соседнюю локацию?
>>493232>какой то объект из непрогруженной сцены общался с прогруженными - прогрузи только его.Да и даже этого не нужно, модель объекта повесь scriptable object или аналог и при активации объекта просто реализуй интерфейс загрузки текущего состояния.
>>493215>Snyat_Shlyapoo(Shlyapa.gameObject);>>493226>Мы вам перезвонимДа этой ебаной даунской макаке из >>493215 никто никогда не перезванивал. Уверен, даже до собеседования не доходила. Таких по ебалу видно.
>When a GameObject is rotated, the blue arrow representing the Z axis of the GameObject also changes direction. Не понимаю, на какую систему координат смотреть нужно. У GameObject и Transorm разные системы координат или как?
>>493312ну так локальная система вращается.То есть, вот ты резетишь transform объекта и он алайгниться с глобальной системой. И его Z совпадает с Z глобальной, значит движение вперед по Z будет совпадать. Ты его повернешь по Y и Z повернется и движение вперед по Z будет отличаться от Z глобальной.
>>493315То есть, в Position хранится положение начала локальной системы отсчёта относительно более глобальной системы, а в Rotation – просто вращение локальной?
В редакторе есть слайдеры, которые позволяют указывать какой-то перечень значений? Типа, в значениях от 0 до 100, выбрать все от 10 до 30 и т.п?
>>493331А где?Ну серьезно, я даже не знаю, как это загуглить. Выдает только "как заставить слайдер прыгать между конкретными значениями".
>>493320Это что ли https://unity3d.com/ru/learn/tutorials/topics/tips/show-public-variables-sliders-rangemin-max
>>493336Не, обычными слайдерами я и так пользуясь. А хочется выбирать диапазон значений, а не одно конкретное.Ну хуй с ним, допишу valueMin и valueMax, потом может найду костыль.
>>493393Пост полностью не осилил, да? Вопрос был в том, как в слайдере задать диапазон внутри собственного диапазона.
>>493320Где-то тут искать нужно, наверное. https://docs.unity3d.com/ScriptReference/EditorGUI.MinMaxSlider.html
>>493405> Юнити тред> вопрос по работе редактора Юнити> "Ой, иди нахуй, дебич, мы за тебя игру писать не будем".Я же тут исходники под Марио не прошу прислать, лол.
>>493320https://docs.unity3d.com/ScriptReference/EditorGUILayout.MinMaxSlider.htmlа сам чего найти то не смог
>>493470>>493398Да я даже не понял, как он называется.Спасибо, аноны, осталось только игру сделать перестать распиздяйствовать хотя бы на день.
>>489738 (OP)Всем привет. не понимаю как решить следующую задачу: необходимо, чтобы нажатие клавиш на клавиатуре было последовательным, т.е., к примеру, я нажимаю клавишу A - затем я должен нажать на D. И так каждый раз при нажатии A или D исполняется код. Но если я собьюсь с последовательности и два раза нажму на D или A - исполняется другой код. Момент нажатия клавиши отслеживается функцией Input.GetKeyDown(KeyCode.D).
>>493528Queue<KeyCode> nazhatieKnopki, при каждом нажатии пушишь клавишу в очередь (заодно проверяешь нажатую перед ним клавишу) и запускаешь какую-нибудь корутину которая удаляет клавиши через секунду чтоб твое комбо надо было нащелкивать быстро а не просто так нажимать.
>>493528Заводишь списокList<KeyCode> pressedKeys = new List<KeyCode>();При нажатии делаешь pressedKeys.Add(keyCode);CheckSequence();CheckSequence проверяет весь список pressedKeys целиком каждый раз и сравнивает - не совпало ли с AD, DDA? Совпало? Очищаем pressedKeys, запускаем спелл или что там и тебя. Не совпало и в списке больше 3 кнопок? Очищаем.Вообще условие очистки и проверки списка зависит от твоей реализации, что будет если я нажму AAD? Сработает ли AD?
>>493540Почему, если тебе надо сравнивать целиком список поэлементно или его часть, не меняя его - то List, конечно. Нахрен очередь тут не нужна.
>>493553Ага, блять, заебись. Ригидбоди равны оказались. Тогда почему> parent_rb = GetComponentInParent<Rigidbody> ();возвращает мне ригидбоди с самого себя?
>>493553А теперь почемут под действием гравитации дочерний куб вниз плывёт. Разве он не должен намертво закрепиться за родителем?
>>493555все правильно. такая конструкция полезнее.если надо только с парента пишешь transform.parent.GetComponentInParentв противном случае код получения и себя и с парента был бы сильно усложнен
>>493525Хуйню непонятную написал. Тебе нужно что-то типа комбо реализовать? Вообще, смотри Input.inputString
>>493533>>493534>>493535всем спасибо. весь вечер мучался со списками, никак не получалось нормально сравнивать элементы. в итоге пришло в голову записывать в строку и искать ненужную мне комбинацию там. работает. доволен как слон. https://pastebin.com/Q7sK84uy
Чуваки, есть норм туториалы по скриптам, которые объяснят их особенности? Си шарп и так знаю, а когда нужно свою механику придумать, то путаюсь.
>>493440А ты попроси! На двоще все твои друзьяПо теме: то, что ты хочешь сделать, можно сделать более изящно, практично и понятно
>>493594Ну типа как скрипты работают, если я сделаю их у нескольких объектов, как из одного скрипта обратится к переменным другого и тд.
Скажите пожалуйста блядь, можно ли в юнити-хуюнити двигать модели хоткеями, как в блендере? Заебало это гизмо управление дебильное для инвалидов блядь.
>>493606Найс блендеропетуху жопу порвало, это сколько же ты напиздил ассетов что не хватает терпения расставить их по сцене>>493597>Седмеседж)
>>493600> Ну типа как скрипты работают, если я сделаю их у нескольких объектов,Ну если ты один и тот же скрипт вращения по часовой навесишь на 3 куба, у тебя просто будут вращаться 3 куба.> как из одного скрипта обратится к переменным другого и тд.public CustomComponent yoba;Либо мышкой в поле перетаскиваешь конкретный, либо изъебываешься всякими FindObjectOfType<CustomComponent>(). Либо статичные поля.
>>493597я, конечно, понимаю, что это возможно хорошая реализация. но тут же НИХУЯ непонятно. поэтому, оставлю свое решение.
Пацанва, как рисовать такой график? Думаю рисовать массивом вертикальных Line Renderer (хотя можно и img использовать), 300 пикслей в ширину, значит 300 линий, а? Ну это если один тикер, а если несколько, не дохуя ли будет? Если 10 тикеров на 1500 пикслей в ширину, итого 15к обжектов на сцену уже. Может есть другие инструменты?
>>493650Создаёшь Texture2D и рисуешь на ней через SetPixel. Я так запиливал отображение waveform треков.
>>493650А тебе для чего?>>493651Ну, если ты таргетишь Core i7 восьмиядерные то можно и черeз setpixel, да
Поцоны, а есть какие-то материалы по созданию клонов Getting Over It? Подскажите, как реализовать прилипание кувалды к объектам?
Как во время воспроизведения игры залезать внутрь скриптов и смотреть на переменные? Можно ли это вообще делать? Или нужные переменные Дебаг.Логом просто выводить в консоль?
>>493659>>493667Чет не хочет эта кувалда отталкивать моего перса. Просто черпает землю под ногами, персонаж подпрыгивает и приземляется на том же месте. На палке и персонаже стоит rigidbody с отключенной ротацией по всем осям и заморожена позиция по Z, соединены фикседДжойнтом. Если включаю верчение по Z, то перса и палку начинает дико пидарасить во все стороны. Видимо это происходит, из-за того, что управление реализовано через Camera.main.ScreenToWorldPoint (Input.mousePosition). Беда еще в том, что не могу найти ничего похожего на туториал по созданию игры с таким управлением.
>>493654>Ну, если ты таргетишь Core i7 восьмиядерные то можно и черeз setpixel, даТак стоп, выходит сетпиксель больше ресурсов съест чем пачка геймобжектов?
>>493726Когда ты вызываешь SetPixel у тебя происходит маршалинг данных передача из управляемого кода в неуправляемый. Маршалинг довольно тяжёлая операция, поэтому если ты хочешь замутить софтварный рендеринг, то лучше использовать SetPixels.Но еще будет лучше, если ты эти графики будешь рендерить на GPU.
>>493734это всмысле симуляцию микросхем и тд.? можно, но еботни будет много(хотя сейчас 10к ии агентов запускают на поиск дороги и нормально) хз
>>493734для килообъектов в юнити пилят хуйню какую-то, у них на ютуб канале есть видос с конференции где играют в фентезийный тотал вар.
>>493734сорян но факторио делали такие байтоёбы что выжимать это из шарпа не кажется целесообразным. это больше вопрос как глубоко ты хочешь познать глубины безумия, чем вопрос про юнити. а так то хули, вон Cities: Skylines симулирует же пиздилион всего. есть и более казуальные примеры типа fortresscraft evolved который является клоном менкрафта и факторио.
Нид нэлп, аноныThirdPersonCharacter управляется кнопками WASD. Как, не залезая в скрипт, поменять кнопку W на одну из кнопок мышки? Я смотрел в project-settings-input, нашел там про vertical axis, но дальше (пикрил)
>>493734Ну блядь есть книги по оптимизации на юнити, бери читай и пили свою факторию хоть на миллион объектов.
>>493765> Смичной тыЧего тут смищного? У тебя же явно прототип, тебе хватит простого перемещения/вращения, проверку на коллайдер и isGroundХули там писать?
>>493770Я в самом начале создания моего убийцы майнкрафта. Мне некогда размениваться на велосипедизмы.
Всем привет, как нарисовать линию движения 2д объекта (круга) от удара о другое тело до его непосредственного дестроя?
>>493778Можешь считать по школьной физике (ускорение свободного падения, угол падения равен углу отражения), можешь потери на трение добавить.
>>493780Мне нужно определить это, принимая во внимание массу объекта, его velocity, силу гравитации, пружинистость объекта
>>493779если начальная скорость (x1, y1), а нормаль (перпендикуляр) к поверхности, от которой отражение, (x2, y2), то скорость после отражения можно посчитать по формуле (х1 - kх3, y1 - ky3), где k=2(x1x2 + y1y2)/(x1^2 + y2^2) , вывод расписывать лень.Можно и по-другому считать, наверное, но эта формула рабочая
>>493778Если начальное положение (x0, y0), начальная скорость (X, Y), а ускорение g направлено по оси y, то формула соответствующей траектории (параболы) будет y = y0 + Yt + gt^2/2, x = x0 + Xt, дальше упрощай сам. (ты вообще еще тут или решил встроенную физику прикручивать?)
>>493815Тогда у начальной скорости минус должен быть. Как бы то ни было, квадратный член работает на компенсацию линейного, если речь о параболической траектории. Пример:1. Ссышь в потолок2. Или метишь в писсуарНаправление вектора ускорения то же, вектор скорости на залупе направлен поразному
>>493826Ну так я хз как он стреляет. Может вверх, может вниз. Когда метишь в писсуар, струя тоже по параболе идет, а что "перегиб" параболы не входит в траекторию - ну так мало ли.
Можно ли одну сцену вставлять в другую? Вот, допустим, есть пара мини-игр, как их лучше вставить в одну большую игру?
>>493897В каком смысле вставлять?Можно ли загружать сразу несколько сцен? - Да.Миниигры лучше делать отдельными сценами.
>>493897Лучше всего на массивах сделать. Делаешь статический массив типа "ссылка_на_игру". Затем в главной сцене / главном меню вызываешь игру по индексу: Игра(1).Запуск;
>>493778Обычная физика + тригонометрия.Система координат у тебя есть, осталось повторить весь курс 9-11 классов
>>493778крчнам нужна переменная vector2 для импульса, vector2 для положения указателя и массив vector2 для точек.ставим указатель в изначальное положение (в дуло мортиры), импульс ставим такой чтобы совпадал с направлением и силой выстрела.цикл i=0..1488(введите свое значение длины симуляции), в цикле:{записываем в массив точек текущее положение указателя.рейкаст2д из указателя с длиной вектора импульса. если рейкаст таки попал во что-то, тут крч нужно взять узнать угол удара к поверхности и отразить от поверхности. юнети подогнали вам vector2.Reflect для такого, подробные объяснения тут stackoverflow.com/questions/41129573/unity-how-to-use-vector2-reflectпереносим указатель в новую позицию по вектору импульса.умножаем вектор импульса на 0.98(введите свое значение торможения)}я уверен ты всё понял
а, вот забыл, когда вектор бьётся о коллайдер его нужно обрезать по пройденому пути, и отражать уже оставшийся отрезок. пройденый путь можно узнать в out переменной physics2d.raycast
>>493785треднечитай@сразуотвечай>принимая во внимание массу объектанинужна от слова нинужна, если конечно тебе не всралось прописывать продолжительные отрезки времени трения и это тебе не нужно>его velocityдаладно.png>силу гравитациину нихуя себе. прибавляем (0, 0.1f) к вектору2 каждый степ>пружинистость объектаумножаем на 0.7(вставьте свое значение потери скорости) при столкновении.
начал читать манул по мультиплееру https://docs.unity3d.com/Manual/UNetSetup.html и собрал игрушку по примеру: запускаю две игры на одном компе, в одной в NetworkManagerHUD выбираю LAN host, в другой - LAN client. И все, каждое окно игры управляет именно своим персонажем (кубом)Но как я понял, как только персонаж "хост" закроет игру, то и вся игра накроется. Так как хост является что-то типа связывающего звена "клиентов"Я правильно понял, что если я хочу создать многопользовательскую игру по инету, то в качестве хоста должен быть выделенный сервер/хостинг? По тому примеру, хостом является сам игрок. Но игроки ведь должны являться только клиентами, верно?
>>493938В PUN сделали так, что логика обновляется на стороне клиента. Если хост-клиент выходит, то хостом становится другой клиент. А весь трафик пересылается через их сервера.https://www.photonengine.com/en/PUN
>>493778Могу предложить такой хак: Когда нужно обновить траекторию, выставляешь таймскейл на дохуя, запускаешь свой снаряд, в корутине пишешь его координаты в массив. При уничтожении снаряда возвращаешь этот массив, интерполировать и рисуешь по ним лайнрендерером. Нахуй надо свою физику и юнитевскую комбинировать.
>>493959Ах да, и таймскейл обратно вернуть не забудь. Ну и запускаемый для этого объект невидимым сделать.
>>493959ахуительная едея, при наводке замораживать игру. в том числе и всякие эффекты там, партиклы, облачка, анимации.
>>494027да он дурак, чего там замораживать, если тракеторию нужно во время логики нового фрейма просчитать?
>>493778Короче есть такой код https://pastebin.com/BkpDZ1Q1 , он возвращает массив векторов по которым должен лететь снаряд, каким способом лучше прорисовать линию по этим векторам? Должно получиться что-то типа этого
>>494123Распиши как это должно работать, я еще не разобрался в лайн рендере, там должно все пару строк кода укладываться
>>494125ты такой суешь в рендерер линий свои точки, а он такой такой хопа и рисует тебе линию. чудеса да и только!
>>494150 line.SetPositions(Plot(rigit,startPos, rigit.velocity, steps)); Argument 1: cannot convert from 'UnityEngine.Vector2[]' to 'UnityEngine.Vector3[]'
>>494162чё сказать то хотел? не понимаешь что-ли что Vector2[] и Vector3[] это разная хуйня? сделай чтобы твое говно возвращало массив из Vector3, а не Vector2.
>>494165тебе помогают. сделай в своем сраном Plot чтобы он возвращал Vector3[] а не Vector2[]. Один хуй векторы кастуются один в другой без вопросов. или ты бы предпочел в качестве помощи получить сначала пиздюлей, а потом чтобы тебе в ебало сунули сделанное за тебя?
Антон, такая проблема: есть у меня шейдер для спецэффектов, шейдер в материале, в материал в рантайме передаётся параметр. Что делать, если я хочу несколько таких объектов, каждый из которых будет получать своё значение параметра? Создавать для каждого новый материал?
>>494162Vector2[] arr = ... //получить массивVector3[] newArr = new Vector3[arr.length];for(int i = 0; i < arr.length; i++){newArr = new Vector3(arr.x, arr.y, 0);}line.SetPositions(newArr);
>>494234а) каждый раз новый массив создавать это по уебанскиб) можно не писать new Vector3(arr.x, arr.y, 0) так как у него есть implicit оператор для приведения его к Vector2в) можно не ебатся с массивами и сувать в линию точки сразу через line.SetPosition
>>494260Спасибо за код, позволяющий передать параметр материалу, никогда бы в доках не нашёл.Только это изменит значение параметра для всех рендереров, использующих этот материал, не так ли?
>>494272>для всех рендереровХз. Может нет. Я в ручную вызываю обработку конкретной текстурыmaterials.m_disintegrateAndDepositMat.SetFloat("_MaxRegolith", maxRegolith); RenderTexture[] terrainAndRegolith = new RenderTexture[2] { terrainField.WRITE, regolithField.WRITE }; RTUtility.MultiTargetBlit(terrainAndRegolith, materials.m_disintegrateAndDepositMat); terrainField.Swap(); regolithField.Swap();
>>494251>каждый раз новый массив создавать это по уебанскиНо нахуя? обнуляем счетчик максимального количества и переписываем имеющиеся данные новыми. Вообще - переиспользование объектов - дает охуенный буст к производительности. Это еще во времена Java ME поволяло делать графин и относительно быстрый геймплей, при том что там жаба-машина была зачаточная и без оптимизаций.Можно так же использовать прокси объекты, у которых одни сплошные методы и гетеры сеттеры, а из полей - один единственный сраный индекс массива, и все обращения к прокси объекту передаются объекту-коллекции, который уже сделан строго по DODу с полями каждое отдельной коллекцией.
>>494226Да. Тебе надо юзать material, а не sharedMaterial, и не забыть уничтожить материал при уничтожении объекта.
>>493727Братишка, кудахтер взорвался нахуй от SetPixels, как там на гпу рендерить, через openGL? Выглядит сложновато.
Всем привет, написал небольшой код спауна обьектов на определенной области с помощью OnDrawGizmosSelected(), он работает относительно правильно, но проблема в том, что почти в каждом случае возникают ситуации, когда обьект выходит за рамки указанной области, и спаунится за ее пределами, подскажите пожалуйста почему такое происходит и как пофиксить, в гугле подобного верного решения не нашел. Вот кодhttps://pastebin.com/FQdYrEZD
ух. осталось сделать хитрый класс который бы хранил минимальные и максимальные значения луча и их паттерны и эта занятная хуйня наконец заработает как надо.>>494275чего сказать то хотел? я такой написал: создавать новые обжекты плохо. и ты такой "создавать новые обжекты плохо!". вообще ебаторий с этим, индексами и прочим говном конечно весело, но производительность то в геймдеве не так и нужна.>>494320если не на мобилки делаешь то почитай про https://docs.unity3d.com/Manual/ComputeShaders.html туда будет проще всего наверно вкатится для твоих целей. ты говоришь гпу че делать, а оно делает. можно сунуть какую-то текстуру и производить манипуляции с ней.>>494329чисто так интересно. а что должно было по твоей задумке делать это? foreach (GameObject g in balls){ float distance = (currentBall.transform.position - g.transform.position).sqrMagnitude; if(distance<10f) currentBall.transform.Translate(pos); }
>>494330>чисто так интересно. а что должно было по твоей задумке делать это?Проверять дистанцию до каждого обьекта на сцене, и в случае, если дистанция мала, то выполнять попытку случайно перемешения currentBall на другую позицию
>>494331что за хуйню вообще это пытается делать? собственно что должно ограничивать выход шариков за пределы то? //получаешь случайную точку в выбранных пределахVector3 pos = center + new Vector3(Random.Range(-size.x/2,size.x/2),Random.Range(-size.y/2, size.y/2)); //находишь все шарики с нужным тегомList<GameObject> balls = new List<GameObject>();balls.AddRange(GameObject.FindGameObjectsWithTag("RedBall"));balls.AddRange(GameObject.FindGameObjectsWithTag("BlueBall"));balls.AddRange(GameObject.FindGameObjectsWithTag("GreenBall"));//создаешь новый шарик в рандомной позиции (хуй зает зачем)currentBall = (GameObject)Instantiate(getTheBall(), pos, Quaternion.identity);//проходимся по всем шарикамforeach (GameObject g in balls){//находим дистанцию до созданного шарика возведенную во вторую степень (нахуй квадратная магнитуда то?)float distance = (currentBall.transform.position - g.transform.position).sqrMagnitude;//если расстояние меньше чем 3.162278 юнита то мы перемещаем шарики в направлении мировых координат созданного шарика? что за хуйня?if(distance<10f) currentBall.transform.Translate(pos);}
>>494336Ух сука как ты меня выбесил.Первое - этот скрипт не работает, тебе это что-то говорит блять? Это не пособие к действию, а призыв о помощи, а ты сука задаешь вопросы будто я выставил это как решение("ЧО ЗА ХУЙНЯ"), долбаеб. Это первое.Во вторых, про квадратную магнитуду я тебе скажу так, цитата из справочника юнити " Calculating the squared magnitude instead of using the magnitude property is much faster - the calculation is basically the same only without the slow Sqrt call. If you are using magnitudes simply to compare distances, then you can just as well compare squared magnitudes against the squares of distances since the comparison will give the same result." Врятли такой долбаеб как ты это переведет, так что воспользуйся этим https://translate.google.com, в третьих, я не перемещаю щарики(Во множ числе), я перемещаю ШАРИК, так как этот скрипт висит на пустом обьекте, которых на сцене ровно такое же кол-во, как и шариков, в четвертых иди нахуй
>>494337>Первое - этот скрипт не работает, тебе это что-то говорит блять?о том что ты долбоеб мне это может говорить только. он работает - он делает то что написано. другое дело что это расходится с тем что ты хочешь от него получить. поэтому я объясняю тебе, мудаку, что он делает чтобы ты написал его так как это надо тебе>Во вторых, про квадратную магнитуду я тебе скажу так, цитата из справочника юнити лол он говорит что квадратная магнитуда это блять квадратная магнитуда. ты понимаешь что это длина вектора без извлеченного квадратного корня? что формула длины вектора это квадратный корень из сумм значений вектора во второй степени? можно не извлекать квадратный корень. но тогда длину вектора с которой сравниваешь тоже надо возвести во вторую степень. если ты хочешь сравнить длину с десятью то надо сравнивать с 10 умножить на 10. ну ещё лол конечно можно сравнивать квадратную магнитуду с 1. потому что очевидно что 1 во второй степени это все равно 1.>я перемещаю ШАРИКа лол ну да я не обратил внимание что там написано currentBall.transform.Translate(pos); тоесть лол ты че, перемещаешь шарик в направлении столько сколько у тебя шариков в сцене? что ты творишь лол
>>494340>я объясняю тебе>нахуй квадратная магнитуда то?>что за хуйня?>что ты творишь лолТы больной, отьебись, и еще раз перечитай статью в справочнике
>>494340>перемещаешь шарик в направлении столько сколько у тебя шариков в сцене?Че написал то хоть понял?
>>494343слушай, я написал сраный навмеш. предположу что аналитическую геометрию и в частности векторы-хуекторы я знаю лучше тебя. а у тебя какие-то нелепые проблемы с объяснением комптютору что же ты от него хочешь. хули. я тебе объяснил почему происходит то что происходит. а ты почему-то взорвался.>>494344лол ну а хули ты смотри что тут написано? foreach (GameObject g in balls){if((currentBall.transform.position - g.transform.position).sqrMagnitude<10f) currentBall.transform.Translate(pos);}проверить расстояние шарика с коллекцией шариков, если этот шарик достаточно близко к текущему шарику то надо сдвинуть шарик в направлении его изначальной мировой позиции. ололо!
>>494347Чел который лепит велосипеды выебывается на двачике, спешите видеть>в направлении его изначальной мировой позиции. ололо> Не знает что такое Random.Range
>>494347У тебя какие-то воспаленные представления о том, как выглядят обьяснения, тебе бы вообще лучше сначало словарь выучить, а не векторы-хуекторы
>>494348>Чел который лепит велосипеды выебывается на двачике, спешите видетьну а хули, клевый велосипед. ты посмотри, можно сидение задом наперед одеть, руль от камаза прикрутить, педали снять.вполне нормально достать свой хуй и постучать им после того как кто-то обвинил тебя в некомпетентности.>Не знает что такое Random.Rangeа что рандом рейндж? ты почитай где он применяется. Vector3 pos = center + new Vector3(Random.Range(-size.x/2,size.x/2),Random.Range(-size.y/2, size.y/2)); в самом начале. хуяк и позиция плюс рандомный вектор в таких-то пределах. ну хули. а дальше мы такие хуяк и заспавнили шарик на этой позиции.currentBall = (GameObject)Instantiate(getTheBall(), pos, Quaternion.identity);а потом хуяк и такие в лупе перемещаем шарик в направлении этого вектораcurrentBall.transform.Translate(pos);или ты что, думаешь что каждый раз при обращении к этому вектору он становится рандомным?>>494349какие твои претензии? что картинки не рисую, схемы там?
Посоны, не спорьте с ним, он совсем отбитый.Чем больше спорите, тем дальше он уходит от темы и начинает нести про совсем левую хуйню.
>>494377Самое смешное что такой навмеш пишется за пару часов с нуля.Алгоритмы, особенно уже написанные, это в принципе самая простейшая область программирования.
Гдач, помогай. Использую Debug.log("текст")Это выводит строку в консоли. Раньше, при клике на эту строку открывалась ms vs 2017 на соответствующей строке кода. Теперь - ноль реакции. Как исправить? Unity 017.4.0f1
>>494387> Раньше, при клике на эту строку открывалась ms vs 2017 на соответствующей строке кода. Теперь - ноль реакции. Как исправить?Вот эту хуйню поковыряй. Вроде оно.
>>494337> аллоцирует массив > FindGameObjectsWithTag> foreach > выиграл 0,0001нс на оптимизации КВАДРАТНОГО КОРНЯ Не устаю проигрывать с оптимизаторов
>>494390Не, тут норм у меня. Но ссылки не работают. Обновил студию попробовал старую Юньку - не работает
>>494382ха-ха. нет. вообще если тебе интересно то в этом проекте сейчас 25к строк кода. за пару часов хуй ты чего напишешь.>>494387юнити никогда это не пофиксит наверно. там много что может пойти не так. попробуй убрать все пробелы из пути до проекта и реимпортнуть его. ещё в правом верхнем углу консоли можно ткнуть на три линии со стрелочкой, проверь включен ли там стак трейс и прочее говно. у тебя же не макось надеюсь.
>>494464>юнити никогда это не пофиксит наверно. там много что может пойти не так. У них там что спагетти код вместо нормальной ООП архитектуры?
>>494464> ха-ха. нет. вообще если тебе интересно то в этом проекте сейчас 25к строк кода.Больной ублюдок.
Property в шейдерах/материалах как то кешируются? Добавлял новое проперти - сериализация через свойства материала не работает, всегда ноль. Переименовывал это - ничего, давал другим его имя - работает.Создал новый шейдер, полностью скопировав код старого - работает.
>>489738 (OP)Пацаны! Вытек из вольвовского Source. Занимался именно десингом уровней именно в хаммер эдиторе. Моделькать тоже умею. Как собрать просто мир без всяких нпц и прочей кодерской хуиты? Как всё работает? Есть гуиды? Что курить? Всякая хуета вроде видеотуторов от Васянов рвёт мне жёпу. Есть годные текстовые туторы именно по работе с визуальной составляющей?
Посоны, я тут из лесу вышел, и узрел, что юнити наконец-то, не прошло и сто лет, запилили свой ecs из коробки.Если кто уже копался - есть хорошие ссылочки по сравнениям с ранее существующими левыми решениями?
>>494538хуита это ECS. не трать время.архитектура там уебищная и нечитаемая как и все что юнити высирают в последнее время.
>>494578почему юнити перекладывает проблему производительности на пользователей? у них есть полный контроль над виртуальной машиной, они могут делать что угодно, писать свои конпеляторы и т.д.нет, вывалим уебищные велосипеды, ебитесь как хотите.
Чето на меня терминологический кретинизм напал.Хочу, чтобы в игру был встроен был простенький 3д-редактор - двигать/вертеть/группировать модели/слои, копировать-вставить-отменить, снэп ту *, итд. Как эту хуйню гуглить, чтобы выдавало не сам редактор юнити/другой среды? Или может такого вообще хуй найдешь?
>>494464>юнити никогда это не пофиксит наверно. Проблема была в том что я в билдинг сеттингс отключил логи
Анон, помоги. Грибы меня не хотят отпускать, ужасные блок-схемы парализовали разум. Речь идет про Fungus - популярный ассет для визуальных новелл и диалоговой системы вообще. Ну очень уж туго у меня идет общение этих блядских схемок с самописными моими скриптами. Небось создатели Фунгуса в первую очередь запали на идею создания игр без программирования и потому так мало годных инструментов для работы со скриптами.Единственное что нашел это Call Method, Invoke Method, Invoke Event.А мне нужно-то всего получить значение публичной переменной из соседнего gameObject. Ну не буду же я, как полудурок, писать методы возвращающие те или иные переменные. Должен быть способ проще. Как?Можешь не советовать писать диалоговую систему самому. В остальном меня Фунгус устаивает.
>>494614Сейчас понял, что надо написать просто отдельный метод который будет через рефлексию находить переменную и возвращать. Просто у меня школьные знания шарпа, а в школе рефлексию не проходят. Завтра буду пробовать, заебся уже.
>>494618Очень редко, несколько раз за игровую сессию справиться у игрока о состоянии его здоровья или другой херне и по результату вывести нужный диалог схемками в Фунгусе.
>>494652И продолжает срать. Мидило, ты вообще с головой не дружишь? Хотя бы в канун такого светлого праздника мог свою имбецильность подержать за зубами.
>>494668>>494674Семен, я твой игры не вижу.Пиздеть каждый может, ты игру покажи, я заткнусь.Ну а так как мы знаем что у тебя дальше куба на пустой сцене дело не ушло - проследуй нахуй
А я, тем временем, рефлексирую:public float ReturnSomeFloatVariable (string var_name) { float result = (float)typeof(v_AIController).GetField(var_name).GetValue(this); return result; }В общем, сам и ответил на >>494614Правда, все равно не так, как мне хотелось. А хотелось бы возвращать разные типы переменных из одного метода float, bool, string
Может есть у кого плагин Pro Camera 2D - The definitive 2D & 2.5D Unity camera plugin ???https://assetstore.unity.com/packages/tools/camera/pro-camera-2d-the-definitive-2d-2-5d-unity-camera-plugin-42095
>>494754В тырнетах есть старая версия, но она не совместима с новой юнити.Также вот нашел последнюю версию на одном форуме, но так нужно надрочить на 50 лайков для получения ссылки: https://www.board4all.biz/threads/unity-pro-camera-2d-2-6-0.703621/
>>494761http://www.procamera2d.com/demo-platformer/судя по демо нет ничего такого, что бы Cinemachine не умела
>>494764Ну, про Zoom to Fit даже червь Brackey говновидео делал. Аналог Rooms есть, но конкретно такой-же надо будет доделывать, да. Pixel Perfect выглядит неплохо.Ты эта, найдешь билд совместимый с 2017-2018 отпишись
Господа, не кидайте ссаными тряпками. У кого-нибудь есть ссылка на фул уроки от itvdn? На том же рутрекере огрызки с их ютуб канала.
>>494765>Ты эта, найдешь билд совместимый с 2017-2018 отпишисьВсё там в старой версии ассета работает кроме депрекатед гуя.
>>494807я реализовал очевидное соприкосновение с коллайдерами, но он работает также если я нахожусь сбоку коллайдера.
>>494807https://docs.unity3d.com/ScriptReference/Physics2D.OverlapBox.htmlГлавное подобрать нужный size, ну и на каждый объект земли под ногами нужно вешать нужный layer мимо другой нюфаня
>>494821спасибо, но я примерно так и реализовывал, только OverlavCilrleAll и столкнулся с проблемой, если прыгаю рядом с платформой, то он воспринимает будто я на ней. т.к. совмещение коллайдеров все равно происходит. да и с низу можно прыгнуть и буквально повиснуть с низу платформы.
Оказывается, юнитевская .нет не позволяет отлаживать лямбды и ЛИНК. Можно это как то обойти, кроме как компиления файлов в lkk с нормальной .нет?
Почему когда я пилю в уече я ощущаю себя профессиональным игровым разработчиком, а когда открываю юнити первокурсником, завалившим первую сессию?
>>494903Потому что в уече ты нажал две кнопки и вот уже часы готовы, а в юнити нужно как минимум ассетов напиздить?
>>494903Потому что школьники, вроде тебя, ведутся онли на чёрненький yoba интерфейс с цветными графами. Им кажется, что окно с кодом - это жи так скучно и офисно.
Анон, в юнити же можно как-то спрайты двигать в инспекторе, что бы они отступали ровно на размер самого спрайта? Ну то есть зажимаешь какую-то кнопку или где-то выбираешь и двигаешь ровно. Что бы стык в стык спрайты прилегали.
Как загрузить сцену с дефолтными настройками и данными?SceneManager.LoadScene(); загружает сцену, но это работает только при первом запуске, затем если повторить эту процедуру после того, как немного поиграешь, он загрузит сцену с твоим прогрессом в прошлый раз
тупейший вопрос блжад. как получить грид координаты объекта в ворлдспейсе?т.е. я тупо хочу что бы персонаж ходил по клеточкам тайлмепа. везде блжад полуторочасовые школотуториалы вида "как-запустить юнити, скачать 2д-экстрас и добавить грид на сцену"
>>495248Совсем ебобо?x = (int) (position.x / size.x)y = (int) (position.y / size.y)Где size размер одной клетки
>>495259grid.WorldToCell()grid.CellToWorld()она же может быть отдельно как угодно скалирована/кручена.
>>495291Чтобы реализовать ИИ хедкраба - ты сам должен стать как хедкраб. Думать как хедкраб, действовать как хедкраб. Сначала потренируйся дома, а потом выйди на улицу, примерься к симпатичной тянке, резко прыгни и засоси ей голову.
>>495396>c#7.0В кокой версии?Алсо, только что узнал что юнити конвертирует float в decimal через string.parseзнатно проиграл
>>495460>Алсо, только что узнал что юнити конвертирует float в decimal через string.parse???где пруф?
>>4954602018.1 бетеоткрываешь пакет менеджер, ставишь инкрементал компилер, ставишь нужный компилер/апи в настройкахпод нет стандарт впрочем не завелся. >>495454таки походу в этот
>>495508пропиши в Packages\manifest.json{ "dependencies": { "com.unity.incrementalcompiler": "0.0.33" }, "registry": "https://staging-packages.unity.com"}после смены компилера выйди из юнити и убей папкуLibrary\ScriptAssemblies\ что бы оно пересабрало под новый
>>495525Спасибо. И сахарок заработал, и float-decimal теперь без парсинга строк конвертируется. Думаешь стоит на этой версии релиз выпускать? У меня стратежка по мотивам Виктория 2
>>495469https://searchcode.com/codesearch/view/21598116/182 строкаDecimal d = Decimal.Parse (value.ToString (CultureInfo.InvariantCulture), NumberStyles.Float, CultureInfo.InvariantCulture);это в моно такой код. по крайней мере был.алсо, какой даун использует decimal в игре.
>>495549> какой даун использует decimal в игре.ЯНо у меня игра про кокономику. Впрочм, можно попробывать на float или дабл перейти
>>495535>Думаешь стоит на этой версии релиз выпускать? У меня стратежка по мотивам Виктория 2хз, бета же. могут все внезапно сломать
>>495549>Decimal.Parse (value.ToString (CultureInfo.InvariantCulture), NumberStyles.Float, CultureInfo.InvariantCulture);Какое омерзительное словоблудие. Прям физически передергивает, глядя на это. Как вы в этой хуйне кодите?
>>495549> какой даун использует decimal в игреДвачую этого. Decimal - это хуйня для банков, чтобы сходились до копейки суммы в триллионы. У обычного дабла точность чето 16 ебаных знаков, блять. В какой нахуй игре игрок способен запомнить баланс в овер 16 знаков и ему не похуй на последний?
>>495535>>495560вот кстати, тестовый проект, который еще вчера открывался ругается на битую дллку гуя. новый работает нормально.
>>495549Когда оче хочется обеспечивать детерминированность в расчетах (а хотеться этого может, например, чтобы в мультиплеере не синхронизировать все состояние мира, а передавать только действия игроков, а последствия пусть считаются независимо), decimal - самый простой (далеко не самый оптимизированный, но, может, этого и не надо) способ.
>>495583причем не современное моно, а древнейшее, времен дотнета 2.0, когда его красноглазики только начинали писать.
Здорова бандиты. Короче, есть игрок, есть платформа, есть навМеш, есть бот с навМешАгент. Когда я пытаюсь столкнуть бота с платформы, этот пиздюк цепляется зубами и ни в какую не хочет падать в низ, по всей видимости навМеш не пускает его. Как реализовать возможность сталкивать бота с платформы?
>>495617ну тык когда ты его толкаешь т.е. ии не должен контролировать его - отключай. как упадет - включай назад
Очередной ебанутый заскок Юнити! Итак, есть гуй, есть попап который надо показать. Старый код, делает Instatinate, SetParent, FirstSibling, все дела. Всё работает, кроме как на iOS. На iOS попап остается на фоне. Но если мы скажем Instantinate(prefab, parent) - то все работает! Хотя по существу то же самое.Алсо, на iOS пропадают партиклы в гуе, даже непонятно куда копать. Ебанутый движок. Остается только сидеть на работе в пятницу до упора и в очередной раз заливать билды в ассетстор. Спасибо Юнити за миллион лишних часов работы! Пидары.
>>495582Дабл тебе ровно ту же самую детерминируемость обеспечит. Это стандарт языка (вернее, даже не самого языка, а используемого всеми компьютерами стандарта по вычислению чисел с плавающей точкой).
https://blogs.unity3d.com/2018/04/05/creative-scripting-for-timeline/А вы уже используете всю мощь timeline в своем игоре?
>>496007Суть как раз в том, что timeline можно использовать не только для катсцен, но и для геймплея.
>>496023Ой просто иди нахуй, оопущенец, ты доебал меня уже. Иди анус себе затаймлайнь игру хотя бы одну сделай.
>>496024ты чего бомбишь? по сути таймлайн это редактор корутин. можно делать корутины из простых компонентов.
Пацаны вот я создаю геймобжект в игре, и мне нужно в его компонент внести информацию, например структуру, я обычно как делаю , создал гекй обжект, получил компонент, вызвал функцию у него InsertTooltip(ITooltip data) и все, так делать нормально? Если использвать ООП, то там для такого дела есть конструктор,а как в юнитипараше с компонентами быть? Так как описал выше?
>>496060Сендмесседж оопущ-2: Возвращение>>496046> ООП, то там для такого дела есть конструкторВ юнити конструкторами монобехевиоров пользоваться нельзя. Вызов функции для инжекта - совершенно нормальное решение, почти как в паттерне DI.
>>496061>Вызов функции для инжекта1. Зависимость2. Копипаст кода, если есть несколько мест в которых создается объект.Отличное решение!
>>496077Ну так оопущенец вообще считает, что инициализировать ничего не надо - месседж ShowTooltip послал и всё. Все нормальные люди пользуются одним из вариантов1) .Init(...)2) Связывание в редакторе3) DI фреймворк
>>496081А как же фабрики и прочие пораждающие патерны. Кстати, кто-нибудь знает, как называется патерн, когда есть какой-то набор методов, которые возвращают объект или интерфейс, который реализует тот же набор методом. И можно из этого цепочки строить. Видел такое в LeatTween. Вот например:LeanTween.moveX( gameObject, 1f, 1f).setEase( LeanTweenType.easeInQuad ).setDelay(1f);Типа двигать объект по иксу, выставить тип интерполяции, выставить задержку.
Помогите решить проблему, есть прототип 2д платформера, там 2 сцены, мне нужно просто нажать бег, и перейти из одной сцены в другую, проблема в том, что когда игрок оказывается на 2 сцене, он перестает бежать, и надо отпускать клавишу бега, и жать снова. Это дико раздражает, как сделать чтобы команда бега сохранялась при смене сцены.Все реализовано, через if (Input.GetButton("Horizontal")) _activeRun = true.
>>496397>Все реализовано, через if (Input.GetButton("Horizontal")) _activeRun = trueНу ты сразу все технологические решения раскрыл, так и украдут твой платформер и сделают миллионы, оставив тебя ни с чем.А если серьёзно, то сложно телепатически узнать, что там происходит с этим флагом при смене сцены и какова логика бега.
>>496397В каком скрипте обрабатывается инпут? Уж не в том ли, которой прикреплён к выгружаемой сцене? Если я правильно понял описываемое, инпут обрабатывается в двух разных скриптах двух разных сцен, которые загружаются и выгружаются по очереди. Естественно, бег будет прерываться.Тут надо либо держать инпут в отдельном скрипте-синглтоне, либо при смене сцены, выгружаемая сцена пишет в публичную переменную инициализируемой сцены своё состояние (например stage2.RunState = activeRun). Новая сцена запускается с уже бегущим персонажем, далее она обрабатывает сначала событие отжатия клавиши бега с остановкой персонажа.
Я нафаня и не понимаю как оптимизировать открытую сцену, скажем город, с кучей фонарей, ящиков, бочек хуечек. Обьединить все в один меш? Но ведь оклюжен кулинг не будет тогда работать, он же кулит отдельные обьекты. А кулинг нужен пиздец как. Расхуярить все на чанки типа майнкрафт, и кулить их? Как делают в нормальных играх?
Годные книги/туториалы подкиньте, ребят. Учить буду Юнити с нуля. Есть опыт с JMonkeyEngine; писал простенький рейкастер на Java. Интересует ручное редактирование мешей (планирую писать воксельное чудо с физикой и транспортом), прикручивание физики (Bullet? например), написание шейдеров.
И сразу вопрос - на каком физическом движке сделана Beseige?И можно ли юзать стандартные юнитивские коллайдеры для написания адекватной физики?
>>496511У Unity есть PhysX зачем Bullet? Есть желание - доки Nvidia в зубы и шлифуй как надо.По поводу меш-гена - catlikecoding (гугли) или скачай какйо-нить воксель-движок ассет, разбери и пойми что к чему
Чет я запутался в архитектуре маленько. Допустим есть противник и в него попадает снаряд. Это может быть пуля или например ракета.Я обрабатываю это в событии OnTriggerEnter2D скрипта противника. В случае с пулей противник просто дергается, в случае с ракетой - его разносит на куски. Соответственно, я должен вызывать 2 разных метода при попадании.И что-то я не могу придумать, как красивше передать скрипту противника, что в него именно попало, поскольку у пули и ракеты разные контроллеры, хоть и наследуются от одного.Пока я повесил на все типы снарядов еще один скрипт - DamageController, который в паблик-переменной хранит тип урона, и скрипт противника может обращаться к нему через GetComponent. Но это решение мне кажется кривым. Может подскажете чего?
>>496637У меня проверка на попадание проводится в скрипте на снаряде, откуда делается sendmessage берётся IDamageHandler компонент объекта и в него передаётся информация о уроне.
>>496638Ты предлагаешь мне вместо:damageFunction = other.gameObject.GetComponent<DamageController>().damageFunction;Invoke(damageFunction, 0f);Написать что-то вроде:if (other.gameObject.CompareTag ("Raketa")) {Raspidorasit();}if (other.gameObject.CompareTag ("Pulya")) {Prodyryavit();}if (other.gameObject.CompareTag ("Hui")) {Zashkvarit();}etc.>>496640Это считай тоже самое, что у меня, только с другого бока. Но ты меня немного успокоил. Возможно мое решение не такое уж хуевое.
>>496641>Ты предлагаешь мне вместо:Если ты не в курсе, GetComponent в разы медленнее проверки тега или имени объекта. Во многие разы. Ок, у тебя медленный платформер, ты там стрелаяешь раз в минуту.теперь представь bullet hell c 1000+ снарядов на экране каждый кадр. Твои разы превратились в десятки тысяч раз кек
>>496642Да я-то как бы понимаю, что медленнее. Поэтому и задался таким вопросом. Ты правда не учитываешь того, что обращение к компоненту происходит только в случае попадания, поэтому десятков тысяч там не будет. Я бы и рад использовать тэг, но мне показалось логичным на все снаряды повесить один тэг и использовать несколько в другом контексте. Вот если бы можно несколько тэгов на один геймобжект повесить, то проблема бы просто решилась.
>>496642> GetComponent в разы медленнее проверки тега или имени объектаИ тут ты такой с пруфом. которого нет, потому что это наглый пиздеж уровня оопущенского дегенерата. как же вы заебали, ебаные пидарасы..
>>496642> GetComponent в разы медленнееhttps://snowhydra.wordpress.com/2015/06/01/unity-performance-testing-getcomponent-fields-tags/
>>496644Только что хотел линкануть но вот этот уже сделал: >>496645результаты ужасные. Никто в здрааом уме не использует GetComp. Ты когда дельные видева от людей --- которые РЕАЛЬНО зарелизили игру и продали около 500к копий (типа INSIDE) --- смотрел? Где твоя популярная игра в стиме, дабы я знал, что не голословишь?Я вот банально повторяю то, что люди с опытом и авторитетом сказали, никто пока их не опроверг. Ну окромя диванного мамкиного кодеры в богом забытом двач-треде, у которого и игры-то нет лоол
>>496644Спасибо за ссылку. Я почему-то тоже был уверен, что обращение к компонентам слишком затратно, а все оказывается не так уж плохо.
>>496647> уебку линкуют график из профайлера, но он не способен прочитать английский текст и сравнить две чиселки> ой надо ченить линкануть тоже> линкует общий канал GDC на ютабчике)).)>>496648не за что. Всегда гугли сам, лучше офф. форум юнити, стековерфлоу, а еще лучше сам забенчмаркь в своем коде. Чем слушать каких-то уебков, которые понятия не имеют как работает дотнет/моно, и распостраняют дезу, пусть даже они сделали хоть 15 успешных игр в стиме хинт - успех игры зависит от погромистов чуть-чуть более, чем никак.
>>496641>Это считай тоже самоеНе то же. Снаряд сам по себе уже знает какого он типа, а цели не надо знать, что в неё вообще может попасть.
>>496645давно уже все выясняли в тредах.getcomponent это тупо цикл по массиву объектов с оператором as. если у тебя не сотни компонентов на объекте, то это не сильно влияет на производительность.мусор из-за отсутсвия компонента есть только при запуске в редакторе. юнити там возвращает специальный объект, который кидает ошибку в консоль что компонент не найден
>>496642>еперь представь bullet hell c 1000+ снарядов на экране каждый кадрИииии... время на все геткомпонент вызовы не приблизится и к миллисекунде.
>>496640Используй SendMessage.на пуле и ракете отправляй разные сообщения.Наследование не используй. Вместо это сделай отдельный компонент общий для них.
>>496668Еще один довн, который не умеет читать текст. Школьники вы там вообще уже со своим ютабом ебнулись, ало?
>>496646Ну ты и поехавший. Медленнее у него, пиздец просто. Ну медленнее оно, но так уж это важно? Вообще плевать. Главное, чтобы работало и, по возможности, писалось быстро. Именно поэтому у всяких инсайдов требования сопоставимы со скайримовскими - можно делать игры и продавать их сотнями тысяч копий, а можно вместо этого рассуждать, что быстрее работает и что лучше использовать.
>>496667>Наследование не используй. Вместо это сделай отдельный компонент общий для них.С этого момента подробнее. Почему наследование хуже, чем несколько компонентов с разделенной логикой? Я конечно диван, но наследование выглядит разумнее и повторов в коде позволяет избежать. Я наоборот все стараюсь в таком ключе переписать.
>>496677>Ну медленнее оно, но так уж это важно?Ну когда у тебя микрофризы каждые n секунд - сам подумай, важно или нет? Вот, Hollow Knight использует getComponent для проверки, есть ли на объекте скрипт Bounce, который отвечает за то, будет ли рыцарь pogo'ить от объекта. Ну а теперь зайди на офф-формы и поищи "freeze on hit", "stutter on hit", "freeze on attack" etcВесело
>>496680Блядь, я про это и говорю: они не рассуждали, они делали игру - и теперь на форумах их игр обсуждают микрофризы. А что обсуждают на офф-форумах твоих игр? Ах, да, ты же деланью игр предпочитаешь жевание соплей!
>>496683Так я и твоей игры не вижу. Все еще жду когда ты ее запостишь, просил 100 постов назад.Но постить-то нечего, окромя "оптимизация злоооуу"
>>496680> stutter on hit> 1 getcomponent> не подгрузка анимации, не обращение к винту, нет, виновата одна O(N) операцияПиздец.
>>496689Какой анимации придурок, анимация уже давно загружена, тупой ретард. >обращение к винтувообще пушкаВпрочем, не совмневаюсь что в твоей игре каждый аналог атаки персонажа - обращение к винту, лолвот же упырок
>>496696О боже, нет, только не сендмесседж, пожалуйста, не будь таким же дегенератом.>>496694> довн вообще не может в прикидку порядков времен операций на 2к18 процах
>>496698>О боже, нет, только не сендмесседж, пожалуйста, не будь таким же дегенератом.Поясни за минусы подхода. Получится невнятное спагетти, если злоупотреблять? Что-то вроде goto?
>>496701Не он, но - нет, в принцип ничего плохого нет, однако для fast-paced игр или вообще для игр с очень активным геймплеем это не рекомендуется. Braodcast/SendMessage - вариант системы евентов для нищебродов. Заметно проще, но в целом хуже считается
>>496701Основной минус в том, что эта херня не проверяется компилятором - соответственно может незаметно для тебя сломаться при рефакторе. По сути, ты превращаешь нормальный, строго-типизированный язык, коим является диез, в подобие джаваскрипта с багами, которые могут вылезти из ниоткуда.Менее важный минус в том, что она использует рефлекшн, а значит просто пиздецово тормозит цифры порядка x10-50 по сравнению с GetComponent.А самое главное, нет никакой причины предпочитать сендмесседж прямому вызову метода компонента - они работают абсолютно одинаково сендмесседж так же блокируется в месте вызова, пока обработчик не обработает его, по факту, это никакой не "месседж"Статьи на тему.https://github.com/Microsoft/MixedRealityToolkit-Unity/issues/224http://www.sebaslab.com/whats-wrong-with-sendmessage-and-broadcastmessage-and-what-to-do-about-it/
>>496702>>496703Большущее спасибо за ликбез.>Основной минус в том, что эта херня не проверяется компилятором - соответственно может незаметно для тебя сломаться при рефакторе.Это получается и к Invoke применимо. Его тоже не рекомендуешь лишний раз использовать?
>>496706Любая херня, которая что-то делает через рефлекшн - сразу нахуй. Вместо Invoke лучше использовать корутину, на 2 строчки больше, зато потом не надо бегать с пылающей жопой почему что-то отвалилось.
>>496708Я так и думал. Еще одна просьба - если есть на примете статья или туториал для ньюфагов про использование корутин с примерами, то вкинь линк, пожалуйста, буду очень признателен.
>>496703>нет никакой причины предпочитать сендмесседж прямому вызову метода компонента - они работают абсолютно одинаководурачок так и не понял принцип использования SendMessage.если сообщения для тебя это всего лишь вызов метода у компонента, тогда действительно нет никакого смысла в сообщениях.
>>496708нет там рефлексии.вся разница только во времени биндинга. send message это рантайм биндинг. так же, как и get component, например.
при вызове GetComponent() во время выполнения игры объект точно так-же РЕФЛЕКСИРУЕТ свое состояние. точно так-же какой-то вредный программист может удалить компонент и все сломается с ошибкой. как-же так...
Пацаны, я сделал график цены, отрисовал с помощью канвасов, и корчое лагает, кажыдй апдейт апдейтятся свеча цены + две свечи объема, итого на один апдейт 3 .sizeDelta и 3 .anchoredPosition. Когда свечек становится дохуя начинает падать фпс . Через Гпу шейдер рисовать обосрусь, так что нужно как-то оптимизировать, не ну конечно не надо каждый фрейм апдейтить, разве что когда график скроллишь, тем не менее хотелось бы уйти от такой растраты ресурсов и понять где я обосрался то, короче у меня главный канвас overlay, потом на нем канвас тикеры, потом в нем канвас контейнер для свечей ,а в нем уже свечи канвасы , ну я так хуйнул типа чтоб удобная иерархия была. Подозреваю канвасы могут друг от друга как-то зависить при расчете позиции, взываю к знающему анону.
>>496716>>496703>эта херня не проверяется компилятором - соответственно может незаметно для тебя сломаться при рефакторе.
>>496715Удаление != рефактор имени.Ошибка при компиляции != ошибки в рантайме. Чему вас на первом курсе там учат?
>>496715Рефлексия != asПросто пиздец, просто.>>496714> рантайм биндинг> фиксированный тип дженерика> рантайм
>>496720и в чем разница? в обоих случаях будет неопределенное поведение в рантайме. SendMessage выводит ошибку, GetComponent выводит ошибку.
>>496720>Рефлексия != asкакая разница как это сделано. в недрах c++ кода юнити тоже может не as.суть рефлексии в том, что происходит рантайм биндинг. ты получаешь члены во время выполнения
>>496721> и в чем разница? > какая разница > всё же в ассембляр канпилируется РРЯЯяяяВся суть даунов, не способных даже открыть книжку по .Net. Просто о чём можно разговаривать с такими
>>496721> неопределенное поведениеДавай еще термин из нативных языков суда сунем, какой же ты дегенерат, просто пиздец.
Загорелся идеей для своего долгостроя заебошить всамделишный скриптинг чтоб как в вар3/параходоиграх. Первый вариант: использовать уже существующий чтец цсв файлов и сделать скриптинг через цсв файлы, т.е. выглядит что-то вроде if;A;<;B;Action[новая строка]. Второй вариант: сделать свой джасс/параходокод для текстовиков со своим собственным ридером. В принципе, то же самое, что и первый вариант, но можно сделать всё красивее для пользователя. Я ебанутый, мне больше первый вариант нравитсяТретий вариант: каким-то образом вставлять в игру c# скрипты. Собственно, вопрос касается большей частью этого варианта - возможно ли такое вообще? Допустим, сделаю анальное ограничение, чтобы вставленный скрипт наследовал от какого-то скрипта в самой игре. Как это по безопасности?
>>496746Насчёт третьего:https://stackoverflow.com/questions/32290705/how-do-i-import-a-c-sharp-monobehavior-script-during-runtime-and-add-it-to-a-com UnityEngineInternal.APIUpdaterRuntimeServices.AddComponent(gameObject, "Assets/Scripts/DNA/DNA_translator.cs (21,4)", gameObject.name);Что это за зверь вообще?
>>496746>>496748Ещё глянул:http://angryant.com/2010/01/05/downloading-the-hydra/Т.е. .cs загружать в рантайме можно, но это, очевидно, не безопасно. Выходит, лучше сделать ридер, который будет генерить .cs файл с нужными параметрами, юзингами и т.д. Сделать, так сказать, конвертер, который будет отсекать всё, что не надо. Но тогда зачем генерить .cs в принципе, просто сделать чтец строк а-ля "если первая ячейка строки совпадает с именем команды, то запускать команду, вставляя в аргументы следующие ячейки" и норм будет (у меня так сейчас и есть в цсв ридере). Помогите же советом, ну. Я не знаю, как поступить.
>>496749Зачем тебе скриптинг на диезе, когда основной язык - диез? Это пиздец наркомания какая-то. разве что у тебя мультиплеер и ты будешь давать игрокам поскриптить что-нибудь, но и в этом случае диез - это пиздец, а не выбор, из-за проблем с try catch finally-троллями, которые в принципе не решаемы - выебал так к хуям пару конкурсовДля скриптинга обычно пихают интерпретатор другого языка, для этого есть либы, не ебу что тебе нравится. Для своих проектов я как-то ебанул интерпретер лиспа, было забавно, до тех пор пока я не заебался связывать скрипты с главными системами юнити и не забил хуй на это.
>>489738 (OP)Посоны, что происходит?float x = 0.1f;float y = 0.2f;float z = 0; var lol = new Vector3(x, y, z);lol равен {0,0,0}Как???
>>496760> strings так же безопасны как symbols> ошибки в рантайме так же безопасны как ошибки при компиляции> duck typing так же безопасен как static typing> ебаться в жопу так же безопасно, как и дрочить
>>496761Мда, этот даун так и не понял ничего.Не будет у тебя никаких ошибок компиляции. Просто у тебя будет ошибка null reference exception если ты попытаешься получить компонент, которого нет на объекте.Когда ты посылаешь сообщение, ты не "вызываешь метод компоненты через рефлексию". Это то, как это может быть технически реализовано. А может и не быть.Если конкретно в твоем MonoBehaviour нет метода с именем сообщения, то это значит лишь то, что этот компонент не является обработчиком этого сообщения. Вот и все.Конпелция, static typing и т.д. тут совершенно не причем.
>>496757Где у тебя флоаты задаются? Public'и в теле класса? Измени на private'ы, сразу заработает, если так.
>>496756>Зачем тебе скриптинг на диезе, когда основной язык - диез?Это просто вариант такой. К тому же "связать с главными системами юнити" было бы проще (а на самом деле я даже бейсика не знаю). >Для скриптинга обычно пихают интерпретатор другого языкаХитро, дёшево и сердито. Даже не думал о таком, лол. Скриптинг мне нужен для моддерства. Ну, и для меня самого, чтобы быстрее карты со сценариями строить. Какие-нибудь сложные действия захардкодить, например, поиск путей, а простые, - вроде отъёма очков передвижения за движение, - можно и во внешний изменяемый скрипт вынести.
>>496763Оопущенский дегенерат до сих пор путает рефактор с удалением. Оопущенский дегенерат до сих пор путает свои маняфантазии с конкретной реализацией SendMessage в юнити. Просто как горох об стену, уже 2 месяца. Нахуй, просто нахуй.
>>496763> может быть технически реализовано. А может и не быть.Какой же ты даун. Разговор за конкретную реализацию конкретного метода в конкретном движке юнити, блять, посмотри на шапку треда. И эту реализацию не рекомендует юзать вообще никто. Твои личные велосипеды по работе с сообщениями могут идти строго нахуй, пока они а) не будут на гитхабе б) не будут использованы в нескольких законченных играх.Чего не будет никогда, потому что ты, дебилоид, так ни одной игры и не написал, только срешь во все треды подряд о своих ооп-фантазиях.
>>496765Не вижу проблемы с тем, чтобы делать это все на диезе скриптами юнити. Компилируется все за пару секунд. В общем, подумай, ты точно уверен в том, что тебе это надо? Ведь мог бы игру делать.
>>496768>Какой же ты даун. Разговор за конкретную реализацию конкретного метода в конкретном движке юнитиВообще-то разговор о том, почему>эту реализацию не рекомендует юзать вообще никтоОсновной претензией там является то, что якобы "ряяя метод выполняется через рефлексию, а если кто-то переименует метод, что тогда?"И как выясняется, все доводы на самом деле высосаны из жопы, так как горе-критики не разбирающиеся в принципах абстракций сами не понимают что несут. Для них SendMessage это способ зачем-то "выполнить метод через рефлексию".
>>496776> SendMessage просто вызывает метод через рефлекшн> почему все говорят о вызове метода через рефлекшн??!111 ррряяяяя
>>496786> Calls the method named methodName on every MonoBehaviour in this game object.Заебись идея вообще, давайте вместо 1 метода - вызовем все с совпадающими именами. Это же так нужно нет, и не приведет к еще большему пиздецу, чем другие проблемы этой параши.Как можно топить за эту хуйню вообще? Ты поехавший?
>>496786> документация> SendMessagepublic class ExampleClass : MonoBehaviour { void ApplyDamage(float damage) { print(damage); } void Example() { gameObject.SendMessage("ApplyDamage", 5.0F); }}На этот замечательный код можно смотреть вечно. Его надо распечатать и повесить на стену в рамочку.
>>496797Глянь сюда:>>496748Мужик сделал загрузку скрипта из рантайма через эти ваши юнитовские врождённые методы. Я не удивлюсь, если оно ищет в .cs файле
>>496794Это ужасный пример. Может быть, не в последнюю очередь столько недопонимания SendMessage основано именно на этом примере.
Что бы не создавать новый тред, спрошу здесь.Вот давно мечтаю сделать игру по типу Audiosurf, но не могу понять каким образом они считывают данные музыки и переносят это в игру. Может знающие люди объяснят или поделяться ссылками по этой теме?
Анонист, выручайшен.Короче есть vuforia точеная и модель с анимацией дроченая.Анимация по первому распознаванию метки не проигрывается, если юзать кнопку перехода к другой модели и оттуда вернуться, анимация идет как надо. Как заставить эту суку запускаться с самого начала?
>>496765>Какие-нибудь сложные действия захардкодить, например, поиск путей, а простые, - вроде отъёма очков передвижения за движение, - можно и во внешний изменяемый скрипт вынести. Поехавший, зачем тебе виртуальная машина в виртуальной машине?Алсо, без обид, но твой язык говорит что ты нифига не понимаешь куда лезешь. И делать тебе это лет 5.
>>496864Неа, новую Викторию. Генералы, если это то что я думаю, там не было провинций и был ОЧЕ умный ИИ, мне такой не сделать.Спасибо.
>>496735Да, обосрамас был жидкий и по всем фронтам, короче хуйню там наебашил, везде по чуть чуть, главное это апдейт размеров канваса каждый фрейм с дробными частями, хотя они не нужны. Сейчас подшаманю, подчистю за собой или скажу насрано уже было, и перейду к замесу волюм алертов. Уж слишком смачно альткоины стреляют, вчера на коробку доширака заработал.
>>496858>И делать тебе это лет 5. Делать что "это"? Конкретно эту фичу или вообще? Вообще - наверное так и выйдет, но в свою защиту хочу сказать, что пилю я не тупенькую игру, где всё захардкожено и где только сам программист может что-либо изменить, а нечто ближе к варкрафту в плане возможности менять диалоги, сцены, юнитов, всё такое. Вот ты пошёл стопами парадоксов и сделал какое-то количество форм правления, которые изменить никак нельзя. Только ты их можешь менять, разве что пару дефайнов вынесешь куда-нибудь. Если делать аналогию основываясь на этом, то я пилю систему, которая позволит моддеру сделать свою собственную форму правления, приложить скрипт и получить нужную распознаваемую игрой форму правления, а не ебаться и хитрить с ивентами, как это делается в королях крестоносцах, чтобы сделать в гехеймниснахте вампиров с орками.
>>496398>>496404>>496424Пиздец вы эксперты блять, сам нагуглил, проблема достаточно распространённая, все решается через LoadSceneMode.Additive. Чем вы тут занимаетесь, вы игры вообще пишите? почему с таким не сталкивались? я так понимаю это основы же, ептаhttps://forum.unity.com/threads/input-getkey-reset-on-load-scene.143321/
>>496909Тебе и ответили, если ты не в курсе, что значат все те слова из постов, то это твои персональные проблемы.Удачи грузить все сцены аддитивно кстати.
>>496914Так мне нихуя не ответили, меня за долбоеба посчитали, который сценарий бега будет на сцену вешать, и про донтдестрой, а как бы я в другую сцену переходил если бы его не использовал? Бег реализован через эдфорс, но тут проблема то не в беге, а в загрузке сцены, при которой слетает инпут. В чем проблема аддитивности? Как решить проблему другим путем, или по вашему такой проблемы не должно быть? Сценарий висит на плеере, который переносится в другую сцену донтдестроем, если в дверь прыгнуть например то инерция сохраняется, слетает только инпут
>>496914Так мне нихуя не ответили, меня за долбоеба посчитали, который сценарий бега будет на сцену вешать, и про донтдестрой, а как бы я в другую сцену переходил если бы его не использовал? Бег реализован через эдфорс, но тут проблема то не в беге, а в загрузке сцены, при которой слетает инпут. В чем проблема аддитивности? Как решить проблему другим путем, или по вашему такой проблемы не должно быть? Сценарий висит на плеере, который переносится в другую сцену донтдестроем, если в дверь прыгнуть например то инерция сохраняется, слетает только инпут
>>496917>В чем проблема аддитивности? Никаких проблем, если ты знаешь что это, как работает, какие проблемы может вызвать. Если ты покурил матчасть - делай смело.>Как решить проблему другим путемЧерез синглтон.
>>496920Охуенный тред, вы че тут всех посылаете матчасть курить и все на этом? Зачем этот тред вообще тогда нужен, чтобы ты выебывался тут?
>>496921А нам что, пересказывать тебе всю документацию? Тебе говорят на какие пункты обратить внимание.
>>496921Нет, этот тред нужен чтобы бесплатно залетных ньюфагов учить азбуке.В этом треде мы обсуждаем новости о unity, делимся своими находками и спорим почему SendMessage является лучшим паттерном программирования.
>>496923Двачую. Вообще не понимаю, зачем помогать конкурентам? Чем меньше людей разбираются в юнити, тем лучше тем, кто в нем разбирается хорошо.Я уже жалею что вообще рассказал о преимуществах SendMessage. А так бы писали свой говнокод и никода бы не сделали игру.
>>496927Очередному недотепе не сделали игру лол.Кто-то в поте лица учит движок, разбирается в архитектуре, разрабатывает наиболее лучшие паттерны. А какой-то кирилл потом просто копипастит весь его труд и зарабатывает миллионы на чужом труде, не поделившись ни копейкой.Мерзко от таких как ты.
>>496930Так ты и сам то нихуя не знаешь, поэтому и не можешь ответить, разрабатывает он там патерны, полуебок. В этой сраной документации два предложения на любую тему и все на этом. У тебя миллионов нет не потому что тебя кто-то опережает, а потому что ты бездарное говно. Это в любой сфере так, только неудачники находят себе оправдания в конкуренции
>>496933>У тебя миллионов нет не потому что тебя кто-то опережаетИменно поэтому.Слишком много расплодилось таких хаков как ты, которые тупо копипастят готовое и выдают за свои игры. Невозможно с такими конкурировать. Они тупо по закону больших чисел делают прибыльные игры одну из миллиона.Такие как-ты наносят ущерб.
>>496944Ты долбоеб? Че я у тебя там спиздить хотел, как из уровня в уровень переходить? Простому игроку вообще похуй на это, главное история, геймплей и графон, а все это я точно пиздить не собирался, тем более у такой бездарности, как ты. И вообще харэ меня троллить, ебаная школота, как вы заебали
>>496944Ты долбоеб? Че я у тебя там спиздить хотел, как из уровня в уровень переходить? Простому игроку вообще похуй на это, главное история, геймплей и графон, а все это я точно пиздить не собирался, тем более у такой бездарности, как ты. И вообще харэ меня троллить, ебаная школота, как вы заебали
>>497057>Код, архитектура игры - это такая-же интеллектуальная собственность>У ТИБЯ НЕТ ИГРЫ РРЯЯЯ!!!У меня есть кое-что получше: архитектура игры.
>>497058>У меня есть кое-что получше: рисунок архитектуры игры на последней странице тетради по литературе
>>497058> архитектура игры> без игры> вообще не написал ни одной игрыВас надо с шизописакой в одну команду, у него как раз архитектура текста придумана.
Переехал в другую квартиру, подключился к новому провайдеру и у меня перестал работать коллаборейт и не только он, но то похуй.Поднял VPN - заработало, но либо пиздец медленно либо с ограничением трафика либо за деньги.Это что ж, когда на днях роскомнадзор блочил айпишники миллионами, под раздачу попал весь диапазон коллаборейт-облаков?Теперь всю жизнь на VPN сидеть что ли?
>>497062>Спиздил код>Спиздил геймплей>сделал пиксель-Залил заливкой 10 пикселей-арт>Мам, смотри, я игру сделал!
>>497068да, продолжая за путенга горлосовать и на диване сидетьВ Армении тем делом ламповость наступила
>>497070Ну у другого провайдера всё работало и с тем же путеным и с тем же диваном. И вообще у нас тут не /ро/.Вопрос в другом - как бы это дело обойти через какую-нибудь проксю. Знать бы по каким адресам юнька стучится в свои облака.
>>489738 (OP)Здрасьтитя. Непрограммист-негейм дизигнер итт. Объясните неумному. Если я создаю C# скрипт, он наследует от MonoBehaviour и в нем по умолчанию есть методы Start() и Update(). Дальше я вешаю его на что-то в сцене. Это вводная. Вопрос: если я удалю из этого скрипта метод Update() - то в этом скрипте он срабатывать уже не будет?
>>497069> спиздил умение ходить у родителей> спиздил знания в вузике> спиздил комп > спиздил еду в магазине> мам смотри я успешный погромист!
>>497081Не слушай, он подъебывает, апдейтов вообще чем меньше, тем лучше для производительности. Наверни книг по юнити, там кратко и по сути
>>497129тащемта бессмысленный совет. Апдейт все равно дает лаги, даже если его нет. Так менеджер скриптов работает
Поцоны, нид халп. Нужно сделать самонаводящиеся снаряды, но без особых выебонов. Суть вопроса: что менее затратно по ресурсам, пилить через навмеш или каждый кадр просчитывать вектор? Снаряды в любом случае должны попасть в цель
>>497237Если очень много будет то навмеш наверное, а если до 50 то можно просчетом - так точнее будет, ибо проще обрабатывать разные случаи.
>>497237> пилить через навмеш или каждый кадр просчитывать вектор? Через навмеш agent.destination также дохуя чего просчитывает каждый кадр, особенно если цель движется.
Спасибо за ответы. Еще вопрос возник, что более затратно для тригера, рейкаст лучем каждый fixedupdate или бокс колайдер и большая ли разница?
Хочу сделать 2д пиксельное говно на этом вашем юнити. И сразу возник вопрос.Почему все измеряется в каких-то шизоиндых ЮНИТАХ, а не пикселях? В таком случае, как сделать так, что бы 1 юнит = 1 пиксель? И как можно скейлить спрайты без сжатия/сглаживания?
Подскажите, как запилить сразу много лайн рендеров? Collider[] colliders = Physics.OverlapSphere (explosionPos, radius); foreach (Collider hit in colliders) { if (hit.gameObject.tag == "enemy") { Rigidbody rb = hit.GetComponent<Rigidbody> (); gunLine.SetPosition (0, hit.transform.position); }Почему-то рисуется только одна линия, видимо к ближайшему обьекту
>>497368> gunLineЧё это за хуйня? Прозреваю, что она у тебя одна и ты ее двигаеш как еблан в цикле, естественно остается только последнее ее положение.
Ну и вот чо за говно, баловался с этой вашей юнитей пару лет назад, все было гладко, щас решил еще побаловаться, скачал последнюю версию - сука, пиздец тормоза. На сцене еще нихуя нет, а тормоза уже есть. До чего техника дошла. Где там в настройках чего выключить?
>>497377Пошел на форум и сходу наткнулся на тему 2017.2.0f3 Editor Very Slow?, тянется до сих пор, разрабы жуют сопли. Не я один такой, оказывается. Ну ее нахуй, хуюнити вашу, ебитесь сами.
Парни, помогите нубу.Суть такова:v = Input.GetAxis ("Vertical");if (v != 0)// действие, если персонаж идёт вперёд/назадelse// действие, если персонаж стоит или идёт вправо/влевоПроблема в чём. Если отпустить кнопку "вперёд" или "назад", то ось не сразу скидывается в 0, а где-то через пол секунды.Как отловить что игрок отпустил кнопку вперёд/назад и выполнить нужные действия в тот же кадр?Можно, конечно, поставить проверку нажата ли кнопка W или S, но это же оси, их можно на что угодно перебиндить.Блять, Абу мамку ебал с такой капчей, лучше б светофоры считал
Смотрите чо я нашел среди свежих плагинов. Хуйнюшка для конфигов и настроечек игры. Вроде документация даже есть.https://www.assetstore.unity3d.com/#!/content/95117
>>4974961. Не увидел реалистичных персонажей.2. Не понял какая связь между контентом и движком, если все движки в конечном счете отправляют одинаковые команды рисования в видеокарту.3. Ничего кроме раздувания бюджета и маркетинга, реалистичная графика игре не приносит.
>>497503> одинаковые команды рисования в видеокартуКак жи, там жи нодовый шейдерный редактор, даже последний васян заебошит нет subsurface scattering ебабельной няше в бете бнити тоже ебанули, кстати
>>497501Ой иди ка ты на хуй, это на юньке нет больших игр, а на уече их дохуя, причём все прибыльные.Уеч используется с начала нулевых и является одним из самых распространённых движков среди профессионалов, а чем запомнился юнити - говноинди, которые ничего не стоят и лишь являются подобием видеоигр?
Накидайте, пожалуйста, книг по Юнити, по которым можно учиться без интернета. Уезжаю в деревню - с собой комп с установленным движком.И вдовесок по C#.Желательно на русском, но и на английском норм.
Как по мне, когда дело касается изучения какой-то проги, или языка программирования, то лучший способ изучения - официальная документация.Надо: открыть доки + открыть юнити, и читать строго с первой страницы, и чтобы сразу, как что-то узнал - тут же сделал/тыкнул что-то в юнити.А в книгах/видео что-то могут упустить, или слишком долго разжевывать. Или навязывать свой стиль программирования.А если ты дочитаешь доки от корки до корки, то можешь с уверенностью считать, что знаешь все, что касается юнити. Книги и видосы следует смотреть после, для закрепления информации, или для прояснения особо непонятных моментов.Я после изучения доков купил курс на распродаже за 10 баксов, (https://www.udemy.com/unitycourse/), видосы по сей день новые добавляются и вообщем-то ничего нового не узнаю до сих пор
>>497523Слушаюсь, мой скриптогосподин. Полагаю, что здесь я уже всех унизил своим посещением и могу удалиться. До новых встреч на просторах чебурнета.
>>496914>Удачи грузить все сцены аддитивно кстати.Там через корутину же на мгновение, что бы сделать неразрывный переход, чтобы инпут не слетал
Что нужно знать, чтобы при импорте 2D спрайтов не запутаться с Pixel Per Unit? Просто не знаю уже каких размеров спрайты уже рисовать, чтобы при значении 1 на сцене не появлялись гигантские спрайты. Спасибо.
>>497667Мозг то включи, при Pixel Per Unit у тебя 1 пиксель будет размером с 1 юнит. Хочешь квадратный спрайт размером с 1 юнит - ставь в Pixel Per Unit размер его стороны в пикселях.
>>484897>>484925>>485300Надеюсь эти аноны еще живы и сидят на этой доске.Можно ли пофиксить вот это скатывание круглого коллайдера с углов?
>>4976841. Сделать квадратный коллайдер и вместо нескольких коллайдеров для пола использовать один. В тайловой карте можно объединить все коллайдеры в один. Еще есть edge collider.2 Никак. Только пилить собственный контроллер.На дефолтной физике хорошо делать прототипы.
>>497686Я не он, но спрошу. Какие альтернативы физики есть?Качаю Bullet Physics for Unity ассет, буду разбираться.Нужно реализовать рельсы и колесо как у настоящего поезда, соответственно физическую симуляцию передвижения - не просто path.Как лучше сделать?
Запилил магазин для своей игры, в Unity я нажимаю на кнопку и происходит покупка нового бекграунда = то есть = происходит замена спрайта в префабе бекграунда на новый купленный спрайт. (1,2 пик код)Все выполняется в пару строчек кода, имена спрайтов "1" "2" "3" и тд. имена баттонов для покупки анологично "1" "2" "3" и тд.Проблема = В Unity все работает отлично = спрайты меняются, покупки происходят, но в сборке проекта не работает ровно нихуя, спрайты не меняются, хотя покупка происходит. Проверил на парс, в сборке все парсится правильно(3 пик), Как пофиксить?
Влияет как-то на производительность если валью тайп переменную кэшировать, ну типа назначить ее в классе,вместо того чтоб постоянно создавать локальн ов функции?
>>497694У тебя твой манясписок со спрайтами как реализован? Проверь чтобы в сборке все на месте было. И вообще, зацепись на https://docs.unity3d.com/ScriptReference/Application.LogCallback.html, выведи в UI текст и посмотри что тебе в сборке пишет.
>>497734Нет, в обоих случаях будет одно копирование, это же велью тайп. Из поля класса в куче еще медленнее небось, но по факту это совсем пиздец уже, хуй забей.
>>497748>Ассетстор работает только через впн, интересно.Вут. Вроде норм с мобилы и домашнего иннета.Может твой провайдер перестарался.
>>497775> Может твой провайдер перестаралсяМой тоже. И коллаборейт под запретом и developer.cloud.unity3dПисал провайдеру - сказали что залочено по решению РКН и, внезапно, налоговой службы.
>>497795>внезапно, налоговой службы.Правильно. НЕхуй деньги зарабатывать игорами зарубежом, да еще под и в треклятых долларей! буржуи какие? А ну, сначала за путена голосовать, а потом на завод.
Не зашкварно ли вот так клепать ui, или можно самому что-то наговнокодить поудачнее, если да киньте ссылку на мануалhttps://www.youtube.com/watch?v=zc8ac_qUXQY
>>497519>Нету больших игр>Pillars Of Eternity>Rust >Life is strange>Tyranny>The forest>Escape from Tarkov>Дохуя другихВопрос, что вы несете? Долбаебы? Вы хоть иногда думаете перед тем, чтобы что-то высрать?
>>497828Забыл херстоун, kerbal space program, cities: skyline, тред порноделов по соседству заставляет вспомнить тот же honey select и т.д. Сейчас этот шизоид напишет про то что "никанон что создатель движка не делает на нем игор".
>>497796>деньги зарабатывать игорами зарубежомПрикинь, что похую, ГДЕ ты их зарабатываешь. Налоги во всех нормальных странах платишь, ГДЕ проживаешь.
Взываю о помощи к юнетибогам!Если спавню как GameObject yoba = GameObject.Instantiate(prefab, transform);и тут же планирую пидарешт через Destroy(yoba, 60f);есть ли возможность опросить сому yoba, сколько ей осталось до пидарешта?Зачем мне это нужно:спавню зомбаков и отправлаю гулятьхочу за пару секунд до дестройя сыграть эффектную агонию из бесплатных ассетов партиклофили ненаркоманы делают как yoba.lifespan = 60f, чтобы yoba себя убила через заданное время?С юнету первую неделю. Убийца фаркрайя на стадии закрытой беты.
>>497862Сделай отдельный скрипт, который этим делом будет заниматься, и повесь на префаб зомбака. При спавне пусть отсчитывает и затем красиво умирает с партиклами.
>>497864То бишь предлагаешь делать менеджера, который бы держал спавнутых в списке до унижтожения?Мне больше нравится, если бы зомбак был максимально автономен, т.е. сам являлся полноценным префабом со своим набором аудио, эффектов и прочей AI-шной обёртки.Я только в процессе поиска собственных "паттернов".Сделаю так: public float timeToLive будет устанавливаться прямо после создания. Сам с корутине отсчитает, когда включайть предсмертный салют, и пидарештится через Destroy(gameObject);
>>497865>То бишь предлагаешь делать менеджера, который бы держал спавнутых в списке до унижтожения?Ты чем читаешь, блять?
Первый день в юнити, поясните в какую сторону гуглить. Надо в 2д разбить спрайт, чтобы одна часть была по оси Z на одной координате, другая на другой. Каким образом это реализуется?
>>497865Cоздаешь DestroyableThing, который в старте запускает корутину и накидывает себе время жизни. Как только это время превысило выставленный лайфтайм, вызывается UnityAction OnDestroy и объект дестроится.Так ты сможешь потом вызывать что там тебе нужно при смерти: анимацию применить или нового моба спавнить.Можешь там же сделать метод, который возвращает тебе, сколько мобу осталось жить.Можешь еще колбэк OnTik сделать и дергать его каждый тик, чтобы например это время жизни где-нибудь в гуи показывать. Короче будь молодцом, не пихай все в один класс, разделяй и влавствуй.
>>497883> не пихай все в один класс, разделяй и влавствуйВот этот пидор всё правильно говорит.Чем больше ты разделяешь роли - тем больше у тебя пространства для манёвров.
>>497871Ебать, нахуя тебе это? Что за изъебы. Ну подели ты спрайт руками двигай. Если очень хочешь, можешь кодом нарезать, но нахуя.Объясни хоть, зачем тебе это.
>>497821А можешь посоветовать годноты от туда?Вообще сейчас в сторе майские скидки, может посоветуете полезностей на которую и разориться не грех, а то я не а теме немного, вообще сам пилю 2д платформер рпг. В основном интересую технические моменты всякие, а не визуальные
>>497828На счёт херстона соглашусь, наверно единственная первоклассная игра на юнити, но учитывая двумерность игры, близзарды могли реализовать её хоть на гамаке, хоть на короне.Список выше где всякие PoE и тарковы это явны не игры первого эшелона.
Пацаны короче это, тут это, есть одна биржа, надо подписаться на тикеры, каждый тик это отдельный вебсокет, как итог их может быть 10-20,а знач и столько потоков, и оттуда будут постоянно идти сообщения, если их скидывать в ConcurrentBag, а в юнити апдейте оттуда забирать, брат будет жив?
Есть где-нибудь спиздить полный сет четко визуально различимых анимаций для файтингов - всякие там хай-лоу-оверхеад-нижнийблок-итд? Нужно для прототипирования - на качество похуй, лишь бы различимо было, а юнитов несколько, поэтому просто поносить в консоль что происходит - уже не катит.
>>497989Попробуй из мугена спиздить. Оно вроде как открытое, и туда тащат персонажей из всех файтингов.
А разве какой-то общепризнанный 3д муген уже есть? Я помню была куча каких-то любительских проектов под любые движки, и я поэтому и спрашиваю, мб кто знает, откуда можно спиздить в юнити побольше и побыстрее.
Окей, давайте вы прекратите давать максимально тупые советы. Пустая дефолтная сцена, без источников света и двумя кубами. Камера ортогональная.
>>498027>дефолтная сцена, без источников светаwowдолбоеб с двача не умеет читать, кто бы мог подумать
Использует ли кто-нибудь playmaker в работе? Годнота?https://assetstore.unity.com/packages/tools/visual-scripting/playmaker-368
Парни, кто-нибудь сталкивался с необходимостью одновременно передвигать объект и с помощью велосити и скейлить его? У меня какая-то хуйня получается, нагуглить за день не смог.Тормозить начинает жутко, вроде как объект прорисовывает дополнительный кадр, или типа того. Речь идет о 2д, как рассчитывать такие моменты?
Вопрос по компоненту Constant Force.Нужно из цилиндра сделать колесо, которое начинает крутиться по нажатию кнопки и поворачивать по нажатию другой, в т.ч. поворачивать в движении.Делается это, как я понял, через addTorque().Только непонятно, куда и как применять силы. Подскажи, анон.
>>498093Когда одновременно указан крутящий момент по Z и по Y, колесо начинает крутиться почему-то по X.
Котончики, мне нужно что то типа навигации сделать для юнитов как в парахододрочильнях. Почитал про стандартный навмеш, но он вроде как про прогулки по площадям (полигонам), у меня же хотьба по графу, узлы которого - столицы провинций. Как лучше сделать?
>>498150Astar pathfinding project, бесплатный ассет в котором можно сделать ходьбу между произвольно расположенными точками.
>>498153>Astar pathfinding projectСпасибо, помотрел. Только у меня, в стратежке, вроде как разные графы для разных стран получаются. В том смысле, что граф то один, но цена перемещения разная, т.к. некоторые страны разрешают проходить сквозь их территорию, а другие - нет. Вот думаю, то ли кучу графов запилить, то ли на велосипед сесть. А все что нужно метод типа "верни узлы кратчайшего пути учитывая что мы можем ходить только по своим провинциям, провинциям союзников и провинциям врага"
Ребята, позвольте платину.Каким средством удобнее всего реализовать скриптованные действия в 2д игре, типа автомобиля, который начинает ехать когда в определенное место подойдет игрок? Спасибо за ответ.
>>498164astar поддерживает разную цену пути по ребрам графа алгоритм, а не ассет, но если его не полные долбоебы кодили, то должнн
Ребята, есть одно приложение, если его как-то запихнуть на сайт через этот webGL, как будет работать связь с сервером? Ну вот подписатсья к примеру на вебсокет, будет машина подписываться на которой открыт сайт с игрой, или сам сервер на котором лежит вебГЛ параша?
>>498040Любой инструмент визуального программирования - костыль, забирающий у тебя свободу в написании кода в обмен на компенсацию твоей некомпетентности.Годнота tier - писать код самому, понимать, что и как работает, читать документацию, читать/смотреть туториалы.Mid tier - использовать костыли.Макака tier - копипастить чужие скрипты не разбираясь.
>>498178>GL, как будет работать связь с сервером? Ну вот подписатсья к примеру на вебсокет, будет машина подписываться на которой открыт сайт с игрой, или сам сервер на котором лежит вебГЛ параша?Какой сервер укажешь, на тот и будет подписываться. Сервер может располагаться как на сайте, так и на удаленной машине.
Открыл для себя ScriptableObject. Господе, я сейчас буду обмазывать весь проект этим дерьмом, такое-то охуенное mvp будет, никаких данных в monobehaviour, никаких зависимостей между сценами, чистота, порядок, мир и покой. Охуенно.
>>498181Маладца. Я у мамы тоже скриптблобджект-фанатик. Ещё написание кастомных инспекторов открой для себя, если ещё нет. Будешь кодить, а потом игры из своих асетов собирать и ползунки крутить.
>>498188Я просто документацию читал. Со scriptbleObject особо знать ничего не нужно, кроме того, что что они существуют. Ну ещё ты не запехнёшь туда объекты со сцены и какую-то логику взаимодействия с ними, то есть они тупо для удобного хранения и редактирования данных нужны. Типа создал по скрибтблобжекту для каждого противника, скрибтблобжекты для итемов, для бонусов, один для общего баланса. И пихаешь их в свои скрипты.А насчёт редакторов, это по сути свои окна редактирования сериализуемых значений в юнити. Можешь просто попробовать написать кастомных инспектор для какого-нибудь из своих скриптов, параллельно гуглить, что тебе нужно и дописывать"unity inspector". Только там старый гуй используется, если через GuiLayout ещё норм, но в некоторых случаях приходится нарезать квадраты, что может вызвать лёгкое подташнивание.
>>498181Нахуй нинужны, хуита без задач. Нахуя отделять данные от поведения? Первокурсники максималисты, блять, лишь бы модно было, а профитов в 2х файликах вместо 1 монобехевиора в котором точно так же крутишь ползунки в инспекторе никакого. Только читать тяжелее, что у тебя код моба делает с данными, которые какого-то хуя не в мобе. Зачем?
>>498197Затем, чтобы написать один monobehaviour, а потом для запила 100 мобов создать 100 scriptableobject'ов через меню, перетащить на них меши, материалы, анимацию и 10 разных классов с поведением, получив в итоге удобный инструмент разработки мышкой и работающие из коробки сейвы в качестве полезной нагрузки.Не знаю, зачем я пытаюсь переубедить заскорузлого говнокодера, правда. Можешь делать как тебе удобнее.
>>498198Ты конченый долбоеб. У меня 1 монобехавиор моба и 100 префабов с ним, в которые я, внезапно, мышкой перетаскал меши материалы и вбил параметры. Как делал и 5 лет назад. В чем отличие от твоей схемв со 100 скриптабл? Ни в чем, но первокурснику важно поюзать блидинг эдж, я понимаю.
>>498198Алсо твое скриптаблговно не поддерживает сейвы больше чем plain old если бы ты почитал документацию, то знал бы это, но ты же восторженный долбоеб.
>>498212Зачем возражать, когда ноускилл дрочит на единственную известную ему вещь? Мне не жалко, можешь продолжать.
>>498214> использовать самую последнюю ебатню, нужна она не нужна похуй> показатель скиллаВся суть школьников просто. Взрослые люди осваивают все инструменты, проводят сравнение, и потом пользуются тем, что подходит.
>>498204Ты конечно ретроград ебучий, так реально удобнее.Кстати забавно, но для таких как ты любителей обмазываться префабами юнитеки запилили пресеты в 2018-ой версии, по сути своей те же scriptbleObject-ы, но только для редактора. Глянь, может понравится. Можно создавать темплейты для настройки скриптов, должно быть удобная штука, мне правда не пригодилась пока.
>>498230> пресетыЕще один нахуй нинужный костыль для долбоёбов, которые никак не могут освоить префабы. Максимум, что надо впилить и они обещают таки впилить в 2к18 - это нестед префабы, всё, блять. Прекрасно все собирается с замечательным воркфлоу. Нет, блять, дегенераты не могут освоить один нормальный инструмент и начинают ныть оой дайте нам еще какую-нибудь хуйню. Разрабы юнити тоже хороши, прогибаются под дибилов вместо нормального дизайна системы жесткой рукой.
Написал скрипт, чтобы по нажатию на мяч в моем простеньком гольфе возникала стрелка, указывающая направление до лунки. И вот в чем проблема: стрелка всегда направлена куда угодно, только не на лунку. Ткните меня, где я делаю неправильно. Стрелка - спрайт. По дефолту на сцену добавляется как на втором скриншоте и я ее после этого поворачиваю по OX на 90.Код примерно такой:Vector3 direction = target.position - ball.position;float arrowPosition = Mathf.Atan2 (direction.y, direction.x) * Mathf.Rad2Deg;arrow.localRotation = Quaternion.Euler(90, 0, arrowPosition);
>>498255Он тоже не работает в моем случае. И я не понимаю, почему.Мне надо просто повернуть стрелку по OZ-координате и никак не получается.
А, может ты ось криво указал (второй параметр). Должно работать. В редакторе то хоть крутится? transform.LookAt(target, target.up);
>>498265В редакторе крутится. Вот я стрелку поворачиваю вокруг OX на 90, и она ложится на землю. Дальше ворочаю вокруг OZ, и она опять же двигается, как мне нужно: крутится вокруг оси.Второй параметр у LookAt() указал. Так стрелка смотрит в сторону цели, но как бы "дном". То есть, не хватает вот этого поворота по OX на 90.
Поверни ее по X и зафризь X, что бы она "плоско" лежала.Затем у тебя вращение только по Y. Vector2 мяча есть, vector2 лунки есть - в чем дело?
>>498266ну пихни спрайт в стрелку дочерним объектом и поверни его внутри на 90 градусов, чего ты себе мозг ебешь?
Подскажите хитрых методов как имея дохуилион векторов найти произвольное количество ближайших к каждому из них. Ключевое слово - произвольных. Например 10к векторов и к каждому 3-15 произвольных ближайших векторов.
>>498271По какой метрике "ближайших"? Что значит "произвольных ближайших"? Ты скажи, что ты хочешь сделать, а то пока звучит как какой-то пиздец.
>>49827510к х 10к сравниваний с извлечением квадратного корня звучит просто замечательно!>>498276Как же я люблю этот тред. Каждый раз приходится объяснять хуиту как детям. Допууустим, смари, есть 10к геймобжектов. Понял? И на каждом корочи висит компонент который говорит "Вот число. Хочу вот стооолько ближайших ко мне геймобжектов было в этом листе". Каждый фрейм. И геймобжекты двигаются ещё.
>>498279>10к х 10к сравниваний с извлечением квадратного корня звучит просто замечательно!Так ты сука тупая каждый кадр хочешь это делать?Тогда заебешься, ибо дешевого метода тут нет.А раз при загрузке левела или рестарте чекпоинта, whatever - без проблем.
>>498280Более дешевое разумеется октодерево, но построение самого дерева тоже жрет. Поэтому я пришел на двач спросить советов мудрых. Может кто-то знает больше меня.
>>498281А векторы сырые или какой контекст? Если обьекты м.б. кастануть сферу там или чоИначе да, строить древо, держать и обновлять кэш
>>498282Физоном я это делать не могу, так как мне это надо сунуть в другие потоки. Где хуй а не API юнити. Так что да, в контексте вопроса это просто какая-то хуйня у которой есть позиция.Собственно спросил потому что само построение жрет хорошо. Малину портит то что объекты могут двигаться.
>>498283>Малину портит то что объекты могут двигаться.Ну так обновляй кеш AABB tree? А как ты думаешь раньше у Юнити имплементация статик-коллайдеров была? При любом движении оного кэш перерасчитывался.
>>498281Во-первых, ты долбоёб, не умеющий описывать задачу нормально.Во-вторых, ты долбоёб, который не понимает, что рассчитывать 10 соседей на 10к объектов каждый фрейм - это пиздец в любом случае.В-третьих, если плотность точек примерно одинакова, с этим справится обычный грид. Дерево пересчитывать очень сложно, а грид нет.
>>498279> объяснять хуиту как детямОткуда мы знаем, какая у тебя метрика расстояния между векторами идиотина? Она вообще-то разная бывает. Например, косинусная. Понаберут по объявлениям.
>>498284Большинство векторов будут двигаться все время, так что нет смысла проверять кеш даже>>498288>Во-первых, ты долбоёб, не умеющий описывать задачу нормально.Специально для тех кто не умеет читать я описал после этого более простым языком. Здорово, да?>Во-вторых, ты долбоёб, который не понимает, что рассчитывать 10 соседей на 10к объектов каждый фрейм - это пиздец в любом случае.Этот вопрос не рассматривается так как задача не может быть упрощена. Потому что сама задача абстрактная и я выбрал наиболее хуевый вариант развития событий. Писать код который будет применяться не тобой и в хуй знает в каких условиях увлекательно, правда?>В-третьих, если плотность точек примерно одинакова, с этим справится обычный грид. Дерево пересчитывать очень сложно, а грид нет.Ноуп, плотность точек тоже произвольная. Единственное что можно сказать об условиях сверху сказанного это то что вряд-ли будет происходить поиск более 20 соседей.>>498289Метрика в попугаях нахуй. 3д векторы в 3д пространстве.
Не могу с лицензией разобраться, может есть кто из профи подскажет, например хочу перед релизом игры убрать заставку "made with unity", правильно ли я понимаю, что можно просто оформить подписку на месяц, скомпилировать игру без заставки и выложить в продажу, а потом после месяца снова перейти на бесплатную версию, а игра так и будет продаваться без заставки дальше? Можно так?
>>498307А ну точно, но все равно, по истечении этого года если не продлевать подписку, то можно чтобы моя игра продолжала продаваться без заставки?
>>498295> задача абстрактная и я выбралТогда можешь пройти нахуй. Если ты даже не можешь себе представить пределы изменения плотности по времени и координатам, как ты собрался выбрать структуру данных? И вообще - привет, проблемы с точностью флоата. Магии тут, блять, нет, долб. Идешь на педивикию и выбираешь из деревьев и гридов по скорости обновления и скорости поиска. и вообще начиная от 10к я бы бахнул это в compute shader
Можно ли как-то загрузить ".asset" файл через System.IO.File во время игры? Хочу сделать проверку некоторых файлов игры на изменение.
>>498324>Если ты даже не можешь себе представить пределы изменения плотности по времени и координатам, как ты собрался выбрать структуру данных?Например у к-мерного дерева нет проблем с плотностью, хули.>И вообще - привет, проблемы с точностью флоата.Лол. Очевидно что там где у меня начнутся проблемы с точностью флоата там начнутся проблемы у всех остальных. Нет, пример с геймобжектами исключает это.>Идешь на педивикию и выбираешь из деревьев и гридов по скорости обновления и скорости поиска.Я уже ходил и заимплементил и к-мерное дерево и октодерево. Но у них свои минусы. Вдруг я упустил чего? На педивикии нигде особо не консолидирована эта информация. Или я не нашел.>и вообще начиная от 10к я бы бахнул это в compute shaderЯ бы тоже. Но начиная от 10к все остальное что пользуется этими данными перестанет работать адекватно. Вообще compute shader не очень для этого подходит. Потому как сам процесс перемещения данных туда-сюда будет уже занимать много времени. К тому-же я не могу возвращать произвольные размеры массивов. Если для какого-то вектора понадобится вернуть 20 ближайших, а для других только 5, то это придется для всех вернуть 20 и убрать 15 для всех кроме одного.
>>498346> придется для всех вернуть 20И? В этом нет никакой проблемы. Разумеется, массивы будут фиксированного размера, в твоем случае порядка 1Мб, что очень, очень мало. И кидать туда-сюда всего лишь 1 раз за кадр это ваще нихуя не нагрузка.> Вдруг я упустил чего?Накодь ужеГРИДР ИДИ замеряй твою хуйню на всех трех алгоритмах.а вообще, лучше бы пиздовал делать игру, или в /пр нахуй, это твое ебаное теоретизирование нахуй тут никому не сдалось
Теоретический вопрос.Хочу сделать карты и кампании, состоящие из набора карт, для своей игры, причём чтобы можно было класть в папку с игрой пользовательские карты и кампании. Импорт карт-то я реализовал, несложно, но как мне сделать "объединённые файлы" для кампании? Вот у близзардов были MPQ файлы, где прятали официальные кампании с картами, w3m файлы для карт (где все ресурсы ещё вложены), w3x для кампаний (и там все карты кампании лежат). Что мне, рар-архивы ебошить, что ли? Как взрослые дяди такую проблему решают?
>>498374> взрослые дяди такую проблему решаютЗипуют. Можешь расширение сменить с .zip на .kirill для солидности, но и это нахуй нинужно. Собственные форматы и заголовки выдумывать можно только если ты долбоеб близорт.
>>498374AssetBundle же. Все адекваты юзают эту тему.https://docs.unity3d.com/ru/current/Manual/AssetBundlesIntro.html
Поковырял я этот astar https://www.arongranberg.com/astar/Получается, он заточен на поиск пути на плоскости а не графе (даже при использовании поинт графа), оперирует координатами а не узлами (еще и в int3 формате) и не позволяет отфильтровывать узлы по условиюПопробую что нибудь попроще, просто граф с астаром
>>498468Господи, почитай уже нормальную статью. Астар - это алгоритм поиска в графе. Он настолько простой, что даже ты способен его накодить самостоятельно. а я накодил его раз 30 уже.https://ru.wikipedia.org/wiki/A*
>>498468Чет хуево ты поковырял, там даже в примерах есть сцена с поиском пути по раскиданным по карте узлам.
>>498471Есть, но оно там нет фильтра узлов при поиске. Тупо по всем узлам ищет. И положения объекта описывается координатами int3 а не узлом, что смущает меня.
>>498472Какой тебе фильтр нужен? Что такое узел "положения объекта описывается координатами int3 а не узлом"? Ты до конца понимаешь что тебе нужно или выдумываешь всякую чушь лишь бы игру не делать?
>>498478>Какой тебе фильтр нужен?найти путь из а в б при условии что все узлы на пути соответствуют условию хЯ мог бы переписать этот навороченный астар но он и так переусложнен - колбэки, потоки...>лишь бы игру не делатьконечно
>>498480Там можно ставить на узлы теги, типа корабль ходит по узлам "вода" но не "земля", и расставлять эти теги можно через скрипт динамически. Но зачем что то объяснять человеку, который будет искать свой идеальный ассет до талого и в итоге отбросит свою охуительную идею игры так как технологический прогресс еще не дорос до его гениальных замыслов.
>>498481>Там можно ставить на узлы теги, типа корабль ходит по узлам "вода" но не "земля"Не пойдет. У меня один и тот же узел доступен для союзников и недоступен для врагов. Нужен предикат типа Predicate<Province>Алсо, моя игра опубликована и даже приносит денег на пиво
>>498483Ты заебал, ставишь на узел тег названия страны и на юнитов вешаешь разрешение ходить по узлам с тегами своей страны. Как ты игру сделал даже не представляю, спиздил у кого-то с гитхаба?
>>498386>https://docs.unity3d.com/ru/current/Manual/AssetBundlesIntro.htmlTo begin creating an AssetBundle (called AssetBundle in scripts and within the Unity Editor), select an asset from your project folder that you want to include in a bundle. Т.е. для работы этой херни нужен юнити у пользователей + какие-то свои форматы выдумывать. У меня же по определению нужен формат, подходящий для кириллов с доступом только к текстовику.>>498378>>498385Окей, погуглим.
Какие подводные камни у Anima2d?https://assetstore.unity.com/packages/essentials/unity-anima2d-79840Почему все сидят на Spine? Какие есть более годные альтернативы?
>>498492>Почему все сидят на SpineПотому что enginedevs и у них другой движокAnima2D для Unity и разницы в функционале нет особой.
Какая-то мистика. Создаю новый класс, а другой (уже существующий) класс его не видит. Хотя лежат в одной папке. До того как обновился до 2018 версии всё нормально было. Все скрипты, что были до обновления, видятся. Все новые - нет.
>>498492из личного использования Анимы2Д заметил проблему ,что теряется объект из карты спрайтов и начинает глючить . помогает толко пересоздание карты спрайтов и повторное анимирование в спине все разделено на отдельные спрайты и не глючит из за этого
>>498495И юнитистор и коллаборейт колбасит уже три недели, со времён всей этой хуйни с телеграмом. То работает, то не работает. Может два дня нормально отработать, а может и два часа. Но это не у всех провайдеров.Приходится VPN поднимать, да.
Делаю тут анимацию игры в Unity и хочу чтобы глаза двигались за мышкой но не проворачивались на 360 по кругу как при использование LookAt , а чтобы направлялись в своем нормальном положении как сделать кто знает ссылку на игру по которой делаю анимацию https://www.comdotgame.com/play/kitchen-fun-2
>>498497>Puppet2D?чес слово попытался из его урока чтото сделать послал его на хуй этот пупет и решил поебатся с АНИМОЙ и то в аниме хоть урок куда более простой сча пытаюсь анимировать это из нарезки игры если что знаешь то ответь как глаза заставить за мышкой двигатся но чтобы не проворачивались а просто двигались
>>498500задай центр между глазам и рассчитывай положение курсора относительно него и соответственно двигай глаза? LookAt не подойдет тут
Есть кто поделиться Rex Engine, или подскажет где скачать? Мне бы код глянуть, перед покупкой>>498501Ты где папет брал, на рутрекере нету же?
You can't redistribute the code or any of the content of the asset.Я тупой, но тут redistribute значит нельзя типа мне самостоятельно распространять повторно какие-то элементы и части кода? просто я сначлао подумал, что нельзя типа изменения вносить в код, как правильно?
>>498363>И? В этом нет никакой проблемы. Разумеется, массивы будут фиксированного размера, в твоем случае порядка 1Мб, что очень, очень мало. И кидать туда-сюда всего лишь 1 раз за кадр это ваще нихуя не нагрузка.плюс сам массив векторов, плюс хуйня, плюс муйня. каждый фрейм это таскать на видеокарту тоже неочень. но наверно придется сделать и оставить как опцию, да.>ГРИДне, входные данные слишком подвержены кластеризации. нахуй.>И замеряй твою хуйню на всех трех алгоритмах.а я, кстати, замерил. если интересно то для небольшого количества векторов победило к-мерное дерево. для больших квадродерево.хотя в моей имплементации к-мерное дерево получилось более адекватным решением.вообще, квадродерево выигрывает по скорости составления дерева только если пользоваться пиздилионом листов. и хуй его знает сколько там листов понадобится. а если не знать то эти листы потом по всей памяти тонким слоем размажутся. подскажите хороших имплементаций квадратодерева.>а вообще, лучше бы пиздовал делать игру, или в /пр нахуй, это твое ебаное теоретизирование нахуй тут никому не сдалосьа там уже им придется объяснять юнити-хуюнити. вообще чего ты? не одни же таскатели ассетов тут сидят! >>498468>>498470я бы лучше сделал свой граф с блудницами и игрищами и максимум что спиздил у астара это собственно сам а*. все таки сам поиск пути и графы-хуяфы очень малая часть самого астар. там охуеть сколько шелухи, а функционального кода не так и много. я читал.>>498494та-же хуйня. в итоге сижу на 2017>>498500лол какое ты говно мамонта откопал. а просто вычесть из координат мыши координату глаза, нормализовать и умножить на то как далеко глаз должен крутится не?
Cкоро перекот, но всё же.Как получать объект, заинстансенный из кода? Вот например я в цикле спавню 10 префабов, у каждого имя "TileContainer(Clone)". А я еще хочу запихнуть в каждый по одному объекту. Как мне выбрать конкретный?
>>498539дык ведь конструктор обьекта возвращает тебе сам обьект. Object.Instantiate же ретурн тайп Object имеет.
>>498539Короче пока реализовал поиском по координатам (потому что их я знаю), но это какой-то аутизм.
>>498540Не увидел твой пост. Щас попробую, не подумал че-то. Все равно придется делать массив, но это все равно гораздо лучше.
>>498542>Все равно придется делать массивЗависит от архитектуры твоего проекта. Вариантов хранения ссылок на инстансы - десятки!
Ребзя, есть класс биржы, и в нем различные события, но вот символов то много, ну например рассылки апдейта ордерубка, я могу быть пописан по вебскоету от одного до десятка ордербуков, (сотни пар на некоторых биржах). Все хуярю одним события. А в классе подписчике уже дергаю со словаря конкретный экземпляр. Такой вот костыль, все правильно делаю?
>>498486>Как ты игру сделал даже не представляю, спиздил у кого-то с гитхаба?Сам навелосипедил почти 17 loc>ставишь на узел тег названия страны и на юнитов вешаешь разрешение ходить по узлам с тегами своей страныНо это же хуйня. Стран может быть пара сотен, + союзники, по врагам тоже можно ходить. Куда проще было бы фильтровать узлы в нормальном предикате, а не сравнивать по каким то тегам с названиями
Сейчас делаю перевод документации по юнити хотел бы с кем нибудь скооперироватся для совместной работы
>>493650заполняй двумерный массив, преобразуй в изображение. через bitmap например. обычно так обходят дорогой вызов SetPixel().struct Pixel{ byte r; byte g; byte b;}массив както так Pixel[,] ImageData = new Pixel[1600,900]();создай имажзакмени палитру. наидешь на перв стр гугла