20,怪物基类+碰撞检测
将怪物基类也改了// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include “CoreMinimal.h”#include “PaperZDCharacter.h”#include “Enemy.generated.h”/****/UCLASS()class ROUGHLIKE1_API AEnemy : public APaperZDCharacter{GENERATED_BODY()public:AEnemy();};由于怪物是怪物池里增加的所以不启动tickPrimaryActorTick.bCanEverTick false;修改碰撞体的尺寸和自定义类型#include Components/CapsuleComponent.hAEnemy::AEnemy(){PrimaryActorTick.bCanEverTick false;UCapsuleComponent* CapsuleComp GetCapsuleComponent(); if (CapsuleComp) { // 尺寸默认值 CapsuleComp-SetCapsuleHalfHeight(50.0f); CapsuleComp-SetCapsuleRadius(50.0f); // 2. 声明启用和对象类型 CapsuleComp-SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics); CapsuleComp-SetCollisionObjectType(ECC_Pawn); // 逐通道响应转为Custom模式 CapsuleComp-SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap); CapsuleComp-SetCollisionResponseToChannel(ECC_Camera, ECR_Overlap); CapsuleComp-SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Block); CapsuleComp-SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap); CapsuleComp-SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap); CapsuleComp-SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Ignore); CapsuleComp-SetCollisionResponseToChannel(ECC_Vehicle, ECR_Ignore); CapsuleComp-SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap); }}从修改的地方看宽高没有箭头了但是碰撞检测的还有箭头为了确保是C而不是蓝图的新建一个空的对象发现确实C起作用了。