ambient occlusion AO环境光遮蔽,此项在PostProcessVolume里面设置
ambient occlusion AO环境光遮蔽,此项在PostProcessVolume里面设置
Fresne效应:F0+(1-F0)(1-n*v)5
F0: 1.塑料的F0通常为0.04以下
2.金属的F0为它的漫反射颜色
N为物体的法线,V代表的是视线(相机的方向)
reflection vector :物体反射出去的方向
power 次方运算节点
MASK:向量取其中2个
sample:贴图 快捷键T
clamp:将输入的数值永远在最小值跟最大值之间
点乘(dotproduct):各项相乘再相加的1维向量
L+左键 颜色混合节点 A值为1偏向B A值为0偏向A
time:记录世界时间中所经过的时间
frac:值取小数点
bias:先加一个数 (bias) 再乘以scale
sample:贴图节点
texturecoordinate:材质调整UV大小
在室内能够看到的面,用紧缩UV
凡是室内能够看得见的面,用最大UV
lightmass importance volume控制光子渲染的范围,提高渲染的速度
取消勾选lightmass compress选项,渲染效果会更好
选中阳光,找到cascaded shadow maps,调整dynamic shadow distance stationary light可以将影子的四角锐化
static lighting level scale灯光尺寸放缩,影像灯光的质量,数值越低,采样的精度越高
num indirect lighting
低调,高调的画面
高调画面整体偏亮,但主却是偏暗的物体
exponential height fog指数高度雾
atmospheric fog大气环境雾
实例形式复制出的物体,名字是粗体
实例形式复制出的物体,与本体之间,会存在关联的关系,包括复制本体的uvw贴图等属性
但这种关连是可以被打断的,右键,选择“使唯一(make )”
复制的物体与本体不会有任何的关系
extrude挤出
材质,蓝图,灯光,UE4三大重要点
没有天光,物体的暗部就会是漆黑一片
天光是
层级
vertex定点
edge边
border边界
poly多边形
元素element
当在一个物体的次级别里,你是不能选中另一个物体的,ctrl+B
导入的时候,combine meshes不要打勾
两套UV:第一套决定贴图如何给到3维物体,第二套决定光影
怎么在虚幻4里面制作UI。 就是用户界面的意思
导入准心资源。输入Cross导入到Shooter工程去。
双击进去把方框拖过去。
在白色方框里填准心 鼠标按住别动然后输入cross然后会发现准心太小勾选下Size to content就可以了
然后准心怎么用呢。 双击打开新建节点就好了。
怎么调整准心 把菊花调到最中间
准心菊花跟矛点不对齐 点Aligbnebt 对齐XY 设置0.5这里调整0准心就可以了。出现的问题是准心的左上角跑最中间去把这个对齐改成0.5 0.5就好了。
Anchots这里可以设置 不懂角度的UI这个是菊花锚点选择的位置 各种位置都有。
做的就是状态。
转换布尔只有一个转换的条件 是还是否。
谁知道血量呢, 你创造的RobotShooter知道的血量、然后建立个函数为GetShooter
在加一个返回变量这样转换结果返回了。让外面可以拿到结果。
Return Node 这个是返回节点,设置好说明外面的Shooter可以拿到这个数据
一定要记得点GetShooter 然后打钩Pure
想知道的是 这个角色有没有死, 最好的方式是提供一个函数叫 ISDead (是否已经死了)
打开IsDead 我们怎么判断机器人死了呢。 就是Health(血量)小于等于0 >=0 如果填写小于0 那么要多打一下才会死.
按下B加鼠标左键(这个条件是是否死亡)然后调用IsDead
那怎么解决这个问题呢
在这里面点击右边会出现个Loop Animation 动画循环。把打钩去了就不会一直播放死亡动画了。这个问题就解决了
那么第二个死亡的就是。当他们死亡后我们建立的个函数,让他们死亡后不在受到控制
会出现问题。
一个是进入死亡状态。 一直播放死亡状态
第二个 死亡了还是会跟着人物走。
是否死了是有一个返回值的。
建立个返回值名字为Dead 布尔类型。只要判断死还是不死。
还是切记要打钩Pure
这样血量等于0的时候 就直接进入死亡状态了。
容易忘记的,忘记勾选死亡播放重复动作, 尸体的跟随 切换来切换去执行线要连接好,否则会chuxi
动画状态机的作用是什么?
描述一个角色处于处于不同的状态。播放不同的状态。
加一个死亡的动作。 死亡也是有时间的。
addNew state machine 新建个状态机Locomotion 连接到 点击Locomotion这里面建立两个状态Alive跟Dead
把这些剪切到Alive里面去
Dead 很简单把拖过去就可以了。
编辑会出现警告。说这个不能为空。
addNew state machine(动画状态机)
Alive和Dead分别作用是什么
在Take Damage 打印下字符串。 看下有没有效果。新建个节点Print String
然后执行点链接起来 Health 链接过去会做个自动转换当调用Take Damgge那么就会打印出来
链接过去是的话走True 不是的话走False
然后在做个类型转换
如果机器人不掉血就是Take Danage里面没设置伤害值。 TakeDanage是受伤的意思
那怎么让机器人受伤呢。 还有那些用到前面学的概念
机器人要受伤需要一个血量。
变量那新建个Health 选择浮点数
然后编译下在最下面设置机器人的血量
还要写个函数,名字叫 机器人受伤的值减去伤害。 选择SET 设置伤害
还要加个参数
GET获得当前 SHT是设置
在把health拖过来设置Get Health 输入-号有个
然后怎么被使用, 编译下,然后打开FPPShooter
然后就用到Branch 快捷是B+鼠标左键
最后涉及到类型判断,怎么判断你射击的是机器人跟墙?从OutHittuo一条线出来就有Break Hit Result