[UE4]UMG小结】的更多相关文章

一.当没有需要的UI怎么办?先别急着自己定制,可以到虚幻商城去看看,各种类型的UI都有,而且价格都不贵. 二.推荐一个比较有参考价值的UI:User Interface Kit,里面的UI很多,还有小地图功能. 三.当在虚幻商城没有找到合适的UI是,就可以考虑自己定制UI了.…
转自:https://www.cnblogs.com/kadaj/p/6412937.html 1.创建关卡类 1.创建C++类继承LevelScriptActor 2.打开关卡蓝图 Class Settings->Parent Class 选择你之前创建好的C++类 遇到的问题: 1.Tick()不运行 解决方法:BeginPlay() 增加Super::BeginPlay(); 2.在主关卡类里面创建UMG 1.创建C++类继承UUserWidget,例如:UMyUserWidget; 2.…
一.优化上一节的蓝图,新建一个函数addFlagToCanvas(动态添加图标到Canvas) 二. 分析地图坐标系和UMG坐标系 要根据实际情况分析关卡坐标系. UserWidget中的坐标系 三.根据上一步分析得到坐标系对应关系 四.根据上一步提供的公式,修改蓝图,关卡坐标系转换成UMG坐标系 勘误:如图所示还需要“减去对位中心点”,这样最终得到的坐标才是正确的(下同).完整蓝图详见:https://www.cnblogs.com/timy/p/10037543.html   五.旋转UMG…
原文链接:http://gad.qq.com/article/detail/7181131 本文首发腾讯GAD开发者平台,未经允许,不得转载 UE4的蓝图之强大让人欲罢不能,但是实际在项目的开发中,C++与蓝图都需要结合使用,单独选择一样开发都不是特别科学,这里我就来研究了一下C++使用UMG接口来操作界面,我的目的非常简单,用C++来创建界面,并在创建成功的时候,告诉界面打印出相关信息. 1.创建一个C++的空模板工程,命名UMGProject,用VS打开工程文件,找到UMGProject.B…
在UE4中,有两种方式创建ui,一种是使用slate的方式,一种是UMG,UMG是slate的封装,是一个可视化的ui编辑器.slate则是纯c++方式(之前实验过一次slate创建页面,代码相当麻烦),所以准备采用UMG做几个页面. 在.Build.cs文件中将以下行: PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", &qu…
转自:http://aigo.iteye.com/blog/2279860 UMG - Mouse screen position problem https://forums.unrealengine.com/showthread.php?51577-UMG-Mouse-screen-position-problem UMG Drag & Drop  https://answers.unrealengine.com/questions/144414/umg-drag-drop-ue-46.ht…
Note:4.13以后版本VR UI采用 WidgetComponent + WidgetInteractionComponent可轻松实现交互 Blueprint Demo: https://forums.unrealengine.com/showthread.php?93101-UMG-and-VR https://github.com/ProteusVR/SteamVR_Template…
蓝图函数库的功能非常强劲,如果在项目中使用的话有时能达到事半功倍的效果. 蓝图函数库,Blueprint Function Library.可以非常方便的将代码中的函数暴露给所有的蓝图使用,同时也提供了很好的代码复用性.完成的蓝图函数库可以非常轻易的在其他项目中使用或者共享给其他人.由于在函数库中定义的所有函数都能在其他的蓝图中访问,可以说是和单例模式的C++代码接合的天然素材.也可以防止为了定义一些泛用的函数而频繁的使用接口继承. 使用起来也是非常的简单明了.类似下面的代码就可以完成一个蓝图函…
<Inside UE4>目录 InsideUE4 UE4无疑是非常优秀的世界上最顶尖的引擎之一,性能和效果都非常出众,编辑器工作流也非常的出色,更难得宝贵的是完全的开源让我们有机会去从中吸取营养,学习世界上第一流游戏引擎的架构思想. 本系列教程<Inside UE4>,希望从最最底层的C++源码剖析,到最最上层的蓝图节点,力求解释清楚各个选项的内部运作机理.希望做到知其然,而更要知其所以然.也UE4也是一个非常博大精深的引擎,分析透彻各个具体模块的运作机理无疑也是个艰巨的任务,因此…
由于目前在使用UE4引擎,多少也有一些心得,比如在日常使用中会遇到一些问题.坑(潜规则)或者一些使用技巧等.本人决定开一个大坑,主要有两个目的:一是可以自己做个记录,二是可以给大家提供一些参考吧.主要包括两部分,第一部分主要是UE4的使用,这里面应该主要是我平常开发中遇到的问题,或者一些技巧等.第二部分主要是对UE4引擎部分源码或者架构的解读,当然这部分比较难写,因为它的代码量实在是太多,很难在较短的时间内吃透一个比较大的模块,但是我尽量会输出一些对大家有用的东西.当然这个系列不保证更新频率,一…
声明:本文是自己做的项目,可能不是最好的方法,或有错误使用方式.各位不喜勿喷! HP进度 HP背景 将上面的资源拖到UE4中(使用UE4自带的颜色也可实现效果,具体参考官方教程 https://docs.unrealengine.com/latest/CHN/Engine/UMG/QuickStart/2/index.html) 网上相关教程:https://answers.unrealengine.com/questions/79728/how-to-make-a-progress-bar-i…
UE4 基础,但是不经常用总是忘记,做个笔记加深记忆: 图方便就随便贴一个项目中的STRUCT和 Enum 的.h 文件 Note:虽然USTRUCT可以定义函数,但是不能加UFUNCTION 标签喔 USTRUCT(BlueprintType) struct FData_PageInfo { GENERATED_USTRUCT_BODY() FData_PageInfo(); FData_PageInfo(UChildActorComponent *parent_Com); void reIn…
嘿,基佬你掉的插件! https://github.com/EverNewJoy/VictoryPlugin VictoryBPLibrary ---- 由活跃于 UE4 社区的某基佬 Rama 实现的的超便捷类库插件,封装了大量的公共底层类库(如从Disk硬盘中载入JPG图片/模拟Input事件等) VRUMGPlugin ---- 对3D Widget 的VR 扩展(用于实现VR HMD的UMG 封装插件) PS:(据介绍说4.13 将完善VR 的UI编辑,不知道是真是假,这坑爹插件问题挺多…
H UFUNCTION(BlueprintNativeEvent) void EventName(); virtual void EventName_Implementation(); EventName事件发生时会调用这个函数 CPP void ClassName::EventName_Implementation() 这个宏是UE4的强制内联函数,用于优化,返回Mesh的指针给Pickup FORCEINLINE class UStaticMeshComponent *GetMesh() c…
ue4的ui库Slate体系非常庞大,即使是在创建对象这一小事上,也是相当复杂: SLATECORE_API TSharedRef<SWidget> SNullWidget::NullWidget = SNew(SNullWidgetContent).Visibility(EVisibility::Hidden); 所有SWidget体系内的对象,都要用SNew这个宏来创建,它的内容是: #define SNew( WidgetType, ... ) \ MakeTDecl<Widget…
Project Tango应该说是Google一试水AR的设备,其中Project Tango主要二个功能,一个是获取深度信息,如MS的Kinect,有相当多的设备都有这个功能,二是第一人称相对定位,这个就没那么常见了,如果对这个设备有更深的兴趣,可以看知乎上的这二个链接. Google Project Tango获取深度信息的原理是什么? Project tango是如何仅凭自身摄像头实现位置追踪的? 在这就不仔细来说这个东东了,上面二个链接比我自己再来说篇好多了,Project Tango本…
即使开放世界已然成为现今游戏趋势,切换关卡过程中的读条仍是很难避免的,譬如进入房屋.传送到其他世界等等. 于是就引入了loadingscreen这一需求. loadingscreen顾名思义就是加载过程中通过其他线程显示的画面,可以是真读条(显示当前进度),也可以仅仅转着圈,循环播放某段视频. 我们首先需要新建c++类MyGameInstance继承自GameInstance,并在项目设置中将其设为当前使用的 这里我先创建了一个继承自MyGameInstance的蓝图,叫bp_MyGameIns…
大家可能发现一些大佬讲UE4,首先都会讲类型系统,知道UE4会根据宏标记生成一些特定的内容,UE4几乎所有高级功能都离不开这些内容,一般来说,我们不会直接去使用它. 今天这个Demo内容希望能加深大家的理解,为什么有这个东东了,主要是由于我们产品需要很多根据环境调整的参数,我们需要提供很多UI,一个结构包含五六个参数,对应的参数与UI绑定事件,东东很简单,但是太多了,一多就容易出事,参数结构又在调整,然后就乱了. 参考UE4本身编辑器根据对应结构自动生成UI,UI的更改能更新到对象上,以及JSO…
篇写的是关于UE4的C++方面的小技巧: 1.在构造函数里 //构建组件 RootComponent = CreateDefaultSubobject<USceneComponent>(TEXT("RootComponent")); Camera = CreateDefaultSubobject<UCameraComponent>(TEXT("Camera")); //把组件放到其它组件下 VRCamera->SetupAttachme…
转自:http://aigo.iteye.com/blog/2295448 UMG自带ComboBox组件没有提供直接的属性来修改其字体大小,只能自己做一个列表类型的widget然后再塞进ComboBox中,相当于从头定义一个类似combox的widget,当完全由你重新定义的时候,可以修改的不只是字体大小了.下面教程以修改字体大小为例: 图文教程 How do I set the font size of the UMG ComboBox (String)? https://answers.u…
转自:http://www.cnblogs.com/NEOCSL/p/4059841.html 有很多人是从UE3 接触到Unreal,如果你也对UE3非常了解,便能很快的上手UE4.但是,UE4的开发模式还是有所不同的. 1.谈谈过往,UE1和UE2. 我知道在那个时候咱们一样挥霍美好的童年在玩游戏而不是做游戏,当然做游戏更挥霍你的青春XD UE1和UE2是为FPS设计的,使用UnrealScript来进行编程.说实话UnrealScript是最好的学习面向对象编程的语言. 2.UE3 添加了…
官网:暴露游戏元素给蓝图 https://docs.unrealengine.com/latest/CHN/Engine/Blueprints/TechnicalGuide/ExtendingBlueprints/index.html 官网:创建类的基础知识(代码,蓝图,蓝图调用c++,c++可以直接调用蓝图方法) https://docs.unrealengine.com/latest/CHN/Gameplay/ClassCreation/index.html ----------------…
官网中文 https://docs.unrealengine.com/latest/CHN/index.html 官网英文 https://docs.unrealengine.com/latest/INT/GettingStarted/index.html unreal wiki https://wiki.unrealengine.com/Main_Page 代码api https://docs.unrealengine.com/latest/INT/API/index.html 泰课arpg(…
前言 公司开发的第二个虚幻4项目已经上线了,慢慢趋于稳定.回想起开荒的日子,历历在目.从引擎脚本的选择,各工具(导表,协议生成...)的重构.开发, 引擎扩展(多骨骼支持,Notify扩展,技能编辑器...),UMG蓝图的设计.适配,战斗Demo的创建,开发流程的接轨,功能堆砌,人员一波波的更迭... 回到正题,18年中,立项的时候,UE4的脚本语言都在实验期,没有成熟的,Python.JS V8.Lua等等开源的脚本也都测试过,最终选择了Lua,主要是基于: 1.Lua语言在游戏业的广泛引用性…
转自:https://dawnarc.com/2016/12/ue4%E4%BC%98%E5%8C%96%E5%BB%BA%E8%AE%AE%E4%B8%8E%E7%BB%8F%E9%AA%8C/ 内容都是处理项目问题的相关笔记,留给自己做备忘录,也分享出来让别人少走弯路. 零散记录 GPUProfile来统计性能消耗的时候,在editor模式下不是很准,因为编辑器的消耗也算进去了,如果要用,最好以Game模式来查看. UE4不支持640X480的分辨率,如果在这个分辨率下运行程序,会导致程序崩…
大家知道在Unity里做UI,利用Prefab是少不了的,但是在UE4里如何做呢? 这是实际工作中遇到的问题,我Google关键词“UMG Prefab","UMG resuable”,没发现相关的话题,就自己研究了一下,发现其实UMG里是可以把一部分UI做成"Prefab"的. 大家都知道UMG里可以插入其他Widget的,基本上每个讲到UMG的教程都会提到,但是讲的用法都很鸡肋,没人讲过UMG嵌入其他Widget的应用场景本来就应该是当作类似Unity里的Pre…
UE4 的全名是 Unreal Engine 4,中文译为“虚幻引擎4”.UE4 是一款由 Epic Games 公司开发的开源.商业收费.学习免费的游戏引擎.那你了解UE4吗?如果还不清楚,就一起来看下这篇UE4详解吧! 一.虚幻4术语 1.Actor:可放入关卡中的对象都是 Actor.Actor是支持三维转换(如平移.旋转和缩放)的泛型类.可通过游戏进程代码(C++或蓝图)创建(生成)及销毁Actor.在C++中,AActor是所有Actor的基本类. 2.Component 组件:组件(…
目录 TCHAR 字符 使用TEXT()宏包裹字符串字面量 转换字符编码 FString 字符串 FString 剖析 FString 使用 FName 字符串 FName 剖析 FName 使用 FText 字符串 FText 剖析 FText 使用 总结 参考 TCHAR 字符 C++支持两种字符集:即常见的ANSI编码和宽字符的Unicode编码,实际对应的字符类型分别是char和wchar_t,在不同平台环境下,我们可能需要不同的字符类型. TCHAR就是UE4通过对char和wchar…