Настройка и использование Сокетов со Статик Мешами в Unreal Engine 4

0
222
Настройка и использование Сокетов со Статик Мешами UE4

При создании вашего уровня в UE4 может наступить момент, когда вы захотите прикрепить что-то к своей Статик меше. Вы можете поместить объект в Static Mesh в World Outliner, но вам все равно придется позиционировать его в том месте, где вы хотите, по отношению к вашей меше, и это может быть утомительным для вас. Однако, подобно тому, как вы можете прикреплять объекты к своей Скелетной меше с помощью сокетов, вы также можете прикреплять объекты и к вашей Статик меше также с помощью сокетов. Это так же просто, как создание вашего сокета в Редакторе Статик меши, размещение его там, где вы захотите, чтобы он был связан с вашей мешью, а затем прикрепление объекта, будь то эффект света или частиц, или даже прикрепление еще одной Статик меши к вашей меши. Это руководство покажет вам, как создавать сокет для вашей Статик меши и как вы можете использовать его на своем уровне.

Настройка

Возможно, у вас уже есть уровень и Статик меши для работы. Если это так, вы можете пропустить этот шаг. Если нет, продолжайте и запускайте UE4 из пусковой установки и создайте новый проект. Обязательно выберите путь для сохранения проекта и его имя. Также выберите шаблон для работы. На изображении ниже мы выбрали шаблон Firstprint First Person, но вы можете использовать любой шаблон, который вы хотите.

Также убедитесь, что вы включили Starter Content. Если вы этого не сделаете, у вас не будет активов, с которыми мы будем работать в дальнейшем в этом руководстве, и вам будет трудно следовать его подсказкам.

Новый проект со стартовым контентом UE4

Создание нашего первого Сокета

Как только ваш проект будет открыт, найдите папку Starter Content в Content Browser. Затем перейдите в папку Props и найдите Static Mesh с именем SM_DoorFrame.

Браузер контента со стартовым контентом UE4Дверная Рама В Браузере Содержания UE4После того, как вы нашли SM_DoorFrame, откройте актив в Редакторе Cтатик меши, дважды щелкнув курсором мышки по активу или щелкнув правой кнопкой мышки по нему и выбрав Edit (Редактировать) в контекстном меню. Как только вы это сделаете, у вас должно получиться что-то похожее на то, что показано ниже.

Дверная Рама В Редакторе UE4

Теперь, когда мы открыли меш в Редакторе Static Mesh, мы собираемся создать сокет, чтобы мы могли разместить огненную частицу в середине дверного проема, чтобы сделать в некотором роде арку смерти. Для начала нам нужно создать сокет. Для этого щелкните раскрывающееся меню Window в верхней части редактора и выберите Socket Manager. Когда вы это сделаете, появится окно Socket Manager. Оно должно выглядеть так, как показано ниже справа:

меню окна UE4Кнопка "Создать" Гнездо UE4

После открытия окна Socket Manager нажмите кнопку Create Socket (Создать сокет), выделенную зеленым цветом. После того, как вы нажмете кнопку, сокет будет создан, а вам нужно будет дать имя вашему новому сокету. В этом примере мы назовем наш сокет Fire (огонь). После нажатия кнопки Create Socket окно Socket Manager должно выглядеть примерно так:

новый сокет UE4

Если вы посмотрите на свою меш в Вьюпорте, то вы увидите 3D-виджет с виджетом Трансляции (Translation). Если нет, убедитесь, что ваши сокеты видимые, нажав кнопку Sockets на панели инструментов (Настройка и использование Сокетов со Статик Мешами в Unreal Engine 4).

Когда вы увидите сокет, вы заметите, что он находится не совсем там, где вы бы хотели. По умолчанию, когда вы создаете новый сокет, он будет располагаться там, где и сам источник Статик меши, который в данном случае находится посередине в нижней части меши. Мы хотим, чтобы наш сокет находился посреди дверного проема, чтобы можно было пройти через огонь, во время прохождения через дверной проем. Вы можете использовать виджет трансляции в Viewport для перемещения сокета вручную или вы можете изменить его относительное местоположение, поворот и масштаб из панели Socket Manager. Для достижения эффекта мы хотим изменить значение Z в его относительном местоположении от 0 до 115. После этого вы должны получить что-то похожее на это.

Гнездо Пожара UE4

Прикрепление Объектов к Статик Меше.

Теперь, когда у нас есть сокет на нашей Static Mesh для присоединения, мы собираемся привязать объект к нашей Static Mesh на нашем уровне. Нажмите кнопку Save (Сохранить) на панели инструментов внутри Редактора Статик меши и вернитесь к редактору уровня. Найдите SM_DoorFrame внутри своего Контент браузера и перетащите его копию на свой уровень. После этого перейдите в папку Particles внутри папки Starter Content и найдите актив с именем P_Fire.

Частица Огня UE4

Как только вы найдете P_Fire, перетащите его копию на свой уровень. Это будет служить огнем, к которому игрок перейдет, и, таким образом, объектом, который мы присоединяем к SM_DoorFrame. После того, как вы перетащили экземпляр P_Fireщелкните правой кнопкой мышки частицу внутри Вьюпорта. Вы должны получить меню, которое выглядит примерно вот так:

Контекстное Меню Для Огня UE4

В контекстном меню выберите Attach To (Прикрепить) и внутри появившегося окна поиска начните вводить Door Frame (Дверная рамка). Должен появиться наш SM_DoorFrame.

Огонь Прикрепить К Раме UE4После выбора SM_DoorFrame появится вопрос, где вы хотите прикрепить объект. Список будет состоять из None (ничего) и каждого сокета, созданного для вашей Static Mesh. Выберите Fire, и эффект частиц P_Fire волшебным образом привяжется к тому месту, где сокет находится на нашей Статик меше. Эффект частиц теперь привязан к нашей Статик меше.

Выбрать Сокет UE4Огонь В Кадре Завершен UE4Обратите внимание, что теперь, когда эффект частицы прикрепляется к Статик меше через ее сокет, вы все равно можете перемещать, вращать и масштабировать эффект частицы отдельно от Статик меши, но любые преобразования, сделанные в Статик меше, также будут влиять на любые объекты, прикрепленные к нему.

Отсоединение

В любой момент, когда вам нужно отсоединить объект, который прикреплен к другому, это так же просто сделать, как и привязать объект к другому. Щелкните правой кнопкой мышки по объекту, который вы хотите отсоединить, и в появившемся контекстном меню выберите Detach (Отсоединить). Объект больше не привязан к другому объекту.

Отсоединять UE4

Создание дверного проема с твердой дверью

Теперь, когда вы использовали сокеты для создания нашей арки гибели, мы собираемся использовать сокеты, чтобы создать что-то более практичное. В папке Props в Starter Content найдите SM_DoorFrame и перетащите другую его копию на уровень. Затем найдите SM_Door и перетащите его копию на уровень. Теперь мы можем прикрепить дверь к раме двери с помощью сокета, который у нас уже есть, но есть одна проблема. Когда вы присоединяете объект к другому объекту, объект будет привязан по его началу к сокету. Статик меш SM_Door имеет начало в нижнем углу, поэтому при установке двери в сокет Fire оставит дверь в воздухе и прорвется через угол дверного проема. Чтобы исправить эту проблему, мы собираемся создать еще один сокет.

Создание Нового Сокета

Найдите SM_DoorFrame в Контент браузере и откройте его в Редакторе Static Mesh, дважды щелкнув мышкой по нему. Если панель Socket Manager все еще открыта, нажмите кнопку Add Socket (Добавить сокет). Если не открыта, вы можете снова открыть панель Socket Manager, выбрав Socket Manager в выпадающем меню Window в верхней части редактора. Как только вы это сделаете, нажмите кнопку Add Socket.

После того, как вы создали сокет, вам будет предложено присвоить ему имя. Для наших целей в этом примере мы назовем сокет Door (дверь), чтобы потом узнавать, что это сокет, к которому мы хотим прикрепить нашу дверную меш. Опять же, как только мы создаем сокет, он создает его в начале меши, которая в этом случае находится в нижней части дверного проема. Происхождение нашей дверной меши находится в нижнем углу, поэтому именно сюда мы хотим переместить наш сокет Door. Вы можете вручную перемещать сокет с помощью 3D-виджета или перемещать его, изменяя относительное местоположение, поворот и масштаб из панели Socket Manager. В этом примере изменение значения Y относительного местоположения сокета до 45 должно достигнуть результатов, которые мы ищем. После перемещения сокета в нижний угол ваша меш дверного проема должна выглядеть так, как показано ниже.

Гнездо Двери UE4

Если вы не видите сокеты, убедитесь, что значокНастройка и использование Сокетов со Статик Мешами в Unreal Engine 4подсвечивается, что означает то, что сокеты видны.

Прикрепление Двери к проему

Теперь, когда у нас есть сокет, чтобы прикрепить дверь к проему, идите дальше и сохраните меш дверного проема, затем вернитесь к редактору уровня. Выберите экземпляр двери, которая находится на вашем уровне, и щелкните правой кнопкой мышки, чтобы открыть контекстное меню. В контекстном меню выберите Attach (Прикрепить) и выполните поиск SM_DoorFrame. Найдите экземпляр дверного проема, к которому вы хотите прикрепить дверь, и выберите его, щелкнув левой кнопкой мышки по нему. Когда вас спросят, какой сокет подключить, выберите Door. Когда вы закончите, вы должны получить что-то похожее на то, что показано ниже.

Дверь Гнезд UE4

По умолчанию SM_Door не будет иметь столкновений. Если вы сейчас играете на уровне, игрок может пройти через твердую дверь, что не очень хорошо. Следуйте дальше и установите простое столкновение с боксом (simple box collision) для двери внутри Редактора Статик меши, чтобы игрок не смог просто пройти через дверь, когда она закрыта. Если вы не знаете, как это сделать, вы можете прочитать здесь.

Теперь, когда дверь прочная, и игрок не может пройти через нее, вы можете использовать Blueprints для написания скрипта для двери, чтобы она могла открываться и закрываться. Это выходит за рамки данного руководства, но теперь, когда вы должны использовать дверь, которая блокирует игрока и прикрепляется к вашему дверному проему, вы можете узнать здесь, как заставить скрипт работать, чтобы открыть и закрыть дверь.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите свой комментарий!
Пожалуйста, введите ваше имя: