. Когда программируете в UE4, вам следует
использовать объекты
FString
вместо С++ объектов
string
стандартной библиотеки
172 |
С т р а н и ц а
шаблонов. В целом предпочтительно вам следует использовать встроенные в UE4
типы, так как они гарантируют кроссплатформенную совместимость.
Теперь, добавьте свойство
UPROPERTY() FString
в класс NPC, как показано в
следующем коде:
UCLASS()
class GOLDENEGG_API ANPC : public ACharacter
{
GENERATED_UCLASS_BODY()
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Collision)
TSubobjectPtr ProxSphere;
//
Это сообщение NPC, которое он должен сказать нам.
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = NPCMessage)
FString NpcMessage;
//
Когда вы создаёте blueptint из этого класса, вы хотите, чтобы вы могли
//
редактировать это сообщение в blueprint,
//
вот почему у нас есть
//
свойства EditAnywhere и BlueprintReadWrite.
}
Обратите
внимание,
что
мы
помещаем
свойства
EditAnywhere
и
BlueprintReadWrite в макрос UPROPERTY. Это делает NpcMessage (сообщение NPC)
редактируемым в blueprint.
Совет
Полное описание особенностей свойств UE4, доступно на:
https://docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/Reference/Pr
operties/
Заново компилируйте ваш проект (как мы делали это для класса Avatar). Затем,
перейдите в Class Viewer, щёлкните правой кнопкой мыши по вашему классу NPC и
создайте схему (blueprint) из него.
Каждый персонаж NPC, который вы хотите создать может быть основан на схеме
(blueprint) вне класса NPC. Дайте каждому NPC уникальное имя, так как мы будем
выбирать разные сетки моделей для каждого NPC, который у нас будет, как
показано на следующем скриншоте:
173 |
С т р а н и ц а
Теперь, откройте blueprint, выберите скелетную сетку (mesh) в Add Components, и
отрегулируйте капсулу (как мы делали это для BP_Avatar). Вы также можете
сменить материал вашего нового персонажа, так чтобы он отличался от игрока.
Смените материал вашего персонажа в свойствах вашей сетки. Под вкладкой
Rendering (визуализация), щёлкните по значку +, чтобы добавить материал.
Затем, щёлкните по объекту в форме капсулы, чтобы выбрать материал для
визуализации.
Во вкладке Defaults, найдите свойство NpcMessage. Это наша связь между кодом
С++ и схемой (blueprint), потому что мы ввели функцию UPROPERTY() для
переменной FString NpcMessage. Это свойство будет редактируемым в UE4, как
показано на следующем скриншоте:
174 |
С т р а н и ц а
Теперь перетащите BP_NPC_Owen в сцену. Вы также можете создать второго
персонажа и третьего, и обязательно давайте им не повторяющиеся, уникальные
имена, вид и сообщения.
Я создал две схемы (blueprint) для NPC основанных на базовом классе NPC. Это
BP_NPC_Justin и BP_NPS_Owen. У них разный вид и разные сообщения для игрока.
Джастин и Оуен в сцене
175 |
С т р а н и ц а
Достарыңызбен бөлісу: