5593人加入学习
(18人评价)
【旧版】Unreal初级课程 - 3D吃豆人

旧版课程,制作完成于2018-03-29,基于Unreal 4.18

价格 免费

// 使得碰撞体和圆柱体重合在一起

// CapsuleComponent 和 UStaticMeshComponent 重合

public:
     // 易受攻击
	void SetVulnerable();
	// 不易受攻击
	void SetInVulnerable();

private:
	// 默认材质
	class UMaterialInterface* DefaultMaterial;
	// 能被主角吃掉的时候的材质
	// 容易收到主角攻击
	class UMaterialInterface* VulnerableMaterial;

 

AEnemy::AEnemy()
{
	// 使得碰撞体和圆柱体重合在一起
	// CapsuleComponent 和 UStaticMeshComponent 重合
	EnemyBody->SetRelativeLocation(FVector(0, 0, -50));

 	static ConstructorHelpers::FObjectFinder<UMaterial> VulnerableMat(TEXT("'/Game/Materials.M_Enemy_Vulnerable"));
}

void AEnemy::BeginPlay()
{
	Super::BeginPlay();
	// 获得当前的材质
	DefaultMaterial = EnemyBody->GetMaterial(0);
}

void AEnemy::SetVulnerable()
{
	EnemyBody->SetMaterial(0, VulnerableMaterial);
	// 过一段时间可以不受攻击
}

void AEnemy::SetInVulnerable()
{
}

找内容浏览器下的文件

需要引入#include "UObject/ConstructorHelpers.h"

// 创建样子

// 找到对应的材质

static ConstructorHelpers::FObjectFinder<UStaticMesh> CylinderObj(TEXT("'/Game/StarterContent/Shapes/Shape_Cylinder'"));

 

static ConstructorHelpers::FObjectFinder<UMaterial> VulnerableMat(TEXT("'/Game/Materials.M_Enemy_Vulnerable‘"));

 

 

 

Vulnerable adj. 易受攻击的;易受伤害的;脆弱的;有局方的;有身价的

InVulnerable adj. 不能伤害的;刀枪不入的;无懈可击的;不可攻破的

[展开全文]

授课教师

SIKI学院老师

课程特色

图文(1)
下载资料(1)
视频(30)

学员动态