• Как сделать корректный переход объекта между несколькими buoyancy effector 2d?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    погодите а что не так??
    тяжелые тонут, а легкие плавают на границе жидкости.
    когда ставите density (плотность) жидкости ноль - то все объекты в ней тонут))

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

    А теперь по делу
    Можете попробовать сделать просто прямоугольную форму для жидкости, а форму дополнительно коллайдерами ограничить,чтобы придать такую вот форму воронки как на изображении у вас.
    Ответ написан
    Комментировать
  • Как правильно сделать функцию для повторяющихся действий?

    MrMureno
    @MrMureno
    VR for all
    Вы не поверите, но просто взять и сделать отдельным методом/функцией))

    параметры для функции определить не можете?? ..разбирайте тогда примеры попроще, учитесь. разве не для этого такие задания/лабораторные работы делают
    Ответ написан
    4 комментария
  • Возможно ли в принципе включить 144 гц на встроенном в проц 2400G видео?

    MrMureno
    @MrMureno
    VR for all
    должно работать при наборе условий.
    Подключено через DisplayPort или HDMI (1.4a или сразу бы 2.0) кабель версии адекватной, не какой нить старый 1.2, или 1.3
    Стоят последние драйвера на видео.

    И само собой оно не вытянет при какой либо нагрузке )), покупать такой монитор и не купить к нему видео карту и хотеть 144гц. странновато))
    Ответ написан
  • Идеальный паттерн для игры?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    тут наверное важно не путать "паттерн проектирования" и "концепцию архитектуры"

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

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

    а что если сетевой уровень еще.
    а что если хотим ECS новый и Jobs использовать.

    Не бывает супер удачно всем подходящей) делаем. смотрим что не так. исправляем и переделываем. в следующий раз с опытом выйдет лучше.
    Еще вариант поглядеть чужое. разобрать досканально, понять почему тут так сделали.
    Пару чужих проектов - и можно свою "идеальную" попробовать навернуть))
    Ответ написан
    Комментировать
  • Почему данный код не работает?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    попробую пояснить как то попроще что ли))

    Вот вы запустили короутину в строке
    StartCoroutine(ExecuteAfterTime());
    оно тут же начнет её выполнять, и выполнит все вызовы внутри короутины пока не наткнется на какое нибудь "подождать", в вашем случае
    yield return new WaitForSeconds(1);

    наткнулось -> вернулось тут же в основной поток и продолжило выполнять
    temp.transform.position = pointss[i]; и далее цикл.

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

    void ChangePos(List<Vector2> pointss, GameObject temp)
        {
            for (int i=0; i<pointss.Count; i++)
            {
                StartCoroutine(ExecuteAfterTime());
               Debug.Log("from FOR _"+i.ToString());
                temp.transform.position = pointss[i];
            }
        }
    
        IEnumerator ExecuteAfterTime()
        {
            yield return new WaitForSeconds(1);
           Debug.Log("Arter 1 second");
        }


    попробуйте вот такой код и поймете, когда и что вызывается.
    и что в общем то верно вам пояснили, что если хотите растянуть цикл во времени, то весь его в короутину запихать.
    Ответ написан
    Комментировать
  • Как проверить законность использования кем-либо продаваемого мной unity ассета?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    смотрите какое тут дело.
    особо защиты нет( кто-то купил ассет ваш. скачал. и может раздавать направо и налево.

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

    Но, в 95 процентах случаев - если этот ассет достался безымянному Васе - он выложил в стор - и НИЧЕГО) нет у него прибыли какой либо существенной.

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

    такие вот дела)) хороший и востребованный ассет - покупают. а купленным не все охотно делятся бесплатно))
    Ответ написан
    Комментировать
  • Как подключиться и получить данные с websocket'а сайта exmo.me на C#?

    MrMureno
    @MrMureno
    VR for all
    https://exmo.me/ru/api#/public_api
    так у них есть готовое апи с примерами. неужели там нет курса вам нужного?
    и даже если нет, то возможно все же проще будет в поддержку написать ,чем раскапывать их протокол общения по вебсокету)
    Ответ написан
    1 комментарий
  • При перезапуск сцены код не работает, как исправить?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    как как)) в консоли ошибки посмотрите..вдруг что есть
    а еще есть вероятность ,что какой-то DontDEstroy объект создаете с ссылкой на Instance, а потом пересоздали второй раз, а ссылка не меняется..

    плюс не ясно что у вас за персонаж, есть ли сетевой уровень)) что за управление "с помощью Joystick" )) ничего вообще не ясно))
    Ответ написан
    6 комментариев
  • Почему в Unity, объекты "спавнится" выше другого объекта?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    Spawn[i].transform.localScale.y + i
    вот как минимум этот момент вам не зря выделили..
    вы на скэил(масштаб) УМНОЖАТЬ должны, как минимум. а не плюсовать его.

    вы получается в глобальных мировых координатах, берете масштаб, как расстояние.
    вот и получаете, что у вас спавнятся объекты на N + i выше)) в мировых координатах.

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

    ну и напоследок. заранее.
    у вас смотрю на дереве коллайдер. и на создаваемых ресурсах чую тоже есть коллайдер))
    у вас один коллайдер из другого будет выталкиваться..если не отключите на дереве.
    Destroy срабатывает не моментально и успеет физику посчитать))
    Ответ написан
  • Как Unity сохранить объект после остановки?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    можете в редакторе перетащить их в Project.
    таким образом получите из объекта префаб..можно будет потом его использовать.

    но вообще Play (рантаим)по большей части работает как Песочница. поработала и сбросилась в исходное состояние.
    Ответ написан
    Комментировать
  • Проблема с leaderboard в PlayMaker(GooglePlay) в Unity, как ее исправить?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    https://docs.unity3d.com/ScriptReference/Social.html
    дайте попробую угадать. вы пробуете это не на iOS...???
    прочитайте. Social в юнити для GameCenter только. если надо ПК или андроид - ищите плагины.
    Ответ написан
  • Как конвертировать JSON в многомерный массив?

    MrMureno
    @MrMureno
    VR for all
    как преобразовать?? ручками..
    все верно вам саит выдает..
    две страны в каждой список городов....

    у вас нет массива внутри cities

    возможно вы хотели
    {
      "cities": [{
        "CountryName": [{
            "name": "Sentra"
          },
          {
            "name": "Sentra"
          },
          {
            "name": "Sentra"
          }
        ],
        "CountryName2": [{
            "name": "Sentra"
          },
          {
            "name": "Sentra"
          }
        ]
      }
    ]
    }


    и то вам сгенерирует список списков.
    можете обосновать зачем вам именно многомерный массив..и чем список списков вас не устраивает??
    Ответ написан
    8 комментариев
  • Как вы реализуете свайпы в unity?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    если вы все так делали то ничего удивительного..
    общий принцип жеста "сваип"

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

    а не каждый кадр как у вас считать))
    У тача есть фазы. старт. движение. отмена. конец...увидите в документации.
    как собственно у мышки есть -НАЖАТА. ЗАЖАТА. ОТПУЩЕНА ))
    https://docs.unity3d.com/ScriptReference/Touch-pha...
    https://docs.unity3d.com/ScriptReference/Input.Get...
    и тд
    Ответ написан
    Комментировать
  • Как в unity реализуются сетевые игры?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    https://docs.unity3d.com/Manual/UNet.html
    вы про этот uNet ??
    там и общие принципы описывают и лоу левел апи есть для тех кому требуется самому все написать и контролировать.

    Users building network infrastructure or advanced multiplayer games. These users should start with the NetworkTransport API.
    Ответ написан
    Комментировать
  • Как запретить редактору вызывать "readonly static" во время редактирования?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    посмотрите примеры плагинов локализации. в том же ассет сторе.
    это паршивый вариант кешировать - сохраняя хардкодом в статик поля.

    обычно у плагина локализации есть отдельно фаил ресурсов. где все локализации.
    нужную на старте вытащили. в оперативку/сцену запихнули и используете.

    это уже само по себе кеширование. от того что вы все это в переменные readonly static понапихаете лучше не станет))
    Ответ написан
  • Как сделать ДВА прыжка в платформере на Unity?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    стандартный платформ контhоллер из стандарт ассетов..содержит в себе пример и туториалов куча.

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

    https://unity3d.com/ru/learn/tutorials/topics/2d-g...
    вот к примеру. тут по направлению вроде определяют..но суть все равно во флаге grounded
    Ответ написан
    2 комментария
  • Почему не перетаскивается игровой объект в инспектор, на скрипт?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    а вы случаем не пробуете в префабе указать ссылку на объект со сцены??
    так нельзя)
    объект из сцены может ссылаться на префабы.
    объект из сцены может ссылаться на другой объект из сцены .

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

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    если это для тач устройств - то это комшар))
    даже если не для тач, то кнопок должно быть максимум четыре..по диагонали - нажатие двух одновременно.

    с кнопок получаем "ввод"..
    обрабатываем ввод - уже где надо..
    кнопка двигающая игрока - не оч хорошо))

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

    это так в общий чертах) как обычно делается. а тонкости и тд..это вам по опыту придет или где уже подглядите в примерах))
    Ответ написан
    Комментировать
  • Останавливается объект при нажатии кнопки 2 раза?

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    void OnCollisionEnter2D(Collision2D col)
        {
            if (col.gameObject.CompareTag("Wall"))
            {
                isForce = true;
            }


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

    если вы уперлись уже в "стену" то второго CollisionEnter не будет.
    переделывайте логику))) или проверяйте еще дополнительно CollisionStay

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

    MrMureno
    @MrMureno Куратор тега Unity
    VR for all
    один из самый простых способов - использовать NavMesh встроенный в юнити.
    гугл, уроки. там в двух словах не пояснить))

    возможно в новой версии юнити чуток поменялось, но общее представление можете тут поглядеть
    https://habr.com/ru/post/414453/

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

    так же наверняка есть ассеты/плагины) но их тоже смотреть, проверять))

    чудо галочки, которую просто вкл - нет)
    Ответ написан
    1 комментарий