• Как сделать физику в игре про вертолёты?

    Моделировать воздух как газ в игре - это конечно сильно. Пойдёт, если ты собираешься на суперкомпьютере NASA играть)

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

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

    А от самого вертолёта/самолёта тебе нужно:
    1. Центр масс (и сама масса. Меняется при расходе топлива)
    2. Центр давления (меняется при управлении, изменении управляющих плоскостей)
    3. Вектор тяги (Зависит от оборотов ротора, атмосферы, шага лопастей.)

    А ну и ещё вращение

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

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Можете, конечно, сделать моделирование воздушных потоков с разным составом газов, их температурой, а так же физику отталкивания винтом от воздуха при противодействии гравитации и других сил, при наличии у вас под рукой мощного суперкомпьютера и соответствующего ПО. А вот в играх обычно винт представлен простенькой анимацией или статической текстурой с некоторыми эффектами, а вот вертолёт двигает игровой движок по простейшей формуле расчёта скорости и ускорения в зависимости от текущего состояния пользовательского ввода. Как и любой другой игровой объект. Воздуха в абсолютном большинстве игр нет и всякая трава и деревья колышутся по простейшим формулам с некоторой рандомизацией для того, чтобы оно было более-менее похоже на ветер.
    Ответ написан
    Комментировать
  • Как сделали эффект корабль на далёком расстоянии находится внизу?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Если ради такой сцены моделировать полноценный 3Д корабль и реально опускать на него камеру (или поднимать к камере корабль), такая игра будет очень сильно требовательна к ресурсам.
    Выглядит так, будто это просто статическая картинка на фоне, с анимацией покачивания. В сцене в 3Д смоделирована только головоломка и персонаж.
    Ответ написан
    Комментировать
  • Как сделали свет от лампы?

    @LanskoyGames
    У модераторов первое место, но только с конца...
    Через Area light(blender и в unuty), но здесь ещё совместно с системой частиц(unity)
    Ответ написан
    Комментировать
  • Как сделали свет от лампы?

    @SWA512
    Gamedev
    Полно бесплатных плугинов, например АУРА - https://github.com/Rockwall33/Aura

    Гугл
    Ответ написан
    Комментировать
  • Как сделали дверь открывается именно из-за данной картинки?

    @DrRen7
    1)создаешь зону с триггером заносишь
    2) проверяешь через таг нужный ли объект
    3) запускаешь метод

    void DoorOpen()
        {
            //открываей дверь
        }
    
        private void OnTriggerEnter(Collider other)
        {
            if (other.tag == "key")
            {
                DoorOpen();
            }
        }

    там rb нужно и тд лучше почитать на оффсайте
    Ответ написан
    Комментировать
  • Как на движке Unity в игре про поезд установить трение на рельсы?

    @DrRen7
    Тут ещё смотря как ты поезд передвигаешь, если используешь физику но правильно будет назначить на коллайдер Physics Material там как раз есть Dynamic Friction - трение при движении и Static Friction - трение положения покоя
    Ответ написан
    Комментировать
  • Как на движке Unity в игре про поезд установить трение на рельсы?

    @LanskoyGames
    У модераторов первое место, но только с конца...
    Смысл вычислять трение? Просто берешь скорость поезда и в строчке про передвижение умножаешь этот вектор на это трение(можно даже через Collision узнавать на какой поверхности едет поезд и запрашивать переменную для трения у этого объекта). Пример(пишу с телефона так что без кода): Рельсы: public float Treny= 1f; Поезд: public float Treny = 0f; Рельсы: void OnColliderEnter(Collider other), потом if(CompareTag(«Train»)){other.Treny = Treny;} . Поезд : передвижение * Treny. Так и ресурсы экономим и разные рельсы есть
    Ответ написан
    3 комментария
  • Мне помогли написали кусок кода, но он у меня не запускается что не так не знаю?

    @Dementor
    программист, архитектор, аналитик
    я запускал на Intelij IDEA
    Следовательно код рабочий и как минимум запускается.

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

    Exception in thread "main" java.lang.IllegalArgumentException: x is NaN
    at edu.princeton.cs.algs4.StdDraw.validate(StdDraw.java:776)
    at edu.princeton.cs.algs4.StdDraw.filledCircle(StdDraw.java:1140)
    at Osmos.MeteorFlow.main(MeteorFlow.java:135)
    Process finished with exit code 0
    Эта ошибка говорит, что программа запустилась, но была аварийно завершена в тот момент, когда вместо числовой координаты x было получено NaN.

    Поскольку у тебя есть проект и среда разработки, то тебе нужно просто запустить выполнение в режиме отладки с остановкой по ошибке (или сразу поставить брекпойнт в StdDraw.java:776), а далее по стектрейсу посмотреть как ты сюда попал и почему значение координат было не инициализировано.
    Ответ написан
    Комментировать
  • Как загорается красный сигнал, когда паучок перерезает кабель нужный?

    GavriKos
    @GavriKos Куратор тега Unity
    Почитайте что такое MVC (да, не самый популярный паттерн). По сути - есть некие данные. Например, те же кабеля, не в виде геймобджектов, а в виде каких то переменных в модели. Когда происходит нужное действие с данными - соответственно меняется и визуал
    Ответ написан
    Комментировать