标签: UE

29 篇文章

UE 渲染入门 v4
概述 代码版本5.3。书接上回 https://www.yuque.com/chenweilin-tryw7/gbfomp/enpney50q2g2syc9?singleDoc# 《UE 渲染入门 v3》 这里是哪里呢? BeginRenderingViewFamilies 这个函数准备开始画 3D 场景了 这个函数前面通过 SendAllEndOfFrameUpdates 确保之前已经画完了 S…
UE 渲染入门 v3
概述 代码版本5.3 https://www.yuque.com/chenweilin-tryw7/gbfomp/ygwycvgmwps8niby?singleDoc# 《UE 渲染入门 v2》 上回书说到,渲染需要一个画布 然后 viewportclient->draw 最后通过 Flush_GameThread 刷新画布 FCanvas Canvas(this, nullptr, Vie…
UE 渲染入门 v2
概述 代码版本5.3,目前讨论PIE状态下的,能打断点 https://www.yuque.com/chenweilin-tryw7/gbfomp/ygwycvgmwps8niby?singleDoc# 《UE 渲染入门 v2》 FViewport::Draw void UEditorEngine::Tick( float DeltaSeconds, bool bIdleMode ) { // 。…
UE 渲染入门 v1
FlushRenderingCommands void FlushRenderingCommands() { if (!GIsRHIInitialized) // RHI必须初始化 { return; } TRACE_CPUPROFILER_EVENT_SCOPE(FlushRenderingCommands); // 开启CPU性能分析 FCoreRenderDelegates::OnFlush…
JustMakeGame 8. 角色旋转
在tick中不断执行更新角色旋转 UpdateGroundedRotation() UpdateInAirRotation() 核心函数 void ACwlCharacter::SmoothCharacterRotation(const FRotator &Target, float TargetInterpSpeed, float ActorInterpSpeed, float Delt…
JustMakeGame 7. 速度混合&移动方向&八向混合
速度混合 计算速度混合量,速度在各个方向上的占比。 比如我们有前后左右四个方向的动作,角色向左前方向移动,那么四个动作融合后,左前两个动作的混合比重是要比右后大的。 void UCwlBaseAnimIns::CalculateVelocityBlend() { FVector VelocityNormal = UKismetMathLibrary::Normal(Velocity); FVect…
JustMakeGame 6. 冲刺混合
首先我们需要计算相对加速量,在动画蓝图中 UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = "Cwl|Anim Graph - Grounded") FVector RelativeAccelerationAmount = FVector::ZeroVector; void UCwlBaseAnimIns:…
JustMakeGame 5. 移动步幅&走跑混合&移动动画播放速率
移动步幅 在角色骨骼的右下角可以添加曲线。 有什么用呢 我们打开一个Walk的动画,我们可以给动画添加曲线用于某些作用。比如曲线 Weight_Gait 的值 走1,跑2,冲刺3。这样我们就不用 在代码里。如果动画名 为 xxx 为跑步状态这样判断。而是动画当前帧曲线为多少作为判断依据。 那么我们逻辑维护走跑冲刺状态有什么用呢,用步态Gait变量不好吗。因为这个是逻辑上的。而动画实际可能还没切换过…
JustMakeGame 4. 虚幻移动组件网络同步的一个细节处理
一个同步问题 问题的起因是我在做了这个调试UI后,某些情况下界面会抖。这个界面是我锁在角色脑袋上,所以应该是角色在抖。不开UI是看不出来的。应该是抖的很轻微。 后来我在这两篇文章找到了问题原因 在多人游戏中更新角色移动速度2 在多人游戏中更新角色移动速度1 一句话说明问题的原因: 前文我提到了我这样修改角色移动速度在网络环境下是有问题的 void ACwlCharacter::UpdateDyna…