UE4
文章平均质量分 55
foenix66
专注VR/AR/MR虚拟现实技术开发
展开
-
Unreal发布Android在刘海屏手机上不能全屏显示问题
UseDisplayCutout从打包参数接收设置,但以上java代码又做了机型判断,如果机型不在目录中,UseDisplayCutout会被强制设置为false。那么,我们只要修改这个代码,把强制设置UseDisplayCutout = false注释掉应该就可以显示刘海屏了。文件是无用的,Intermediate目录下的文件在编译的时候会被新生成代码覆盖掉的。,默认最大的宽高比是2,现在很多手机超过这个宽高比,所以可以设置更大的宽高比。经过以上设置,实际测试可以在OPPO手机上正常显示刘海屏全屏了。原创 2024-03-14 09:01:30 · 1499 阅读 · 0 评论 -
UE C++ Windows平台调用讯飞语音合成接口
每次合成语音时,调用QTTSTextPut,然后循环调用QTTSAudioGet持续获取合成音频数据,直到数据全部接收完成,调用QTTSSessionEnd结束本次语音合成任务。原创 2023-05-21 02:01:51 · 1893 阅读 · 6 评论 -
UE ReplayKit for iOS插件使用
连续调用了两次startWriting说明在状态改变之前又有新的回调函数调用了,猜想视频数据包和音频数据包处理是在不同线程进行的,几乎同时调用了回调函数,而回调函数并没有采用任何的线程锁机制,导致startWriting被调用了两次,从而引起AVAssetWriterStatusFailed错误,而偶尔成功的几次,应该是多线程没有同时回调,侥幸成功。在测试几次,结果发现问题了,除了一开始成功的一次,后面基本上都是失败的,并没有任何文件存储到相册。原创 2023-04-04 00:34:02 · 604 阅读 · 0 评论 -
UE4借助Cross-Platform Voice Chat Pro插件实现iOS上录音
要实现录音功能,就要能访问Microphone采集的音频采样数据,Cross-Platform Voice Chat Pro插件的MicrophoneSpeakComponent组件有两个蓝图回调函数,可以帮我们获得实时采集音频数据。原创 2023-03-13 04:31:48 · 748 阅读 · 2 评论 -
HTC Cosmos手柄的坑
Cosmos手柄遇到的问题非常怪,页面可以正常操作,同一个页面切换DIV层隐藏/打开以后,新的DIV层的按钮都不能点击。原创 2023-01-20 17:37:52 · 2175 阅读 · 0 评论 -
UE4 StreamVR连接不同一体机VR Link模拟器
手柄就有比较多的讲究了。尽量用按键映射消息事件,将尽量多的按键映射到按钮事件上,以保证各种手柄都可以兼容。原创 2022-08-31 18:20:08 · 604 阅读 · 0 评论 -
UE4 WebBrowser图表不能显示问题
UE4嵌入自带的WebBrowser显示网页,其他部分都是正常的,唯有页面上的图表(echarts)无法显示。原创 2022-06-24 16:43:10 · 1288 阅读 · 1 评论 -
UE4 Android WebBroser访问网页报错ERR_CLEARTEXT_NOT_PERMITTED
Android访问网页报错ERR_CLEARTEXT_NOT_PERMITTED,主要是Android修改了安全策略,默认只能访问HTTPS的网页。原创 2022-06-23 06:26:58 · 590 阅读 · 1 评论 -
UE4 C++ Android读写配置文件
第一次运行,这个配置文件肯定是不存在,但这段代码并不会返回false,实际上会得到一个空的xmldocument。原创 2022-06-23 00:00:27 · 1084 阅读 · 0 评论 -
UE4 C++ Base64编解码
UE4 C++ Base64编解码原创 2022-06-22 03:47:07 · 1040 阅读 · 0 评论 -
UE4透明渲染层级错误问题
两个透明物体,当摄像机处于不同位置时,可能会出现渲染层次错误问题原创 2022-05-11 03:33:12 · 1755 阅读 · 0 评论 -
UE4世界场景中的Widget如何关闭影子
UE4场景中关闭物体的影子,可以在模型的属性中设置Cast Shadow为False即可。而位于场景中的Widget没有Cast Shadow,要关闭影子,可以通过修改材质球属性实现。默认三维Wigdet的混合模式是Masked修改为Translucent,可以关闭阴影。...原创 2022-05-04 22:27:17 · 3760 阅读 · 0 评论 -
UE4 设置窗口分辨率和关闭屏幕调试信息
执行控制台命令设置窗口分辨率ExecuteConsoleCommand r.setRes width x height关闭显示屏幕调试信息ExecuteConsoleCommand DisableAllScreenMessages原创 2022-01-04 13:54:01 · 3530 阅读 · 0 评论 -
UE4 函数参数与蓝图成员重名造成的BUG
下面这个bug很难发现GetSceneId应该引用蓝图的成员变量,但不知道怎么的,他引用的是UpdateARGyroscope函数的成员变量。修改UpdateARGyroscope函数的成员变量为scene后,编译报错再看一下,把成员变量SceneId拖入蓝图面板,拖入的是对的,老的是错误的,看起来长得一样再试一下,用自动提示,会发现函数参数和成员变量都是可以引用的但放入蓝图面板后并不会有显示区别修改函数变量名,引用函数变量名的节点并不会跟着修改所以,不要把成员变量和函数变量用同样的名字原创 2021-12-30 17:57:53 · 419 阅读 · 0 评论 -
UE4读取BackBuffer缓冲区贴图(屏幕表面)
添加Build.cs模块需要添加的build模块:“Renderer”, “RenderCore”, “RHI”, “Slate” PrivateDependencyModuleNames.AddRange(new string[] { "HTTP", "Renderer", "RenderCore", "RHI", "Slate" });头文件void OnBackBufferReady_RenderThread(SWindow& SlateWindow, const FTextu原创 2021-12-23 20:51:27 · 1556 阅读 · 3 评论 -
UE4 引入SLAM技术的ARKit可以进行世界感知
大众印象中的AR增强现实(Augmented Reality)是通过计算机视觉增强技术,识别并跟踪特定图案,在识别图案上附加二维或者三维影像,来达到增强现实显示的目的。随着SLAM(Simultaneous Localization and Mapping,即时定位与地图构建)技术的成熟和引入AR,增强现实技术发生了根本性的变化,SLAM算法已经成为了AR的核心技术。传统的AR是通过计算目标物体的特征点和透视角度,通过视觉增强算法推算摄像机与被识别物体之间的相对位置和夹角,AR增强显示系统是围绕着被识别原创 2021-12-09 03:39:16 · 1746 阅读 · 0 评论 -
UE4 如何让GamePaused时游戏声音不暂停
设置游戏暂停状态时,游戏声音也暂停了如何让声音继续播放,简单方法是把游戏声音设置为UISound原创 2021-12-05 09:15:17 · 792 阅读 · 0 评论 -
UE4 Windows远程发布iOS之导入mobileprovision文件过期
导入刚刚创建的mobileprovision,显示导入失败,验证文件过期。通过,等一天再导入就成功了。这个问题可能是苹果或者epic的时区计算错误导致的,苹果开发者中心生成的mobileprovision可能用的是服务器时区,下载到本地验证时用的是本地时区,发现时间过期(其实是时间还没到),如果过一天再导入时区就没问题了也可以不用等一天,修改一下windows的系统时间,将电脑时间推后一天,再导入就成功了...原创 2021-11-28 19:00:16 · 372 阅读 · 0 评论 -
UE4 DBBrowser插件支持H264直播网站
UE4自带的WebBrowser的核心为cef3 3071版,默认不支持H264等直播流,导致插件不支持主流的直播网站,网上有介绍如何自己编译修改内核的方法,其他的WebUI等插件也是以WebBrowser为基础开发的,也不支持H254直播流。DBBrowser以CEF 90.5.9.GD330790作为核心,可以支持H264格式的视频直播,可以拿来就用,但需要注意的是,这个插件仅支持Windows平台,不支持移动平台。请谨慎购买,毕竟挺贵的。(我买这个插件是为了HTML向UE4通讯,也不知道WebBro原创 2021-11-28 05:11:43 · 1419 阅读 · 2 评论 -
UE4 MultiLineTraceByChannel函数并不返回路径上所有被检测Actors
看函数名字是返回射线检测到的所有对象,其实这个功能是为了命中玻璃后面的目标设计的。官方文档解释:MultiLineTraceByChannel将沿给定线条执行碰撞追踪,并返回所有遭遇的命中,直到并包含首次阻挡命中,只返回对特定追踪通道响应的对象。这就意味着追踪的开始和结束之间有多个带碰撞的Actor 或 组件 与特定的追踪通道发生 重叠,而您将接收到所有的 Actor 和组件。但是,如果首次命中 阻挡了特定的追踪通道,则只会接收到这一个内容。如希望无视追踪通道的重叠或阻挡接受所有内容,则需要使用原创 2021-11-26 22:55:17 · 1154 阅读 · 0 评论 -
UE4 Windows远程发布iOS之SSH登录Mac OS验证错误问题
问题:UE4远程登录Mac OS编译iOS,提示SSH验证错误UATHelper: Packaging (iOS): ERROR: Unable to determine home directory for remote user. SSH output:UATHelper: Packaging (iOS): Host key verification failed.PackagingResults: Error: Unable to determine home dire原创 2021-11-22 16:27:04 · 2824 阅读 · 0 评论 -
UE4移动平台AR开发快速预览
UE4的移动平台AR开发底层主要是iOS系统的Apple ARKit和Android系统的Google ARCore,UE4的AR开发对这些AR底层库进行了统一的接口包装(统一接口封装还包括Hololens AR、Magic AR等其他AR系统),我们实际用UE4开发AR移动应用时并不直接调用ARCore或ARKit的底层库原生接口。注意:由于Google ARCore需要GMS服务(Google Play),国内的安卓手机和平板安装GSM很不友好,有些品牌的手机平板还无法安装。UE4 AR封装构架与A原创 2021-11-14 22:40:46 · 3419 阅读 · 1 评论 -
UE4.27 PixelSteam的信令服务器与以前和以后版本都不兼容
UE4.27是一个比较特殊的版本,他是UE4.26的后续版本,同时UE5也是在4.26版本基础上开发,这就导致UE4.27成为了一个独立分支,UE5可以兼容4.26,但并不兼容4.27,导致4.27彻底放飞,采用了很多实验技术,这些技术并不兼容4.26,也不兼容后续的UE5。所以项目开发不要轻易尝试4.27版本,中途出现问题会导致项目无法回退版本,也无法升级到UE5,走向死路UE4.27 PixelSteam像素流开发就遇到问题了,按照以前的经验很快开发完场景和像素流插件应用,测试大多数浏览器也都顺利,但原创 2021-11-14 20:00:55 · 1946 阅读 · 0 评论 -
UE4 Windows远程发布iOS之各种证书
输出iOS就涉及到各种证书,如果不求甚解,在操作过程中就可能会遇到很多问题。总的来说,证书分为两个大类:1、开发者证书2、签名证书开发者证书不管是Unreal Engine还是XCode,作为开发工具,都需要有一个证书来保证开发的软件和设备是经过苹果授权的,这就需要用从苹果开发者网站获取证书,验证开发工具的合法性。至于开发者证书又分为Development和Distribute,这是验证开发者开发的产品是开发版还是分发版的。明白开发者证书作用以后,获取开发者证书就简单了。可以用UE4的苹果打包软原创 2021-09-13 05:13:13 · 1083 阅读 · 0 评论 -
UE4 Windows远程发布iOS之iTunes迷惑行为
iTunes for Windows有两个版本:从苹果网站下载的离线安装包从微软商城在线安装从苹果网站下载iTunes离线安装包安装iTunes离线安装包后,打开Unreal 4.24编译iOS,还是会弹出网页,提示安装iTunes(应该是bug,这个提示页面是404错误页面,但从URL的InstallingiTunesTutorial看出这是一个安装iTunes的引导页)https://docs.unrealengine.com/4.27/en-US/Tutorial/Mobile/Inst原创 2021-09-11 21:18:56 · 483 阅读 · 0 评论 -
UE4 Pixel Streaming像素推流云端部署方案
[适用于4.24之后版本]本文介绍适用于普通WEB云端部署,非GPU云按照循序渐进方式,分为五个部分局域网单实例局域网多实例广域网部署WEB云部署后续1、局域网单实例局域网单实例构架图信令服务器帮助用户浏览器与UE4 Pixel Streaming插件之间建立直接的像素流通讯服务,在同一个局域网内,UE4程序和用户浏览器可以直连通讯,只需运行UE4程序和SignallingWebServer信令服务器两个程序,整个推流部署就完成了信令服务器配置:UE4自带的信令服务器位原创 2021-09-05 19:54:39 · 12666 阅读 · 14 评论 -
UE4用Spline Component蓝图生成连续SplineMesh路径模型
Spline Component(不是SplineMesh)是UE4常用的样条曲线组件,是生成各种可视化路径、控制物体运行轨迹、生成排列组合模型等的基础。Spline可以不断增加控制点,以生成复杂的曲线,每个控制点都有两个调整角点进行样条曲线调整。SplineMesh Component是UE4提供的一种按样条曲线和模型模板生成路径模型的组件,通过样条曲线起点-终点和两个调节角点(一共四个节点)生成一段曲线路径模型。给SplineMesh Component指定Mesh模型生成指定路径模型通过原创 2021-09-05 17:39:24 · 9358 阅读 · 5 评论 -
UE4 SteamVRBindings配置文件版本问题导致的非法退出问题
一个VR项目升级到4.26后,按下VR扳机按钮编辑器就非法退出了,报错点停留在Assertion failed: key isValid()。把程序中所有MotionController Input的代码都断开,错误依旧。最后对比了其他VR项目,发现升级工程的Config/SteamVRBindings的VR配置文件不一样,用正常VR工程的SteamVRBindings目录替换后,程序正常。...原创 2021-08-25 22:53:35 · 392 阅读 · 0 评论 -
UE4问题记录
1、插值平滑旋转, 上面的旋转是一步到位的,想要平滑旋转,可以在tick中使用插值函数RInterpTo()2、开启物理系统以后,超出坐标范围(>1050000)的Actor会立即被销毁physical actor destroyed immediately when out of coordinateI'm creating an air combat game, when flight out of the range(maybe >1050000), fire, the原创 2021-05-22 02:43:14 · 385 阅读 · 2 评论 -
UE4.24版本升级
#include “AllowWindowsPlatformTypes.h”2>e:\unreal\mr_takephotos424\source\mr_takephotos424\fp_firstperson\tinyxml.h(35): fatal error C1083: Cannot open include file: ‘AllowWindowsPlatformTypes.h’: No such file or directory#include “Windows/AllowWindow原创 2021-05-22 02:37:43 · 696 阅读 · 1 评论 -
IK反向动力学
**在我们的VR和AR的交互应用中,可以借助反向动力学来帮助确定角色动作**IK全称是Inverse Kinematics,反向动力学的意思。相对于反向动力学,FK正向动力学( Forward Kinematics)就是我们常用的骨骼动画, 动画制作者将角色的构成部分通过层级节点规划,摆出一个类似骨架的形状,通过关节点与蒙皮表面的关联系数,动画制作者可以改便骨骼节点的位置、旋转角度,带动蒙皮形成的动画的一种动画制作方式。在一套FK系统中,一般的规则是:层级里的一个父节点驱动任意子节点的运动。例原创 2021-02-10 04:06:31 · 2274 阅读 · 0 评论 -
UE4莫名问题之#define的换行连接符\
\是C语言的换行连接符,#define需要将所有正文连接在一行,为了书写方便,加上\换行连接符表示下一行实际是同一行内容,但是最后一行不能加\连接符,会导致编译错误,原因不明。error : Interface class ‘UClassBase’ cannot inherit from non-interface class ‘Object’...原创 2020-10-05 16:19:01 · 707 阅读 · 0 评论 -
UE4旋转接近Lerp算法可能导致转圈的问题
比如,从-178°接近旋转到 178°,我们想要的旋转效果是旋转4°,而UE4的FMath::Lerp算法并没有考虑角度旋转的特殊性,还是按照数学算法从-178°接近算法过渡到178°,实际会旋转356°,因此,需要通过判断旋转的角度,修正两个角度值为同样符号。 FVector pos = GetOwner()->GetActorLocation(); FRotator rot = GetOwner()->GetActorRotation(); F原创 2020-09-21 02:42:48 · 1258 阅读 · 1 评论 -
UE4莫名其妙问题之不要用数字日期建项目
不小心用数字日期作了项目名,UE4自动生成的代码变量名称会出现数字开头,从而导致编译大量错误。原创 2020-09-20 17:02:58 · 134 阅读 · 0 评论 -
UE4.24版本MotionController无法连接HTC Tracker
查询到有效信息是4.24版本的MotionController的source设置为Special_1是无效的,尝试按照网上教程设置SteamVR也是无效的,升级到4.25版本也无效。最终还是用C++代码调用USteamVRFunctionLibrary库实现了 TArray<int32> DeviceIds; TArray<int32> TrackerIds; USteamVRFunctionLibrary::GetValidTrackedDeviceIds(EStea原创 2020-05-25 03:07:19 · 1126 阅读 · 7 评论 -
UE4 PixelStream视频推流UI点击无效问题
UE4 PixelStream视频推流UI点击无效问题在推流模式下,浏览器客户端点击UI按钮可以看到UI按钮点击视觉效果,但是按钮事件并不执行。检查以后发现运行远程桌面连接UE4客户端运行的主机且保持前台状态时可以触发事件,关闭远程桌面或者将远程桌面切换到后台时不能触发按钮事件,初步判断是窗口焦点问题。查询帮助,发现启动UE4客户端时参数有一个-RenderOffScreen参数,可以让UE4客户端运行在后台(无窗口模式)。实际测试使用-RenderOffScreen参数运行客户端,浏览器按钮总能激活按原创 2020-05-22 00:41:44 · 2035 阅读 · 1 评论 -
UE4使用openCV库启动编辑器报错
UE4使用openCV库启动编辑器报错如下图原因是openCV库的DLL文件需要拷贝到UE4的编译程序启动目录将\ThirdParty\OpenCV\Libraries\Win64*.dll拷贝到\Binaries\Win64\启动编辑器就没有问题了。同理,打包输出程序是也需要将openCV动态链接库DLL文件拷贝到实际运行程序目录。...原创 2020-05-14 15:34:51 · 489 阅读 · 0 评论 -
Blueprint could not be loaded because it derives from an invalid class.
因为蓝图类的父类是C++类,迁移过去以后显示Blueprint could not be loaded because it derives from an invalid class. Check to make sure the parent class for this blueprint hasn’t been removed! Do you want to continue (it c...转载 2020-01-01 02:25:36 · 2126 阅读 · 0 评论 -
如何查看iOS设备UUID?
设备连接iTunes后,在设备摘要总可以查看。原创 2019-12-31 00:36:08 · 2463 阅读 · 0 评论 -
iOS No Valid Certificate Found for mobile provision
iOS No Valid Certificate Found for mobile provision为了调试ARKit,配置iOS打包设置,其中导入Mobile Provision总是显示状态No Valid Certificate Found。反复重新在iOS开发者网站,按照教程,顶着apple developer奇高网络延迟,一步一步生成,导入,总是No Valid Certificate...原创 2019-12-16 21:27:05 · 990 阅读 · 0 评论