UE5.4内容示例(1)- 学习笔记

https://www.unrealengine.com/marketplace/zh-CN/product/content-examples

《内容示例》是学习UE5的基础示例,可以用此示例熟悉一遍UE5的功能

  • 模型与材质部分

StaticMeshes

FBX_Import_Options

Material_Advanced

Material_Decals

Material_Instances

Material_Nodes

Material_ParallaxOcclusionMapping

Material_PivotPainter

Material_PivotPainter2

Material_Properties

Material_SkinRendering

Material_Substrate

  • UI部分

UI_UMG

UI_CommonUI

UI_SlatePostBuffer

Paper2D

  • 场景与地形部分

Level_Landscape

Level_PostProcessing

Level_Scripting

Level_Streaming

Level_Volumes

  • 灯光部分

Lighting_Realtime

  • 蓝图部分

Blueprint_Overview

Blueprint_Advanced

Blueprint_Communication

Blueprint_Input_Examples

Blueprint_Mouse_Interaction

Blueprint_Network

Blueprint_ProceduralMesh

Blueprint_RenderToTarget

Blueprint_Splines

  • 动画部分

Animation_Basics

Animation_Choosers

Animation_ControlRig

Animation_Deformer

Animation_IKRig

Animation_MorphTargets

Animation_PhysicsControl

Animation_Retargeting

  • 粒子部分

Niagara_Advanced_Particles

Niagara_Fluids

Niagara_Particles

  • 物理引擎部分

Physics

PhysicalAnimation

Physics_Cloth

Physics_Destruction

  • AI与算法部分

AI_NavMesh

Math_Hall

Audio

  • 此篇UE5学习是以技术方向切入,避开材质如何制作、粒子如何制作等深入美术方向(或技美方向)的问题, 从整体结构来学习掌握。

ExampleProjectWelcome

1、1.A Static Mesh(静态模型)

  • 非常简单的静态网格模型,用了M_Metal材质

  • 在此材质右击,创建材质实例后M_Metal_Inst,可以看到这个材质提供3个参数

  • 在M_Metal材质的参数面板里也可以看到

  • M_Metal材质为普通PBR材质,其中Roughness用了一个复杂的处理,简化下,也是能出来一些效果。

  • 通过乘,提亮并加对比度,在通过Lerp控制上下对比度的数值

  • 因为本人不是美术方向,对于材质,我的方法是收集与整理,并简单套用。

2、1.B Skeletal Mesh(骨骼模型)

  • 最简单的骨骼网格体有4部分组成:Skeletal Mesh(网格模型)、Skeleton(骨骼数据)、Material(蒙皮的材质)、Animation Sequence(骨骼动画)
  • 这些的IK绑定,骨骼转移都是比较麻烦的部分

3、Play or Simulate Stands(Timeline动画的球)

  • BP_Timeline_Ball,使用Timeline完成小球的动画
  • Bounce节点里设置了循环与自动播放,里面有3个动画轨道,Impact(负责触发落地后的粒子效果)Movement(负责上下跳动)Scale(负责落地后小球压扁)
  • 小球上下移动,TimeLine返回一个0-1的Alpha区间值,通过Lerp,用Set Relative Location设置
  • 类似方法,设置小球的形变
  • 在Timeline的Track按钮里,有4种轨道,一般用浮点型轨道,这里用事件型轨道,事件型轨道接口是一个白色的事件箭头,触发播放粒子
  • 目前Sequence动画系统,用变量控制的性能比较差;当需要可控制的动画时,需要使用Timeline等蓝图结合来编程。如果只是此案例的动画,也可以使用Sequence来实现。

4、1.D Interactive Slider

  • 这里有2个蓝图;滑动框BP_Slider:负责鼠标控制滑动,并返回一个Value 0-1的值;下面的圆盘BP_Mat_with_Slider:负责使用Value的值,设置材质图片的清晰度。
  • 滑动框-用鼠标控制某个模型的移动:Left Mouse Button设置是否按下;Get Input Mouse Delta获取鼠标移动的差值;Add Relative Location设置物体增量移动。这样就可以实现模型的任意拖动。
  • 滑动框-控制横向移动,并设置最大距离
    第1段:根据Vertical判断是使用鼠标的x或y,用Start与End的差值乘以鼠标变化值,用Sensetivity参数控制下速度,最后给到位置增量设置

    第2段:Slider的x,y,z值,都控制在Start和End的最大与最小之间,重新设置Slider的位置
  • 滑动框-返回一个Value值:Vector Length获得Start与End的距离和Slider的移动距离,相除获得位置的百分比,如果需要,进行下Clamp下,控制在0.1-1之间
  • 滑动框-End值可以被拖动设置,这个功能很好。只用设置End值的Show3DWidget,在ConstructionScripte设置好对应的模型大小与位置

  • 修改材质里的参数:Material是材质变量,在外部赋值;用Create Dyniamic Material Instance生成一个MID(Material Instance Dyniamic)对象,接下来,控制Value的数值就可以改变材质的效果。
  • Material材质:通过乘以一个Value数,然后去掉小数点,再除回来;这样Value越大,小数点扔掉越少,精度就越高

5、1.E Triggerable Gears

  • 一个触发模型蓝图BP_Button;一个齿轮动画蓝图BP_Gears
  • BP_Button的触发是通过Blueprint Interface完成,对比Slider更加高级些;如何建立蓝图接口:

    先建立蓝图接口类:

    做好接口函数

    在对应的蓝图对象中,比如Slider的案例,是在下面的盘的模型蓝图中,加入接口


    在蓝图中就出现接口事件,右键导入事件
  • 如何触发蓝图接口:

    Target Blueprint对象是Actor对象,可以把Details锁住,然后拖动Outliner里的蓝图对象到对应的框中,完成赋值操作(类似于Unity的操作)
  • 齿轮动画:使用了Event Tick的Delta Seconds来实现Rotation的Yaw不断旋转的功能

6、1.F Triggerable Light Bulb

  • 一个控制台BP_ButtonLight_Bulb_Basic和一个灯的蓝图对象BP_Light_Bulb_Basic
  • 通过在灯的蓝图里设置Toggle light事件(Custom Event)来触发(以上,案例展示3种两个蓝图互相通信的示例)

  • 改变控制台的灯:获取MID

    通过材质的State 0或1来控制红色或绿色

    通过Begin Overlap与End Overlap来设置材质的State值
  • 灯光蓝图变化,分为模型的材质变化,和灯Light的变化
    改变灯泡和灯丝的颜色

    根据A,透明度,使用Set Intensity来改变灯的亮度

此场景学习完毕,祝愿大家学习愉快

相关推荐
量子-Alex14 分钟前
【多模态聚类】用于无标记视频自监督学习的多模态聚类网络
学习·音视频·聚类
吉大一菜鸡19 分钟前
FPGA学习(基于小梅哥Xilinx FPGA)学习笔记
笔记·学习·fpga开发
CCSBRIDGE3 小时前
Magento2项目部署笔记
笔记
爱吃西瓜的小菜鸡3 小时前
【C语言】判断回文
c语言·学习·算法
小A1593 小时前
STM32完全学习——SPI接口的FLASH(DMA模式)
stm32·嵌入式硬件·学习
亦枫Leonlew3 小时前
微积分复习笔记 Calculus Volume 2 - 5.1 Sequences
笔记·数学·微积分
岁岁岁平安4 小时前
spring学习(spring-DI(字符串或对象引用注入、集合注入)(XML配置))
java·学习·spring·依赖注入·集合注入·基本数据类型注入·引用数据类型注入
武昌库里写JAVA4 小时前
Java成长之路(一)--SpringBoot基础学习--SpringBoot代码测试
java·开发语言·spring boot·学习·课程设计
qq_589568104 小时前
数据可视化echarts学习笔记
学习·信息可视化·echarts
爱码小白4 小时前
网络编程(王铭东老师)笔记
服务器·网络·笔记