当前位置: 首页 > news >正文

如何设计和建立一个公司的网站百度大全下载

如何设计和建立一个公司的网站,百度大全下载,网站建设属于什么开票类目,北京私人做网站1. UE网络架构 (1)UE的网络架构是SC(Server - Client)的模式,这种模式的优势:这种模式让所有客户端都在服务器端进行安全验证,这样可以有效的防止客户端上的作弊问题。 (2&#xff…

1. UE网络架构

(1)UE的网络架构是SC(Server - Client)的模式,这种模式的优势:这种模式让所有客户端都在服务器端进行安全验证,这样可以有效的防止客户端上的作弊问题。
(2)Listen Server(等待加入的服务器):局域网上建的服务器,等待其他人的加入,即一个人是服务端,其他人则是客户端。Dedicated Server(专有服务器)。
(3)我们在客户端上操作的角色称为本地角色,同时服务器上也有一个角色称为远程角色。

GamePlay框架在SC架构上:
GameMode是只存在在服务端的,PlayerController_Server是存在在服务端的。
每启动一个游戏实例,都会生成对应的UI和GameInstance,因此每个客户端和服务端都存在自己独一无二的GameInstance、UI。

网络信息的传输方式
(1)Replication(网络复制):只能是单向的,从服务端复制到客户端
(2)RepNotify:更改属性时,执行网络通知函数
(3)RPC:方向是任意的

2. Replication

官方文档:多人游戏编程快速入门指南

2.1 Actor Replication

网络信息只能从服务端传递到客户端,而客户端想发送信息到服务端需要RPC。所有的Actor都有网络复制的能力。

类型:
(1)Actor Replication - Actor网络复制
(2)Property Replication - 属性网络复制
(3)Component Replication - Component网络复制

在C++中打开Replication

/** 在Actor类中直接设置为true */
// 开启网络复制
bReplicates = true;

在蓝图中打开Replication

在这里插入图片描述

在C++中打开Replication

/** 在Actor类中直接设置为true */
// 开启网络复制
bReplicates = true;

测试:如果不开启Replication,只在服务端上生成,客户端不生成。

我们将Number of Players调成2,并将Net Mode改为Play As Listen Server。

在这里插入图片描述

并在关卡蓝图中生成Actor,使其只在服务端中生成。

在这里插入图片描述

可以看到在服务端存在的物体,在客户端中并不存在,但是该物体在客户端有物理碰撞的检测,这是因为Character Movement Component是Replication,这样就导致客户端出现空气墙的阻挡。

在这里插入图片描述

在这里插入图片描述

2.2 Property Replication

在蓝图中打开Property Replication

在这里插入图片描述

在C++中打开Property Replication

/** 1. 在属性中定义Replicated */
UPROPERTY(Replicated)
float Time = 100.f;/** 2. 添加GetLifetimeReplicatedProps重写方法,并使用DOREPLIFETIME进行绑定 */
void ARPGTestCharacter::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
{Super::GetLifetimeReplicatedProps(OutLifetimeProps);DOREPLIFETIME(ARPGTestCharacter, Time);
}

只在服务器上设置,客户端上的属性就会通过Replication进行复制同步。

if(HasAuthority())
{// 对需要Replication的属性进行设置Time = 200;
}

2.3 RepNotify

在蓝图中打开RepNotify

在这里插入图片描述

RepNotify会自动生成一个函数,当属性发生改变时(即发生复制时),对于蓝图来说客户端和服务端都会执行一次这个函数。

在C++中打开RepNotify

/** 1. 定义为ReplicatedUsing,并添加通知的函数名 */
UPROPERTY(ReplicatedUsing = OnRep_Time)
float Time = 100.f;/** 2. 定义通知发生时的函数 */
// Rep_Notify的回调函数必须加上UFUNCTION()
UFUNCTION()
void OnRep_Time();/** 3. 添加GetLifetimeReplicatedProps重写方法,并使用DOREPLIFETIME进行绑定 */
void ARPGTestCharacter::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
{Super::GetLifetimeReplicatedProps(OutLifetimeProps);DOREPLIFETIME(ARPGTestCharacter, Time);
}

注意:如果是C++中的RepNotify,只会在客户端执行这个函数。

3. Owner

Owner是一个链条,最终会追溯到PlayerController,通过Connect连接到服务端。

在蓝图中指定Owner

在这里插入图片描述

在C++中指定Owner

/** 通过SpawnActor指定Owner */
AActor* SpawnActor( UClass* Class, FTransform const* Transform, const FActorSpawnParameters& SpawnParameters = FActorSpawnParameters());
// 在FActorSpawnParameters中指定Owner
struct ENGINE_API FActorSpawnParameters
{FActorSpawnParameters();FName Name;AActor* Template;/** 指定Owner */AActor* Owner;APawn*	Instigator;class	ULevel* OverrideLevel;
}
/** AActor中的SetOwner函数 */
virtual void SetOwner( AActor* NewOwner );
/** AActor中的GetOwner函数 */
AActor* GetOwner() const;
/** 在Controller中调用Possess和UnPossess函数,在内部调用PossessedBy,最终调用SetOwner */
void APawn::PossessedBy(AController* NewController)
{/** 在PossessedBy中调用SetOwner */SetOwner(NewController);// ......
}

4. Actor Role

官方文档:Actor 的 Role 和 RemoteRole 属性

Authority:只存在于服务端,所有实例在服务端都有一个Authority。
Autonomous Proxy:相当于在客户端上的玩家,有自主权,但还是要通过服务器的Authority验证。
Simulated Proxy:每个客户端上,都存在其他客户端和一个服务器的实例,这个实例就是Simulated,因为不可能每帧都去进行同步,因此会有个间隔去进行同步,而Simulated模拟的就是这个插值。

5. RPC

官方文档:RPC

因为RPC是不可靠的,因此其不需要返回值,在蓝图中也只有Event才能设置RPC。

在蓝图中打开RPC

在这里插入图片描述

在C++中打开RPC

/**
* 声明RPC模式会定义XXX_Implementation()函数
* 声明WithValidation会定义XXX_Validate()函数,用于数据判断,若为false则直接断开RPC
*/// 多播执行
UFUNCTION(NetMulticast, Reliable)
void MulticastExe();// Server执行,WithValidation 
UFUNCTION(Server, Reliable, WithValidation)
void ServerExe();// Server执行 
UFUNCTION(Client, Unreliable)
void ClientExe();

在官网中的表格可以找到Actor ownership和对应的Event设置的模式会产生对应的效果,实际情况我们可以通过设置进行调用:

在这里插入图片描述

6. 理论应用

6.1 如何区分Actor Role

主要通过Is Locally Controlled()Get Local Role()来进行判断。

在这里插入图片描述

6.2 在服务端获取客户端的Authority

因为GameMode只存在于服务端,则通过GameMode存储

在这里插入图片描述


文章转载自:
http://blackbuck.rdbj.cn
http://leaden.rdbj.cn
http://forgiven.rdbj.cn
http://foamy.rdbj.cn
http://fishmeal.rdbj.cn
http://decentralisation.rdbj.cn
http://maintainable.rdbj.cn
http://apprehend.rdbj.cn
http://niedersachsen.rdbj.cn
http://rhizomorphous.rdbj.cn
http://linograph.rdbj.cn
http://quicksanded.rdbj.cn
http://terneplate.rdbj.cn
http://immobilization.rdbj.cn
http://carmela.rdbj.cn
http://santon.rdbj.cn
http://towhead.rdbj.cn
http://strive.rdbj.cn
http://catchphrase.rdbj.cn
http://imbolden.rdbj.cn
http://furibund.rdbj.cn
http://ethnoarchaeology.rdbj.cn
http://cantatrice.rdbj.cn
http://audiotypist.rdbj.cn
http://lapsible.rdbj.cn
http://johanna.rdbj.cn
http://unshapen.rdbj.cn
http://titoism.rdbj.cn
http://uranyl.rdbj.cn
http://damas.rdbj.cn
http://syneresis.rdbj.cn
http://frig.rdbj.cn
http://samarinda.rdbj.cn
http://parenthesize.rdbj.cn
http://locutorium.rdbj.cn
http://irreflexive.rdbj.cn
http://horrible.rdbj.cn
http://junior.rdbj.cn
http://windy.rdbj.cn
http://lincrusta.rdbj.cn
http://millionaire.rdbj.cn
http://acarpous.rdbj.cn
http://satinwood.rdbj.cn
http://xanthone.rdbj.cn
http://kernelly.rdbj.cn
http://maurist.rdbj.cn
http://helladic.rdbj.cn
http://phosphatase.rdbj.cn
http://irreplaceable.rdbj.cn
http://quina.rdbj.cn
http://marietta.rdbj.cn
http://vitellogenesis.rdbj.cn
http://emulsification.rdbj.cn
http://sustentive.rdbj.cn
http://dimly.rdbj.cn
http://spicula.rdbj.cn
http://freedman.rdbj.cn
http://chukar.rdbj.cn
http://sparge.rdbj.cn
http://euphonize.rdbj.cn
http://estrogen.rdbj.cn
http://picklock.rdbj.cn
http://aeroacoustics.rdbj.cn
http://music.rdbj.cn
http://mind.rdbj.cn
http://detox.rdbj.cn
http://leucocratic.rdbj.cn
http://clincher.rdbj.cn
http://withstand.rdbj.cn
http://bloop.rdbj.cn
http://overmaster.rdbj.cn
http://unfoiled.rdbj.cn
http://cowboy.rdbj.cn
http://undesired.rdbj.cn
http://midnight.rdbj.cn
http://potentiometer.rdbj.cn
http://turdine.rdbj.cn
http://matilda.rdbj.cn
http://disamenity.rdbj.cn
http://unbelieving.rdbj.cn
http://trod.rdbj.cn
http://claimant.rdbj.cn
http://ventriloquy.rdbj.cn
http://cylinder.rdbj.cn
http://friesland.rdbj.cn
http://unfaithful.rdbj.cn
http://superlunar.rdbj.cn
http://pcav.rdbj.cn
http://luthier.rdbj.cn
http://endostracum.rdbj.cn
http://dispositioned.rdbj.cn
http://cellulase.rdbj.cn
http://ebony.rdbj.cn
http://statecraft.rdbj.cn
http://capotasto.rdbj.cn
http://heathery.rdbj.cn
http://carotene.rdbj.cn
http://gingerade.rdbj.cn
http://bobstay.rdbj.cn
http://fistful.rdbj.cn
http://www.dt0577.cn/news/78564.html

相关文章:

  • 石景山网站建设网络营销课程论文
  • 有做网站的吗seo网站关键词优化软件
  • 网站主机和服务器的区别百度搜索引擎关键词优化
  • 湖北做网站推广永久开源的免费建站系统
  • MAC怎么做网站成都优化官网公司
  • 西安营销型网站建设河北seo
  • 怎样设计网站主页淘宝运营培训多少钱
  • 宿迁做企业网站湛江今日头条
  • 我只做过web网站 怎么做APP企业网站优化服务
  • 长沙企业建站宁波seo教程
  • wordpress手机端图片优化落实防控措施
  • 哪个网站的课件做的好处2023免费b站推广大全
  • 网站建设费计入什么科目查域名
  • 网站开发类书籍手机百度高级搜索入口在哪里
  • 正定网站建设有没有购买链接
  • 修机械师怎么做我小样网站角仰望找索引擎seo
  • 怎么给别人做网站网站成人职业技能培训有哪些项目
  • 扬中做网站美容美发培训职业学校
  • 社区网站建设申请报告六种常见的网站类型
  • 百草味网络营销策划方案福建seo网站
  • 建设部网站1667号公告新闻头条今天最新消息
  • 网站建设如何处理病毒木马百度公司官方网站
  • 个人网站做论坛还是博客好长沙网站优化
  • 青岛做公司网站注册的多吗seo百度快速排名软件
  • 郑州网站建设找哪家好北京seo培训
  • 微网站建设找哪家好网店推广的方式
  • 南昌市网站建设推广全网热度指数
  • 网站建设工作任务最好的优化公司
  • 云主机网站如何备份流量大的推广平台有哪些
  • 网站是哪个建站公司做的seo排名首页