• CrossPlatformInputManager в unity 2018, проблемы при установке. Почему?

    Griboks
    @Griboks Куратор тега C#
    Возможно, дело в том, что вы обращаетесь к UnityStandardAssets.CrossPlatformInput.CrossPlatformInputManager.GetAxis в коде CrossPlatformInputManager.GetAxis("Horizontal");
    Попробуйте убрать один CrossPlatformInput.
    Ответ написан
    1 комментарий
  • Как создавать качественную 2D анимацию?

    Griboks
    @Griboks
    Как я понял - моей вины тут нет. Причина в растровой графике.

    Ну да, видимо, это ваш компьютер специально портит графику.

    1. Надо увеличить разрешение (глубину), чтобы у вас был не 1 пиксель на дюйм, а, например, 500.
    2. Использовать сглаживание. Его специально придумали для эффекта "зубчитости".
    3. Субпиксельный рендеринг.
    4. Можете отрисовать отдельно все части, создать скелет, нацепить на скелет ваши части, анимировать его, а потом отрендерить в атлас.

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

    Griboks
    @Griboks Куратор тега C#
    Кроме хардкорного варианта можно ещё рассмотреть стандартные Input Axes. Посмотрите оф. примеры, там используется что-то наподобие Input.GetAxis("horizontal"), что работает и на геймпаде, и на клавиатуре.
    Ответ написан
  • Почему они внутри дракона?

    Griboks
    @Griboks Куратор тега C#
    Необходимо добавить проверку на минимальную дистанцию.
    void Update()
        {
           if (trig == false)
            {
                
                Vector3 rotation = player.position-enemy.position;
                enemy.rotation = Quaternion.Slerp(enemy.rotation, Quaternion.LookRotation(rotation), RotateSpeed * Time.deltaTime);
                if(rotation.sqrMagnitude > 1)
                            enemy.transform.position += enemy.forward * SpeedMove * Time.deltaTime;
                enemy.transform.localPosition = new Vector3(transform.position.x, 0f, transform.position.z);
                enemy.transform.localRotation = new Quaternion(0f, transform.rotation.y ,0f, transform.rotation.w); 
            }
        }
    Ответ написан
    1 комментарий
  • Процессор на двоичных кодах везде? то почему нет спец универсального транслятора под тысячи процессоров? Или единого стандарта кода для всех цп?

    Griboks
    @Griboks
    Процессор на двоичных кодах везде?

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

    Есть, например, трансляторы языков C, C#, Python, JavaScript.
    Или единого стандарта кода для всех цп?

    По той же причине, что нет единого стандарта связи, пдд, поездов, пенсий.
    Джава и питон не охватывают все консоли и смартфоны?

    Почти всё охватывают. А что не охватывают, вы сами можете охватить.
    Но ведь двоичный код охватывает 99%?

    Да.
    Значит слишком трудно создать все планетарный стандарт двоичного кода. ?

    Раз плюнуть. А кто его выполнять то будет? Никто не станет менять концепцию своего продукта и терять многолетние наработки ради стандарта.
    Или унифицировать все процессоры для совместимости тоже тяжело?
    Может конвертор добавить?

    Микропрограммы, ассемблер, низкоуровневые языки.
    Это вообще никак ни в одном я.п. не предусмотрено?

    Это предусмотрено везде и повсюду. Гуглите виртуальные машины и компиляторы.
    Ответ написан
    4 комментария
  • Мотивация программистов на удаленке. Что делать?

    Griboks
    @Griboks
    слишком мало задач

    30-40 часов

    У вас задачи измеряются в часах? Возможно, программисты просто не понимают, что значит писать код 55 часов подряд. Возможно, им нужно поставить цель конкретными функциями/классами/интерфейсами и т.п.
    Есть ещё мнение, что вам стоит измерять производительность не в часах, а в результатах. Поменяв формулу, вы увидите, что производительность программистов достаточно большая по сравнению с, например, вами.
    выяснить причины такого низкого перфоманса

    А что он вам может ответить? У него в контракте записана норма времени?
    Ответ написан
    8 комментариев
  • Как найти минимальное расстояние между точками, координаты которых находятся в массиве?

    Griboks
    @Griboks
    Расстояние - это бинарное понятие, т.е. между двумя точками. Между тремя точками расстояние не определено.
    Грубо говоря, расстояние - это длина отрезка.
    Судя по вопросу, вам подойдёт теорема Пифагора. Думаю, с ней вы сможете разобраться сами.
    Ответ написан
  • Как вести совместное ведение проекта в Юнити?

    Griboks
    @Griboks Куратор тега Unity
    В юнити, как вы могли заметить, компонентная система. Работу над проектом разделяют на отдельные части: уровни, скрипты, персонажи, сюжет. Потом всё это соединяют.

    Git - это немного другое, контроль версий. На первых этапах у вас будет только одна и единственная версия - текущая.
    Ответ написан
    Комментировать
  • Есть ли у кого то опыт покупки Б\У серверов?

    Griboks
    @Griboks
    В нашей стране все сервера, по факту, б/у. На загнивающем западе к серверам относятся не так трепетно и основательно, поэтому меняют часто и продают вполне нормальное для нас оборудование. Ещё учтите, что нам продают технологически отсталое оборудование.
    Ну а наши уже до талого работают на купленных серверах, поэтому покупать двойное б/у не советую. Будет хорошо, если оные хотя бы просто окупятся.
    Ответ написан
    5 комментариев
  • Как быть школьнику?

    Griboks
    @Griboks
    Сомнительный источник, этот Тимати. Я бы ему не доверял. Как школьник хочет, так и будет делать.
    Ответ написан
    Комментировать
  • Есть ли формула обратимого преобразования четырёх чисел в одно?

    Griboks
    @Griboks
    1. Вы можете рассматривать каждое число как разряд. Это позволит сложить и разложить сколь угодно много чисел (см. формулы выделения разрядов).
    Для примера, пусть у нас есть 4 числа, каждое из которых может быть 0-9. Тогда, возможно двустороннее преобразование вида: 1 + 2 + 3 + 4 = 1234.

    2. Объединить текстовую запись чисел, а потом разбить её на 4 равные части.

    3. Представить каждую пару чисел как x.y, а затем представить общее число как a+i*b (комплексное). Например: 1 + 2 + 3 + 4 = 1.2+3.4i. В таком случае возможно даже "бесплатно" получить хеш по формуле Эйлера: 1.2+3.4i => 3.6*e^1.23i.
    Ответ написан
    Комментировать
  • Какие вопросы полезно задавать старшим разработчикам?

    Griboks
    @Griboks
    Вам следует задавать вопросы вида "Почему вы думаете так, выбрали такое решение?"; т.е. объяснять вам их позицию. И делать это тогда, когда вы не согласны с ними. Таким образом, вы будете развиваться. И запомните, что не бывает правильных ответов.

    Вопросы вида "Проверьте моё задание. Проведите code review. Что вы думаете о моей работе?" часто не имеют смысла, т.к. после получения ответа вы должны проанализировать свой код, сделать работу на ошибками и закрепить материал. Этим редко занимаются джуны. Они редко прогрессируют на собственных ошибках.

    Самый главный вопрос, который вы должны задать: "Как занять ваше место?" И составить себе roadmap. Конечно, если вы готовы много много лет сидеть на джуне, можете просто работать и копить опыт, но это самый долгий путь.
    Ответ написан
    Комментировать
  • Как заспавнить объект в радиусе определённой сферы?

    Griboks
    @Griboks Куратор тега C#
    Я где-то слышал, что у юнити есть сайт с документацией. Видимо, его украли, раз вы задаёте этот вопрос. К счастью, у меня сохранилась ссылка: https://docs.unity3d.com/ScriptReference/Random-in...
    using UnityEngine;
    
    public class Example : MonoBehaviour
    {
        void Start()
        {
            // Sets the position to be somewhere inside a sphere
            // with radius 5 and the center at zero.
    
            transform.position = Random.insideUnitSphere * 5;
        }
    }
    Ответ написан
    Комментировать
  • Python. Получить состав целого числа из N чисел?

    Griboks
    @Griboks
    Таких способов бесконечно много, поэтому задача не имеет решения. Кажется, препод решил над вами пошутить и подсунул тухлую задачку.
    Ответ написан
  • Как можно предоставить доступ к файлам через интернет?

    Griboks
    @Griboks
    а если проброс портов на ПК?

    1. Подключаетесь к любому STUN серверу (много публичных в интернете).
    2. Пробрасываете порты (UDP hole punching).
    3. Пишете свой протокол вида TCP over UDP.
    4. Передаёте файлы.
    Как видите, всё достаточно просто.
    Ответ написан
    Комментировать
  • Кривая Безье и скорость анимации. Как построить зависимость изменения расположения от времени?

    Griboks
    @Griboks
    Эта штука называется animation curve. Если просто, то ваша кривая - эта функция f(t). Соответственно, в вашем случае будет V=f(t); затем просто используете скорость в вашем уравнении движения. В общем случае: x+=Vx, y+=Vy. Ну а как найти проекцию вектора скорости на оси координат вы ещё со школы знаете.
    Ответ написан
    1 комментарий
  • 25 600 движущихся спрайтов?

    Griboks
    @Griboks
    Да, помогут. Ещё не забывайте использовать профайлер. Также используйте трансформ, а столкновения проверяйте сами. Кроме того, используйте лайфхаки, типа проверять x2-x1 вместо пересечения границ, использовать квадрат расстояния и т. д.
    Кроме самой физики, советую оптимизировать графику, в частности спрайты.
    Ответ написан
    Комментировать
  • Какую тему выбрать диплома?

    Griboks
    @Griboks
    1. Разработка адекватной технологии построения десктоп приложений на html+css+js.
    2. Создание serverless backendless фреймворка.
    3. Замена jsx на адекватное и уместное решение (скорее всего, json).

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

    Griboks
    @Griboks
    .е. если у графа есть хоть одно ребро, имеющее направление, то это орграф.

    Всё правильно.
    если количество вершин <= 1 или количество ребер = 0

    Количество вершин не может быть 0, т.е., если 0 вершин, то это уже не граф. Количество рёбер может быть любым.
    Но не проходит 13 тест.

    Забавно, что вы не написали тест №13.
    if (i == j and G[i][j] == 1):

    Я ничего не понимаю в матрицах смежности, но, возможно, вам стоит перенести G[i][j]==1 во внутрь условия:
    for i in range(N):
      for j in range(N):
        if (i == j):
          if (G[i][j] == 1):
              print("NO");exit()
        elif (G[i][j] != G[j][i]):
          print("YES");exit()

    p.s.
    Естественно, этот код ужасен. Не повторяйте в продакшене.
    Ответ написан
    2 комментария