1. 多人游戏开发

1. 启动 Steam 插件

image-20260424230538274

image-20260424233720551

2. config 配置修改后重新生成project

DefaultEngine.ini

DefaultGame.ini

saved/Binares/Intermediate 文件删除

#3. 开场关卡(GameStartup)蓝图启动的时候添加插件UI WBP

project Setting 设置GameStartup

image-20260424232416312

Lobby 大厅路径

4.

image-20260424233620611

5, visual studio 转为rider

1.默认打开方式改为rider

image-20260425001059147

2.refresh 和open rider

image-20260425001441380

旧资源迁移导入

image-20260429174130795

Seamless Travle

为了保证多人玩家进入场景的一致性,避免出现因为地图重新加载导致,连接断开。

开启方式:在游戏模式中 bUseSeamlessTravel = true

需要一个transition map

image-20260519151539982

通过gamemode 方式 se’h

Network Role

核心权限(Role)有三种

为了让你更好理解,我们先明确这三种常见权限到底代表谁:

  1. Authority(权威):绝对控制权。永远属于服务器(Server)
  2. Autonomous Proxy(自治代理):预测控制权。属于控制这个角色的本地玩家(你自己)
  3. Simulated Proxy(模拟代理):只能看不能动。属于你眼中的其他玩家(别人)

针对服务器、你自己、其他玩家的区别

由于同一段代码可以在服务器上运行,也可以在客户端上运行,所以 GetLocalRoleGetRemoteRole 的返回值会根据代码在哪里运行而发生反转。

视角 1:在你的客户端(Client)上运行

假设你是玩家 A,正在玩游戏。在你的电脑上:

你在看谁的 Pawn? GetLocalRole() (你电脑的权限) GetRemoteRole() (网络另一端的权限)
你自己 (玩家 A) Autonomous Proxy (你能操控它) Authority (远端是服务器,它是老大)
其他玩家 (玩家 B) Simulated Proxy (你只能看他走) Authority (远端依然是服务器)

视角 2:在服务器(Server)上运行

假设代码现在运行在服务器上(比如 Dedicated Server):

服务器在看谁的 Pawn? GetLocalRole() (服务器的权限) GetRemoteRole() (网络另一端的权限)
任何连接进来的玩家 Authority (服务器始终是老大) Autonomous Proxy (远端是操控这个Pawn的玩家)
服务器生成的AI野怪 Authority None / Simulated Proxy

第三章 总结

xxxxxxxxxx 一个 SM 内:- CUDA Cores(FP32): 128   <- 普通 Shader 运算- INT32 Cores       : 64   <- 整数运算,可与 FP32 并行- Tensor Cores     : 4     <- 矩阵运算,AI / DLSS- RT Cores         : 1     <- 光线求交,DXR 光追- SFU               : 若干 <- sin/cos/sqrt 等超越函数text

BlasterAnimInstance :动作装态的控制,movement 获取当前的character的参数,用来传递给动画蓝图

GameMode :指定Level 状态。例如默认Character,设置semlesstravel

蓝图:BP_BlasterCharacter 设置动画蓝图,动画骨骼

BlasterAnimBP :设置动画状态机