1.进工程提示The game module ” could not be found… 先开C++工程编译成功了再开项目。
2.UE4打log:
UE_LOG(LogTemp, Warning, TEXT(“11111111111111”));
UE_LOG(LogTemp, Log, TEXT(“Your message”));
FString打印:
FString ThePath = FString(FPlatformProcess::BaseDir());
UE_LOG(LogTemp, Warning, TEXT(“%s”), *ThePath);
3.移动角色
FVector actorLocation = GetActorLocation();
actorLocation.X += DeltaTime*10;
SetActorLocation(actorLocation);
4.输入指令检测
void AMyPawn::SetupPlayerInputComponent(class UInputComponent* inputComponent)
{
Super::SetupPlayerInputComponent(inputComponent);
inputComponent->BindAction(“Action1”, IE_Released, this, &AMyPawn::Foo);
}
一定要是pawn以上的继承才能有这个重写,然后场景中的pawn要勾选Auto possess player -> Player 0。
5.拿鼠标位置并打印
FIntPoint MousePoint;
GEngine->GameViewport->Viewport->GetMousePos(MousePoint);
UE_LOG(LogTemp, Warning, TEXT(“x: %d y:%d”), MousePoint.X, MousePoint.Y);
6.按下G可以隐藏Gizmos,再按一次可以跳回来(Game Mode)。
7.Ctrl+F1,F2,F3,F4切换显示模式,Shift+F1跳出鼠标。
8.UE4里物体有3种移动性:静态、固定、可移动。应该是和光源有关,固定就是物体不动,但是光源可以开光或者可以改参数。
9.取当前时间:Time.time -> GetTimeSeconds。
10.UE4断开连线: Alt+鼠标双击线。
11.UE4看不见蓝图变量,没点”编译”。
12.UE4蓝图,判断目标对象是否为空: 用IsValid节点。
13.获得当前打包后应用程序的当前目录:FPaths::LaunchDir
14.UE4清空OutputLog,面板右键弹出菜单,选择Clear Log。
15.C++端输出FString:
GEngine->AddOnScreenDebugMessage(-1, 1.f, FColor::Green, fstr);
16.C++端读硬盘txt
FString fstring;
FFileHelper::LoadFileToString(fstring, TEXT(“d:/xx.txt”));
//log fstring
17.Float判断一致:
FMath::IsNearlyEqual(PreviousRotation, Profile.LightingRigRotation, 0.05f)
18.获得当前帧编号:UE_LOG(LogTemp, Warning, TEXT(“frame: %s %d”), *key.GetFName().ToString(), GFrameNumber);
19.蓝图里获得动画蓝图:用GetAnimInstance节点,然后cast
20.动画蓝图中获得绑定它的蒙皮网格对象:GetOwningComponent
21.当前是否有蒙太奇在播放:IsAnyMontagePlaying
22.UE4模型预览界面下修改预览灯光朝向:键盘L键+鼠标旋转
23.UE主界面显示骨骼,按'~'调出控制台,敲命令:showFlag.bones 1
24.UE快速翻转网格法线,在Mesh组件的设置里搜索"Reverse Culling",勾选
25.设置材质球参数,以数值形为例:Set Scalar Parameter Value on Materials
26.使用数学表达式节点,简化蓝图逻辑:https://docs.unrealengine.com/4.27/zh-CN/ProgrammingAndScripting/Blueprints/UserGuide/MathNode/
27.Retriggerable Delay和Delay的区别:
Retriggerable Delay相当于每次触发都有一次时间Reset操作,计时重新回到0。而Delay如果计时没有结束就会阻塞,重复触发操作没有效果。
Retriggerable Delay(2秒): 0.0 0.1 0.2 触发 0.0 0.1 触发 触发 0.0 0.1.....
Delay(2秒):0.0 0.1 触发 0.2 0.3 触发 0.4 0.5 ....
28.在编辑器下显示FPS、内存占用、对象数量(勾选Editor Preferences/Performance/Show Frame Rate And Memory)
29.在编辑器下更新动画蓝图、动画片段:查找Update Animation in Editor并勾选:
30.查找所有UE Console命令:
Help -> Console Variables
31.按住Shift键移动物体,物体可以带着摄像机一起移动:
32.环境书签,Ctrl+1,2,3 ... 设置,按1,2,3切换。可以快速设定摄像机位置,并随时切到这个位置:
33.使用Shadow pass switch节点,在材质蓝图中修改模型阴影外形:
34.运行时修改变换信息后,按K可以直接应用当前位置,例如开启物理播撒一些物件,全部选中状态按K,切回编辑器还是播撒的状态。或者蓝图改变了位置,按K,可以储存。
35.蓝图中优先用Select节点其次再考虑Branch,Select组织逻辑可读性更高。
36.蓝图一键整理快捷键:Q
37.获得鼠标在世界空间的位置:ConvertMouseLocationToWorldSpace
38.调用完Event Dispatchers后,最好再调用一次Unbind,否则这个事件没有释放。
39.查看性能统计信息:控制台敲 stat unit
40.在运行游戏时开启控制台窗口 —— 加命令行启动参数 -log
41.启动时如何指定分辨率 命令行参数:-ResX=1920 -ResY=1080 或 -res=1920x1080
42.对于屏幕外的物体,切换到特定操作模式后(位移模式旋转模式等),按住ctrl按键+鼠标左键是x轴运动,ctrl+鼠标右键是y轴运动,鼠标左右键一起按下是z轴。例如下面的gif就展示了用这个快捷键改平行光角度:
43.选中一个物体并按下快捷键shift+e,可以选中场景中所有相同的物体:
44.按L键在场景中点击,可以快速添加灯光:
45.选择颜色面板,可以将颜色存起来:
46.蓝图中浮点数转字符串,指定小数点占位:
实现占位符的方法就是先转成Text再转成String。转Text时节点展开可以指定小数点位数。
47.快捷键Ctrl+L并拖拽鼠标,可以快速修改平行光方向:
48.驾驶相机模式,快速调整相机位置:
49.光源函数,其实是灯光Cookie,也可以和IES灯光一起使用:
50.使用UE高分辨率截图时,使用Custom Depth,开启绿幕背景:
51.编辑器偏好设置中,修改预览相机框大小:
52.快速切换模型带网格显示模式,主界面编辑状态按Alt+c: