background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "Unreal Engine C++ Persistence #3: "Create Unreal Engine Project"

input logo icon
Теги видео
|

Теги видео

Unreal Engine
UE4
C++
Coding
Code
Tutorial
How To
Ray Trace
Object
Light Switch
Switch
Modeling
Light
Sound
Multiplayer
Client
Server
Dedicated
Survival
Respawn
Inventory
Crouch
Chat
Message
Online
Subsystem
OnlineSubsystem
Steam
SteamServer
WebAPI
asp.net
mysql
world at war
nazi
zombies
nazi zombies
blender
2.8
2.9
bullet
simulation
scope
optic
plugin
beginner
basic
RPC
Replication
Network
Networking
tutorial
onrep
server
client
multicast
c++
heartbeat
Door
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:00
в этом видео мы продолжим
00:00:02
и создадим наш проект, который мы будем
00:00:03
использовать для нашей настойчивости,
00:00:05
и что я собираюсь сделать, это использовать
00:00:06
проект от третьего лица, называемый шаблоном,
00:00:09
поэтому я собираюсь перейти к играм следующему третьему
00:00:12
лицу
00:00:13
плюс плюс и дайте этому имя
00:00:16
настойчивость,
00:00:19
мы сделаем, э-э, настойчивый для краткости,
00:00:22
и создадим проект, хорошо,
00:00:25
все создано,
00:00:27
и проект синхронизируется внутри
00:00:28
райдера,
00:00:30
поэтому сейчас мы собираемся сделать следующее: я хочу
00:00:31
пойти дальше и отключить плагины vr,
00:00:33
потому что мне не нравится, что это появляется
00:00:35
каждый раз, когда я запускаю игру, поэтому
00:00:37
я собираюсь пойти в настройки
00:00:38
плагинов, найти vr и снять флажки с
00:00:41
oculus и Steam, о которых я не слишком беспокоюсь
00:00:45
Я собираюсь продолжить и оставить это, просто нажмите «Сохранить все»,
00:00:47
щелкните здесь, вот этот маленький дум-копатель,
00:00:51
как будто я могу получить это представление для своего браузера контента,
00:00:55
и закройте
00:00:59
панель запуска empic, мы идем к
00:01:02
исходному коду игр, затем имя проекта, которое у нас есть все
00:01:05
нашего кода, который нам нужен,
00:01:08
и мы почти готовы к работе,
00:01:12
поэтому нам нужно как бы попытаться сделать шаг
00:01:14
назад и подумать об этом,
00:01:16
поэтому всякий раз, когда клиент загружается в
00:01:19
игру, мы собираемся тестировать
00:01:20
только строго посвященный нам хочу, чтобы
00:01:24
функция после входа в систему сработала,
00:01:27
поэтому то, что такое вход в систему, позволяет мне
00:01:30
действительно быстро создать план игрового режима,
00:01:32
поэтому базовый пример режима игры класса чертежа
00:01:40
загрузит его, и я хочу установить его
00:01:42
как
00:01:43
значение по умолчанию, так что это просто временно,
00:01:47
где это это пример игрового
00:01:49
режима,
00:01:50
и в графе событий я собираюсь
00:01:52
переопределить
00:01:54
некоторые функции, поэтому давайте переопределим
00:01:57
сообщение,
00:01:59
я думаю, оно называется onpostlogin и
00:02:00
blueprint, и оно принимает
00:02:02
контроллер игрока, поэтому я собираюсь напечатать строку
00:02:06
и показать вам как это работает,
00:02:09
когда я играю в качестве прослушивающего сервера,
00:02:11
он проходит и срабатывает, когда я играю,
00:02:15
подождите, нет, сейчас я играю в качестве прослушивающего сервера,
00:02:17
он срабатывает, когда я играю в качестве клиента для
00:02:19
выделенного сервера,
00:02:21
как только я загружаюсь, он должен все еще горит,
00:02:25
я думаю, мне нужно
00:02:27
очень быстро выбрать пешку по умолчанию,
00:02:30
я думаю, это ты,
00:02:33
обучающий персонаж по настойчивости,
00:02:34
может быть, нет,
00:02:37
это персонаж от третьего лица, не так ли, так что это
00:02:41
также создает его,
00:02:45
и если у нас есть более одного клиенте,
00:02:50
это происходит дважды, поэтому каждый раз, когда клиент
00:02:52
загружается в игру,
00:02:54
позвольте мне перефразировать, что на сервере
00:02:56
каждый раз, когда клиент устанавливает соединение с
00:02:57
игрой, вход в систему
00:02:58
после входа в игру срабатывает, что
00:03:01
позволяет нам получать
00:03:02
необходимую нам информацию от этого
00:03:04
клиента, поэтому когда он загружается,
00:03:06
мы можем проверить, есть ли уже запись с
00:03:10
его информацией,
00:03:11
если нет, мы создаем эту запись в
00:03:14
базе данных,
00:03:15
если уже есть запись с этой
00:03:18
информацией,
00:03:19
что мы делаем, мы извлекаем эту
00:03:20
информацию и используем это,
00:03:22
например, скажем, я уже
00:03:24
был на сервере
00:03:27
и
00:03:30
вышел из игры здесь, так что
00:03:33
произойдет следующее:
00:03:35
я перерисовал сервер, поэтому я нажимаю кнопку воспроизведения,
00:03:37
я снова присоединяюсь к
00:03:38
после входа в систему, выходит на наш
00:03:42
API, переходит на база данных говорит: эй, этот
00:03:46
парень был здесь раньше,
00:03:47
берет наши координаты x, y и z,
00:03:50
возвращается к API,
00:03:52
возвращается в игру, и в этом случае
00:03:56
наш персонаж появится здесь,
00:04:00
где мы фактически вышли из системы, а затем мы
00:04:03
идем
00:04:04
оттуда, все, что мы делаем, это мы просто
00:04:05
обладаем этим персонажем,
00:04:08
так что в конечном
00:04:09
итоге все будет решено именно так, поэтому
00:04:12
нам нужно точно выяснить,
00:04:16
что мы хотим для этого сделать, поэтому в
00:04:18
первую очередь, очевидно, мы хотим сделать
00:04:20
локацию,
00:04:21
поэтому мы хотим, чтобы мы вероятно, в конечном итоге
00:04:24
создадим собственный, давайте на самом деле
00:04:26
продолжим и сделаем это, давайте создадим наш
00:04:27
собственный класс,
00:04:29
он просто будет содержать любую
00:04:31
информацию, которая нам нужна, например,
00:04:33
структуру, которую мы хотим
00:04:34
создать, на самом деле, а пока давайте подумаем, что я
00:04:37
пытаюсь подумать о том, что лучший
00:04:38
способ сделать это:
00:04:41
давайте посмотрим, что мы хотим
00:04:45
создать структуру с
00:04:48
информацией, которая будет передана
00:04:55
триггеру API, поэтому, если
00:05:00
игрок не связан при присоединении,
00:05:04
создайте новую запись,
00:05:10
ничего не возвращайте,
00:05:13
если игрок найден при присоединении,
00:05:18
прочтите, верните
00:05:21
всю информацию, примените всю информацию
00:05:25
к порождению
00:05:31
и затем мы обладаем ею,
00:05:34
так что это своего рода суть,
00:05:38
поэтому нам придется пойти дальше и
00:05:40
создать структуру, и
00:05:42
в этом случае я думаю, что, вероятно, лучше
00:05:44
всего использовать игровой режим по умолчанию,
00:05:46
который поставляется с ней,
00:05:48
я собираюсь загрузить поднимите игровой режим,
00:05:51
который поставляется с проектом, и мы
00:05:53
собираемся переопределить пост-вход в систему, поэтому мы
00:05:55
собираемся выполнить виртуальную
00:05:56
пустоту пост-входа
00:06:00
в контроллере игрока,
00:06:03
сгенерировать реализацию,
00:06:07
и мы хотим вызвать супер нового игрока,
00:06:11
извините, супер-пост-вход и передайте
00:06:14
новому игроку, чтобы у нас уже был
00:06:18
набор пешек по умолчанию, который в данном случае является нашим
00:06:21
чертежом персонажа от третьего лица,
00:06:24
поэтому отсюда мы хотим выполнить нашу проверку, поэтому
00:06:27
давайте прокомментируем это,
00:06:29
и давайте сделаем то, о чем
00:06:35
я думал, ну, мы собираемся сделать
00:06:38
опубликовать
00:06:39
запрос, нет, извините, сделайте
00:06:42
запрос на получение через API,
00:06:46
передав
00:06:50
идентификатор игрока,
00:06:57
я запускаю то же самое, поэтому, если
00:07:00
нет привязки к результату, создайте
00:07:04
новую запись и базу данных,
00:07:09
если результат найден, верните
00:07:14
завершенную структуру,
00:07:17
поэтому нам придется проанализировать
00:07:21
нашу структуру сейчас есть кое-что, что нам нужно
00:07:23
взять
00:07:24
или, извините, включить, и я сделал это
00:07:27
в учебнике по Word of War, я
00:07:29
не могу точно вспомнить,
00:07:32
что именно это было, но это было так, поэтому мы хотим
00:07:35
добавить
00:07:36
утилиты http json и json
00:07:41
в наш build.cs, поэтому мы у нас есть имя проекта.build.cs,
00:07:47
и в конце мы просто добавляем
00:07:50
утилиты http json и json, и это
00:07:52
позволит нам
00:07:53
также делать HTTP-запросы или извинительные запросы,
00:07:57
а также хорошо использовать объекты json, только
00:08:00
предоставленные ими инструменты json, поэтому в значительной степени
00:08:02
мы собираемся получать
00:08:04
информацию, которую мы получаем от
00:08:06
API, в виде строки,
00:08:08
поэтому, если мы оглянемся назад, мы
00:08:11
получим что-
00:08:12
то похожее на это,
00:08:17
и все это будет текстом, поэтому они
00:08:19
предоставляют
00:08:20
функции, которые позвольте нам взять
00:08:23
этот объект здесь и преобразовать его в
00:08:26
реальную структуру,
00:08:28
поэтому я собираюсь пойти дальше и создать эту
00:08:30
структуру
00:08:32
прямо здесь, так что это будет проект
00:08:35
использования,
00:08:36
я думаю, это должен быть план типа
00:08:40
b struct f
00:08:43
player данные,
00:08:46
и мы хотим иметь информацию, которая
00:08:49
хранится внутри нашего
00:08:51
uh Whatchamacallit здесь, поэтому то, что мы хотим
00:08:54
передать, сначала мы создаем сгенерированное тело,
00:08:57
а также мы хотим сделать аккорд x, аккорд y
00:09:01
и аккорд z, чтобы у нас было число с плавающей запятой
00:09:04
x аккорд устанавливает это значение
00:09:08
в ноль по умолчанию float y аккорд
00:09:13
ноль по умолчанию и плавает z аккорд
00:09:17
и устанавливает этот ноль по умолчанию,
00:09:20
поэтому, когда мы передаем и получаем, мы
00:09:23
почти все, что мы собираемся делать, это
00:09:24
передавать
00:09:25
строковую версию или json-
00:09:28
версия структуры объекта
00:09:29
и то же самое, когда мы собираемся получить ее,
00:09:31
мы получаем объект json, который мы
00:09:32
собираемся преобразовать
00:09:33
в эту структуру, так что на самом деле это все, что
00:09:36
мы собираемся делать
00:09:38
сейчас, я собираюсь распечатайте
00:09:39
регистраторы, чтобы убедиться, что это работает, поэтому текст
00:09:42
предупреждения о температуре журнала журнала uv log, сообщение
00:09:45
о входе в систему выполняется,
00:09:49
просто чтобы убедиться, что мы можем использовать
00:09:53
все, что там есть,
00:09:56
и в следующем видео мы на самом деле
00:09:58
начнем пытаться сделать http-
00:10:01
запрос, поэтому позвольте мне перезапустить проект
00:10:06
Я собираюсь пройти и вернуть игровой
00:10:09
режим,
00:10:11
так что давайте посмотрим, что это был постоянный обучающий
00:10:14
игровой режим,
00:10:16
проверьте журнал вывода
00:10:20
и запустите вход в систему, чтобы
00:10:23
мы
00:10:26
знали, что все готово, нам
00:10:29
больше не нужна наша маленькая игра-пример чертежа
00:10:30
режим,
00:10:34
и теперь мы готовы начать, чтобы
00:10:37
в следующем видео мы могли
00:10:39
создать наш объект json, сделать HTTP-
00:10:42
запрос
00:10:44
и продолжить оттуда, но сначала я хочу
00:10:45
просто выполнить запрос на получение,
00:10:48
я говорю о следующем видео получить
00:10:50
запрос точно так же,
00:10:52
поэтому, когда мы его отправляем, и я только что понял, что
00:10:56
он не работает, когда мы его отправляем,
00:11:01
мы получаем просто массив объектов json
00:11:06
или еще лучше, в следующем видео
00:11:08
мы на самом деле, вероятно, собираемся сделать
00:11:09
короткий где мы делаем простой метод get,
00:11:11
который принимает идентификатор, так что это будет
00:11:15
вместо того, чтобы возвращать массив, он просто
00:11:17
возвращает один объект,
00:11:19
такой как тот, который я здесь выделил, так
00:11:22
что это будет для этого видео, если вам
00:11:24
нравится то, что я Я помогу кому-нибудь, поддержите
00:11:25
меня, вы можете найти ссылку на мой патреон
00:11:26
в описании ниже,
00:11:28
и если у вас есть какие-либо вопросы или
00:11:29
что-то в этом роде, не стесняйтесь присоединиться к моему
00:11:31
дискорду, ссылка на который также указана в
00:11:32
описании,
00:11:34
если вы решите присоединиться к моему патреону. у нас есть
00:11:35
серия командных схваток на смерть только для
00:11:37
патронов,
00:11:38
где мы создаем командные схватки на смерть, используя C
00:11:40
Plus с движком Unreal, а также
00:11:41
создаем множество других разных
00:11:43
функций,
00:11:44
таких как пользовательские или пользовательские точки появления,
00:11:46
которые позволяют вам появляться как можно дальше
00:11:48
от врагов, чтобы предотвратить убийство при появлении
00:11:51
и настройщик оружия, позволяющий
00:11:53
добавлять и удалять насадки к вашему пистолету,
00:11:55
я посмотрю в следующем видео.

Описание:

Patreon: https://www.patreon.com/SneakyKittyGaming Discord: https://discord.com/invite/W5g6pZXfjh In this video we create our Unreal Engine project to use for testing along with some explanations on what we will be doing.

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "Unreal Engine C++ Persistence #3: "Create Unreal Engine Project""?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "Unreal Engine C++ Persistence #3: "Create Unreal Engine Project"" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "Unreal Engine C++ Persistence #3: "Create Unreal Engine Project""?mobile menu icon

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

mobile menu iconКак скачать видео "Unreal Engine C++ Persistence #3: "Create Unreal Engine Project"" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "Unreal Engine C++ Persistence #3: "Create Unreal Engine Project""?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "Unreal Engine C++ Persistence #3: "Create Unreal Engine Project""?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.