logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

UE5 蓝图 FPS 02 Event Beginplay

潜台词:“我确定当前控制这个角色的是人类玩家,而不是 AI。请帮我把这个控制器的指针类型从通用的转换为合法的。连接到潜台词:“既然是人类玩家,那么他必然拥有连接着键盘鼠标的本地系统。现在,我要去调用他专属的输入子系统,把我们的 FPS 游戏按键映射表(IMC)激活。如果缺少了Cast这一步,后续的输入子系统节点在编译时就会因为“基类无此成员变量/函数”而直接报错。

文章图片
#ue5#c++
UE5 蓝图 FPS 01 Event Tick

在三维空间中,UE 采用的是左手坐标系(X向前的航空坐标系)。轴向欧拉角名称控制的动作鼠标的对应映射X 轴Roll(翻滚角)围绕前进轴旋转(就像飞机左右侧翻、歪脖子)通常不映射给鼠标Y 轴Pitch(俯仰角)围绕左右轴旋转(就像上下抬头、低头对应鼠标上下移动(Y轴)Z 轴Yaw(偏航角)围绕上下轴旋转(就像左右转头、转身对应鼠标左右移动(X轴)和这两个是自定义的函数或事件。它们顺着每帧的执行流被调

文章图片
#ue5#c++
GPU的硬件视角

从硬件视角看,CUDA 编程就是“用空间换取时间,用并行掩盖延迟”。极致缩水:砍掉逻辑控制,追求单位面积下的算力最大化。极致扩张:通过数以千计的寄存器支撑数万个线程同时驻留。深度思考:如果你在核函数里定义了太多的局部变量,导致每个线程占用的寄存器数量过多,硬件视角下会发生什么?SM 的寄存器总量是固定的。如果每个士兵背的包太重,一个班(SM)能容纳的士兵数量就会减少,进而导致延迟无法被掩盖。

文章图片
#GPU
到底了