- 博客(43)
- 资源 (1)
- 收藏
- 关注
原创 UE4 骨骼网格体合并及规范
2.所有mesh基于骨骼Apose进行制作,确保关联性骨骼点与APose保持一致,否则合并后会导致动画位置不一致,非关联性骨骼点可自行定义初始位置,便于蒙皮(参照角色APose,TPose规范)3.合并的目的是减少渲染数量,所以材质提前规划合并尽量使用同一材质,根据设计关联性合理分配材质共用性和贴图合并。1.合并网格体使用同一套骨骼。
2024-12-10 16:05:45
529
原创 UE4打包Win64项目命令行
此bat调用BuildProject并传入参数,每个项目不同,传入参数不同,每个项目路径不一致,不想复制BuildProject文件的,将文件路径写绝对路径即可。BuildProject.bat 具体命名参数请参照UE引擎RunUAT源码(Programs\AutomationTool下Program.cs)仅用于个人记录,写的粗糙,勿喷。参数2:uproject路径。参数1:引擎安装路径。
2024-05-16 16:48:04
393
原创 UE4插件一键编译脚本
启动命令行工具 参数1将需要编译的uplugin拖入 参数2填写插件名。根据引擎安装目录自行修改调用的RunUAT.bat路径。
2024-04-30 15:59:27
239
原创 UE在android平台下GameUserSettings不生效问题
安卓平台下,需要动态设置画面品质,使用GameUserSettings在pc上运行良好,打包到Android后只有shading生效,一番排查不得解,在一番查阅后,得到一条答案“I found that if you disable the “Android Device Profile Selector” plugin in the plugin manager, then the statement does hold true and game user settings can be changed
2024-04-22 10:09:25
416
2
原创 UE4 quest3平台网络不稳定问题排查及解决
目前接触项目是实时竞技项目,即时性要求较高,因为是内网所以直接使用了UPD每帧同步物理运算得到的位置、旋转数据,但是体验过程中发现有明显卡顿,一番排查发现是quest接入wifi网络ping值始终有高延迟波动,经过查阅文档发现是Android的功耗优化降低了wlan频率,使用WIFI_MODE_FULL_LOW_LATENCY 或 WIFI_MODE_FULL_HIGH_PERF可以让wlan处于高性能或低延迟模式,网络基本能很好的保持在3ms左右延迟。1.创建插件封装android调用。
2024-03-26 11:51:13
1097
1
原创 C#控制台程序关闭快速编辑
之前接的一个项目,客户端反馈服务连接不上,一番排查发现客户启动控制台服务后会点击一下窗口,说是确保进程运行,但是windows的控制台窗口在启用快速编辑模式的情况下点击窗口会进入到Console.Write流程,导致逻辑流程处于等待状态。因为项目有些时间了,让客户手动修改了禁用快速编辑模式解决问题,这里记录一下后续有类似项目,直接在程序内禁用快速编辑,防止类似问题。#region 关闭控制台 快速编辑模式、插入模式 const int STD_INPUT_HANDLE = -10;
2022-05-18 14:53:00
1791
1
原创 UE4加载第三方lib warning解决
WARNING: Library 'VideoRecorder.lib' was not resolvable to a file when used in Module 'VideoRecorder', assuming it is a filename and will search library paths for it. This is slow and dependency checking will not work for it. Please update reference to be
2022-01-17 17:42:50
2621
原创 UE4 Pak包热更新
pak文件,又称pak包,是UE4用于更新资源(包括热更新)的一种文件格式,UE4将多个文件合并到一个pak文件中,通过pak文件来更新资源,pak文件不仅能够装载UE4的资源文件,如:uasset、umap等,也能够装载非资源文件,如:xml、json、txt等,除了文件pak文件还可以包含一些额外的信息,如:pak文件的加密情况,pak的版本等等。一、Cook资源(烘焙资源)1.为什么要烘焙资源由于程序运行的平台多种多样,而不同平台有着各自的资源格式,所以在创建Pak文件之前必须先烘焙对.
2021-12-31 17:40:56
3734
原创 UE4引用第三方dll,打包时自动拷贝
项目或者差距的*.Build.cs文件会在项目build或者sln刷新的时候进行调用,在build.cs里进行引用文件的拷贝就可以了,以下是示例项目,重点注意:拷贝后需要将文件添加进运行时依赖,这样在项目打包exe 的时候才能查找到依赖,拷贝到exe运行环境种,否则只是拷贝到了工程的执行目录,打包exe后依然会丢失using UnrealBuildTool;using System.IO;public class VideoRecorder : ModuleRules{ void C
2021-12-31 14:14:52
2150
原创 C++写入文件问题小结
之前项目需要做了一个软件加密,今天同事告知,英文或者中文加数字作为key会验证失败,经过一番调试发现,验证后进行数据写入的时候,key的读取失败了,然后再一番骚操作,当key的长度为10的时候才会出错,进行断点发现file.write写入字节10的时候,因为10对应\n,而file.write默认写入为字符集,在写入的时候会自动把\n转义为\r\n,原本的长度写入(0,0,0,10)(int型数据),经过c++底层转义变成了(0,0,0,13,10),导致数据读取错误,验证失败。解决方法:写入文件的时候
2021-05-27 14:49:41
948
原创 bat命令 延迟执行
1、使用WScirpt的sleep功能,精度0.001秒创建vbs延迟文件,然后在批处理文件中调用,使用WScript的 sleep函数,实现sleep的效果。实战:1)创建文件sleep.vbs:sleep.vbs 内容如下:WScript.sleep 5000。2)调用vbsstart /wait sleep.vbs1、使用choice命令choice /t 10 /c yn /n /d n /m (10秒后打开)CHOICE [/C choices] [/.
2020-12-31 17:45:15
3144
原创 UE4 C++自定义widget组件 添加到工具栏
在继承自UserWidget的类中添加#define LOCTEXT_NAMESPACE "xxx"定义重写方法#if WITH_EDITOR virtual const FText GetPaletteCategory() override;#endif#if WITH_EDITORconst FText Uxxx::GetPaletteCategory(){ return LOCTEXT("这里是工具栏分类名称", "这里是工具栏分类名称");}#endif...
2020-12-29 10:58:30
1095
原创 UE4 加载外部图片作为贴图
KismetRenderingLibrary::ImportFileAsTexture2D()如果需要从url下载贴图 可以使用 HttpRequest获取数据后使用ImportBufferAsTexture2D创建贴图
2020-11-27 16:19:55
2735
1
原创 UE4动画文件自动切割
在制作demo过程中 经常遇到所有动作在一长段Anim里面 需要自己根据帧数来进行复制文件然后打开进行切割步骤繁琐 挺费时间既然引擎本身有这样的功能存在 那么我们也能做到一键操作 so~~~~干就完了先来一个编辑器扩展工具蓝图继承自AssetActionUtility重载方法让其支持资源类型位动画资源打开蓝图 创建一个Clip方法 添加传入参数 这个参数是一个数据表 就是用来配置我们切割的动画分片及所在动画帧了新建一个结构体 作为分片数据每个动画进行切割的时候创.
2020-06-02 16:12:22
2797
转载 弹孔 弹痕实现
Spawn Decal At Location、Spawn Decal Attached在指定的位置生成一个材质贴上去产生随意旋转角度
2019-11-07 10:22:50
954
1
原创 UE4/U3D骨骼绑定小坑记录
项目与美术约定好多角色重用一套骨骼 结果导入后每个角色多出不一样的阶段,与动作确认没有多余骨骼,一番查找,部分mesh对象与骨骼有关联,导入时mesh被识别为一个骨骼节点,移除关联即可~~~~~...
2019-11-03 20:08:41
1482
转载 骨骼蒙皮动画
一、基本原理 骨骼动画的基本原理就是首先控制各个骨骼和关节,再使附在上面的蒙皮(Mesh)与其相匹配。 一个角色由作为皮肤的单一网格模型和按照一定层次组织起来的骨骼组成。 骨骼层次描述了角色的结构:相邻的骨骼通过关节连接,并且可以做出相对的运动。这里要注意的是,骨骼间是具有“父子”关系的,比如,右前臂是右上臂的子节点,同时又是右手的父节点。通过改变相邻骨骼间的位移、夹角,就可...
2019-08-19 14:52:31
1142
原创 多人联机问题小记
项目中需要用到多人同步,但是只用于初始化创建位置同步,后续效果因为涉及到物理各方面因素影响如果同步position和rotation会导致一系列问题 所以由各个客户端自行进行后续计算,采用replicate进行局部空间同步。其中有一部分需要同步2海里的对象,结果超出同步剔除范围,导致客户端上表现的为对方对象被销毁,修改net cull distance后依旧得不到解决(可能是因为各自进行计算没进行...
2019-08-14 09:54:28
240
1
转载 ue4 渲染编程资料链接
第一卷:虚幻自身的延迟渲染管线第二卷:不用虚幻4Shader管线使用自己的shader第三卷:虚幻4渲染编程第二卷自定义global shader代码例子详细解释第四卷:虚幻4C++层和Shader层的简单数据通讯第五卷:虚幻4 高级数据传输UniformBuffer第六卷:虚幻4FTexture ,UVA,RT,Resource这些资源的关系第七卷:虚幻4中的Comput...
2019-08-01 20:10:02
192
原创 Unity Transform同步到UE4
坐标同步unity ue x y y z z x 旋转同步旋转同步用欧拉角直接转到Rotator是无法成功的,在某些情况下看似正确,但是会有万向锁的问题,导致错误需要用四元数来进行传输,但是引擎底层算法差异的原因 所以数据需要映射一下unity ue x x y y z -z w -w ...
2019-07-30 22:01:43
711
3
原创 ue4 代码创建贴图
新收到需求 需要程序化随机创建一张贴图 实现后写此博文记录用到UTexture2DFImageUtilsFFileHelper几个类#include "Runtime/Core/Public/PixelFormat.h"#include "Runtime/Core/Public/Math/RandomStream.h"#include "time.h"#include "Run...
2019-07-22 16:01:56
1564
转载 UE4引用c#导出dll
近期收到一个语音识别需求,查阅一系列资料测试后,ue可使用的识别插件精度感人,但是unity的语音识别精度在可接受范围内,经过查询unity调用的Windows.Media.SpeechRecognition,属于uwp层面,各种资料都是c#,那么能不能用c#封装导出给c++呢,所以有了这条博文新建一个类库项目中–管理NuGet程序包,添加UnmanagedExports...
2019-07-17 11:36:56
1139
1
原创 ue4 技能冷却图标实现
使用材质的VectorToRadialValue 获取旋转渐变轨迹 之后一系列计算 就是进行了生成的数据的旋转 之后采用valuestep进行数据截取 如果旋转方向需要反向 可以在截取数据后oneminus一下 进行取反...
2019-07-16 14:42:17
2196
1
翻译 鼠标点击移动
在寻路区域添加NavMeshBoundsVolume 调整好大小创建一个继承自Character的蓝图 在鼠标点击事件里 获取点击的世界位置 调用SimpleToLocation方法获取相机位置 获取鼠标当前位置在视口上的方向向量 计算出射线检测起始点和终点位置 进行射线检测 根据检测点获取要移动的位置...
2019-07-16 11:38:53
200
原创 UE4 源码版打包项目踩坑记
有时候莫名的因为一些低级的问题而困扰,当解决这个问题的时候自己都笑了项目打包的时候遇到AutomationTool failed to compile 翻阅各大网站论坛而不得解,复看报错,定位在Automation.cs第九行using UnrealBuildTool;???using失败? 右键点开属性查看。。。。 emmm所有工具项的framework都是4.5 而唯独Unreal...
2019-07-02 15:47:53
1712
翻译 UE4录屏
UE引用插件流程1. 下载ue录屏插件 并解压到Plugins目录https://github.com/ash3D/UEVideoRecorder2. 下载录屏实现lib工程https://github.com/ash3D/VideoRecorder打开项目并编译出供UE使用的第三方lib库 VideoRecorder.lib将编译的lib和include拷贝到项目T...
2019-07-01 15:04:48
9709
25
原创 UE4 多人地下城联机游戏开发初章
最近在筹备业余制作一款多人游戏,来系统学习一下ue4为了偷懒 通信这块更多的使用dedicated server 减少一些场景同步方面的开发工作架构初定如图中心服务器:用于管理地图服务器、副本服务器、组队、聊天等相关通信及数据存储部分地图服务器:公共地图服务器、每个地图为一独立进程服务、启动后注册到中心服务器、客户端进入地图需从中心服务器获取地图ip地址进行连接副本服务器:...
2019-06-25 11:37:18
2096
1
转载 UE4 角色换装实现
前期准备:角色模型、和角色骨骼相同的衣服模型首先,使用各个部位的模型组合角色添加如下函数,作用是将播放动画的模型设置为Mesh。新建一个枚举类,E_Cloth。添加如下类型,服装种类按照个人需求添加添加ChangeCloth自定义事件。通过传入的枚举类型,可以设置对应的Mesh...
2019-06-13 16:42:21
5343
1
原创 UE4 制作颜色选择面板
首先了解一下HSV颜色模型HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)色调H用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色...
2019-06-12 14:01:00
2839
原创 ue4 umg画线
只是单纯的画线可以创建Widget 然后覆盖OnPaint方法 调用DrawLine即可 注意DrawLine的坐标位置从组件绘制的左上角对齐,如果要绘制 在调用对象的地方设置大小为0需要画自定义线可以在canvas下添加一个image对象 设置Alignment为0,1 Pivot设置为0.5,1.0 这样进行缩放和旋转才能达到预期的定向延申,image的画刷很强大 材质什么的都能附加所以...
2019-06-05 18:40:02
7141
原创 UE4动态修改材质参数
在对象初始化的时候 获取材质 GetMaterial根据材质创建动态材质实例 Create Dynamic Material Instance再将创建的材质实例SetMaterial给模型,需要修改参数的时候 Get Dynamic Material Instance 然后调用Set(xxx)Parameter方法 传入数据 其中xxx为对应参数类型...
2019-06-05 17:50:00
8029
原创 UE4 ListView踩坑记
创建一个List的子节点需要实现接口User Object List Entry 而非User List Entry实例化节点并添加进list(调用additem)的时候要先写入数据 直接调用子节点的数据设置并没有效果但是这一步还是需要的 创建节点实例后设置数据 会创建出这个实力 但是在additem的时候数据会被重置 因为实现User Object List Entry接口的对象会有一...
2019-06-04 11:19:21
2901
1
原创 UE4 获取UI组件的大小
调用需要获取大小组件的CachedGeometry 取得LocalSize为对象的真实大小 对于自适应对象也能正确取得数据
2019-06-03 20:35:02
4612
原创 UE4如何像Unity一样K动画
UE4中拥有组件ActorSequence 不过是插件的存在 目前为实验版 在插件选项中打开ActorSequence以及ActorSequenceEditor,在蓝图中添加ActorSequence组件,在ActorSequenceEditor开启的情况下在细节窗口会出现Sequence分页内有一个功能按钮 点击在选项卡中打开 会看到K动画的编辑器 开始你的操作吧...
2019-05-31 10:55:42
3477
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人