自学内容网 自学内容网

UE学习篇ContentExample解读------Blueprints Advanced-上

总览描述

在这里插入图片描述

打开关卡后,引入眼帘的就是针对关卡的总体性文字描述,这里翻译一下:

​ 这个地图涵盖一些在关卡中使用蓝图的有用技巧和技术。包括一些随机化案例、对象数组创建和一些Gameplay的行为,例如灯光跟踪和工作门!

批次阅览

1.1 Randomly scattered meshes

随机分散的模型

在这里插入图片描述

蓝图分析:

在这里插入图片描述

本案例通过公开一些可调PUBLIC变量,随机化生成分散的模型在场景中,让我们来看看它的蓝图吧!

  • Component结构
    在这里插入图片描述

它的组件,就挂了一个空的根组件!

  • 变量介绍
    在这里插入图片描述

    变量主要包括: 生成模型个数、随机范围最大半径、最小和最大缩放比例、随机Yaw旋转、样板模型数组

  • 构造脚本
    在这里插入图片描述

    它的逻辑分为两大块:生成模型个数的约束(1-1000)、循环添加随机模型。

    添加随机模型的逻辑又可以细分为:随机位置、随机旋转、随机缩放、随机模型!

    **随机位置的约束:**限定在半径范围内随机点,逻辑如下:

    在这里插入图片描述

    通过随机在边长为2倍半径的正方形内的一个偏移,然后Clamp向量的长度实现!

    旋转的约束:

    在这里插入图片描述

    根据Random Yaw Rotation,决定是否需要随机Yaw轴的0-360°的随机旋转!

缩放的约束:

在这里插入图片描述

根据最大缩放向量和最小缩放向量,进行随机!

让我们继续看一下,如何添加多个模型的呢?

在这里插入图片描述

每一次循环,通过添加Static Mesh Component组件,并且给他随机从样品模型数组随机设置它的静态网格体。从而实现随机添加模型!

  • 事件图表

关键概念整理:

  • Add Component
  • Random Transform

1.2 Automatic wall

自动化墙

在这里插入图片描述

翻译:构造脚本被用来扩展一行模型,它根据Actor的轴枢点到一个明确的结束点!

蓝图分析:

在这里插入图片描述

  • Component结构
    在这里插入图片描述

    一个根组件+一个静态网格体组件(单个栅栏)

  • 变量介绍

    在这里插入图片描述

    一个是结束点的偏移,一个是模型的宽度,一个是生成的模型网格。注意一下这个End Point是Show 3D Widget勾选状态,如下图

    在这里插入图片描述

    所以场景中,是很容易调整它的
    在这里插入图片描述

  • 构造脚本
    在这里插入图片描述

    分析一下逻辑:

    (1)设置了Fence Start组件的Static Mesh;

    (2)根据EndPoint 计算到轴枢点的投影距离(XY平面上)和 模型的宽度,计算需要生成多少个模型;

    (3)循环添加静态网格体组件,并设置模型,附加到Fence start下。组件的相对位置是Mesh Width * 遍历的下标 作为他的X的相对偏移;

    (4)生成完成时,根据结束点EndPoint的位置,调整了Fence start的Yaw的旋转,这样会导致它的所有子组件跟着旋转!

  • 事件图表

关键概念整理:

  • Find Look at Rotation

结果展示:

让我们改一组参数,看一下吧!
在这里插入图片描述

1.3 Automatic ring

自动化环

在这里插入图片描述

翻译:构造脚本用于在一个圆上摆放明确数量的模型,通过圆上每一个模型的位置决定它的旋转!

蓝图分析:
在这里插入图片描述

  • Component结构
    在这里插入图片描述

    空空如也,只有一个根组件

  • 参数介绍
    在这里插入图片描述

    生成的模型个数、圆的半径、是否面向圆心、模型缩放比例、空缺个数、生成的模型样板、Yaw轴旋转偏移

  • 构造脚本

    在这里插入图片描述

    逻辑主要就两块:约束模型数量、循环在圆上生成模型,重点看如何生成的。

    生成逻辑:

    (1)根据模型个数和GapSize之和,计算每个模型在360°的圆上占据的角度(360 / (GapSize + Number Of Mesh))

    (2)根据上一步的角度,将向量(Radius,0, 0)绕Yaw进行旋转,作为位置的相对偏移量

    (3)如果需要物体朝向圆心,则根据上一步的Yaw旋转的角度,加上Yaw Offset,就是每个模型需要相对绕Yaw旋转的角度

  • 事件图表

结果展示:

这里给一组参数设置的结果,仅供参考!

在这里插入图片描述

1.4 Customizable spotlight

可自定义的聚光灯

在这里插入图片描述

**翻译:**这个案例使用构造脚本组合了一个灯光的全部必要组件到Actor中。

蓝图分析:
在这里插入图片描述

  • Component结构
    在这里插入图片描述

    看起来非常套娃,咱们分别看一下:

    (1)Base mesh
    在这里插入图片描述

    灯架,用于安装到墙壁上,主要还是样子货

    (2)Hinge mesh

    在这里插入图片描述

    (3)Spotlight mesh

    在这里插入图片描述

    也是样子货,就是个圆形的模型,用于放灯的!

    (4)SpotLight

    在这里插入图片描述

    这是一个聚光灯组件,他有两层的锥形结构!

    (5)Light beam mesh

    在这里插入图片描述

    这个是一个特殊的光束模型

  • 参数介绍

    Yaw、Pitch:控制摄像头的角度

    Light Radius:灯光半径

    Light Color:灯光颜色

    Turned Off:开关

    Beam Opacity:光束透明度

  • 构造脚本

    在这里插入图片描述

    简单介绍一下逻辑:

​ (1)限制Pitch角度,设置灯的Pitch角度和Yaw角度旋转

​ (2)根据Turn Off变量,决定是否显示灯光。

​ 不显示灯光逻辑:将聚光灯和光束模型设为隐藏

​ 显示灯光逻辑:给Slotlight Mesh的创建材质实例,设置它的颜色参数;聚光灯组件设置灯光颜色、强度、灯光半径、设置Light Beam Mesh的材质

  • 事件图表

关键概念整理:

  • Spot Light Component
  • Material Node Param(材质节点参数)

结果展示:

咱们调一组参数看一下效果吧

在这里插入图片描述

总结

随机化就是灵活运用Random的Transform,在构造脚本动态添加Actor组件的过程,通过暴露参数调整到自己想要的效果!

致谢:

今天的学习就到此为止啦,喜欢的小伙伴点点关注+赞哦!有问题及时留言!感谢大家Thanks♪(・ω・)ノ!我是火火,火一般的男人!


原文地址:https://blog.csdn.net/u010092716/article/details/142578432

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!