Изучаем С++ создавая игры в ue4 Уилльям Шериф Изучайте программирование С++ с интересным применением реально мира, что позволит вам создавать ваши собственные игры!



Pdf көрінісі
бет174/252
Дата06.01.2022
өлшемі12,25 Mb.
#11940
1   ...   170   171   172   173   174   175   176   177   ...   252
File  |  Add  Code  To  Project…    выберите  класс  Character,  из  которого  вы  сможете 
сделать подкласс.  Назовите ваш подкласс NPC.  
Теперь  отредактируйте  ваш  код  в  Visual  Studio.  У  каждого  NPC  будет  сообщение 
для игрока, так что мы добавим свойство 
UPROPERTY() FString
 в класс NPC. 
Совет 
FStrings 
это версия UE4 типа С++ 

. Когда программируете в 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 | 
С т р а н и ц а
 
 


Достарыңызбен бөлісу:
1   ...   170   171   172   173   174   175   176   177   ...   252




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет