上一次修改时间:2024-10-24 08:27:03

杂项

  1. 项目迁移

    项目名为为:PikaqiuSpeed

    原引擎路径:D:\UE4ENGINE\UnrealEngine-4.22

    迁移后引擎的路径:D:\UE4ENGINE_CUSTOM\UnrealEngine-4.22

    原环境:VS2017

    迁移后的环境:VS2019

    图片.png

    图片.png

    将PikaqiuSpeed.vcxproj文件里的D:\UE4ENGINE\UnrealEngine-4.22全部替换成D:\UE4ENGINE_CUSTOM\UnrealEngine-4.22

    替换后,启动vs,项目->属性->NMake里可以查看替换后的路径

    图片.png

    metahost.h没找到的问题:

    图片.png

    图片.png

    typeinfo.h没有找到的问题:

    图片.png

    图片.png

    安装完成后,将安装路径添加到项目------属性------VC++目录------包含目录中

    图片.png

    无法找到 mscoree.lib的问题:安装4.6.1SDK后,清理------重新生成UE4引擎

    图片.png

    图片.png

    库文件位置:上面三个为4.8(x32,x64,arm),下面为4.6.1,不安装4.6.1的SDK,将4.8的路径加入上面的VC++目录可能也可以(未测试);

    图片.png

    图片.png

  2. 建议地形大小

    图片.png

  3. 合并贴图层

    图片.png

    图片.png

    图片.png

    排除方式混合图层后,合并图层并直接保存;

  4. 碰撞

    1)Collision Enabled类型说明

        (1)No Collision(无碰撞) - 不同该对象发生碰撞,无论是踪迹碰撞还是物理碰撞。

        (2)Query Only,仅用于查询,不会考虑物理仿真;可以进行各种trace,sweep,Overlap事件的触发,但是不会进行物理模拟,简单的讲就是运动时不会产生任何碰撞。人物的移动物理属于查询

        (3)Physics Only,仅用于物理仿真,不考虑查询;表示只能进行物理碰撞与运动模拟,但是不会触发任何事件。

        (4)Collision Enabled(启用碰撞) - 该刚体用于物理模拟和碰撞查询。

    2)任意两个物体有碰撞的条件

        (1)一定是互相设置了Collision Preset。

        (2)至少有一个实体开启了simulate physics。

        (3)该static Mesh必须要有碰撞盒(或者这个Actor有碰撞组件,比如sphere collision);

        (4)对于多组件实体Actor,只要那个组件的父组件开启了simulate physics,就相当于其子组件也开启了simulate physics。

    图片.png

    (5)mesh里加载了对应的物理资源

    图片.png

    3)碰撞通道

        (1)ObjectType决定了物体本身是什么碰撞类型;碰撞响应则表示本身与其它类型的物体进行碰撞时的响应;

        Generate Overlap Event一定要勾选,否则选Overlap时,不会触发绑定的碰撞事件;

    图片.png

        (2)常见类型物体示例:

        WorldStatic:静态几何物件,如山石,树干等;

        WorldDynamic:动态几何物件,如房门,地面可拾取物等;

        Pawn:人物或类人的东西,如玩家,野怪;

        PhysicsBody:物理体;

        Vehicle:载具,如摩托车,飞机等;

        Destructible:可破坏物件,如栅栏,窗户等;

        (3)注意事项:ObjectType配置的自由度很高,你也可以把石头配置成载具的ObjectType

    4)Trace Response与Object Response,主要是通道过滤比较方便,直观理解射线检测类的配置成Trace Response,对象移动类的配置成Object Response;

    5)碰撞事件需要手动消除飞行中的特效

    图片.png

  5. 单个模型会多次触发碰撞事件的问题

    图片.png

    单个模型中,每个带有碰撞属性的组件,都会单独触发一次事件,如上图,如果不将红线中的三个组件的碰撞设置为无碰撞,则会在同一时间触发三次同样的碰撞事件

  6. 材质编辑器的背景

    图片.png

    图片.png

  7. Tick函数里的参数DeltaTime的值

    DeltaTime的值为Tick函数执行的间隔

    图片.png

    下图为1秒内Tick的值,总共执行了19次,每次执行的时间间隔为0.05秒多;

    图片.png

  8. UE4中形参为UObject* WorldContextObject的即为GetWrold()返回的UWrold;

    图片.png

  9. 动画蓝图

    前置资源:

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    创建动画蓝图(待机状态):

    图片.png

    图片.png

    在蓝图动画里创建一个状态机,并载入待机的动画序列

    图片.png图片.png

    图片.png

    图片.png

    载入动画序列

    图片.png

    图片.png

    图片.png

    将动画蓝图载入到主塔的蓝图里

    图片.png

    图片.png

    创建蒙太奇动画(攻击状态):

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    动画蓝图中载入蒙太奇动画:

    图片.png

    图片.png

    添加死亡状态:

    图片.png

    载入死亡动画序列

    图片.png

    设置死亡动画的条件变量:

    图片.png

    图片.png

    死亡变量的值需要从蓝图中获取

    图片.png

    死亡变量获取

    图片.png

    图片.png

    图片.png

    和攻击一样,创建出生的蒙太奇动画

    图片.png

  10. 灯光烘焙问题

    图片.png

    解决方法

    第一步:打开ue4c++项目或打开UE4.sln先将vs中Dubug Editor模式改为Development Editor
    第二步:在vs中找到UnrealLightmass.cpp重新编译
    第三部:将vs中Development Editor改回Dubug Editor,启动重新Build Lighting Only即可

  11. 系统设置菜单动画示例

    无动画UI位置

    图片.png

    动画起启点位置

    图片.png

    结束点位置同无地画时的状态

    图片.png

  12. 动画重定向

    动画蓝图也可以进行重定向操作

    1)重定向的源骨骼需要一个模板

    图片.png

    图片.png

    选择好模板后,还可以点自动映射或自己手动调整对应的骨骼,自动映射只对骨骼名称和系统默认的一样时才会生效;

    除了模型里自带的模板,也可以自己在骨骼上创建一个新模板

    图片.png

    2)选择一个源骨骼对应的网格体;

    图片.png

    3)目标骨骼也和源骨骼一样,选择模板和网格体;

    图片.png

    目标骨骼的参考姿势要和源骨骼的参考姿势一样,不一样的话需要能过修改姿势修改;

    图片.png

    图片.png

    4)修改目标骨骼的重定向方式;

    图片.png

    图片.png

    被重定向的目标骨骼,root和ik设置成动画,盆骨设置成动画缩放,其它的都要设置成骨骼;

    图片.png

    5)源骨骼和目标骨骼都需要设置预览网格体;

    图片.png

    6)动画重定向

    图片.png

    图片.png

    图片.png

    图片.png

  13. 行为树说明

    图片.png

    selector会依次执行其子节点的内容,子节点中执行成功一个则返回true(剩下的不执行),如果其所有子节点均执行失败才会返回false;

    sequence也会依次执行其子点的内容,子节点如果执行成功则会继续执行下一个,如果有节点执行失败,则返回false;

    simpleParallel则是其子节点一起执行;

  14. 行为树Server的运行间隔

    图片.png

  15. UE4编辑窗口中,蒙太奇动画不显示

    如果创建蒙太奇动画的动画序列是叠加动画,则无法在在编辑窗口中显示

    图片.png

    图片.png

  16. 测量长度,测量距离

    在顶视图,或者侧视图,用鼠标中间拉出红线。。。。一个单位是1cm;

  17. AIDebug模式

    进游戏后按Enter键左边的’键,可以调出AIDebug模式.再按小键盘的数字键4,可以看到AI的感知.如果用的87键键盘可以使用WIN+R 输入osk运行虚拟键盘.

  18. 人物移动方式

    图片.png

    朝旋转的方向移动

    图片.png

    红框上面的选项是设置速率的

    图片.png

  19. 动画序列的导入和导出

    UE4导出

    图片.png

    图片.png

    3dmax导出

    图片.png

    UE4导入(60表示以60帧的格式导入)

    图片.png

  20. 位移动画

    图片.png

    带有位移的动画序列,需要在创建蒙太奇动画前开启RootMotion,否则在带有位移的动画播放完成后,角色会被拉回到原来的位置;

  21. UE4中的关联数组

    图片.png图片.png

    图片.png

  22. UE4中动画截取

    图片.png

  23. UE4动画融合

    图片.png

    duration可以调节从一个动画过渡到另一个动画时的时间;

  24. 摄像机的偏移设置

    图片.png

    图片.png

    图片.png

  25. 设置跳跃时的重力可以改变角色跳跃后下降的速度

    图片.png

    图片.png

    起跳高度

    图片.png

  26. 接口类创建

    图片.png

  27. 清空数组

    arr.empty();

  28. 动画蓝图里的RootMotion

    图片.png

    图片.png

  29. 禁止角色移动时,可以通过将角色最大移动速度设置为0,移动角度设置为0来实现;

    图片.png

  30. 定时器传参

    参数为PikaDelegate里的false;

    图片.png

  31. 动画蒙太奇里修改动画的播放速度和播放时间

    图片.png

  32. 蒙太奇动画的BlendOut里的BlendTime设置

    该时间为0.25时,表示播放本蒙太奇动画时,当动画时间还有25%时,就开始和下一动画进行混和

    图片.png

  33. 透明材质

    按住1键再点击鼠标左键

    图片.png

    图片.png

  34. 动画蓝图里的动画通知AnimNotify

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

  35. 动画蓝图警告的解决方法

    图片.png

    图片.png

    图片.png

  36. max导出模型到UE4时的轴向设置

    图片.png

  37. 在UE4里自动生成静态mesh的光照UV

    图片.png

  38. 贴图分类

    固有色贴图(下图2)、高光贴图(下图3)、法线贴图(下图1)

    图片.png

    贴图材质

    图片.png

  39. 批量操作

    图片.png

  40. 角色蓝图中暂停mesh的动画

    图片.png

  41. UI里选择填充后,后面的数值可以控制填充的比例

    图片.png

  42. maya操作

    1)F2-F6切换菜单

    图片.png

    2)空格键后,中间的maya按钮切换视图

    图片.png

    3)选择模型后,数字键1-6切换模型的显示模式

    1键:棱角显示(与圆滑对应)--2键:有线框的圆滑显示(只是暂时的效果,渲染后恢复正常)--3键:没有线框的圆滑显示 --4键:线框显示--5键:实体显示--6键:材质、贴图显示--7键:灯光显示(没有灯光显示为黑色)

    此外,选择横着菜单栏中的着色 —> 着色对象上的线框,实体线框同时展示。 选择着色—> X射线,产生半透效果。

    4)maya导入的fbx模型(如UE4小白人)需要先解除锁定,才能进行旋转、缩放等操作;

    图片.png

    图片.png

    5)显示骨骼,按4键进入网格显示就可以查看被模型挡住的骨骼

    图片.png

    6)显示大纲视图

    图片.png

    7)红色框里为同一套骨架下的多个LOD

    图片.png

    8)重置模型中心点

    图片.png

    图片.png

  43. 场景越来越亮,且不是后期框中自动曝光的问题时,需要在项目设置中的渲染菜单中取消自动曝光选项

    图片.png

    图片.png

  44. 蓝图中的主UI加载

    蓝图方式下,主UI加关卡蓝图中加载

    图片.png

    图片.png

  45. 海水材质蓝图

    1)开启生成网格体距离场;

    图片.png

    2)将海水蓝图拖入场景;

    图片.png

    3)海浪效果,将海浪控制蓝图拖入场景;

    图片.png

    图片.png

    4)调节BP_WaveSpawner_Automatic的位置;

    图片.png

    UE5.4水质为白色

    图片.png

    打开材质里的参数

    图片.png

    图片.png

    图片.png

  46. UE5性能消耗查看

    图片.png

    图片.png

  47. 流送纹理池查看和设置

    查看

    stat streaming

    Streaming Pool为当前设置的流送池大小,该值不能大于显存大小;

    Requred Pool为当前需要的游戏送池大小;

    图片.png

    流送池设置

    r.streaming.Poolsize 2000

  48. 取消植物的动态阴影bCastDynamicShadow,否则在白天的光照下,植物的叶子会出现闪烁的现象;

    图片.png