
ue4官方文档学习
directx3d_beginner
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
通过材质节点Panner实现球体自转
纹理坐标的移动,可以达到球体自转的功能,从而减少代码的复杂度。由于是绕着一个轴转动,所以在u方向移动即可。原创 2024-08-01 01:20:38 · 356 阅读 · 0 评论 -
蓝图collapseNodes很有用
学到了,这个collapseNode,可以使代码很清晰,双击后可以看到相应的代码,具有层次感。原创 2024-06-04 07:11:18 · 249 阅读 · 0 评论 -
ue4打包多模块
首先,每个模块,包含插件内的模块在内,都要用IMPLEMENT_MODULE(类名, 模块名)的方式,模块名就是带.build.cs的第一个单词。这里,CoreOne和CoreTwo是工程里的多模块,myplugin和otherM是插件里的多模块。打包中要考虑到target.cs,将工程中相应的模块打包进去。build.cs里就说了这个模块该怎么用,用c#编写。以工程中的一个模块CoreOne为例。再以插件中的一个模块otherM为例。加上一个蓝图能调用的类,用以测试。找到打包位置,双击打开。原创 2024-04-11 09:07:18 · 1251 阅读 · 0 评论 -
ue4绘制线的三种方式
ue原创 2022-08-19 10:05:09 · 6279 阅读 · 0 评论 -
ue4文档接口类学习
ue原创 2022-08-17 10:32:14 · 600 阅读 · 0 评论 -
UE4像素流推
ue4原创 2022-06-05 16:40:10 · 631 阅读 · 0 评论 -
ue4添加第三方库
查了一些资料,发现最后都是用loadlibrary的方式,这样很不方便,如果有10000个函数,要写10000此么?仔细想想,调用第三方库无非就是把头文件和lib库设置下,把相应的.h,.lib和.dll放到相应的位置。再在调用的地方包含头文件即可。只是ue4里面用了build.cs而已,.dll和模块dll放在同一个目录,能找到即可,当然gamemode也得改。上截图在这里插入图片描述...原创 2022-02-14 09:35:18 · 678 阅读 · 0 评论 -
ue4文档学习进度
由于Ue4文档很多,有时又间隔一段时间再看,忘了在哪里了,所以先记录下截至2022年1月18日,https://docs.unrealengine.com/4.26/zh-CN/Basics/Actors/Triggers/原创 2022-01-19 10:35:47 · 709 阅读 · 0 评论 -
cesium for ue4导入学习
学习链接来自于https://www.bilibili.com/s/video/BV1Hi4y1N7zR和https://segmentfault.com/a/1190000039832845感谢。这里我的插件没有cesium sunsky,不过地形算是导进来了。原创 2021-05-08 06:30:53 · 1335 阅读 · 2 评论 -
Replicated和RepNotify
看了UE4文档https://docs.unrealengine.com/zh-CN/Gameplay/HowTo/Networking/ReplicateActor/Blueprints/index.html挺有意思,如果没有Replicated,则只在服务器端运行,客户端运行不了;服务器复制到客户端,一般用Replicated,但是特效传递不过去。如果用RepNotify,则特效也可以传过去...原创 2020-10-09 17:03:30 · 1304 阅读 · 0 评论 -
umg传递数据到HUD的第三种方法-按事件驱动
前面讲了两种,一个是直接传成员变量,一种是get()函数。回顾下:1,在hud的构造函数蓝图中,传递controller的指针过去,作为成员变量2,(1)传成员变量this->value = controller->value;(2)传递函数getXXX <-> return node 对好比std::string getStr(){std::string newValue = controller->value;return new原创 2020-09-24 20:05:05 · 500 阅读 · 0 评论 -
UMG创建暂停官方问题修正
链接来自https://docs.unrealengine.com/zh-CN/Engine/UMG/HowTo/CreatePauseMenu/index.html仍然有几个问题,和创建主菜单类似,就不一一解释了。1,暂停菜单2,人物蓝图原创 2020-09-24 18:04:03 · 134 阅读 · 0 评论 -
UMG主菜单切换到场景中的问题解决
链接来自UE4官方文档https://docs.unrealengine.com/zh-CN/Engine/UMG/HowTo/CreateMainMenu/index.html只说问题1,OptionMenu必须成为一个变量,否则没法在蓝图中设置是否可见2,由于主菜单和游戏场景在同一个关卡内,所以不能用openlevel节点,只需要把鼠标隐藏,就可以进入场景。编译运行1,菜单模式2,选项模式(新建窗口才能改变分辨率)3,进入游戏...原创 2020-09-24 17:16:03 · 389 阅读 · 0 评论 -
通过创建函数来绑定HUD与输入
这里把health的进度条与firstPersonCharacter蓝图类的health相关联每跳一下health减少一部分1,在HUD端2,在firstPersonCharactor蓝图类原创 2020-09-24 14:20:32 · 151 阅读 · 0 评论 -
UMG通过参数传递子弹个数给HUD
今天,看UMG文档,发现无法传递。原因是应该传递到TEXT,而不是EditText,1,在firstpersonCharacter蓝图里(1)创建HUD,并保留HUD指针(2)发射时,子弹数-1,为0时不能发射(3)按R键,子弹数满,25,2,在HUD蓝图里,(1)创造界面(2)构造函数中,保留character对象指针到成员变量(每次获取也可以)(3)绑定相应的TEXT到character对象指针的相应成员变量现在,逐个来看1,在firstpersonCh.原创 2020-09-24 13:03:46 · 306 阅读 · 0 评论 -
蓝图使用接口通信
实际上,类似于是c++中的实现接口。为了简便,两种物体,方块和灯,击中后,打印出击中的名字。首先,创建一个接口打开该蓝图接口,写纯虚函数,将函数改名为printHitName,暂时不加入输入输出参数创建灯的蓝图在灯光蓝图类里,点击类设置->细节->接口->添加->选择myHitInterface在右键点击,选择实现函数,只是打印由于是子弹击中显示名称,所以,在子弹蓝图里写Event...原创 2020-09-22 13:14:25 · 416 阅读 · 0 评论 -
创建蓝图函数
如果把蓝图类当作C++类的设计图,那么函数是必不可少的,即成员函数蓝图类中添加函数改名:myPrint,类似于宏,这里也有输入输出参数接口,只是函数自带执行数据类型,而宏完全自定义只打印出hello即可。在事件图表中,允许输入,按A键时,调用自定义打印函数编译后,将蓝图拖入场景,运行...原创 2020-09-22 11:26:54 · 590 阅读 · 0 评论 -
宏——bp
宏可以认为函数,提供输入参数和输出参数这样能把代码简洁,只考虑函数接口即可。方式是,添加宏,可以添加输入输出,这样可以嵌套到其他代码中。输入输出成对出现,两个图表要么只有输入参数,要么只有输出参数,不能同时既输入又输出。数据类型任意,但是必须要有执行数据类型添加宏:宏energyCheck接口宏enerycheck使用...原创 2020-09-21 22:15:22 · 215 阅读 · 0 评论 -
事件绑定器-BP
蓝图上的事件绑定器,在C++中就是bind lamda,类似于这边绑定炸药包,那边爆炸这个例子是,绑定人的F键,启动着火特效。书上的这个例子有问题。关卡蓝图上,核心在于startfire_事件_1,一边连接这绑定,一边连接着事件触发后的响应。先看第三人称绑定,事件调度器加上”StartFire",拖拽到事件图表,选中调用,再与F键按下相关联触发的事件是在草丛处点燃。把两者坐标放在一起即可。...原创 2020-09-21 21:16:25 · 177 阅读 · 0 评论 -
直接蓝图通信
一看挺吓唬人,其实就是类之间的调用。A类调用B类,把B类的指针放进A类即可。这里只是用蓝图表示而已。这个例子是击中方块后出现火焰效果。简而言之,方块蓝图类调用火焰效果蓝图类,击中就激活。1,方块蓝图类,右键Shape_cube->资源操作->使用此项创建蓝图(这里变灰是刚才已经生成过蓝图了)打开蓝图类,加入特效的蓝图指针类,也就是添加一个变量变量类型为火焰特效类击中后激活火焰蓝图类对于这个火焰蓝图类,由于是击中后才激活,所以把自动激活去掉.原创 2020-09-21 14:26:09 · 188 阅读 · 0 评论 -
碰撞改变材质颜色_bp
感谢来自程序员的暴击,学习资料来于https://www.bilibili.com/video/BV125411h7c4?p=22最大的收获是,材质编辑器上,1维向量到4维向量的生成,会者不难,难者不会,方法很简单。鼠标左键+数字1就会生成1维向量,鼠标左键+数字2就会生成2维向量,鼠标左键+数字3就会生成3维向量,鼠标左键+数字4就会生成4维向量,然后在材质球上输入参数时就方便了。这个视频讲的是,子弹击中方块时,方块变为指定的颜色。必须是子弹击中。这点就涉及到类型转换的过程。..原创 2020-09-21 11:27:06 · 443 阅读 · 0 评论 -
键盘输入_bp
依据惯例,仍然感谢出处,来自程序员的暴击。https://space.bilibili.com/128373173/学习了下,这个说了个什么呢?人到达灯附近,显示提示文字,按F键开灯和关灯切换。远离灯时,提示文字消失,不能切换灯的切换开关状态这个很有意思,1,人:1.1,到达灯附近1.2,远离灯1.3,判断是否输入动作有效1.4,获取输入源2,文本渲染组件:2.1,添加文本渲染组件2.2,文字切换消失和显示状态3,灯:切换灭暗4,输入F键控制灯的灭.原创 2020-09-21 08:56:58 · 606 阅读 · 0 评论 -
蓝图类
感谢程序员的暴击。https://www.bilibili.com/video/BV125411h7c4?p=17这个例子说明了蓝图类的用法,而不是关卡蓝图。把蓝图类当作类就可以了,可以把蓝图类拖到场景多份,就像多个对象一样。蓝图类更加灵活。这个例子是,人经过灯,则关闭的灯打开,打开的灯关闭。人是GameMode中的第三人称灯有三部分,灯罩,点光源和触发盒。1,GameMode设置为第三人称2,建立灯光的蓝图类2,选取父类为Actor...原创 2020-09-20 18:09:09 · 523 阅读 · 0 评论 -
碰撞检测重叠_bp2
感谢来自程序员的暴击,太幽默了,https://space.bilibili.com/128373173/video?tid=0&page=1&keyword=&order=pubdateup主介绍了碰撞检测的相互重叠,overlap和ignore的区别是,重叠时是否通知,即是否有事件,ignore很明显就是忽略。这个例子是碰谁消谁0,两个物体都要勾选生成重叠事件,并把重叠的物体全选√1,选中球体后,在蓝图中添加事件,这个overlapped ACT.原创 2020-09-20 11:52:28 · 453 阅读 · 0 评论 -
碰撞检测_bp
首先,两个物体都有物理碰撞,碰撞预设custom,对象类型为Physicsbody,碰撞相应均为阻挡谁引发模拟生成命中事件,则在关卡写谁的蓝图。这里设定球的模拟生成中事件,即球碰到其他物体后,如何响应在场景里选中球以后,才能在关卡蓝图里写。这里是碰到谁,打印谁的名称(即otherActor)。连接otherActor与instring,自动生成中间转换步骤,如下图所示运行结果:...原创 2020-09-20 11:09:10 · 292 阅读 · 0 评论 -
ue4.24调通了shader文档
先上图,有几个感慨:1,ue4文档不与时俱进,所以还要看源码或者例子。这个就是按照源码插件依葫芦画瓢进行的2,shader加载时机,按照build.cs进行,要不会崩溃,启动编辑器之后才加载3.蓝图要熟,因为要给蓝图用,所以,还要学学。4,渲染到纹理是每帧进行,一开始忘了,所以没出来结果,event tick()5,需要虚拟目录了,6,虚拟目录后,vs和Ps找的shader文件,也不是真实的目录,而是逻辑层次(这点存疑,还需要看看)IMPLEMENT_SHA..原创 2020-07-19 13:36:23 · 828 阅读 · 0 评论 -
ue4碰撞检测要设定DraggingShape-」SetCollisionProfileName(UCollisionProfile::BlockAllDynamic_ProfileName);
一开始碰撞不准,发现设定错了,就这样吧原创 2020-07-06 13:58:01 · 1046 阅读 · 0 评论 -
ue4单选框设置
奇怪的是,ue4只有多选框,原来合并了。.Style(FCoreStyle::Get(), "RadioButton")不多说了,放代码先枚举几个 enum ERadioChoice { Radio0, Radio1, Radio2, }; + SHorizontalBox::Slot() .AutoWidth() ...原创 2020-07-03 20:01:37 · 1972 阅读 · 2 评论 -
ue4多线程测试
看大象无形第九章时,有个自动化测试,其实就是类似于boost测试,调试中,有些问题,没有说清楚,或者方法不对,我用我的理解写下过程,以免忘记了,都是套路。1,测试类头文件放在public下,.cpp放在private里,要不没法测试,我这里默认了是Immdiate目录,中间文件,所以要改目录2,按照一般类的添加方式即可,加上相关头文件,书上没有写,当然我是个好人,哈哈,所以加上,废话不多说,先上代码头文件#pragma once#include "HAL/Runnable.h"c.原创 2020-06-20 14:54:53 · 501 阅读 · 0 评论 -
用hitproxy点选最精确
这个原理实际上就是阴影图,像素级自然最精确了。废话不多说,上源码 UGameViewportClient * clientView = GWorld->GetGameViewport(); FViewport* InViewport = clientView->Viewport; float X = InViewport->GetMouseX(); float Y = InViewport->GetMouseY(); HHitProxy...原创 2020-06-19 23:46:05 · 818 阅读 · 11 评论 -
pawn控制行走和几何体放缩
官方例子上有错误,那个摄像机应该是成员变量,才能在编辑器中显示出来,总动员上的api比较老了,不适合,它们用的attachTo(根组件),现在已经改为SetupAttachment(根组件)了即_ourCamera->SetupAttachment(RootComponent);_ourVisibleComponent->SetupAttachment(RootComponent);其他的没什么好说的,输入应该用pawn类,而不是actor,先上图,可以看到ac.原创 2020-05-25 16:29:59 · 443 阅读 · 0 评论 -
ue4的UPROPERTY()
继续学习B站的up主来自程序员的暴击的视频教程,我的理解就是属性,这个成员变量如何用。初步判断,只读和可读写。在myShowActor类里两个成员变量 UPROPERTY(VisibleAnywhere, Category = "Start") int32 _myReadOnly; UPROPERTY(EditAnywhere, Category = "Start") int32 _myEdit;在蓝图中,就会显示,在下图的sta...原创 2020-05-10 17:56:19 · 1933 阅读 · 0 评论 -
大气相关的光照(正确性不能确保)
在大气的渲染中,涉及到类class FAtmosphericFogSceneInfo : public FRenderResource{};它的光照相关成员函数是 /** Prepare the sun light data as a function of current atmospheric fog state. */ void PrepareSunLi...原创 2020-04-05 20:02:59 · 322 阅读 · 2 评论 -
ue4大气纹理
UE4的大气纹理,在class FAtmosphereTextures : public FRenderResource{};成员变量上涉及到了辐射,投射,和散射分三个部分,首先放入一个commandlist,然后分别就各参数创建RTT,传参数到shader中,比如辐射度算法,创建三维纹理,等都在这里...原创 2020-03-30 17:11:06 · 315 阅读 · 0 评论 -
摄像机切换
摄像机切换也是个重要内容,这两个摄像机来源不同,一个是直接拖动摄像机到场景,一个是先把cube拖动到场景,再加个摄像机组件。后者应该是附着在任何物体上,比如车灯等自然要有个摄像机类cameraDirector,进行管理,一个是立即切换,一个是平滑过渡 分别是ourPlayerController->SetViewTarget(_cameraOne);o...原创 2020-03-27 09:57:32 · 682 阅读 · 0 评论 -
ue4 c++的类变成实体
加了个ue4的actor派生类,加入场景,两种方式1,c++中寻找资源,将编辑器中的相应类拖入场景即可。寻找资源代码,写死头文件 UPROPERTY(VisibleAnywhere) UStaticMeshComponent* _visualMesh;cpp文件 static ConstructorHelpers::FObjectFinder<...原创 2020-03-11 11:50:15 · 602 阅读 · 0 评论 -
虚幻编辑器手册->关卡设计师快速入门学习
原创 2019-12-05 21:16:31 · 284 阅读 · 0 评论