2018年12月13日
摘要:
一、LineTracebyChannel的Out Hit值展开后有一个名为“Hit Bone Name”(击中的骨骼名称),以此来判断击中的是否是头部,进而实现爆头的目的(爆头:高伤害,一枪毙命) 二、注意看 LineTracebyChannel的参数Trace Channel参数设置为“Camer
阅读全文
posted @ 2018-12-13 14:27
一粒沙
阅读(2274)
推荐(0)
2018年12月12日
摘要:
Get All Widgets Of Class、Get All Widgets with Interface,是系统蓝图函数库提供的方法,可以在任何蓝图中使用。 可以方便地获得UI实例对象,进而使用UI实例对象里面的功能函数或者变量
阅读全文
posted @ 2018-12-12 21:47
一粒沙
阅读(1791)
推荐(1)
posted @ 2018-12-12 19:49
一粒沙
阅读(929)
推荐(0)
摘要:
一、在有机器人的游戏中,就不能使用IsLocallyControlled判断。而是要使用这个方法: 二、因为机器人也是属于本地控制的角色。所以不能使用IsLocallyControlled判断是否是本地玩家控制的角色。在有机器人的游戏中,所有使用IsLocallyControlled判断的地方,都要
阅读全文
posted @ 2018-12-12 10:37
一粒沙
阅读(2220)
推荐(1)
2018年12月11日
摘要:
一、新增蓝图继承自Shooter名为AIShooter。玩家角色也是继承自Shooter。 二、使用AIMoveTo追踪玩家。玩家控制的角色调用这个方法没反应。 三、关卡中添加组件NavMeshBoundsVolumne(自动寻路,AI能找到你,就靠这个了),并缩放至合适的大小。按P键,可以显示/隐
阅读全文
posted @ 2018-12-11 10:37
一粒沙
阅读(891)
推荐(0)
2018年12月10日
摘要:
一、Simple Collision:显示简单碰撞体,Comlex Collision:显示复杂碰撞体 二、添加简单和复杂碰撞体 三、自动生成复杂精确的碰撞体
阅读全文
posted @ 2018-12-10 11:40
一粒沙
阅读(1004)
推荐(0)
摘要:
一、自己应该是不能看到第一人称模型的影子,只要将第一人称模型影子不投影的就可以了。Cast Shadow勾选去掉就不会有影子了。 二、在第一人称视角中,枪支也是不应该有投影的。在weanpon中新增2个函数 三、在装备枪的时候调用HideShow函数,在扔枪的时候调用ShowShadow函数
阅读全文
posted @ 2018-12-10 10:55
一粒沙
阅读(3500)
推荐(1)
2018年12月9日
摘要:
这里说的统一颜色,说的是每个玩家看到另外的一个玩家的颜色都是一致的,而不是同一个队伍相同的颜色。 一、同样的在ShooterPlayerState中添加一个变量Color(队伍颜色),设置为可复制。 在服务器玩家分配属性:其实就是使用Switch Has Authority函数保证后续的代码只有在服
阅读全文
posted @ 2018-12-09 21:28
一粒沙
阅读(814)
推荐(0)
摘要:
一、就算角色死亡也应该是能区分属于哪个队伍,因此在ShooterPlayerState中添加一个变量Side(并设置为可复制),用来记录所属队伍。 并且在Begin Play事件中随机分配队伍 二、在Shooter中添加GetSide函数,获得角色所属队伍 三、属于相同队伍,才在小地图中显示出来
阅读全文
posted @ 2018-12-09 20:57
一粒沙
阅读(823)
推荐(0)
2018年12月8日
posted @ 2018-12-08 12:56
一粒沙
阅读(427)
推荐(0)
2018年12月6日
摘要:
一、如果UE4 编辑器已经打开,则VS中的重新生成项目将不能使用,一定要关了UE4 编辑器才可以。一般不是有VS自身的编译UE4的C++代码 二、epic提供了UnrealVS扩展,可以快速编译C++代码,UE4 编辑器打开的情况下也可以编译,如果只修改了一个每次只会编译修改过的文件,极大提供编译速
阅读全文
posted @ 2018-12-06 01:17
一粒沙
阅读(2988)
推荐(0)
2018年12月5日
摘要:
先大量使用蓝图制作项目,后续再用C++把复杂的蓝图重写一遍,用C++代码按照蓝图依葫芦画瓢就可以了,很简单,但需要遵守一些原则: 第一种方法:使用继承 一、创建一个C++类作为蓝图的父类(C++类继承蓝图一样的父类),在UE4中修改蓝图的父类。 二、C++类中的方法、成员变量与蓝图一一对应,并且方法
阅读全文
posted @ 2018-12-05 23:24
一粒沙
阅读(7884)
推荐(1)
posted @ 2018-12-05 22:33
一粒沙
阅读(718)
推荐(0)
摘要:
一、如果直接在C++中使用中文变量名称,在UE4中编译是会出错的,方法的中文注释也会在UE4中变成乱码 二、只要将h文件和cpp文件用记事本另存为utf-8编码就可以了。 也可以配置VS环境: 如何解决呢? 只需要把你的文件用UTF-8保存就可以了。 步骤: 文件-高级保存选项。选择Unicode(
阅读全文
posted @ 2018-12-05 22:12
一粒沙
阅读(2912)
推荐(0)
摘要:
UE4项目在VS中对项目代码编译时报如错,找了好久在UE4论坛上查到了别人的解决方案,贴出来仅供大家参考。 看到一位开发者解释出错的原因如下: There are a number of build configurations available to you, but it helps to t
阅读全文
posted @ 2018-12-05 11:08
一粒沙
阅读(2781)
推荐(0)
2018年12月4日
摘要:
自定义数据表: 成员变量添加UPROPERTY标签,可以享受到UE4垃圾自动管理机制,不用手动释放变量内存。 自定义类 自定义函数添加说明文字,可在蓝图中显示,如果要支持中文,则只要把h和cpp文件以utf-8编码保存就可以了。 注意:EditAnywhere,BlueprintReadWrite等
阅读全文
posted @ 2018-12-04 19:04
一粒沙
阅读(4425)
推荐(0)
2018年12月3日
摘要:
这样是可以的,但如果加上UFUNCTION()就会编译出错,在头文件中,一般不需要加作用域。 去掉作用域就可以编辑成功了。
阅读全文
posted @ 2018-12-03 18:26
一粒沙
阅读(2573)
推荐(0)
摘要:
下载地址 一、下载与UE4相对应的版本 二、在工程根目录新建Plugins目录,解压插件。 三、如果工程已经打开,则需要重新打开 四、重新打开工程后,右下角会有提示有新插件可用。 五、这个插件提供了很多常用的方法。作者也会随着虚幻4版本的更新而更新。 六、如果这里的spawnObject放在Even
阅读全文
posted @ 2018-12-03 13:17
一粒沙
阅读(3061)
推荐(0)
摘要:
在常见的FPS游戏中,玩家死亡以后,还是可以进行聊天和漫游的,因此聊天UI和小地图都应该放在PlayerState中创建
阅读全文
posted @ 2018-12-03 10:54
一粒沙
阅读(664)
推荐(0)
摘要:
在制作缩略图的时候,每次都要手动不断尝试合适的OrthWidh,很是麻烦。 一、使用蓝图实现鼠标滚动动态改变OrthWidh。Get Ortho Width,Set Ortho Width 二、去掉阴影,小地图一般都是不带阴影的。
阅读全文
posted @ 2018-12-03 10:20
一粒沙
阅读(1846)
推荐(0)
2018年12月2日
摘要:
一、创建一个新工程,类型不限,本次测试场创建的是赛车类工程。 二、为了方便管理,最好在All文件文件夹下新建一个名为MiniMap的目录,并把所有小地图相关的都放进来。 三、在小地图工程中,右键RoundMiniMap,选择Asset Actions——》Migrate,会弹出所有关卡RoundMi
阅读全文
posted @ 2018-12-02 21:48
一粒沙
阅读(4810)
推荐(0)
摘要:
一、如果两条直线是垂直的,那么就可以说这2条直线是正交的。既然有垂直,为什么还要有正交概念呢? 因为正交可以描述两个或者多个变量之间互不影响、互不干涉,而垂直是完全属于几何的术语。 二、具有正交关系的两条直线中,如果有一个点沿着其中一条直线运动,那么这个点在另外一条直线上的投影是不变的。 三、考虑电
阅读全文
posted @ 2018-12-02 11:15
一粒沙
阅读(1410)
推荐(0)
2018年12月1日
摘要:
一、Canvas Panel的旋转原点是Render Transform——》Pivot,Pivot坐标的取值范围是0到1,左上角的pivot坐标是[0,0],右下角的pivot坐标是[1,1] 二、由于小地图上面的图标在Canvas panel设置的锚点是中心对齐,因此小地图上面的所有小图标原点都
阅读全文
posted @ 2018-12-01 22:40
一粒沙
阅读(1099)
推荐(0)
摘要:
让玩家角色永远处于小地图的中心位置。 一、将RoundMiniMap的StaticMiniMap使用Canvas Panel包裹,StaticMiniMap的锚点Anchors设置为中心对齐 二、新建一个名为UpdateStaticMiniMap的函数 三、在Event Tick事件中调用Updat
阅读全文
posted @ 2018-12-01 17:03
一粒沙
阅读(1436)
推荐(0)
摘要:
基于物理的材质可以产生更准确并且通常更加自然的外观,在所有照明环境中都可以同样完美地工作! 官方说明
阅读全文
posted @ 2018-12-01 16:29
一粒沙
阅读(1108)
推荐(0)
摘要:
在虚幻引擎 4 中,材质实例化用来更改材质的外观,而不会引起成本高昂的材质重新编译。 实例化材质官方文档
阅读全文
posted @ 2018-12-01 15:23
一粒沙
阅读(1214)
推荐(0)
摘要:
Datasmith 是帮助您将内容导入到虚幻引擎4中的一组工具和插件。 作为虚幻工作室产品的部分,Datasmith设计用于解决非游戏行业人士所面临的独特挑战,例如建筑、工程、建造、制造、实时培训等行业,他们需要使用虚幻引擎进行实时渲染和可视化。但在资源管道方面遇到类似问题的游戏开发者或许也会对Da
阅读全文
posted @ 2018-12-01 14:56
一粒沙
阅读(3025)
推荐(0)
摘要:
一、创建一个名为M_RoundRetainer的材质 二、创建一个名为RoundMiniMap的UserWidget 三、TestMiniMap中将添加进来 四、运行游戏
阅读全文
posted @ 2018-12-01 10:32
一粒沙
阅读(1939)
推荐(0)
2018年11月30日
摘要:
RetainerBox是一个容器,只会影响其容器内的UI,RetainerBox的作用: 一、控制UI更新频率(可能是为有优化性能) 1、在UserWidget中添加Retainer Box容器,并在容器内添加一个名为TextBlock_0的TextBlock。 2、声明一个名为Counter的变量
阅读全文
posted @ 2018-11-30 10:48
一粒沙
阅读(4899)
推荐(0)
2018年11月29日
摘要:
一、新建一个名为M_FriendColor的材质。使用VectorParameter函数 二、新建一个名为FriendFlag的UserWidget,生成随机颜色,并传递给上一步设置的材质参数Color。 三、小地图图标暂时改成FriendFlag 四、运行游戏,小地图圆点是红色的,退出再次运行游戏
阅读全文
posted @ 2018-11-29 22:16
一粒沙
阅读(5353)
推荐(0)
摘要:
将图标改成UserWidget添加到小地图,UserWidget支持动画特效,更丰富小地图的功能。 一、在小地图图标结构体中,将Flag数据类型改成UserWidget,删除ImageWidget(类型是Image,因为不需要了) 二、注意:动态添加UserWidget到其他UserWidget,需
阅读全文
posted @ 2018-11-29 14:08
一粒沙
阅读(2121)
推荐(0)
摘要:
一、创建一个设置UI比例尺的函数 二、通过Get Cached Geometry获得当前UI实际显示的尺寸,Get Desired Size获得当前UI原始尺寸,计算得到UI缩放比例尺 三、地图比例尺*UI比例尺 = 最终缩放比例尺
阅读全文
posted @ 2018-11-29 12:21
一粒沙
阅读(2784)
推荐(0)
2018年11月28日
摘要:
一、优化上一节的蓝图,新建一个函数addFlagToCanvas(动态添加图标到Canvas) 二、 分析地图坐标系和UMG坐标系 要根据实际情况分析关卡坐标系。 UserWidget中的坐标系 三、根据上一步分析得到坐标系对应关系 四、根据上一步提供的公式,修改蓝图,关卡坐标系转换成UMG坐标系
阅读全文
posted @ 2018-11-28 14:34
一粒沙
阅读(3090)
推荐(0)
摘要:
UserWidget中也是有Event Tick事件,游戏运行每一帧都会调用这个事件 一、在MiniMapFlagData结构体中,添加Slot和ImageWidget变量 二、在StaticMiniMap的AddFlag函数中 三、记得在调用AddFlag的时候,要赋值Actor参数
阅读全文
posted @ 2018-11-28 12:15
一粒沙
阅读(859)
推荐(0)
摘要:
Canvas Panel Slot是UserWidget的Canvas Panel组件容器内的组件特有的属性。 只有放置在Canvas Panel容器内才会有Canvas Panel Slot属性 可以在蓝图中动态设置Canvas Panel Slot属性
阅读全文
posted @ 2018-11-28 10:28
一粒沙
阅读(4171)
推荐(0)
2018年11月27日
摘要:
一、调整到顶视图,按住鼠标中键从地图的左边拉一根线到右边,可以看到距离是4000厘米(UE4单位是厘米)。 二、查看到缩略图片的长度是512px,512/4000 = 0.128,比例尺是0.128。(取缩略图与原始宽度,而不是游戏运行时小地图实际宽度?) 三、在TestMiniMap中调用的Set
阅读全文
posted @ 2018-11-27 19:51
一粒沙
阅读(2515)
推荐(0)
摘要:
一、新建一个名为TestMiniMap的UserWidget用来使用小地图StaticMiniMap。 二、在左侧“User Created”面板中可以看到除自身以外的其他所有用户创建的UserWidget。把“Static Mini Map”拖放进来,并勾选“Size To Content”。 S
阅读全文
posted @ 2018-11-27 13:05
一粒沙
阅读(4208)
推荐(0)
摘要:
一、地图缩略图片 二、要显示的图标及其对应的Actor 三、比例尺 四、对位点,只需要一个对位点就可以了。 MapImage:地图缩略图 MapRatio:比例尺 CenterPosition:中央对位点 参数类型 Flag:对应的小图标 Actor:要在小地图上显示的对象
阅读全文
posted @ 2018-11-27 10:07
一粒沙
阅读(980)
推荐(0)
2018年11月26日
摘要:
一、在PhotoShop中新建一个64px*64px,背景色为透明的文档 二、填充“图层1”为白色 三、添加蒙版图层,并将前景色设置为黑色 四、将“图层1”选择45°,并往上拖放至如图位置 五、选择渐变工具,选择第二个预设渐变 六、按着“Shift”键,如图所示右上方下拖放,得到渐变图层 七、保存为
阅读全文
posted @ 2018-11-26 21:35
一粒沙
阅读(1014)
推荐(0)
摘要:
一、创建一个专门用来做缩略图的角色CameraCharacter,不需要实体模型。 二、Auto Possess Player设置为“Player 0” 三、重力比例改成0(这样在天上的时候就不会往下掉) 四、照相机朝下,相机采用正交投影,并根据地图大小设置一个合适的Ortho Width值(正交宽
阅读全文
posted @ 2018-11-26 20:49
一粒沙
阅读(2304)
推荐(0)