
UnrealEngine4
haisongliang
AC
展开
-
Jenkins自动集成构建安卓失败 ERROR: GetBuildPlatform: No BuildPlatform found for Android
安卓的相关环境和依赖均已经配置好,在cmd中执行构建命令可以,但是在Jenkins中执行失败,原因在于环境变量设置有问题解决方法,将环境变量改为系统环境变量。参考https://forums.unrealengine.com/development-discussion/android-development/95134-unable-to-build-to-android-at-all-erro...原创 2018-07-12 15:11:20 · 1488 阅读 · 0 评论 -
UE4 内部专用引擎打包发布
在使用UE4时,有时需要对引擎的功能进行修改,这时候就需要将修改后的引擎分发给内部团队,可以使用BuildGraph来完成这个功能(较老版本的引擎不支持)。RunUAT.bat BuildGraph -script=Engine/Build/InstalledEngineBuild.xml -target="Make Installed Build Win64" -clean -set:WithA...原创 2018-05-06 09:41:33 · 2169 阅读 · 1 评论 -
UE4 模拟用户输入
在PlayerController中调用InputKey(Key, EventType, 1, false); //amount depressed, bGamepad原创 2018-05-18 10:58:20 · 2263 阅读 · 0 评论 -
UE 4.19 安卓平台配置和测试
以前使用UE4打包一个很简单的场景都要几百兆,最近据说这几个版本UE4对移动平台的大小进行了较大的优化,测试一下。首先配置环境,使用D:\Program Files\Epic Games\UE_4.19\Engine\Extras\AndroidWorks\Win64\CodeWorksforAndroid-1R6u1-windows.exe直接进行安装。然后会出现下载器选择相关的下载项下载即可。...原创 2018-05-04 19:27:15 · 2136 阅读 · 0 评论 -
UE4整合专用服务器
官方发布版本的引擎中不包含专用服务器,如果要使用专用服务器的话需要用源码版本的引擎进行打包。在编译内部版本引擎的时候,可以修改InstalledEngineBuild.xml,将专用服务器整合进去。修改方法如下 <!-- Downstream monolithics and tools Win64 --> <Node Name="Compile UE4Game Win64"...原创 2018-05-06 09:46:45 · 2870 阅读 · 0 评论 -
UE4内部版本引擎和官方版本引擎版本保持兼容的方法
内部使用的引擎和官方正式发布的引擎版本号不一致,这种情况会导致一些插件由于版本不一致无法使用,有其是在没有插件源码的情况下。解决方法为修改Engine\Source\Runtime\Launch\Resources\version.h文件,修改BUILT_FROM_CHANGELIST的宏定义为正式发布版本的宏定义更新Engine\Build\Build.Version至于版本号从哪里找,从官方下...原创 2018-05-06 09:53:19 · 6555 阅读 · 0 评论 -
源码版本UE4下载安卓平台文件
部分安卓依赖项没有下载,可以运行setup来下载。https://docs-origin.unrealengine.com/latest/CHN/Platforms/Android/GettingStarted/1/index.html若无效,在后面加上参数 -all原创 2018-07-12 14:44:16 · 714 阅读 · 0 评论 -
同时勾选ES3.1和ES2的选项时的处理
若平台支持3.1,则启用3.1,否则回退到ES2;若ES2未勾选,则报错。见AndroidOpenGL.cpp的PlatformInitOpenGL原创 2018-07-12 10:38:20 · 2043 阅读 · 0 评论 -
UE4的小地图
基于UMG制作的小地图,非 Scene Capture 2D原帖地址:https://forums.unrealengine.com/community/community-content-tools-and-tutorials/88267-minimap-with-texture-instead-of-scene-capture-2d项目地址:https://github.com/DamirPo...转载 2018-06-08 11:16:50 · 1603 阅读 · 0 评论 -
UE4联网项目打包配置
需要在DefaultEngine里面增加使用的联网模块[OnlineSubsystem]DefaultPlatformService=Null(可选steam或者自有的OSS)原创 2018-06-01 10:40:35 · 1797 阅读 · 0 评论 -
专用服务器的Server.Target.cs
使用UE4构建专用服务器,有两个要求,一是引擎具有专用服务器模块,二是具有专有服务器的target.cs。下面是shootergame的示例。// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.using UnrealBuildTool;using System.Collections.Generic;public cl...原创 2018-06-01 10:34:50 · 669 阅读 · 0 评论 -
UE4集成RakNet联网插件
代码地址:https://github.com/haisongliang/UE4RakNetDemo.git以Windows平台,VS2015和UE4.19为例,静态链接,其他平台和版本类似。本插件的主要步骤和思路如下:首先,编译VS2015的静态库,参见https://github.com/haisongliang/RakNet.git然后,创建一个第三方库的项目,可以使用plugin的向导创建...原创 2018-05-30 22:04:07 · 1021 阅读 · 0 评论 -
触摸输入中的FingerIndex
每一个fingerindex表示当前接收的触摸索引,如果有多指输入,则对每一个输入均触发,输入用index区分原创 2018-06-13 15:47:04 · 643 阅读 · 0 评论 -
蓝图的世界坐标和局部坐标转换
使用Inverse Transform Location和Transform Location来进行坐标转换原创 2018-06-06 15:12:29 · 2097 阅读 · 0 评论 -
NavArea, NavigationQueryFilter和NavModifierVolume
NavArea:导航区域,配合NavModifierVolume使用,修改导航网格的路径费用。NavigationQueryFilter:实现对导航区域的过滤或者费用重写。通过NavArea, NavigationQueryFilter和NavModifierVolume,可以实现AI对不同路径的选择效果。方法如下:1 创建NavArea,设置DefaultCost,默认值为1。数值越大,路径费用...原创 2018-05-30 10:15:44 · 2864 阅读 · 0 评论 -
蓝图数组的通用排序方法
蓝图并没有为每一个类型的数组都提供排序方法,尤其是自定义的Actor,但是,我们可以利用蓝图中的接口,通过C++对蓝图数组进行排序。首先,创建一个排序接口,ISort, // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinima...原创 2018-05-20 14:36:24 · 3998 阅读 · 1 评论 -
UE4的自定义输入设备插件制作方法
基于UE4的输入框架,开发的输入插件UE4CustomInputDevice,可以支持自定义的软件或者硬件输入设备。https://github.com/haisongliang/UE4CustomInputDevice.git原创 2018-05-20 14:15:22 · 2972 阅读 · 2 评论 -
使用UnrealFrontend对UE4项目进行打包
一般地,可以在编辑器中,使用菜单选择打包项目进行打包。此外,UE4还提供了UnrealFrontend工具来进行项目的打包、部署。UnrealFrontend位于Engine\Binaries\Win64\UnrealFrontend.exe,也可以通过工具栏上面的菜单打开。打开之后,可以通过下面右方的新建按钮新建配置。根据需要选择各种打包配置、版本配置、部属配置等等,然后回到主界面,执行打包过程...原创 2018-05-18 20:26:29 · 1489 阅读 · 0 评论 -
UE4缓存的处理方式
UE4在使用是会产生大量的缓存文件,会占用大量的空间。可以参照https://blog.youkuaiyun.com/cc13813194235/article/details/53424866的方法进行处理。另外,如果是针对团队项目,并且具有文件共享服务器的话,可以修改BaseEngine.ini,将缓存的位置改为网络位置,这种做法不仅可以节省大量空间,还可以节省shader编译的时间。...原创 2018-05-06 09:58:48 · 9996 阅读 · 1 评论 -
插值InterpTo
Interp Speed: 1/time (Time表示总时间)deltaTime:差值时间,即在总时间轴上面的单个取样原创 2018-04-06 13:26:23 · 1198 阅读 · 0 评论 -
UPARAM(ref)的含义
用于将&参数标记为传入参数static bool Sort(UPARAM(ref) TArray<UObject*>& array_to_sort, TArray<UObject*>& array_to_sort_ref);原创 2018-04-06 13:24:52 · 1666 阅读 · 0 评论 -
Actor的生命周期
转载 2018-04-06 13:22:42 · 376 阅读 · 0 评论 -
UE4中的帧数控制
运行控制台命令state fps将当前帧数打印到屏幕;运行t.maxFPS 60设定最大帧数;原创 2017-02-05 19:03:09 · 20352 阅读 · 0 评论 -
UE4学习过程中遇到问题的处理方法
1、查阅官方文档https://docs.unrealengine.com/latest/CHN/index.html可以选择中英文,中文的比英文更新慢点。2、搜索论坛、文档、问答中心,就在上面那个网页就可以搜索;3、搜索YouTube(需要科学上网)、优酷(内容很少,只有部分官方教程);4、如果上面的方法都没有效果,Google试下运气;5、问答中心上面发求助;6原创 2017-02-05 18:53:11 · 1745 阅读 · 0 评论 -
UE4联机构建光照
1、主控机启动swarmCoodinator2、联机构建的机器启动swarmagent,转到设置,在distribution settings中按下图修改3、在需要构建光照的机器上面运行构建命令。当然,这台机器必须完成步骤2.原创 2016-10-17 20:40:02 · 5796 阅读 · 0 评论 -
HTC Vive打包的UE4游戏全屏,铺满窗口的方法
未修改前,打包的游戏窗口两边会有黑边,修改后可以让游戏内容铺满窗口要求使用源码版本的引擎打包定位到Engine\Plugins\Runtime\Steam\SteamVR\Source\SteamVR\Private\SteamVRFunctionLibrary.cpp将RendererModule->DrawRectangle( RHICmdList, Viewp原创 2016-10-17 20:27:46 · 3672 阅读 · 0 评论 -
UE4系列引擎的setup.bat
使用UE4系列的引擎(源码版本)同步完代码后,通常会要求运行setup.exe来下载额外的内容。Setup.bat 会检测 Engine\Build\Commit.gitdeps.xml,然后根据文件中指定的内容去同步。国内下载较慢,可以修改Setup.bat,增加同步的线程数量。如增加命令行参数: --threads=16原创 2016-10-17 20:19:34 · 3843 阅读 · 0 评论 -
给AI分配PlayerState
默认情况下,只有玩家才有playerstate,若需要给AI分配,可以在AI控制器的构造函数中添加bWantsPlayerState = true;原创 2016-08-30 10:27:33 · 1108 阅读 · 0 评论 -
3DWidget启用透明
默认情况下,放在场景中的3DWidget不支持透明,需要更改3DWidget Component的rendfering -> blendmode为transparent原创 2016-08-05 13:56:42 · 792 阅读 · 0 评论 -
虚幻4实体的类比较
判断两个实体是否是同一个类Weapon->GetClass() == Inventory[i]->GetClass()判断两个实体是否来自同一个父类Weapon->StaticClass == Inventory[i]->StaticClass或者调用IsA()函数原创 2016-08-02 13:17:26 · 769 阅读 · 0 评论 -
UE4蓝图比较合并
UE4暂不支持比较关卡蓝图。方法1:命令行UE4Editor.exe -diff a.uasset b.uasset方法2:需要启用集成的源码控制才能使用打开蓝图,文件->比较 融合 或者右击蓝图 源码控制 历史记录 比较原创 2016-08-05 13:17:18 · 4650 阅读 · 0 评论 -
UE4项目文件格式关联
如果不是直接安装的,比如说直接从别的地方拷贝的,可以运行Engine\Binaries\Win64下面的UnrealVersionSelector-Win64-Shipping.exe,注册当前目录为引擎的安装目录,即可关联项目文件。如果引擎不是源码版本的,可能没有这个文件,而在Win32目录下面有个UnrealVersionSelector-Win32-Shipping.exe,但是在我电脑上面原创 2016-08-05 13:21:30 · 4185 阅读 · 0 评论 -
UE4在各种状态下启用VR模式的方法
在编辑器中,进入VR模式直接点击VR预览;在打包的版本中,可以调用EnableHMD节点或者执行stereo on/fullscreen命令,stereo on 和fullscreen效果相同,均可以进入VR模式;打包的版本还可以手动进入VR,方法是alt+enter原创 2016-08-05 13:35:32 · 18010 阅读 · 0 评论 -
更改VR模式下的屏幕投影方式
执行控制台命令开启、关闭屏幕投影 hmd mirror on/off更改投影模式 hmd mirror mode 0/1/2/...更改投影分辨率 hmd mirror 1280*720 (编辑器下无效果,其他模式未测试)原创 2016-08-05 13:40:31 · 2668 阅读 · 0 评论 -
进程和线程操作
线程类继承FRunnable,实现virtual uint32 Run()方法class VRHOME_API AVRHomeGameModeBase : public AGameMode, public FRunnable{Public: // Begin FRunnable interface. virtual bool Init(); v原创 2017-02-05 19:06:10 · 735 阅读 · 0 评论 -
文件和文件夹相关操作
读文件:IPlatformFile& file =FPlatformFileManager::Get().GetPlatformFile();//获取游戏路径FString gameRootDir =FPaths::ConvertRelativePathToFull(FPaths::RootDir());FString absolutePath =gameRootDir +原创 2017-02-05 19:07:18 · 812 阅读 · 0 评论 -
为AI增加playerstate
默认情况下,AI并没有playerstate,如果需要,可以在构造函数中增加 bWantsPlayerState = true;原创 2018-04-06 13:21:35 · 942 阅读 · 0 评论 -
UE4不同的版本的配置文件的保存位置
UE4的游戏的不同版本,配置文件的保存位置不一样编辑器:在项目目录下开发版:在游戏目录下发布版:在APPDATA目录下,但是可以通过installed参数改为在游戏目录下专用服务器:在游戏目录下参考:bool FPaths::ShouldSaveToUserDir();FApp::IsInstalled();...原创 2018-04-06 13:17:29 · 9458 阅读 · 1 评论 -
UE4在C++中暴露给蓝图的注释乱码问题
UE4的C++中向蓝图暴露的函数和变量可以在前面增加注释,如果是中文注释,要求源文件采用UTF-8编码,否则在蓝图中会乱码。原创 2018-04-06 13:12:12 · 1757 阅读 · 0 评论 -
UE4通过命令行设置分辨率
r.setres 1280x720原创 2018-04-06 13:09:58 · 9504 阅读 · 0 评论