목록전체 글 (10)
UnrealEngineer
- 액터의 준비와 게임의 시작 PostInitializeComponents() : 액터의 초기화에 사용되는 함수 But 네트워크 기능 X그래서 PostNetInit() 함수가 서버로부터 변경된 내용을 전달 받아서 원격 클라이언트의 액터 셋팅이 마무리 될때 호출 - 실습(PreLogin 함수에 ErrorMessage 발생) - 실습 (PostIninitializeComponents → PostNetInit → BeginPlay) 1. PlayerController = 액터 : PlayerController로 전달된 명령은 NetConnection 클래스로부터 관리된다.2. UNetConnection 클래스 : 상위에서 네트워크 통신을 담당하는 클래스 (상위 명령어를 로우 레벨 데이터로 변환)3. U..
1. 서버의 접속서버는 PreLogin() 단계가 필요없다. StartPlay() 함수에 의해서게임에 있는 모든 액터들의 BeginPlay()가 호출되고StartPlay()가 종료된다. 2. 클라이언트의 접속 클라이언트는 '이미 시작된 게임'에 입장하는 형태이다.그러므로 생성되자마자 컨트롤러의 BeginPlay()가 호출된다. 서버에서 클라이언트의 플레이어 컨트롤러를 생성해서 클라이언트에게 전달해준다.플레이어컨트롤러가 클라이언트에게 전달되면 클라이언트 자체적으로 BeginPlay()가 호출된다. 3. 게임의 시작서버에서 StartPlay() 함수가 호출되면 공식적으로 게임이 시작된것으로 간주한다.그러므로 이후에 접속한 플레이어들은 BeginPlay()가 StartPlay() 없이 자동으로 호출된다. 클..
1. BCAnimInstance라는 이름의 AnimInstance 클래스를 생성2. AnimationBlueprint 생성 [ Skeleton과 상속 클래스 설정 ] 3. 애님인스턴스와 소유하고 있는 액터는 상호참조가 가능하다.AnimInstanceEvent1. NativeInitializeAnimation() : 애님인스턴스 클래스가 처음 생성될때 한번 호출2. NativeUpdateAnimation() : 매 틱마다 계속 호출 AnimGraph- State Alias 기능을 활용 4. 애님인스턴스 클래스#pragma once#include "CoreMinimal.h"#include "Animation/AnimInstance.h"#include "BCAnimInstance.generated.h"UCL..
Inhanced Input1. InputMappingContetxt, InputAction 생성IputMappingContext 생성InputAction 생성 2. TObjectPtr MoveAction 에디터에서 생성한 InputAction, InputMappingContext를 맵핑시킬 포인터 변수를 생성한다.◈ #include "InputActionValue.h" [ Value를 전달하기 위해 추가 ] #pragma once#include "CoreMinimal.h"#include "BCCharacterBase.h"#include "InputActionValue.h"#include "BCCharacterPlayer.generated.h"UCLASS()class BIKINICITY_API ABCCha..
- Local Role / Remote Role◆ 액터 단위로 액터를 '신뢰' 할 수 있는지를 파악해야하는데 이를 위해 필요한 것이 '역할'이다. 클라이언트 - 서버 모델에서 서버에 존재하는 액터만이 신뢰되며 이를 Authority를 가진다고 표현함.게임플레이에 영향을 미치는 '게임로직'은 서버인지를 파악해서 서버에서만 동작하도록 설정해야한다. Local Role : 현재 동작하는 어플리케이션을 중심으로 해당 어플리케이션의 역할을 로컬역할Remote Role : 로컬역할과 커넥션으로 맺어진 원격 어플리케이션의 역할이 Remote Role이다.(자신의 로컬역할이 상대방의 리모트역할이 된다.) Authority : 신뢰할 수 있는 역할 AutonomousProxy : Authority를 가진 오브젝트의..