12 2018 档案
[UE4]如何编译部署独立专用服务端(Standalone Dedicated Server)
摘要:这是论坛上对UE服务端功能的回答,意思是UE4提供了网游服务端所具备的特性,包括位移修正、物理碰撞检测。这些特性不是UE4才加入,早期UE版本就有了。 https://answers.unrealengine.com/questions/14311/what-online-multiplayer-f 阅读全文
posted @ 2018-12-31 12:43 一粒沙 阅读(11499) 评论(0) 推荐(1)
[UE4]缓存选项 Is volatile
摘要:volatile:易变的,不稳定的; (液体或油) 易挥发的; 爆炸性的; 快活的,轻快的; UI中的Is Volatile选项:意思当前控件是容易变化的。 这个是一个性能上的优化。 默认情况下UI都是不太可能会发生变化的,因此默认情况下是会进行缓存的,如果UI发生了变化(位置、缩放等等),则缓存就 阅读全文
posted @ 2018-12-30 22:56 一粒沙 阅读(1417) 评论(1) 推荐(2)
[UE4]手柄导航 Navigation
摘要:Navigation是对应游戏手柄。Left、Right、Up、Down、Next、Previous分别对应游戏手柄上的左、右、上、下、下一个、上一个按键。 Left、Right、Up、Down、Next、Previous的下来选项都是一样的。 一、Escape 默认情况下是这个选项。如上面第一个图 阅读全文
posted @ 2018-12-30 21:57 一粒沙 阅读(2725) 评论(0) 推荐(0)
[UE4]裁剪 Clipping
摘要:Clipping裁剪,是每个UI都有的属性。一般是在容器UI上设置,对容器内的UI进行裁剪。 一、Clip to Bounds:裁剪到边界 二、Clip To Bounds - Without Intersecting(Advanced):如下图的UI层级结构。 Inner容器的Clipping设置 阅读全文
posted @ 2018-12-30 21:24 一粒沙 阅读(3802) 评论(0) 推荐(0)
[UE4]位移和形变 Render Transform
摘要:任何UI控件都有Render Transform属性。 一、Transform,对应游戏场景中的Transform 1、Translation:位置,平移。对应游戏场景的Transform中的Location 并不会影响容器其他控件的位置。 2、Scale:拉伸缩放。拉伸会导致变形,文字变得不清晰。 阅读全文
posted @ 2018-12-30 20:25 一粒沙 阅读(5389) 评论(0) 推荐(0)
[UE4]蓝图调试小心得
摘要:假设某个功能由10个蓝图步骤组成,在第10步的某个蓝图函数的其中一个参数为none,可以使用not equal(Object)和Print从第10步开始,一步一步倒退到第一步检查,看看是哪一个步骤参数传递有问题。 当然如果数据类型是int就是要NotEqual(int)方法来判断。 阅读全文
posted @ 2018-12-30 20:06 一粒沙 阅读(1176) 评论(0) 推荐(0)
[UE4]Visiblity、Render Opacity
摘要:Visiblity 1、Visible 默认是visible,可见,并且可响应事件(如点击事件) 2、Collapsed 不可见、不响应事件、不占用容器空间 3、Hidden 不可见,不响应事件,但占用容器空间。 4、Hit Test Invisible 能看见,但是不响应事件。当前控件时容器时,H 阅读全文
posted @ 2018-12-30 11:59 一粒沙 阅读(1436) 评论(0) 推荐(0)
[UE4]Tool Tip - 提示信息
摘要:一、每一个Widget都有Tool Tip,在运行时鼠标移动到UI上,就会显示填写的Tool Tip文字 二、Toop Tips的字体样式和大小不可更改。但是可以Tool Tip可以绑定到一个Widget以丰富Tool Tip的显示。 三、ToopTips的应用之一:物品栏上,鼠标移动到物品上去,物 阅读全文
posted @ 2018-12-30 10:46 一粒沙 阅读(2734) 评论(0) 推荐(0)
[UE4]工程设置:自动捕获鼠标、通过代码设置鼠标显示隐藏、输入模式、编译时自动保存
摘要:一、在4.20版本中运行游戏,在没有进行任何设置的情况下,游戏不会自动捕获鼠标,游戏不会接受输入,需要手动点一下游戏界面才行。如果要跟老版本一样运行游戏自动捕获鼠标,需要进行设置 二、也可以通过代码的方式设置鼠标显示隐藏和输入模式 三、编译时自动保存 阅读全文
posted @ 2018-12-28 12:03 一粒沙 阅读(3320) 评论(0) 推荐(0)
[UE4]蓝图节点的组织
摘要:1、将选择的多个蓝图节点变成一个节点,可以给这个节点命名;还可以随时展开这个节点 2、也可以将选中的蓝图节点转换成一个函数或者一个宏。当然也是可以随时展开成原来的样子。 3、变成节点的话,会生成一个子节点,方便查看。 阅读全文
posted @ 2018-12-27 21:08 一粒沙 阅读(2223) 评论(0) 推荐(0)
[UE4]宏
摘要:宏和函数的区别 “展开”就是直接将宏代码直接复制粘贴替换到所有使用当前宏的地方。这个跟C++中的宏是一样的。 1、宏可以有多个入口,多个出口,函数只有一个入口,一个出口 2、宏的参数可以使用“Exec”类型,函数不可以 3、类的成员函数可以被子类继承,但宏不会被继承,子类无法使用父类的宏。 4、可以 阅读全文
posted @ 2018-12-27 19:52 一粒沙 阅读(4430) 评论(0) 推荐(1)
[UE4]对象
摘要:类型和类 1、类型,Type,代表了数据含义,程序员可以对数据进行哪些操作。如果是整数,就可以进行加减乘除;如果是字符串,可以进行打印、连接、但不能对字符串进行加减乘除。 2、类,class,自定义类型。 对象,Object 1、广义:对象和变量是一个意思(类型的实例) 2、狭义:类型的实例 对象在 阅读全文
posted @ 2018-12-27 16:39 一粒沙 阅读(475) 评论(0) 推荐(0)
[UE4]传值与传引用
摘要:值传递是圆形图标 设置引用需要使用Set by ref函数 对象在蓝图中都是以引用传递 对象,不需要额外设置参数类型是传值还是传引用。 结构体在蓝图中默认是按值传递 也可以手动设置结构体参数为按引用类型,结构体传递就会变成引用传递 阅读全文
posted @ 2018-12-27 16:03 一粒沙 阅读(2567) 评论(0) 推荐(1)
[UE4]蓝图中的基本数据类型
摘要:uint8:无符号整数(非负整数),u:unsigned 字符串 蓝图Utilities下有很多引擎自带的各种类型的对象的常用方法。 字符串与整数之间的转换(例如将字符串“23”转换成数字23) 如果转换失败,则会得到数字0,比如“a”转出数字,因为“a”并不是数字。 阅读全文
posted @ 2018-12-27 14:14 一粒沙 阅读(2950) 评论(0) 推荐(0)
[UE4]位与字节
摘要:位 1、bit,比特 2、一个位可以表示两个值,0或者1(一个位只能表示0或者1,并不是能同时表示0和1)。 3、一个位为什么只能是2个值,而不能是3个值呢?这是由于技术因素造成的,在硬件中,如果用一个元器件来表示一个位的两个值是非常简单直接的, 4、比方说CPU,CPU是超大规模继承电路,如果用一 阅读全文
posted @ 2018-12-27 12:13 一粒沙 阅读(965) 评论(0) 推荐(0)
[UE4]Delay与Retriggerable Delay
摘要:一、Delay 在右上角都有一个表盘的图标,表示不是在当帧内执行,而是需要一定时间才能完成的。 鼠标移上去,会有一段文字注释。根据指定的延迟时间执行一个延后的动作。当计时还没有结束的时候,如果再次被调用的话,这个调用会被忽略,计时不会被重置。 如果在2秒内连续多次按下A键,屏幕上只会打印一次“A i 阅读全文
posted @ 2018-12-27 11:32 一粒沙 阅读(4974) 评论(0) 推荐(0)
[UE4]UE4是单线程的吗?
摘要:并行与串行 并行是同时在执行,串行是一个接一个地执行 进程与线程 笼统的说,进程是游戏的一次运行,线程是进程里面分配CPU资源的最小单位 类比 1、把世界看成一台计算机 2、世界里面的人可以看成是一个一个的进程 3、一个人可以分心做很多事情:一边走路一边看手机、一边吃饭一边看电视、一边听歌一边学习 阅读全文
posted @ 2018-12-26 23:52 一粒沙 阅读(2491) 评论(0) 推荐(0)
[UE4]时序问题
摘要:时序问题 有依赖关系的两段代码,执行时间不确定,所引起的问题。 举例 1、Shooter引用了Weapon,Weapon引用了Shooter。射击者需要持有枪,枪需要判断是否有主人(枪的持有者)。在枪要引用持有者的时候,可以使用Delay一段时间(1秒,甚至更短)在引用持有者就没问题了。 2、UI引 阅读全文
posted @ 2018-12-26 17:34 一粒沙 阅读(974) 评论(0) 推荐(0)
[UE4]蓝图比C++慢10倍,是吗?
摘要:首先,蓝图肯定是比C++慢。 任何脚本语言(需要解释执行的语言),和C++相比可能达到十倍甚至百倍的差距。比如Java、Python、Lua,JS。 脚本语言是运行在虚拟机上的,所以它们比起直接运行的代码要慢,要慢很多。 蓝图属于脚本语言,其性能不比Java、Python、Lua,JS差。 蓝图比C 阅读全文
posted @ 2018-12-25 22:23 一粒沙 阅读(5184) 评论(0) 推荐(0)
[UE4]游戏主循环
摘要:游戏的运行模型 理解游戏的运行模型,对处理很多游戏错误有非常大的帮助。 游戏是有一个主循环的。那么游戏主循环做了什么事情呢? 游戏主循环一次就表示一帧,游戏主循环包括:接受输入、处理游戏逻辑、渲染、Sleep。 帧的英文是Frame,帧率英文是Frame Per Second(简称FPS)。 一般游 阅读全文
posted @ 2018-12-25 21:34 一粒沙 阅读(1977) 评论(0) 推荐(0)
[UE4]Math Expression计算数学公式,可以接受参数
摘要: 阅读全文
posted @ 2018-12-24 21:05 一粒沙 阅读(1021) 评论(0) 推荐(0)
[UE4]InterpToMovement
摘要:InterpToMovement:可以让Actor在规定时间内,在多个点之间循环移动。 Duration:规定时间 阅读全文
posted @ 2018-12-24 21:01 一粒沙 阅读(1106) 评论(0) 推荐(0)
[UE4]Exec数据类型
摘要:Exec是虚幻4中的一种数据类型,可以作为宏函数参数的数据类型。在宏函数库中也可以使用Exec数据类型。 阅读全文
posted @ 2018-12-22 14:32 一粒沙 阅读(1066) 评论(0) 推荐(0)
[UE4]控制流
摘要:虽然官方文档说复杂的蓝图循环是会跨域多帧运行,但实际上测试下来,如果在循环体进行大量复杂的运算,不足以在一帧内完成时,游戏就会在当前帧卡住,直到循环结束为止。 一、Switch Switch可以在所有枚举类型(包括自定义枚举)上使用。 数字可以Add pin。 二、Branch 三、Delay 四、 阅读全文
posted @ 2018-12-20 21:03 一粒沙 阅读(2062) 评论(0) 推荐(0)
[UE4]纯函数的执行时机
摘要:一、纯函数是在需要的时候被调用 二、纯函数内不应当修改任何数据 三、如果同一个函数需要多个得到多个纯函数的返回值,则多个纯函数的调用顺序不是固定的,并且一个纯函数的调用顺序也不应当影响下一个纯函数的返回值。 GetCount会被调用2次,而不是第一次调用就存储起来供第二次调用。 因此如果在虚函数中进 阅读全文
posted @ 2018-12-14 16:33 一粒沙 阅读(1067) 评论(0) 推荐(0)
[UE4]运行模式
摘要:Selected Viewport和Simulate都可以在游戏模式和漫游模式之间切换。 Selected Viewport:默认是游戏模式。 Simulate:默认是漫游模式。 按Ctrl+F1后,可以点击Possess按钮在游戏模式和漫游模式之间进行切换 阅读全文
posted @ 2018-12-14 10:25 一粒沙 阅读(1891) 评论(0) 推荐(0)
[UE4]GameUserSettings
摘要: 阅读全文
posted @ 2018-12-13 19:38 一粒沙 阅读(1383) 评论(0) 推荐(0)
[UE4]爆头和穿墙
摘要:一、LineTracebyChannel的Out Hit值展开后有一个名为“Hit Bone Name”(击中的骨骼名称),以此来判断击中的是否是头部,进而实现爆头的目的(爆头:高伤害,一枪毙命) 二、注意看 LineTracebyChannel的参数Trace Channel参数设置为“Camer 阅读全文
posted @ 2018-12-13 14:27 一粒沙 阅读(2295) 评论(0) 推荐(0)
[UE4]Get All Widgets Of Class、Get All Widgets with Interface,根据类名或者接口UI实例对象
摘要:Get All Widgets Of Class、Get All Widgets with Interface,是系统蓝图函数库提供的方法,可以在任何蓝图中使用。 可以方便地获得UI实例对象,进而使用UI实例对象里面的功能函数或者变量 阅读全文
posted @ 2018-12-12 21:47 一粒沙 阅读(1804) 评论(0) 推荐(1)
[UE4]让机器人开枪射击
摘要: 阅读全文
posted @ 2018-12-12 19:49 一粒沙 阅读(930) 评论(0) 推荐(0)
[UE4 ]Is Locally Controlled的局限性
摘要:一、在有机器人的游戏中,就不能使用IsLocallyControlled判断。而是要使用这个方法: 二、因为机器人也是属于本地控制的角色。所以不能使用IsLocallyControlled判断是否是本地玩家控制的角色。在有机器人的游戏中,所有使用IsLocallyControlled判断的地方,都要 阅读全文
posted @ 2018-12-12 10:37 一粒沙 阅读(2235) 评论(0) 推荐(1)
[UE4]增加机器人
摘要:一、新增蓝图继承自Shooter名为AIShooter。玩家角色也是继承自Shooter。 二、使用AIMoveTo追踪玩家。玩家控制的角色调用这个方法没反应。 三、关卡中添加组件NavMeshBoundsVolumne(自动寻路,AI能找到你,就靠这个了),并缩放至合适的大小。按P键,可以显示/隐 阅读全文
posted @ 2018-12-11 10:37 一粒沙 阅读(897) 评论(0) 推荐(0)
[UE4]修改枪支碰撞体
摘要:一、Simple Collision:显示简单碰撞体,Comlex Collision:显示复杂碰撞体 二、添加简单和复杂碰撞体 三、自动生成复杂精确的碰撞体 阅读全文
posted @ 2018-12-10 11:40 一粒沙 阅读(1012) 评论(0) 推荐(0)
[UE4]解决角色影子的问题
摘要:一、自己应该是不能看到第一人称模型的影子,只要将第一人称模型影子不投影的就可以了。Cast Shadow勾选去掉就不会有影子了。 二、在第一人称视角中,枪支也是不应该有投影的。在weanpon中新增2个函数 三、在装备枪的时候调用HideShow函数,在扔枪的时候调用ShowShadow函数 阅读全文
posted @ 2018-12-10 10:55 一粒沙 阅读(3528) 评论(0) 推荐(1)
[UE4]统一颜色
摘要:这里说的统一颜色,说的是每个玩家看到另外的一个玩家的颜色都是一致的,而不是同一个队伍相同的颜色。 一、同样的在ShooterPlayerState中添加一个变量Color(队伍颜色),设置为可复制。 在服务器玩家分配属性:其实就是使用Switch Has Authority函数保证后续的代码只有在服 阅读全文
posted @ 2018-12-09 21:28 一粒沙 阅读(821) 评论(0) 推荐(0)
[UE4]区分队友
摘要:一、就算角色死亡也应该是能区分属于哪个队伍,因此在ShooterPlayerState中添加一个变量Side(并设置为可复制),用来记录所属队伍。 并且在Begin Play事件中随机分配队伍 二、在Shooter中添加GetSide函数,获得角色所属队伍 三、属于相同队伍,才在小地图中显示出来 阅读全文
posted @ 2018-12-09 20:57 一粒沙 阅读(828) 评论(0) 推荐(0)
[UE4]显示队友
摘要: 阅读全文
posted @ 2018-12-08 12:56 一粒沙 阅读(429) 评论(0) 推荐(0)
[UE4]使用UnrealVS扩展快速编译C++代码
摘要:一、如果UE4 编辑器已经打开,则VS中的重新生成项目将不能使用,一定要关了UE4 编辑器才可以。一般不是有VS自身的编译UE4的C++代码 二、epic提供了UnrealVS扩展,可以快速编译C++代码,UE4 编辑器打开的情况下也可以编译,如果只修改了一个每次只会编译修改过的文件,极大提供编译速 阅读全文
posted @ 2018-12-06 01:17 一粒沙 阅读(2995) 评论(1) 推荐(0)
[UE4]使用C++重写蓝图,SpawnObject根据类型动态创建UObject
摘要:先大量使用蓝图制作项目,后续再用C++把复杂的蓝图重写一遍,用C++代码按照蓝图依葫芦画瓢就可以了,很简单,但需要遵守一些原则: 第一种方法:使用继承 一、创建一个C++类作为蓝图的父类(C++类继承蓝图一样的父类),在UE4中修改蓝图的父类。 二、C++类中的方法、成员变量与蓝图一一对应,并且方法 阅读全文
posted @ 2018-12-05 23:24 一粒沙 阅读(7911) 评论(0) 推荐(1)
[UE4]C++中的注释
摘要: 阅读全文
posted @ 2018-12-05 22:33 一粒沙 阅读(718) 评论(0) 推荐(0)
[UE4]在C++中使用中文变量和中文注释
摘要:一、如果直接在C++中使用中文变量名称,在UE4中编译是会出错的,方法的中文注释也会在UE4中变成乱码 二、只要将h文件和cpp文件用记事本另存为utf-8编码就可以了。 也可以配置VS环境: 如何解决呢? 只需要把你的文件用UTF-8保存就可以了。 步骤: 文件-高级保存选项。选择Unicode( 阅读全文
posted @ 2018-12-05 22:12 一粒沙 阅读(2930) 评论(0) 推荐(0)
[UE4]The global shader cache file missing 运行错误解决办法
摘要:UE4项目在VS中对项目代码编译时报如错,找了好久在UE4论坛上查到了别人的解决方案,贴出来仅供大家参考。 看到一位开发者解释出错的原因如下: There are a number of build configurations available to you, but it helps to t 阅读全文
posted @ 2018-12-05 11:08 一粒沙 阅读(2793) 评论(0) 推荐(0)
[UE4]自定义结构体、类、数据表
摘要:自定义数据表: 成员变量添加UPROPERTY标签,可以享受到UE4垃圾自动管理机制,不用手动释放变量内存。 自定义类 自定义函数添加说明文字,可在蓝图中显示,如果要支持中文,则只要把h和cpp文件以utf-8编码保存就可以了。 注意:EditAnywhere,BlueprintReadWrite等 阅读全文
posted @ 2018-12-04 19:04 一粒沙 阅读(4436) 评论(0) 推荐(0)
[UE4]使用UFUNCTION注意事项
摘要:这样是可以的,但如果加上UFUNCTION()就会编译出错,在头文件中,一般不需要加作用域。 去掉作用域就可以编辑成功了。 阅读全文
posted @ 2018-12-03 18:26 一粒沙 阅读(2580) 评论(0) 推荐(0)
[UE4]一个好用的虚幻4插件,根据资源名称动态加载资源,GetCurrentLeveName(获得当前地图名称)
摘要:下载地址 一、下载与UE4相对应的版本 二、在工程根目录新建Plugins目录,解压插件。 三、如果工程已经打开,则需要重新打开 四、重新打开工程后,右下角会有提示有新插件可用。 五、这个插件提供了很多常用的方法。作者也会随着虚幻4版本的更新而更新。 六、如果这里的spawnObject放在Even 阅读全文
posted @ 2018-12-03 13:17 一粒沙 阅读(3078) 评论(0) 推荐(0)
[UE4]小地图UI放在哪里创建合适?
摘要:在常见的FPS游戏中,玩家死亡以后,还是可以进行聊天和漫游的,因此聊天UI和小地图都应该放在PlayerState中创建 阅读全文
posted @ 2018-12-03 10:54 一粒沙 阅读(670) 评论(0) 推荐(0)
[UE4]动态改变相机OrthWidh、关掉阴影
摘要:在制作缩略图的时候,每次都要手动不断尝试合适的OrthWidh,很是麻烦。 一、使用蓝图实现鼠标滚动动态改变OrthWidh。Get Ortho Width,Set Ortho Width 二、去掉阴影,小地图一般都是不带阴影的。 阅读全文
posted @ 2018-12-03 10:20 一粒沙 阅读(1856) 评论(0) 推荐(0)
[UE4]迁移小地图到其他工程
摘要:一、创建一个新工程,类型不限,本次测试场创建的是赛车类工程。 二、为了方便管理,最好在All文件文件夹下新建一个名为MiniMap的目录,并把所有小地图相关的都放进来。 三、在小地图工程中,右键RoundMiniMap,选择Asset Actions——》Migrate,会弹出所有关卡RoundMi 阅读全文
posted @ 2018-12-02 21:48 一粒沙 阅读(4828) 评论(1) 推荐(0)
[UE4]正交
摘要:一、如果两条直线是垂直的,那么就可以说这2条直线是正交的。既然有垂直,为什么还要有正交概念呢? 因为正交可以描述两个或者多个变量之间互不影响、互不干涉,而垂直是完全属于几何的术语。 二、具有正交关系的两条直线中,如果有一个点沿着其中一条直线运动,那么这个点在另外一条直线上的投影是不变的。 三、考虑电 阅读全文
posted @ 2018-12-02 11:15 一粒沙 阅读(1418) 评论(0) 推荐(0)
[UE4]旋转小地图
摘要:一、Canvas Panel的旋转原点是Render Transform——》Pivot,Pivot坐标的取值范围是0到1,左上角的pivot坐标是[0,0],右下角的pivot坐标是[1,1] 二、由于小地图上面的图标在Canvas panel设置的锚点是中心对齐,因此小地图上面的所有小图标原点都 阅读全文
posted @ 2018-12-01 22:40 一粒沙 阅读(1111) 评论(0) 推荐(0)
[UE4]移动小地图
摘要:让玩家角色永远处于小地图的中心位置。 一、将RoundMiniMap的StaticMiniMap使用Canvas Panel包裹,StaticMiniMap的锚点Anchors设置为中心对齐 二、新建一个名为UpdateStaticMiniMap的函数 三、在Event Tick事件中调用Updat 阅读全文
posted @ 2018-12-01 17:03 一粒沙 阅读(1440) 评论(0) 推荐(0)
[UE4]基于物理的材质
摘要:基于物理的材质可以产生更准确并且通常更加自然的外观,在所有照明环境中都可以同样完美地工作! 官方说明 阅读全文
posted @ 2018-12-01 16:29 一粒沙 阅读(1112) 评论(0) 推荐(0)
[UE4]实例化材质
摘要:在虚幻引擎 4 中,材质实例化用来更改材质的外观,而不会引起成本高昂的材质重新编译。 实例化材质官方文档 阅读全文
posted @ 2018-12-01 15:23 一粒沙 阅读(1217) 评论(0) 推荐(0)
[UE4]Datasmith
摘要:Datasmith 是帮助您将内容导入到虚幻引擎4中的一组工具和插件。 作为虚幻工作室产品的部分,Datasmith设计用于解决非游戏行业人士所面临的独特挑战,例如建筑、工程、建造、制造、实时培训等行业,他们需要使用虚幻引擎进行实时渲染和可视化。但在资源管道方面遇到类似问题的游戏开发者或许也会对Da 阅读全文
posted @ 2018-12-01 14:56 一粒沙 阅读(3039) 评论(0) 推荐(0)
[UE4]圆形小地图
摘要:一、创建一个名为M_RoundRetainer的材质 二、创建一个名为RoundMiniMap的UserWidget 三、TestMiniMap中将添加进来 四、运行游戏 阅读全文
posted @ 2018-12-01 10:32 一粒沙 阅读(1953) 评论(1) 推荐(0)