- 博客(639)
- 资源 (6)
- 收藏
- 关注
原创 在 Substance Painter中实现Unity Standard Shader
要同步shader,需要将一些常量设置SP是线性空间的,所以Standard里面一些Gamma相关的代码自动摒弃。贴图直接使用内置的方法去获取还有一些和Standard对应的参数间接光漫反射的球谐光照参数,是直接写死在shader里面的还有像在unity里面常用的一些函数,比如saturate和lerp,都直接定义出来。
2023-09-22 10:44:23
348
原创 在 Substance Painter中自定义Shader
首先在着色器设置这里,我们可以查看当前渲染使用的着色器如果没有着色器设置窗口,可以在窗口这里打开点击着色器名称,可以切换当前拥有的shader相应的内置的shader可以在安装目录找到对应的Shader的api文档可以在帮助下拉中打开会打开相应的网页,网页地址在/resources/shader-doc/index.html,你也可以直接在目录中查找官方网站也有相应的文档,地址为接下来,按照官方的教程,先在shaders文件夹下创建一个color.glsl文件。
2023-09-14 17:07:47
111
原创 使用GPA和夜神模拟器实现K帧
us的单位是微秒,1毫秒等于1000微秒,30004us就相当于30毫秒渲染完成此帧,右侧上面是33FPS,代表当前每秒可以渲染33帧,用1秒,也就是1000毫秒除以每帧时间30毫秒,结果是33.333,证明结果正确性。这里分为了三大块,分别是输入,处理,输出,输入有顶点数据geometry,相关贴图。这里说明一下,你K帧结束以后,也可以直接通过Graphics Frame Analyzer查看之前K到的帧,帧数据里面包含了你需要查看的内容,所以你K的一帧的数据都是有几百M。
2023-09-08 11:37:42
89
原创 UE 5 GAS 在项目中通过数据初始化
近期,在制作多角色,考虑到角色和角色之间有很多共用的内容,正常项目中的实现的话,会通过数据的方式去实现角色初始化,接下来介绍一下,我的实现方式。以上是我设置的相应的数据,上面最简单的名称,介绍还有显示图片,性别。
2023-08-31 00:57:16
148
原创 UE 5 GAS 在项目中处理AttributeSet相关
这一篇文章是个人的实战经验记录,如果对基础性的内容不了解的,可以看我前面一篇文章对基础的概念以及内容的讲解。
2023-08-11 21:40:17
301
原创 UE 5 GAS Gameplay Ability System
游戏技能系统 简称(GAS),是一个健壮的,高度可扩展的gameplay框架,通常用于构件RPG、MOBA等游戏的完整战斗逻辑框架。通过GAS,可以快速地制作游戏中的主动/被动技能、各种效果Buff、计算属性伤害、处理玩家各种战斗状态逻辑。
2023-08-09 21:11:10
224
原创 Unreal 5 游戏框架
创建自定义的资源管理器需要书写代码,类继承至UAssetManager然后在项目设置中,找到一般设置默认类,设置资产管理类要实现自定义主资产的创建,你需要通过c++代码创建,我们可以实现创建一个基于UPrimaryDataAsset创建一个自定义类,而且必须要实现GetPrimaryAssetId方法的覆盖首先创建一个基于PrimaryDataAsset的c++类。
2023-07-11 23:09:50
325
原创 Unreal 5 Lyra初学者游戏包概览笔记
Simple Cosmetics System (简单的换装系统)实现了显示角色的替换功能,将actor添加到骨骼上面,下图是通过调用AddCharacterPart方法,选择机器人设置显示。并且在偏好向这里,你还可以直接替换模型进行测试如果实现使用角色修改,我们首先需要模型,直接从metahuman创建的模型然后再偏好向那里,可以直接设置,这属于调试的方式。
2023-07-07 02:45:17
290
原创 Unreal 5 创建MetaHuman
unreal5里面最惊喜的就是可以通过引擎直接创建数字人模型,调整体型,相当于引擎规范了一套结构,期待后续用户会基于这一套开发更多相关的资源供开发者使用。接下来我讲解一下,metahuman的制作过程。
2023-07-05 16:58:22
353
原创 Unreal 5 实现使用GPU Instancing批量渲染相同的物体
之前做unity的时候,专门研究了使用GPU进行批量相同的物体渲染,现在转ue以后,发现UE也有相同的功能。接下来讲解一下,在ue里面如何实现通过GPU进行实例化渲染。
2023-06-30 17:37:40
411
原创 Unreal 5 实现骨骼网格体转静态网格体顶点动画
如果需要大批量的渲染具有动作的模型,如果使用骨骼网格体渲染模型,量级上去以后,性能肯定扛不住的。如果需要实现大批量的渲染相同的带有动画的模型,我们需要实现将骨骼网格体烘焙成静态网格体,然后将骨骼网格体动画转换成顶点贴图,通过顶点位置偏移实现动画播放,并且由于不需要骨骼,只需要修改一些材质配置,就可以实现每个模型单独动画的播放。连线的方式如下,除了法向其它的还是默认连,法向需要连接到函数,和烘焙出来的法向,设置给材质。烘焙纹理生成的两个贴图Nor为法向贴图,Pos为位置贴图,AnimData为动画数据。
2023-06-27 21:24:54
315
原创 Unreal 5 实现Data Table 数据表格的使用
数据是一个游戏重要的组成部分,按分工,数据会交由策划去配置,所以,你的数据不可能直接写到蓝图里面,而是有一个专门的数据表格去配置。大家通用的方式是策划在Excel内编辑完成,然后通过工具生成游戏需要使用的数据格式,最后交由程序去使用。如果个人开发,直接使用ue内部实现的数据表格即可。接下来,我给大家讲解一下数据表格如何使用。
2023-06-25 13:01:04
696
原创 Unreal 5 蓝图常用的一些节点和规范
蓝图类以 BP_作为前缀 对应Blue Print混合空间以 BS_作为前缀 Blend Space静态网格体以 SM_作为前缀 StaticMesh骨骼网格体以 SK_作为前缀 Skeletal Mesh纹理以 T_作为前缀 Texture粒子系统 以 PS_作为前缀 Particle System主材质以 M_作为前缀 Material材质子类以 MI_作为前缀 对应 Material Instance精灵图 以 SP_作为前缀 对应 SpriteHDR纹理 HDR_
2023-06-25 01:06:44
326
原创 Unreal 5 实现UI制作
这一篇讲解一下unreal engine里面的内置ui插件UMG,虚幻示意图形界面设计器(Unreal Motion Graphics UI Designer)(UMG) 是虚幻引擎内置的一套ui制作工具,通过它我们能够实现平面ui,场景hud内容。
2023-06-25 00:48:08
940
原创 Unreal 5 实现场景环境控制组件
我在场景中发现了一个环境控制器,这个场景实现了雨天天气和晴天风沙天气,接下来我分析一下这个天气控制器是如何实现。
2023-06-21 17:49:55
382
原创 Unreal 5 实现丧尸伤害和死亡
这一篇主要是实现玩家攻击丧尸可以造成伤害和自身血量为零时,丧尸可以死亡。丧尸也可以对玩家造成伤害,有攻击范围的判定。
2023-06-18 21:41:59
2414
4
原创 Unreal 5 实现丧尸追逐攻击功能
要实现让丧尸能够智能的追逐玩家,我们需要用到ue封装的ai行为树来实现。,来学习一下如何使用ai行为树来实现一个简单的追逐功能。这一篇就是基于这个基础上进行了优化,实现了声音的震慑玩家,以及对玩家的攻击。
2023-06-15 18:31:44
870
原创 Unreal Engine 5.1 AI行为树基础入门
要实现AI行为树去控制角色,那么需要创建几个文件:AIController AI控制器,作为AI的入口,用来去驱动Pawn或Charactor的行为,修改设置在黑板里的数据。在AI控制器内,可以添加一些AI感知组件,更好的处理一些操作。使用AI控制器需要在角色蓝图上设置。BehaviorTree 行为树里面主要行为控制,根据数据判断进行逻辑运行。ai控制器可以选择去使用哪个行为树去运行,你需要在ai控制器内指定运行的行为树。
2023-06-13 19:00:42
1205
原创 Unreal 5 实现丢弃武器功能
之前实现了物品的拾取功能,但是没有实现丢弃功能,这一篇讲一下我是如何实现丢弃功能的。丢弃功能的逻辑是:拾取物品时,需要使用拾取的物品进行类的实现,所以,我们需要把数据存储到拾取的物品上,然后通过拾取的物品数据进行设置实例,这样使用过的武器再捡起来,还可能恢复到丢弃前的状态。在丢弃时,需要将武器的使用后的数据设置给拾取物品。
2023-06-11 01:57:43
415
原创 Unreal5 实现武器切换功能
首先回忆一下之前在制作武器时,如何实现从后背拿武器的。我们创建了一个切换事件,判断当前是否持有武器,然后根据是否持有武器,去修改动画蓝图的变量,来触发从后面拿枪或者是否把枪放了回去。然后在播放切枪动画时,手伸到背后时,会触发一个动画通知,在动画通知里面,根据动画蓝图里面的变量判断将武器拿到手里或者放回背上。如果按照这个逻辑扩展武器切换功能的话,那么,我们需要从动画通知入手,创建多个切换动画,然后每个切枪动画设置不同的动画通知,对应不同的武器。在动画蓝图里面,根据枚举去播放不同的切枪动画。
2023-06-10 03:51:06
1325
原创 unreal 5 实现角色拾取功能
要实现角色拾取功能,我们需要实现蓝图接口功能,蓝图接口主要提供的是蓝图和蓝图之间可以通信,接下来,跟着教程,实现一下角色的拾取功能。
2023-06-09 16:10:53
965
原创 Unreal5 第三人称射击游戏 射击功能实现2
这个逻辑主要是为了退出角色的换弹状态,在动画蓝图中的状态机里,无法进行数值执行操作,所以,我们需要在动画结束时创建一个动画通知告知蓝图。在角色蓝图创建换弹结束,修改换弹变量为false,以及修改状态。
2023-06-07 23:36:20
564
原创 Unreal5 第三人称射击游戏 射击功能实现1
状态机缓存功能相当于我们只需要实现一次,可以在多个地方引用,也可以在别的状态机里面使用,而不是在里面再重新写一遍相应的功能。我们可以在基础状态机的链接拉出一条线,搜索“缓存”第一个就是新保存的缓存姿势,选中改个名称,这就是默认的基础姿势。这样,我们就可以在其它状态机里面使用当前基础动画状态机产生的结果。接着,创建一个新的状态机,用于实现特定的功能在内部创建一个默认状态在状态内部使用缓存姿势。
2023-06-04 16:27:58
791
1
原创 UE里面函数 自定义事件 宏的区别
事件里面可以加延时节点,函数和宏里不可以函数和宏里有返回值,事件里没有事件可以作为回调函数,函数和宏不能直接作为回调事件可以作为输入事件和碰撞事件处理实现接口时,有返回值的会变成函数,无返回值的会变成事件事件可以用来发送网络消息,函数不行。事件和函数都无法阻断运行,宏可以。宏可以添加执行节点,也可以增加多个返回执行节点,事件和函数都不行。宏不能够在蓝图外部被使用,函数和事件可以,蓝图宏库可以(需要单独创建,不包含变量什么的)函数和宏可以有内部变量,事件没有。
2023-06-04 00:41:44
328
原创 unreal 5.1 增强输入实现
在ue5.1版本增加了增强输入,并且废弃了之前的轴映射和操作映射。官方文档地址:https://docs.unrealengine.com/5.1/zh-CN/enhanced-input-in-unreal-engine/
2023-05-29 17:54:21
1006
原创 unity 实现水的波纹效果
之前的实现过这个效果,可惜没有记笔记,所以现在有点遗忘,连多个波纹一起在水面上实现的效果都忘记了,所以,查看了下之前实现的代码,现在再记一下笔记。
2023-05-10 00:39:42
1294
1
原创 unity 性能优化之画质分级
如果你的游戏兼容多平台,或者当前平台的设备也有硬件差距,比如低端设备就是带不动你的画质,无论如何你如何优化就是带不动。这种情况下,我们可以考虑对画质进行分级,减少一些特性,来提高运行质量。接下来我们来学习一下unity内置的Quality来实现一下质量分级:有了这个,我们可以在面板上面,根据需求,去控制每个平台的质量,而不需要非得在代码中去设置,并且可以直观的在编辑器中查看设置的质量的效果。这里就是unity默认给设置的分级。Name 是可以修改当前的分级的名称。
2023-05-02 16:56:12
1636
原创 unity 性能优化之GPU和资源优化
众所周知,我们在unity里编写Shader使用的HLSL/CG都是高级语言,这是为了可以书写一套Shader兼容多个平台,在unity打包的时候,它会编译成对应平台可以运行的指令,而变体则是,根据宏生成的,而打包运行时,GPU会根据你设置的宏切换这些打包出来的代码,而不是我们书写那种只生成的一个Shader,这也是为了提高运行速度。如果你要查看实际运行的代码,可以使用RenderDoc等工具截帧查看实际运行的代码。可以在Shader上面查看当前生成的变体数量。
2023-05-02 15:50:01
2269
1
原创 unity 性能优化之合批和剔除
批次对渲染的性能影响是比较大的,批次过多会导致cpu提交的次数过多,导致每帧渲染时间过长,所以我们需要对其优化,减少Bathches数量和SetPassCall次数。
2023-04-30 21:16:17
955
原创 unity 渲染性能分析工具
既然要优化,肯定要有个目标:pc上一般要求:一秒渲染60帧移动端:一秒渲染30帧这应该是最低的要求,如果游戏运行时,游戏帧率有变化,人眼能够明显的感觉到帧率下降。优化的首要规则是找到性能问题的所在。一般出现问题不是在cpu就是gpu。
2023-04-30 14:49:18
2029
原创 unity GI Shader 实现
之前分享了一篇对unity全局光照的解析,里面提到了一些东西,需要在Shader内实现,在这一篇补上。要实现对全局GI的shader实现,我们可以通过对unity内置的Lit进行解析查看。烘焙的方式有很多种,选择合适的方式烘焙和使用合适类型的光源尤为重要。首先,我们先实现一下最基础的烘焙光照显示,就是将Light Map贴图显示出来。需要设置的是,将需要烘焙的模型全设置成静态,光照设置为Baked,并且模型开启了第二套LightMap UV。准备工作结束。
2023-04-28 18:20:57
976
原创 unity Shader实现半透明阴影
第二行是针对于ShaderMod,也就是一些shader新特性,可以调低,内置的lit里面是实现了两套一套高质感的用来配合pc,对gles平台专门书写了一套高性能的渲染。目前unity URP对半透明对象的处理:不能参与Shadow Map,Depth,Depth Normal的渲染,可以在材质Debug模式下查看。它这种实现的原理其实不是真的透明了,是通过Dither这个东西实现的,一直会更新的噪波图,然后模拟出来的半透明效果。在shader中,要对移动端的兼容,还不想实现两套分开兼容的话,
2023-04-27 17:39:33
1098
原创 unity GI 系统
间接光没有办法实现实时计算,所以需要一套GI系统去处理间接光。unity的GI系统,本质上就是在后台开启一个离线渲染程序执行GI计算。最早的unity的离线渲染器也是调用的第三方的,所以,如果实力允许,我们也可以独立实现相应的功能。unity的离线渲染器更新:Beast->Enlighten->Enlighten + Progressive Lightmapper。
2023-04-26 18:26:46
606
原创 Unreal5 实现角色动画重定向
解决问题:有时候有的角色动画想用到另外的角色身上,不能直接用怎么办?解决方案:使用重定向实现方式:在资产里面创建IK绑定在列表中选中需要绑定的骨骼网格体需要创建两个,我这里是女人需要使用男人的动画,所以创建了女人和男人的。打开文件,设置pelvis位置为重定向的根,男人女人都要设置在这。在左侧选中相应的骨骼,右侧会显示绿色。鼠标右击选择 “新建来自选定骨骼的重定向链”重定向链是什么呢?
2023-04-25 23:43:23
826
Substance Painter 和 Unity 同步Standard
2023-09-22
InstantOC Dynamic Occlusion Culling LOD 3.0.0
2022-09-29
three.js开发指南-资源部分
2017-12-25
three.js开发指南-代码部分
2017-12-25
webpack配置es6+less开发环境
2017-11-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人