虚幻库
遇到了会记录,不固定更新中
组件:ProjectileMovement
蓝图函数:
重合:get overlapping actor,ignore actor when moving
骨骼网格体:
FVector USkeletalMeshComponent::GetSocketLocation(FName SocketName) const;
获取信息
GetMousePositiononViewport
- 返回鼠标在显示器上的二维坐标,具体数值可tick->print查看。
GetActorRotation
- 获得目标当前角度,返回值是三维向,右键可拆分。
Get Input Touch State
- 目标连Get Player Controller返回值为手指在触摸屏的XY坐标信息
Get Forward/Right/Up Vector
- 获得物体某个方向的单位向量,
SpawnActorFromClass
Class:要生成的Actor类
Spwn Transform:刚生成时的Transform属性
Return Value:生成的Actor对象的引用
Collision Handling Override:碰撞设置覆盖,Default为不覆盖
Instigator:煽动者,如果是可以造成伤害,则谁是伤害发起人,受伤之人可从instigator获取伤人者信息,一般连self;受害者可从自己母类继承的instigator变量中直接获得到这里传入的值。
原文链接:https://blog.csdn.net/Motarookie/article/details/121624029
异步
Timeline
- Set New Time:更改事件的开始执行时间(不从0开始,从新的时间点开始);
- New Time:设置函数执行起始点;
- Finished:在总时间执行结束调用;
- Direction:返回当前timeline执行的方向(枚举变量:正向播放、反向播放)
UMG
Set Brush from Texture
- 设置UI中的Image,目标选择Image组件的名称,Texture传入图片,MatchSize填充
事件
Apply Damage
-
左边节点:返回区间内的随机值
右边节点:造成伤害
Damaged Actor:受到伤害的Actor
Event Instigator:控制器引用Damage Causer:伤害引起者
Damage Type Class:处理伤害的办法
执行流/逻辑
DoN
- 若执行到此节点,控制后面的逻辑执行N次,Reset执行之后会再执行N次,返回值为目前执行到第几次
FlipFlop
- 在A、B之间切换执行,第一次执行A,第二次B,第三次A,第四次B
Bool值:若执行A则输出true,执行B时输出False
For Loop With Break
- 带有break的for循环,比如Break前面可以连 按键事件,按下某个键就跳出循环,不再继续
Gate
用来开启或关闭执行流,门很形象,比如我在Open和Close引脚前分别链接按键事件A和B,当我按下A则门是打开的,当Enter流执行到这个节点则可顺利通过执行下一个节点;当我按下B则关门,Enter执行过来则禁止通行。
Toggle:用来反转Open和Close状态的类似Flipflop
Start Closed:标记门的起始状态,若勾选了则标记起始状态为Closed
MultiGate
- Gate只有一个执行出口Exit,而MultiGate则有多个执行出口。可以设置第一个出口的索引是哪个,也可以指定是否循环,如果不循环所有出口都执行一遍后将不再执行,除非Reset,还可以指定这些出口之间是顺序执行还是随机执行
Sequence
一般用于顺序执行一系列事情,此节点非常常用,比如一个Tick节点在一个蓝图中只能出现一个,但是我有特别多的逻辑都要每帧执行,如果一条线往后连特别影响阅读体验;可以Tick后连Sequence节点,把每件事情单独对应一个引脚,
例如下面顺序执行5个Print String,由于没有延迟所以给人感觉像是同时执行的
select float:
等价于condition ? value1 : value2
播放/显示/停止/打开
Play Sound 2D
播放音频(不可指定播放的位置)
Show Mouse Cursor
- 设置鼠标显示
SetWroldLocation
- 设置物体在世界中的新坐标
New Location:设置物体新的位置。
Sweep:扫描,检测从物体当前位置到目标位置的过程中会碰撞到什么东西
Sweep Hit Result:扫描的结果
Set Global Time Dilation
- 慢镜头效果
Time Dilation:放慢时间的速率
最低为0,最高为1
Stop
- 停止一切骨架网格体的行动
Stop Anim Montage
- 停止播放蒙太奇动画
Line TraceByChannel 射线检测
Start、End:射线开始位置和结束位置
Trace Channel:可视性/摄像机。这里轨迹可以自定义,在编辑->碰撞中
Actors to Ignore:要忽略的actor们的数组,传入特指的某些物体不能被检测到
Out Hit:命中结果,后面可以连|Break|,得到特别多类型的引脚,从而获取击中物体的信息
Open Level 关卡切换
- 可以实现跳转到指定关卡
Time + Lerp
这两个节点基本绑定使用,实现A~B的逐渐变化的过
lerp —— Linear Interpolation线性插值的缩写
原理:timeline节点根据定义的曲线比如1秒内数值从0递增到1,每一帧都返回曲线上对应的数值,lerp节点返回值计算方法是:ReturnValue = (1-α)A + αB,可以很容易的看出α越靠近0则返回值越靠近A。
Set View Target With Blend
- 混合目标视角
NewViewTarget:Actor对象引用,主要是用他里面的摄像机
主要作用是从当前摄像机视角跳转到另一个摄像机
也可以是两个Character类之间进行切换
数学
Clamp
- 传入一个数值,并且指定区间,返回值会限定在[min,max]区间,小于200则返回200 大于400返回400 区间内的数正常返回,同理还有Clamp(Vector、Rotator)等节点。
Trunkcate
- 取整,floor向下取整
Fraction 取小数部分
Fceil向上取整
Get Distance To
- 获取两个物体的距离标量
Get Vertical Distance To
- 获取两个物体之间的垂直距离
Get Horizontal Distance To
- 获得两个物体之间的水平距离
Dot 点积
- 获得两个向量之间的点乘结果,作用很多判断朝向、夹角、甚至是内外关系、正反面等等
- 数值上实际上就是这玩意儿(1,2,3)·(2,3,4) = 1x2+2x3+3x4
Normalize(Direction, 0.0001)、
tolerance限制归一化的最小值
Map Range Unclamp/Clamp
Get runtime float curve value
Timer
pause,清除
SetTimerBy Function Name
每间隔执行一个函数
Clear Timer by Function Name
Get Component Bounds
层级
AttachTo
绑定到某个物体
目标:绑定的目标(儿子)
Parent:要被儿子绑定的目标
Socket Name:在骨架中添加的插槽的名字
Attach Type:绑定的类型,变换保持独立,还是跟随Parent
Weld Simulated Bodies:默认勾选 相当于焊接到一起
注意Mesh是人物的骨架网格体;
捡枪必须选择Snap to Target