
UE4
文章平均质量分 76
Yuk丶
联系邮箱:zhangxuhan_c@163.com
专注学习成长
运用视景仿真,嵌入式软件开发,人工智能,计算机视觉,无人系统,游戏等
linux qt ue4 mak vr-force开发等
https://github.com/zhangxuhan
展开
-
UE4中性能优化和检测工具
Simpleperf可录制很深的CPU调用堆栈,可用于详细分析问题时间内的CPU代码执行情况,其将数据聚合,输出类似于Instrument TimeProfiler的形式,可以看到不同函数在一段时间内的贡献、占比情况,及调用次数,方便对其进行更有针对性的优化。优势:可长时间录制数据,数据在时间轴上以进程调度的形式展示,比较容易分析Game、RenderThread与WorkerThread的调度情况,从整体上结合时间连贯性对CPU瓶颈进行初步的定位。也可用于分析有规律的卡顿掉帧的情况。原创 2024-06-14 16:47:12 · 4149 阅读 · 0 评论 -
UE4 RPC进行网络同步
PS:引申:考虑到每一位客户端对该actor接管网络消息所有权都需要SetOwner,可能会导致网络延迟或安全性隐患,此处可以根据实际情况进行优化为通过经过玩家进行RPC同步,如由玩家的component发起。3、注意如果 RPC 是从Client调用并在Server上执行,客户端就必须拥有调用 RPC 的 Actor。所以在属性同步的地方设置此Actor的Owner,主要用于网络复制,玩家离开交互时Owner置空。服务端的处理:定义自定义事件,注意勾选同步范围,代表客户端同步在仅Server运行。原创 2024-06-11 20:42:02 · 746 阅读 · 0 评论 -
系统学习计算机图形学基础 - 第五版
本文意在翻译学习+总结,欢迎大家一起学习。原文计算机图形学基础 - 第五版。原创 2023-01-30 15:39:13 · 782 阅读 · 0 评论 -
UE4中对图片裁剪压缩
一:使用说明!对已拍照的FColor数据进行裁剪、压缩的操作,达到减少内存的效果:PC上原截图 约900+kbPC上裁剪截图 约200+kbPC上裁剪截图加转格式 约130kbPC上裁剪截图加转格式加压缩 约13kb下午提供示例接口,有需要可以进行参考修改二、调用示例:C侧:1、命令行方式截图2、根据尺寸保存压缩jpg3、通过传参路径和jpg/png 读取本地图片转换成UTexture2DLua侧:裁剪原创 2022-12-05 15:43:21 · 987 阅读 · 0 评论 -
UE4中抛体物理模拟UProjectileMovementComponent
背景:实现抛体运动,反弹效果,抛物曲线等功能通用实现可以使用spline绘制,物体按照下图接口可以根据时间更新位置为处理碰撞反弹等,本文考虑使用UProjectileMovementComponent相关 纯工具类组件 继承自UMovementComponentUE4官方文档:UProjectileMovementComponentProjectileMovementComponent会在tick期间更新另一个组件的位置,如果更新的Component开启了模拟物理,那么只有初始速度initial v原创 2022-12-05 15:22:17 · 2304 阅读 · 0 评论 -
UE4中对移动端键盘弹出/监听的处理
UE4中对移动端键盘弹出/监听的处理原创 2022-06-13 20:17:42 · 1941 阅读 · 0 评论 -
UE4中对华为机型OnTouchMoved的处理
UE4中对华为机型OnTouchMoved的处理1.简述2.处理方法1.简述试想这样一个移动端的触摸场景:不要拖动该控件,仅松开手指/鼠标后处理,可不可行?其实很简单,按下时记录初始状态,移动时设置一个标记位,如果触发了移动,那么松开时根据这个标志位的情况来执行后续逻辑即可。类似这样:--处理按下事件function YourPanel:MouseButtonDown(InGeometry, InGestureEvent) self.m_NotMove = trueend--处理移动事件原创 2022-05-13 16:59:16 · 538 阅读 · 0 评论 -
UE4中使用PSO缓存优化
UE4中使用PSO缓存优化1、简述2、构建流程3、测试结果4.总结:1、简述在首次进入项目时,第一次加载新场景,或打开RT缩略图的卡顿;在第二次进入游戏后不会,实则是编译新着色器时项目出现的卡顿耗时,可以通过PSO缓存方式优化加载时间:UE 中的 PSO Caching 机制,用于预先记录和构建出运行时所使用的材质依赖的 Shader 信息,当项目首次使用这些 Shader 时,该列表可以加速 Shader 的加载 / 编译过程。PSO Caching 会把渲染状态、顶点声明、Primitive 类型原创 2021-12-17 11:34:39 · 9032 阅读 · 3 评论 -
UE4中三维几何总结——几何体
UE4中三维几何总结——几何体1、简述2、基本图元3、几何图元类型3.1 凸面网格Convex Mesh3.2 三角形网格Triangle Mesh3.3 高度场Height Field1、简述此文目的总结三维几何学基础——几何体,可以依此提纲做发散,不局限为UE4,任何三维领域系统均可以使用学习几何体用于构建刚体的形状,作为碰撞触发器,以及作为场景查询系统中的体积。还可以用于测试几何体之间的交集、光线投射以及将一个几何体扫描到另一个几何体。以下主要介绍几种常见的几何体模块。2、基本图元基本图元指原创 2021-12-09 17:42:21 · 2913 阅读 · 0 评论 -
UE4中三维几何总结——几何学基础
此文目的总结三维几何学基础,可以依此提纲做发散学习原创 2021-12-07 17:27:08 · 2620 阅读 · 0 评论 -
UE4中触摸屏的拖动/缩放功能——lua实现
UE4中触摸屏的拖拽缩放功能——lua实现1.简述2.代码示例1.简述在移动端的触摸场景案例参考非常少,对于触摸的各种手势操作不好参考,然鹅这种需求对于各种应用或是需求最平常不过的了 ,这里仅针对UE4的开发提供几种思路:我们先来看下官方的推荐操作:1、根据设备DPI缩放规则的自动缩放 DPI缩放适应2、使用 Drag & Drop OperationDragAndDrop可以看出,官方对这类操作已经做了不少友好的封装供我们使用,可以参考以上应用到自己的项目中。以下示例演示了脚本原创 2021-11-23 21:30:53 · 5384 阅读 · 4 评论 -
UE4中使用Carla——Python与C++相互类型转换
UE4中使用Carla——开发添加自定义PythonAPI1.简述1.简述许多小伙伴私信问我Carla中PythonAPI的开发,新增修改的问题,这里补充UE4中使用Carla——开发添加自定义PythonAPI原创 2021-04-29 11:01:25 · 1594 阅读 · 6 评论 -
linux下安装编译ue4问题报错的解决方法
linux docker下安装编译ue4问题报错的解决方法简述一般编译步骤问题解决步骤简述最近上linux服务器跑ue,现在跑到环境空白的docker里配置环境需要注意,大家可供参考环境:ubantu18,docker,ue4.22,Linux 下编译报错:Running UnrealHeaderTool CrashReportClientmake: [Makefile:212: CrashReportClient-Linux-Shipping] Error 1Makefile:608: re原创 2020-12-04 10:02:08 · 6857 阅读 · 10 评论 -
UE4 4.24-4.25安卓打包NDK问题
UE4 4.24-4.25安卓打包NDK问题在4.25版本中打包安卓,可能会出现NDK版本的问题:原因是4.25需要升级android的NDK,可以查看版本的官方解释知道了原因后,可以去安卓官网直接下载新的NDK即可:https://developer.android.google.cn/ndk/downloads/为了方便,这里免费提供了完整的安卓环境压缩包,自行下载即可:链接:https://pan.baidu.com/s/1mBeDUQN-Gk8oYtYgwq_ZmQ提取码:0app原创 2020-11-11 12:36:33 · 1393 阅读 · 0 评论 -
UE4中使用Carla——开发添加自定义PythonAPI
UE4中使用Carla——开发添加自定义PythonAPI1.简述2.开发添加自定义PythonAPI3.效果1.简述在这里,我们假定读者已经安装并对整体框架有了一定掌握,请参考下文安装配置和理解:UE4中使用自动驾驶模拟——Carla在添加自定义PythonAPI之前,考虑在客户端需要用户输入一些什么数据,这里以最常用的数据为例。2.开发添加自定义PythonAPI这里示例添加传transfrom参数从Client端也就是Python给到Server端的UE4,请严格按照步骤:在carlau原创 2020-10-15 15:21:18 · 3643 阅读 · 12 评论 -
浅谈RPC框架在UE4中的开发应用
浅谈RPC框架在UE4中的开发应用1.简述2.RPC 核心功能3.在UE4中的应用4.RpcLib1.简述有网络编程基础的或是有源码阅读的小伙伴经常会看到或在实际开发使用RPC这个框架,目前流行的开源 RPC 框架也比较多,我在UE4C++中也经常会使用它,今天谈一谈什么是RPC框架。RPC(Remote Procedure Call Protocol)–远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为原创 2020-08-28 17:54:44 · 2850 阅读 · 0 评论 -
UE4中使用自动驾驶模拟——Carla
UE4中使用自动驾驶模拟——Carla1.简述2.简单配置1.简述在之前的文章里,使用了Airsim来仿真模拟无人机飞行,UE4中使用飞控仿真插件——AirSim,Airsim本身也是支持自动驾驶模拟的,使用方法无太大不同,为了学习探索这两者的区别,在这里记录一下carla的使用。Carla主要通过Server-Client方式使车辆与虚拟世界进行交互,这样就可以在本机运行,也可以部署多个客户端同时运行。Client API采用Python编写,Client向Server发送command和meta原创 2020-08-19 17:37:45 · 14137 阅读 · 36 评论 -
UE4中使用真实天空插件——TrueSky
UE4中使用真实天空插件——TrueSky1.简述TrueSKY是一个软件开发套件,可以在各种平台上实时渲染逼真的天空,云彩和大气效果。经过多年研究和开发,它基于光散射和吸收的物理原理,并针对速度进行了高度优化。并实时更新,trueSKY在GPU上创建体积云和大气数据,并通过轻量级API提供对数据的实时访问,该SDK是跨平台和独立于渲染器的。它们按需形成和蒸发,这是针对现实,实时天空和云彩的最佳性能系统。本来作为一个简单的插件,不想做过多记录的,但是在使用过程中发现了一系列的小问题和bug,故在此记原创 2020-06-16 12:45:45 · 11630 阅读 · 2 评论 -
使用KBEngine开发UE4服务端——开发详解
使用KBEngine开发UE4服务端——开发详解1. 简述开始正式进入开发,网络上关于开发和修改文件的文章较少,这里会记录自己开发过程中需要更改的地方和一些流程。2. 前期的配置说明根据前文配置过后,在kbengine文件夹下,双击new_assets.bat生成一个新的资产库作为这里开发使用的资产库,生成的文件夹名字随意。这里更改KBE提供默认的Account, 在{项目资产库}/re...原创 2020-04-22 15:31:03 · 2232 阅读 · 1 评论 -
UE4中使用飞控无人机仿真插件——AirSim
UE4中使用飞控仿真插件——AirSim简述项目中使用UE4开发无人机飞控的仿真,所以了解并学习了部分AirSim的机制,微软开源了基于虚幻引擎的一款用于模拟无人机飞行的工具AirSim。通过AirSim平台可以理解自动驾驶仪在真实世界中是如何行驶的,同时可以在该平台使用深度学习技术来理解这些运输工具在各种不同的环境下是如何反应的。可以通过飞行控制板或模拟器进行硬件模拟输入,这里我使用了纯...原创 2020-04-17 17:19:56 · 7373 阅读 · 8 评论 -
使用KBEngine开发UE4服务端——配置Linux云服务器
使用KBEngine开发UE4——配置Linux云服务器简述我们在本地mysql灵活运用了之后,就是部署到我们的云服务器上了,作为云服务器,我也用过一段时间的windows,效果不尽人意,同时处理性能不佳,如果你是土豪可以忽视,无限充值加配置即可,这也是为什么大多数人服务器要选择linux,可以更大化发挥作为服务器的性能,我这里使用的是阿里云的ubantu系统。感兴趣也可以使用虚拟机操作。...原创 2020-04-13 17:22:56 · 1488 阅读 · 0 评论 -
使用KBEngine开发UE4服务端——添加项目
使用KBEngine开发UE4——添加项目简述在上一篇配置和使用demo之后使用KBEngine开发UE4——入门配置我们开始使用kbengine搭建属于自己的项目了。加入插件kbengine作为插件,和UE4结合主要配置如下:在自己创建的工程文件.sln中找到.build.cs这个文件,在最后加入KBEnginePlugins,如图:项目的根目录下创建Plugin...原创 2020-04-09 17:30:35 · 1151 阅读 · 4 评论 -
使用KBEngine开发UE4服务端——入门配置
使用KBEngine开发——入门简介最近自学使用虚幻UE4开发考虑服务端选型,了解到KBEngine,后改名comblockengine,开源,有开发文档,有更新维护是它的优点,适合我们去深入学习并且快速上手,那么我们开始看看上手学习吧!KBEngine作为一款开源的服务端引擎, 仅Python脚本即可简单高效的完成任何游戏逻辑(支持热更新), 使用配套客户端插件能够快速与(Unity3...原创 2020-04-09 11:22:16 · 2385 阅读 · 0 评论