UE4材质08_顶点偏移动画

8.01_顶点着色器

顶点着色器它本质上,也就是一段Shader语言,它可以接受输入,然后输出它的运算结果,那么它主要负责接下来的一些事儿,首先它会把本地坐标中的顶点位置转换为世界坐标位置
只需考虑这个顶点它在世界上的位置,我们就不需要考虑这个物体它在哪儿,我们只需计算这个顶点的世界位置就可以了,简化一些运算的过程
我们需要使用这个顶点偏移来制作各种各样的动态效果,好在接下来它可以处理软硬边的平滑,软边的话,软边它的 会产生一个平滑的效果,应边,它的发现就会产生一个应变的效果。
这个顶点色,它也是使用顶点着色器来计算的。
WPO:如果你是在材质系统看到这三个字母,那么它一般指的就是这个World Position Offset,也就是世界位置偏移。那么这个世界位置偏移也是材质里面的一个输入,它是由顶点着色器来实现的,并且不需要 CPU来参与。
XYZ在这里使用的是RGB来代表的,也就是说我们比如说调BA,可以看到它就像上产生的一个偏移效果,注意它不是真实的移动,它只是一个向上的偏移。
它这个过程它无需CPU参与,它不是真实的移动模型。这个怎么说?在 GPU 绘制模型之前,首先是由C PU 来计算这个模型它的真实位置,假设这一个 CPU ,它告诉 GPU ,这个模型它在000这个位置,但是, CPU 可以通过一个顶点着色器,让它产生一个世界位置的偏移,比如说我让它向上偏移100, 其实它的位置还是在原地,只是相当于把它画偏了,给 它画 到上面去了,其实 它 还是在原地, CPU不知道它 移动的,因为是由CPU先计算它的位置,然后再由显卡来计算,也就是说显卡就算给它画到上面的CPU也不知道,而且就算。GPU绘制完以后,你反馈给 CPU ,比如说我给它画到上面的,那也没有用了,因为这一帧它已经绘制完了,是CPU先运算再交给 GPU 来画的,所以说C PU 他根本就不知道它移动的,就算它知道了也没有用。跟CPU相关的一些东西会依然的认为这个模型它在原地,就比如说碰撞体检测,碰撞体检测它是由 CPU 来计算的, 这个模型向上偏移了很多,但是对于我们的碰撞体来说,它还是在原地;切换到 玩家碰撞, 现在我们继续向上偏移,可以看到它的碰撞体位置是不会产生变化的,现在,我们给他继续往上偏移,然后,我们点击播放,这边可以看到这个模型它比较高,但是,我们还是没有办法穿过去,可以看到这个地方我是穿不过去的,而且我们可以从上面穿过去,也就是说他对于 CPU 来说,他还是在原地.
也就是说一个顶点着色器,它的位移只能用于视觉效, 但是它的消耗是比较低的,首先它不需要 CPU 来计算,它是一个纯GPU的运算,而且它不需要骨骼,不需要给它绑定动画。我们在游戏里面看到的绝大多数的草地,绝大多数的内一个树叶的风吹效果,它都是使用这个世界位置偏移,让它的顶点产生偏移效果。

8.02_物体位移_缩放动画

这个物体它其实会在这个地方出现,但是可以看到它消失了,就是因为我们之前说 ,这个物体它的位置是在这个地方,那么在0801里面我们讲到了这个顶点位移cpu是不知道的,也就是说假设, 我们的屏幕是非这个位置,也就是说我们它超出我们的屏幕外的,cpu就会认为这个物体它不用被绘制,它就会告诉我们的显卡,它从屏幕上消失了,那么就不要绘制它,但是我们使用顶点位移给它放大,让他变成了这么大,那么它就出现在我们的屏幕里面了。但是这个时候cpu还是认为它在屏幕的外面,那么我们使用顶点位移的缩放,一旦我们超出了这个物体它原本大小的这个区域,那么它就会被这一个cpu剔除, 那么cpu剔除以后,显卡就不会绘制它了。
那么如何解决它?在引擎里面它有专门的一个选项,可以扩大它的这个渲染边界,找到渲染Rendering选项,在细节面板里面找到渲染,选择这个物体,然后,我们在Bounds Scales可以调整它的一个边界
比如说给它放大十倍,原本的这个边界, 就是这个物体这么大,一旦我们视野看不到这个边界,那么就不会绘制它,那么放大十倍,它可能就是这样的边界,也就是说我们的屏幕只要出现在这个边界里面,这个物体就会被渲染,我们现在,就可以把这一个放大给他勾上了

8.03_物体旋转_跳跃动画

引擎自带旋转节点 RotateAboutAxis
NormalizedRotattionAxis 旋转轴
RotateAngle 旋转角度(0代表0度,1代表360度)
PivotPoint 枢轴点的偏移 也是旋转中心的偏移
Position 旋转位置

8.05_综合案例_炫光球

Unlit 无光模式
1-X反向不能放在Saturate钳制的前面使用,效果是错误的
物理模拟
UE4_API_Reference 是一个非常宝贵的资源,它提供了 Unreal Engine 4 引擎的全部 API 详细文档。这些离线文档对开发者来说非常重要,因为它们可以在没有网络连接的情况下提供对 UE4 引擎的完整了解和查询支持。 UE4_API_Reference 全部离线文档包括了对 UE4 的各个模块、类、函数和属性的详细描述和用法示例。开发者可以通过这些文档深入了解各个功能模块的实现原理以及如何正确使用它们。这对于开发者学习 UE4 引擎以及进行游戏开发非常有帮助。 离线文档的好处在于可以在没有网络的环境中使用。开发者不需要依赖互联网来查找关于 UE4 API 的信息,而是可以直接在本地进行搜索和查询。这不仅提高了开发效率,还可以避免由于网络问题导致的信息获取困难。 UE4_API_Reference 全部离线文档的编制工作需要花费大量的时间和精力。文档中的每一个类、函数和属性都需要进行详细描述和示例演示,以便开发者能够更好地理解和使用。这就要求文档编写人员具备广泛的知识和丰富的经验,以确保文档的完整性和准确性。 总之,UE4_API_Reference 全部离线文档对于 UE4 开发者来说是一个非常宝贵的资源。它提供了对 UE4 引擎的全面了解和查询支持,可以帮助开发者更好地学习和使用 UE4 引擎进行游戏开发。同时,它也方便了开发者在没有网络连接的环境中进行开发工作,提高了开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值