1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ilxna-Multiplayer-FPS

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Многопользовательская игра в жанре шутера от первого лица

Принимаем PRs Лицензия: MIT Шаблон от jarvis

Многопользовательская игра в жанре шутера от первого лица, основанная на Unity3D. Поддерживается различные типы устройств ввода, включая Kinect, Xbox контроллеры, Leap motion и очки виртуальной реальности. (Каждый тип находится в отдельной ветке, UPDATE: эти ветки не поддерживаются с 2020 года, используйте на свой страх и риск)

Требования

Unity 2020.3.4f1 (LTS)

Логика игры и функциональность

  • Панель входа

    • Введите ваше имя игрока и название комнаты, в которую вы хотите присоединиться
    • Нажмите кнопку 'Присоединиться или создать комнату', чтобы присоединиться к комнате или создать новую комнату
    • Состояние сети отображается в нижнем левом углу img
  • Интерфейс игры

    • Здоровье игрока в верхнем левом углу

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

    • Пистолет (AK-47) всегда отображается в нижнем правом углу перед всем, что вы можете видеть

    • Красный прицел всегда находится в центре экрана * Модели игроков

    • Все оригинальные модели и их анимации были найдены на Mixamo, что является отличным сайтом для моделей игр, управляемым Adobe

    • Существует три типа моделей игроков:

      • Полицейский: модель, похожая на полицейского с желтой кожей
      • RobotX: модель, похожая на робота с темно-розовой кожей
      • RobotY: модель, похожая на робота с темно-синей кожей
    • Анимации:

      • Ходьба в четырех разных направлениях
      • Бег в четырех разных направлениях
      • Прыжок без влияния на верхнюю часть тела (достигается с помощью маски тела в Unity3D)
      • Стрельба без влияния на нижнюю часть тела (достигается с помощью маски тела в Unity3D)
      • Unity Blend Tree
        • Это делает ходьбу или бег игрока более естественными. Используется функция интерполяции для отображения различных комбинаций пользовательского ввода на различные анимации.
        • img * Машина состояний
      • В машине состояний игрока присутствуют несколько слоев.
      • * Движение игрока
    • Ходьба && Бег && Прицеливание

    • Скок

    • Смерть

      • * Модель оружия
    • Оригинальная модель оружия (AK-47) была взята из Unity Assets Store

    • Анимация выстрела добавлена путем установки ключевых кадров в панели анимации Unity3D img

  • Сетевое взаимодействие

    • Эта игра использует Photon Unity Networking 2, что является хорошей сетевой моделью из Unity Assets Store
  • Эффекты от пуль

    • Пули, попадая в различные материалы, вызывают разные эффекты
      • Дерево
      • Земля
      • Металл
      • Бетон
      • Вода
  • Анимация двери

    • Двери автоматически открываются, когда кто-то находится рядом, и закрываются, когда никого нет
    • Перед открытием
    • После открытия

Файлы скриптов* CameraRotation.cs

  • Поворачивает камеру сцены на каждом обновляемом кадре

  • DoorAnimation.cs

    • Управляет анимацией двери и определяет, если игрок входит или выходит из области двери
  • FpsGun.cs

    • Управляет пистолетом в первом лице, главным образом для стрельбы
  • TpsGun.cs

    • Управляет пистолетом в третьем лице (реплицируется на сети), главным образом трансформация и частицы эффекты
  • IKControl.cs

    • Обеспечивает, что модель держит пистолет, независимо от движений или поворотов
  • ImpactLifecycle.cs

    • Уничтожает объект пули после нескольких секунд для экономии времени процессора и памяти
  • NameTag.cs

    • Отображает имена других игроков над их головами
  • NetworkManager.cs

    • Управляет всей сетью
  • PlayerHealth.cs

    • Вычисляет и обновляет очки здоровья каждого игрока
  • PlayerNetworkMover.cs

    • Синхронизирует позицию игрока между различными клиентами### Устройства ввода
  • Мышь и клавиатура

    • Традиционный способ
    • Дешёвый и простой в использовании
  • Kinect

    • Подробнее см. ниже
    • Эта часть была реализована моим другом Ruochen Jiang, большое спасибо ему!
  • Xbox Controller

    • Как комбинация мыши и клавиатуры
    • Большинство игр Xbox используют этот способ
  • Leap Motion

    • Управление игрой с помощью жестов рук
    • Более продвинутый способ взаимодействия, который может стать популярным в будущем
  • VR очки

    • Более реалистичное и близкое к реальности
    • Недавно очень популярны, но устройства, вероятно, дорогие
    • Игроки не могут двигаться из-за ограничений моего устройства

Подробности Kinect

  • Инструменты и платформа:

    • Kinect для Xbox One
    • Kinect для Windows SDK
    • Unity
    • Visual Studio
  • Метод распознавания:

    • Использует Kinect для Windows SDK (BodySourceManager) для получения позиций скелета игрока. Определяет действия перемещения, прыжка, стрельбы на основе этих позиций и рассматривает поворот как ввод в игре.
  • Стрельба:

    • Пользователи могут активировать стрельбу, поднимая правую руку. Игра вычисляет расстояние между правой рукой и правым плечом игрока на основе узлов скелета. Стрельба будет активирована, если вычисленное расстояние достигнет порога.* Перемещение:
    • Перемещение в игре осуществляется шагами вперёд, назад, влево и вправо. Игра распознает действия перемещения на основе смещения узла правого стопа на плоскости x-z. Перемещение будет активировано, если смещение достигнет порога.
  • Прыжок:

    • Пользователи могут прыгать в игре. Игра вычисляет смещение суставного узла правой стопы по оси z для регистрации прыжка. Прыжок будет запущен, если вычисленное смещение достигнет порогового значения.* Поворот камеры:
    • Используйте правую руку как виртуальную мышь для управления поворотом камеры. Игра фиксирует начальное положение левой руки как начальное положение мыши, а затем вычисляет поворот камеры по смещению левой руки.

Вклад

См. CONTRIBUTING.md

Лицензия

MIT License

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

[Игровой пример][Большой проект] Unity FPS Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ilxna-Multiplayer-FPS.git
git@api.gitlife.ru:oschina-mirror/ilxna-Multiplayer-FPS.git
oschina-mirror
ilxna-Multiplayer-FPS
ilxna-Multiplayer-FPS
master