분류 전체보기 (106) 썸네일형 리스트형 [Unreal] US_Minion.cpp (체력) 사망처리void AUS_Minion::PostInitializeComponents(){ ... OnTakeAnyDamage.AddDynamic(this, &AUS_Minion::OnDamage); ...}void AUS_Minion::OnDamage(AActor* DamagedActor, float Damage, const UDamageType* DamageType, AController* InstigatedBy, AActor* DamageCauser){ Health -= Damage; if (Health > 0) return; if (SpawnedPickup) { GetWorld()->SpawnActor(SpawnedPickup, GetAc.. [Unreal] 경보 시스템 코드 분석 이번 코드는 단순히 주위에 미니언이 존재하는지 확인 후, 거리에 따라 플레이어를 같이 추적하는 코드를 작성한다. AI 캐릭터가 메시지를 보내는 작업은 매우 간단하다. 게임 모드가 서버에 있는 한, 게임 내의 모든 액터에서 접근할 수 있기 때문이다.US_Minion.cppvoid AUS_Minion::Chase(APawn* Pawn){ ... if (const auto GameMode = Cast(GetWorld()->GetAuthGameMode())) { GameMode->AlertMinions(this, Pawn->GetActorLocation(), AlertRadius); }} GameMode에서 AlertMinions()를 실행하여 미니언에게 플레이어 위치를 알려주.. [Unreal] 소음, 감지 코드 분석 US_Character.cpp...#include "Components/PawnNoiseEmitterComponent.h"...AUS_Character::AUS_Character(){ ... NoiseEmitter = CreateDefaultSubobject(TEXT("NoiseEmitter")); NoiseEmitter->NoiseLifetime = 0.01f; ...}void AUS_Character::Tick(float DeltaTime){ ... if (GetCharacterMovement()->MaxWalkSpeed == GetCharacterStats()->SprintSpeed) { auto Noise = 1.f; i.. [Unreal] US_MinionSpawner.cpp 코드 분석 미니언 스포너 초기화void AUS_MinionSpawner::BeginPlay(){ Super::BeginPlay(); if (SpawnableMinions.IsEmpty()) return; if (GetLocalRole() != ROLE_Authority) return; for (int32 i = 0; i GetWorldTimerManager().SetTimer()는 Tick()이 프레임마다 동작하는 것과 달리, 지정된 시간 간격으로 반복적으로 호출된다. 추가적으로 각 인자마다 설정할 수 있는데, 순서대로 FTimerHandle, UserClass* 객체, 반복 시간, 반복 호출 허용 여부, 시작 시간을 설정할 수 있다. 스폰void AUS_MinionS.. [Unreal] US_Minion.cpp 코드 분석(AI) 생성자...#include "AIController.h"#include "NavigationSystem.h"...AUS_Minion::AUS_Minion(){ ... AutoPossessAI = EAutoPossessAI::PlacedInWorldOrSpawned; AIControllerClass = AAIController::StaticClass(); PawnSense = CreateDefaultSubobject(TEXT("PawnSense")); PawnSense->SensingInterval = .8f; PawnSense->SetPeripheralVisionAngle(45.f); PawnSense->SightRadius = 1500.f; PawnSense-.. [Unreal] 3D Object Edit Pivot 설정 올바르지 않은 피벗 문과 같은 오브젝트는 회전하는 위치가 올바른 곳에 있어야 한다. 그러므로 정확한 위치에 피벗을 이동시켜야 한다.올바른 위치 이동 좌측 상단에서 모델링 → XForm → Edit Pivot을 선택하고, 올바른 위치로 피벗을 이동한 후 수락을 누르면 된다. [Unreal] US_Character Class 코드 분석(RPC 상호작용) 이번 코드는 문을 열기 위해 작성된 코드이다. 이를 위해 트레이스를 통해 앞에 어떤 물체가 있는지 검출한 후, 충돌된 물체를 감지하는 역할을 할 것이다.액터 권한 검출void AUS_Character::Tick(float DeltaTime){ Super::Tick(DeltaTime); if (GetLocalRole() != ROLE_Authority) return; ... [UE5] Actor Role, Remote Role네트워크 게임플레이에서 액터의 role과 remote role은 '이 액터의 상태를 변경하거나 RPC를 수행할 권한이 어느 기기에 있는가 를 결정한다.velog.ioGetLocalRole(): 현재 실행 중인 로컬 시스템, 즉 컴퓨터가 서버인지 클라이언트.. [Unreal] US_Interactable.h 코드 분석(인터페이스) US_Interactable.h#include "CoreMinimal.h"#include "UObject/Interface.h"#include "US_Interactable.generated.h"UINTERFACE(MinimalAPI, Blueprintable)class UUS_Interactable : public UInterface{ GENERATED_BODY()};class UNREALSHADOWS_LOTL_API IUS_Interactable{ GENERATED_BODY()public: UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Interaction", meta = (DisplayName = "Interact")) void In.. 이전 1 2 3 4 5 ··· 14 다음 목록 더보기