UE4中的玩家类UPlayer、ULocalPlayer 和 UNetConnection

UE4中的玩家类UPlayer、ULocalPlayer 和 UNetConnection

前言

Player即玩家,从游戏引擎的角度,玩家就是输入的发起者。

这里的输入包括本地键盘鼠标手柄等的设备按键,也包括网络传过来的数据包。

UPlayer

UPlayer继承自UObject,拥有APlayerController成员,通过该成员来接收玩家的输入。

class UPlayer : public UObject, public FExec
{
	class APlayerController* PlayerController;
}

需要注意的是APlayerController是服务器和客户端都存在的对象。

ULocalPlayer

ULocalPlayer继承自UPlayer,既然是本地玩家那么除了关联输入,也一般关联着输出。即ULocalPlayerUPlayer多了ViewPort相关的配置。

class ENGINE_API ULocalPlayer : public UPlayer
{
	/** The master viewport containing this player's view. */
	UPROPERTY()
	class UGameViewportClient* ViewportClient;

	FVector2D Origin;

	FVector2D Size;

	FVector LastViewLocation;
}

UNetConnection

前面说了从游戏引擎的角度来说,玩家是输入的发起者。那么在本地使用手柄鼠标输入的是玩家,那么网络远端的通过网络把输入传输过来的也是玩家,所以UNetConnection 也继承自UPlayer

class UNetConnection : public UPlayer
{
	/** child connections for secondary viewports */
	UPROPERTY(transient)
	TArray<class UChildConnection*> Children;

	/** Owning net driver */
	UPROPERTY()
	class UNetDriver* Driver;	

	/** The class name for the PackageMap to be loaded */
	UPROPERTY()
	TSubclassOf<UPackageMap> PackageMapClass;
}

你可能感兴趣的:(游戏开发,虚幻引擎入门)