UE4 小笔记
1,设置postprocess材质时使用Add or Update Blendable
用Make PostprocessSetting会报警告,因为C++代码中没有设置为BlueprintReadWrite.Remove后处理材质Make 一个 没有材质的postprocesssetting再设置就行
2,Get All Actors of Class会返回指定类的所有Actor,包括某个Actor的Child Actor Component!!!
3,Billboard的Widget
计算UI和Camera之间的旋转
4,蓝图中在子类中调用父类的函数时,不调用父类函数,父类函数会被覆盖,如Tick,必须调用父类中的Tick,否则父类中的Tick会被覆盖。
5,使用Stream Level加载关卡时,如果不勾选Make Visible After Load 而是使用Get Streaming Level获得关卡后再Set should be visible时,不能紧跟着获取到这个关卡的东西,需要delay一个很短的时间,我猜想可能是Set visible以后下一帧才加载,使整个关卡Visible的操作可能存在在一帧的前部分,因为虚幻中没有类似Wait For Next Frame,所以只能根据帧率来调整这个delay德瓦时间。
6,
7,蓝图中的变量可以勾选expose on spawn,这样使用spawn actor from class 生成该蓝图时就可以设置该变量,类似构造函数的感觉。
8,音乐循环播放:
9,Masked Material :Opacity Mask只要不是0,就当成1.
10,材质中的Additive模式是以叠加的方式混合颜色。
11,直接将ActorComponet Attach到Actor上时,ActorComponent的BeginPlay先执行,Actor的BeginPlay后执行,直接在编辑器里给Component的参数赋的值在BeginPlay才赋过去。
12,蓝图中的Ease节点可以当作动画曲线
13,蓝图中的构造函数编译一次后
14, 把移动向量normalize,这样保持按住两个键 只改变方向 不改变速度。
15,TextRender的材质需要设置为Mask模式,并且Mask输出对应字体的采样(font sample)。
16,
因此,在较高级别,工作流程如下所示:
-
建立新材质,并将其调整为达至完美。
-
在内容浏览器中,建立新材质函数,并将所有材质函数节点复制/粘贴到其中。
-
将网络连接到新的 Make Material Attributes(建立材质属性)节点,并将其连接到“函数”(Function)输出。
-
保存该函数。
-
将该函数从内容浏览器拖放到材质编辑器中。
-
现在,它变为材质层。使用材质层混合函数将多个材质层混合到一起.
17,修改项目名称:
1修改uproject的名称
2修改config/DefaultEngine中第一行 如果没有添加GameName=***
3修改项目最外层文件夹名称
18,添加一个关卡后,要想在打包后的程序加载该关卡,需要在Project Setting中的Package中的List of maps to include in a packaged build中添加相应的关卡。
19,
20,
21,使用GEngine时需要include Engine.h文件 使用GetWorld时需要include Engine/World.h文件
22,使用UE网络模块时需要在build中添加"Socket""Networking"PublicDependencyModuleNames,然后重新生成vs工程,其他模块也类似。
23,打印bool
GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Blue,Connected ? TEXT("True") : TEXT("False"));
24,变量被优化问题解决
#if PLATFORM_WINDOWS
#pragma optimize("",off)
#endif
或者
PRAGMA_DISABLE_OPTIMIZATION
25,删除插件如果出现问题可以编辑uproject文件把插件相关内容也删掉
26,要想隐藏一个物体并且显示该物体的阴影,勾选actor hidden in game和hidden shadow即可
27,蓝图中勾选某个变量的Exposed on Spawn选项即可将该参数暴露给创建节点,例如Create Widget,Spawn Actor from class。
28,在构造函数中创建object,使用CreateDefaultSubobject,非构造函数使用NewObject。
29,UTextureRenderTarget2D::ConstructTexture2D只支持正方形的图片,而且边长为2的多少次幂。