05 2018 档案
[UE4]函数参数引用
摘要:函数传递的变量可以当做正常的内部变量使用,而不需要把函数变量赋值给新创建一个内部变量。 阅读全文
posted @ 2018-05-31 09:14 一粒沙 阅读(629) 评论(0) 推荐(0)
[UE4]Get Parent,widget获得父容器实例对象
摘要: 阅读全文
posted @ 2018-05-30 22:35 一粒沙 阅读(1653) 评论(0) 推荐(0)
[UE4]响应鼠标点击
摘要: 阅读全文
posted @ 2018-05-30 22:28 一粒沙 阅读(1220) 评论(0) 推荐(0)
阻止移动鼠标双击页面放大, no double tap
摘要:*{touch-action: none;} 阅读全文
posted @ 2018-05-30 14:34 一粒沙 阅读(254) 评论(0) 推荐(0)
[UE4]读取玩家列表
摘要: 阅读全文
posted @ 2018-05-30 09:09 一粒沙 阅读(794) 评论(0) 推荐(0)
[UE4]保存玩家列表
摘要:“Cast to”可以转换为“纯函数” 阅读全文
posted @ 2018-05-29 22:01 一粒沙 阅读(325) 评论(0) 推荐(0)
[UE4]GameInstance初始化
摘要:GameInstance的生命周期跟游戏进程一样。 每一次进入游戏都会初始化一个GameInstance,直到退出游戏才会被销毁。 不会随着场景的变化而被销毁。 阅读全文
posted @ 2018-05-29 20:59 一粒沙 阅读(859) 评论(0) 推荐(0)
[UE4]需要保存的数据
摘要:数据存储原则是“相关的放在一起,不相关的分开”。 如果存档有几十上百兆,如果放在一起存储容易出现问题(特别是网络游戏):断线、电脑死机、游戏出错等等,存档就会损坏,所以一定要分割存储。 阅读全文
posted @ 2018-05-29 20:47 一粒沙 阅读(468) 评论(0) 推荐(0)
[UE4]UI之间传递数据
摘要:通过创建对方UI类型的变量引用,初始本控件时赋值该变量,就可以对方UI内的方法了。 阅读全文
posted @ 2018-05-27 13:11 一粒沙 阅读(1117) 评论(0) 推荐(0)
[UE4]使用DataTable
摘要: 阅读全文
posted @ 2018-05-26 11:29 一粒沙 阅读(671) 评论(0) 推荐(0)
[UE4]用.csv作为配置文件
摘要:csv文件,以逗号分割的值的文件。 csv文件的第一行一般为表头,第二行开始是字段值。 .csv文件,纯文本,可以用记事本打开看到内容。 excel支持csv文件,方便修改。 导入csv文件: 一、建立一个结构体,用来映射csv文件的表列。 二、用excel创建csv文件,第一列会被UE4自动认为是 阅读全文
posted @ 2018-05-26 07:18 一粒沙 阅读(642) 评论(0) 推荐(0)
[UE4]下拉菜单
摘要: 阅读全文
posted @ 2018-05-25 21:57 一粒沙 阅读(2100) 评论(0) 推荐(0)
[UE4]嵌套Canvas
摘要: 阅读全文
posted @ 2018-05-25 20:53 一粒沙 阅读(470) 评论(0) 推荐(0)
[UE4]自动旋转组件
摘要: 阅读全文
posted @ 2018-05-25 20:38 一粒沙 阅读(864) 评论(0) 推荐(0)
[UE4]背景模糊
摘要:被遮挡的都会被模糊,没被遮挡的不会模糊 阅读全文
posted @ 2018-05-25 20:30 一粒沙 阅读(710) 评论(0) 推荐(0)
[UE4]Cast to转换数据类型
摘要:可以转换纯函数,这样就可以不用加执行线了。 阅读全文
posted @ 2018-05-25 07:50 一粒沙 阅读(6626) 评论(0) 推荐(0)
[UE4]结构体
摘要:只有数据变量属性,没有函数和事件 阅读全文
posted @ 2018-05-25 07:43 一粒沙 阅读(428) 评论(0) 推荐(0)
[UE4]哪些数据可以保存
摘要:基本类型的数据都可以保存(整型,浮点型等等)和容器类型(数组、结构体、Maps(字典表))。 复杂数据类型可以使用结构体把要保存的数据提出出来,通过保存结构体,达到保存复杂数据类型的目的。 阅读全文
posted @ 2018-05-25 07:40 一粒沙 阅读(548) 评论(0) 推荐(0)
[UE4]保存游戏数据
摘要:新建一个继承自“SaveGame”的蓝图。 阅读全文
posted @ 2018-05-24 23:08 一粒沙 阅读(3893) 评论(0) 推荐(0)
[UE4]Lock Always
摘要:创建一个Widget加到视图,指定为鼠标焦点,并显示鼠标 Lock Always:叫鼠标锁定在游戏窗口内。 阅读全文
posted @ 2018-05-24 22:52 一粒沙 阅读(442) 评论(0) 推荐(0)
[UE4]GameMode和GameInstance
摘要:1、GameMode与场景的生命周期是相同的。使用OpenLevel切换到另外一个场景,第一个场景的GameMode就会被销毁,然后场景第二个场景的GameMode 2、GameInstance与进程的生命周期相同。只要不退出游戏,GameInstance就会一直存在,不会被销毁。 3、只要进入游戏 阅读全文
posted @ 2018-05-24 17:33 一粒沙 阅读(2068) 评论(0) 推荐(1)
[UE4]场景加载界面
摘要:就可以这样就可以了,当另外一个场景成功打开后,场景加载界面也会自动消失(因为这是加载界面是添加到当前场景)。 加上delay是为了在小场景测试的时候可以方便看到加载场景,避免场景加载过快看不到,不加的加载场景就会一闪而过。(好像一定要加Delay才行,哪怕Duration设置为0.1,不然加载场景出 阅读全文
posted @ 2018-05-24 17:16 一粒沙 阅读(1381) 评论(0) 推荐(0)
[UE4]end快捷键,落地
摘要:actor的根节点需要是实体模型才可以,end快捷键着地是让actor的根节点着地。 阅读全文
posted @ 2018-05-24 16:55 一粒沙 阅读(1008) 评论(0) 推荐(0)
[UE4]传送门:场景切换
摘要: 阅读全文
posted @ 2018-05-24 16:49 一粒沙 阅读(3880) 评论(0) 推荐(0)
UML类关系:依赖、关联、聚合、组合
摘要:1,依赖关系(Dependency) 单向,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类,是一种“use a”关系 如果A依赖于B,则B表现为A的局部变量,方法参数,静态方法调用等 2,关联关系(Association) 单向或双向(通常我们需要避免使用双向关联关系),是一种"h 阅读全文
posted @ 2018-05-24 08:47 一粒沙 阅读(947) 评论(0) 推荐(1)
[UE4]暂停游戏、退出游戏、游戏输入模式
摘要:游戏主界面WB_Main蓝图 Set Game Paused:暂停游戏 Show Mouse Cursor:显示鼠标 Set Input Mode:设置游戏输入模式(游戏和UI)、仅仅游戏、仅仅UI(需要指定哪一个UI作为焦点) 返回游戏。因为是在WB_UI中,所以调用Remove from Par 阅读全文
posted @ 2018-05-23 16:46 一粒沙 阅读(13551) 评论(0) 推荐(1)
[UE4]九宫格图片拉伸
摘要:Draw As选择:Box Margin:边界尺寸。如果看不清楚,可以把“Draw As”选择“Border”: 阅读全文
posted @ 2018-05-22 21:55 一粒沙 阅读(3720) 评论(0) 推荐(0)
[UE4]限制杀人信息的显示数量
摘要: 阅读全文
posted @ 2018-05-21 23:43 一粒沙 阅读(374) 评论(0) 推荐(0)
[UE4]IsValid方法妙用
摘要:由于UE4中各个对象的创建顺序无法保证,因此可以使用IsValid方法判断一个对象是否有效,如果无效则初始化,如果有效则直接可以使用。 阅读全文
posted @ 2018-05-21 21:07 一粒沙 阅读(2556) 评论(0) 推荐(0)
[UE4]蓝图函数库
摘要:在任何蓝图上都可以调用“蓝图函数库”的方法 阅读全文
posted @ 2018-05-21 21:05 一粒沙 阅读(497) 评论(0) 推荐(0)
[UE4]动态改变UniFormGird子控件的row属性
摘要: 阅读全文
posted @ 2018-05-20 17:29 一粒沙 阅读(335) 评论(0) 推荐(0)
[UE4]创建KillInfoPanel
摘要:不设置UniformGrid的尺寸,改成在父级“WB_FPPCharacter”中设置尺寸,这样可以更方便的控制。 阅读全文
posted @ 2018-05-20 16:27 一粒沙 阅读(378) 评论(0) 推荐(0)
[UE4]UniformGirdPanel
摘要: 阅读全文
posted @ 2018-05-20 15:44 一粒沙 阅读(281) 评论(0) 推荐(0)
[UE4]条件语句Select
摘要:select接收3个参数,输出一个值。 当条件为true时,返回输入到True节点的值。 当条件为false时,返回输入到false节点的值。 select的输入和输出参数也可以是整数、float、Vector、Class、Object等等数据类型,当然也可以是自定义类型。 改变接收参数的数据类型。 阅读全文
posted @ 2018-05-20 12:32 一粒沙 阅读(3678) 评论(0) 推荐(0)
[UE4]蓝图替换节点、引用快捷方式
摘要: 阅读全文
posted @ 2018-05-20 12:22 一粒沙 阅读(896) 评论(0) 推荐(0)
[UE4]控件模板参数
摘要:创建的时候就会变成这样了。 阅读全文
posted @ 2018-05-20 11:40 一粒沙 阅读(348) 评论(0) 推荐(0)
[UE4]控件模板
摘要:控件模板:一个UI可以作为另外一个UI的子控件,这个子控件就是控件模板。 控件模板一般使用“Size Box”组件作为根节点,给“Size Box”组件设置合适的尺寸,显示模式选择“Desired”,“Size Box”就能显示出实际尺寸。 阅读全文
posted @ 2018-05-20 11:07 一粒沙 阅读(557) 评论(0) 推荐(0)
[UE4]HorizontalBox,整体向右对齐
摘要: 阅读全文
posted @ 2018-05-20 10:38 一粒沙 阅读(875) 评论(0) 推荐(0)
[UE4]不推荐的UI更新方式
摘要:在创建UI的时候,把UI保存到一个变量,直接访问其中的控件。 这种方法会增加耦合,不推荐,应当尽量避免使用这种方式。 阅读全文
posted @ 2018-05-20 10:08 一粒沙 阅读(565) 评论(0) 推荐(0)
[UE4]事件驱动的UI更新:事件调度器
摘要:事件调度器就是一个“事件中介”,可以被调用和被关注。 阅读全文
posted @ 2018-05-19 21:41 一粒沙 阅读(739) 评论(0) 推荐(0)
[UE4]在蓝图中设置图片
摘要: 阅读全文
posted @ 2018-05-19 21:35 一粒沙 阅读(4191) 评论(0) 推荐(1)
[UE4]Size To content自动适配大小
摘要: 阅读全文
posted @ 2018-05-19 19:21 一粒沙 阅读(1453) 评论(0) 推荐(0)
[UE4]更新UI的三种方式
摘要:一、函数绑定 二、属性绑定 只会列出匹配的数据类型。 三、事件驱动更新 啦啦啦啦啦 结论:函数和属性绑定的原理都是每帧都去调用绑定的函数/属性,效率比较低下,一般不推荐使用。事件驱动更新的效率最好,性能最好。 在正式的产品开发中,应该尽量使用事件驱动 阅读全文
posted @ 2018-05-19 14:47 一粒沙 阅读(4384) 评论(0) 推荐(0)
[UE4]蓝图继承方法:重写父类方法时,增加父类方法调用
摘要:包括构造函数也可以调用父类方法 事件也可以调用父级的事件 阅读全文
posted @ 2018-05-18 22:15 一粒沙 阅读(5000) 评论(0) 推荐(0)
[UE4]UMG编辑器:中心点对齐
摘要: 阅读全文
posted @ 2018-05-18 21:22 一粒沙 阅读(1985) 评论(0) 推荐(0)
[UE4]AIPerception,AI感知
摘要: 阅读全文
posted @ 2018-05-18 19:47 一粒沙 阅读(1066) 评论(0) 推荐(0)
[UE4]蓝图使用GameMode重构
摘要:GameMode的生命周期贯穿整个游戏,当然也包括各个关卡。因此可以把各个关卡都需要的功能放置在GameMode,以达到功能共享、重复利用的目的! 阅读全文
posted @ 2018-05-18 15:27 一粒沙 阅读(2933) 评论(0) 推荐(0)
[UE4]控制台命令,生成机器人
摘要:在关卡蓝图中: 运行游戏的手,按“·”键(键盘第二行第一个键,数字1前面的一个键)呼出控制台输入界面,输入“ce 事件名称 参数值”,然后回车。 可以添加一个Trigger Box作为机器人的出生点 阅读全文
posted @ 2018-05-18 12:25 一粒沙 阅读(1517) 评论(0) 推荐(0)
[UE4]关卡蓝图
摘要: 阅读全文
posted @ 2018-05-17 22:59 一粒沙 阅读(544) 评论(0) 推荐(0)
[UE4]寻找敌人
摘要: 阅读全文
posted @ 2018-05-17 22:52 一粒沙 阅读(462) 评论(0) 推荐(0)
[UE4]区分敌我
摘要:第一方法是:使用Actor对象的Tag: 只要继承自Actor的对象,都会有Tags这个属性,这是一个数组,可以添加多个Tag。 在蓝图中可以使用“get Components by Tag”获得某个类带有指定Tag的所有对象。 也可以判断一个Actor是否包含有指定的Tag。 第二种方法是,在搜索 阅读全文
posted @ 2018-05-17 17:10 一粒沙 阅读(927) 评论(0) 推荐(0)
[UE4]用Blenspace混合空间动画代替AimOffset动画偏移
摘要: 阅读全文
posted @ 2018-05-17 16:42 一粒沙 阅读(1399) 评论(0) 推荐(0)
[UE4]计算AimOffset偏移动画的角度
摘要: 阅读全文
posted @ 2018-05-17 16:09 一粒沙 阅读(663) 评论(0) 推荐(0)
[UE4]AnimOffset偏移动画
摘要:在每个在偏移动画要用到的动画文件中设置中设置上图属性。 也可以选择多个动画文件: 阅读全文
posted @ 2018-05-17 14:36 一粒沙 阅读(2084) 评论(0) 推荐(0)
[UE4]机器人射击逻辑行为树
摘要:1、寻找敌人 2、如果没有找到,等待2秒,跳转到1 3、如果找到了,走向敌人 4、走向敌人的过程中,如果看见敌人了,则射击 5、如果敌人没有了,则跳转到1 阅读全文
posted @ 2018-05-17 13:50 一粒沙 阅读(464) 评论(0) 推荐(0)
[UE4]修改射击方向
摘要: 阅读全文
posted @ 2018-05-17 12:46 一粒沙 阅读(445) 评论(0) 推荐(0)
[UE4]自定义服务器Service
摘要: 阅读全文
posted @ 2018-05-16 22:58 一粒沙 阅读(436) 评论(0) 推荐(0)
[UE4]装饰器:Blackboard(装饰器的一种,不是黑板)
摘要:装饰器Blackboard可以检查黑板的值是否满足期望的条件: 添加“Blackboard装饰器”:在组合或者任务节点上右键“添加装饰器...”,跟普通装饰器一样。 Notify Observer:通知观察 On Result Change:条件发生变化时进行再次评估。 On Value Chang 阅读全文
posted @ 2018-05-16 21:27 一粒沙 阅读(2705) 评论(0) 推荐(0)
[UE4]认识Decorator
摘要:Decorator装饰器:即为其他行为树系统中的条件语句,附着于一个Composite(组合节点)或者Task(任务节点),并定义树中的一个分支或者单个节点是否可被执行。 Decorator装饰器节点返回True,被依附的节点会被执行;Decorator节点返回False,被依附的节点不会被执行。 阅读全文
posted @ 2018-05-16 20:26 一粒沙 阅读(827) 评论(0) 推荐(1)
[UE4]Task的定义与使用
摘要:在Task蓝图里面可以像普通蓝图一样添加函数、变量。 也可以通过使用“set blackboard value as”设置黑板变量,使用“get blackboard value as”获得黑板变量值。 注意:自定义Task的最后一定要调用“Finish Execute”返回true或者false, 阅读全文
posted @ 2018-05-16 13:41 一粒沙 阅读(820) 评论(0) 推荐(0)
[UE4]定义和使用黑板、使用/赋值黑板变量
摘要:黑板,其实就是相当于字典表,一个key对应一个value,key不能重复 阅读全文
posted @ 2018-05-15 10:15 一粒沙 阅读(3991) 评论(0) 推荐(0)
[UE4]在AIController中使用行为树
摘要:行为树会在Root根下面的每个子节点中从左右到右来回往复循环执行。 阅读全文
posted @ 2018-05-14 22:15 一粒沙 阅读(1468) 评论(0) 推荐(0)
[UE4]行为树,组合节点:Selector和Sequence
摘要:行为树节点 一、Composite组合节点: 1、Selector 要求比较低:只要有一个子节点成功就可以了。 只要子节点有一个返回true,则停止执行其它子节点,并且Selector返回true。如果所有子节点都返回false,则Selector返回false。 2、Sequence 要求比较高: 阅读全文
posted @ 2018-05-14 22:05 一粒沙 阅读(2413) 评论(0) 推荐(0)
[UE4]死亡后调整视角
摘要:AddLocalOffset:本地坐标偏移。 脱离控制器操作 会影响“OnDie”方法里面的相机移动操作,而函数里面又不允许使用“Delay”方法,但可以使用“Set Timer By Function Name”方法。 阅读全文
posted @ 2018-05-14 15:25 一粒沙 阅读(895) 评论(0) 推荐(0)
[UE4]Delay的使用技巧:改变引擎执行顺序
摘要:如果要游戏一开始就让机器人开火,但这是引擎还没有执行到武器的创建步骤,就可以使用“Delay”并设置函数的等待时间,让引擎先执行创建枪的步骤,然后机器人开火就没问题了。 阅读全文
posted @ 2018-05-14 09:37 一粒沙 阅读(977) 评论(0) 推荐(0)
[UE4]子弹穿透多个机器人
摘要:一、将机器人的碰撞类型改成“OverLap” 二、使用“MultiLineTraceByChannel”这个是可以穿透检测,可以检测到多个物体(前提是被检测物体的碰撞类型是“OverLap”)。“LineTraceByChannel”只能检测到一个碰撞物体。 三、如果机器人在修改碰撞类型前就已经放置 阅读全文
posted @ 2018-05-13 23:16 一粒沙 阅读(709) 评论(0) 推荐(0)
[UE4]碰撞机制
摘要:应用于两种情况: 一、射线追踪,LineTrace 1.射线来自某个Trace Channel 2.Trace Channel 默认有两个:Visibility(不是可见的意思。只是Channel名称)/Camera(不是相机的意思。只是Channel名称),可增加自定义的Channel Mesh也 阅读全文
posted @ 2018-05-13 22:11 一粒沙 阅读(3840) 评论(0) 推荐(0)
[UE4]蓝图调试
摘要:增加断点 “查找节点”:点击后会跳转到当前停留的断点处。 阅读全文
posted @ 2018-05-13 21:37 一粒沙 阅读(542) 评论(0) 推荐(0)
[UE4]Make Array创建数组,而不是定义数组
摘要:当不想新建一个数组对象的时候,就可以使用“Make Array”创建一个数组 阅读全文
posted @ 2018-05-13 20:15 一粒沙 阅读(1886) 评论(0) 推荐(0)
[UE4]多线程开关,开启的解决方案
摘要:像这样直接获取值就会被警告。 解决方法:定义一个变量speed,然后在“Blueprint Update Animation”事件中赋值给这个变量。 这样就不会被警告了。 另外一种解决方法:就是关掉多线程。但一般不建议这么做,毕竟多线程可是个好东西,可以提高程序的性能。 阅读全文
posted @ 2018-05-13 11:40 一粒沙 阅读(1662) 评论(0) 推荐(0)
[UE4]Actor的Destroyed事件
摘要: 阅读全文
posted @ 2018-05-13 11:13 一粒沙 阅读(1309) 评论(0) 推荐(0)
[UE4]创建Shooter基类,2种方法
摘要:一、可以通过直接修改"BP_FPPCharacter"的名字为“BP_Shooter”作为基类,然后新建一个"BP_FPPCharacter"继承自“BP_Shooter”。 这种方法适用于各个类对"BP_FPPCharacter"依赖不多的情况。 二、创建一个“BP_Shooter”继承于“Cha 阅读全文
posted @ 2018-05-12 11:32 一粒沙 阅读(428) 评论(0) 推荐(0)
[UE4]蓝图的颜色
摘要:一、蓝色:调用的函数或事件 二、绿色:纯函数 三、紫色:函数定义 四、灰色:宏 五、白色:执行线 六、事件的定义 另外还有数据类型的颜色: 执行线是白色,数据线颜色跟数据量类型一致。 阅读全文
posted @ 2018-05-12 08:59 一粒沙 阅读(2807) 评论(0) 推荐(0)
[UE4]Break展开复杂数据结构
摘要: 阅读全文
posted @ 2018-05-12 08:49 一粒沙 阅读(452) 评论(0) 推荐(0)
[UE4]模拟物理子弹
摘要:模拟物理子弹有时候会穿透对象,所以不建议使用 阅读全文
posted @ 2018-05-12 08:41 一粒沙 阅读(530) 评论(0) 推荐(0)
[UE4]增加开枪冷却时间, Get Time Seconds
摘要:Get Time Seconds:游戏开始到现在过去了多少秒 阅读全文
posted @ 2018-05-11 17:16 一粒沙 阅读(851) 评论(0) 推荐(0)
[UE4]让子弹产生伤害
摘要: 阅读全文
posted @ 2018-05-11 16:30 一粒沙 阅读(549) 评论(0) 推荐(0)
[UE4]子弹碰撞
摘要:在子弹actor蓝图“BP_LauncherBullet”中添加一个球体碰撞组件“Sphere Collision”,并设置为actor的根组件(直接拖放到默认根组件上面就会覆盖) 子弹碰撞预设 “BlockAll” 假如:把“Sphere Collision”删除,直接把“Sphere”作为根节点 阅读全文
posted @ 2018-05-11 15:07 一粒沙 阅读(1554) 评论(0) 推荐(0)
[UE4]让子弹飞:抛射物子弹、瞬时子弹
摘要:两种子弹: 1、瞬时子弹。(使用射线) 没有飞行时间,即打即中。 2、飞行的子弹。 a、使用ProjectMovement(抛射物)组件 创建一个继承自“Actor”的蓝图“BP_LauncherBullet” 添加组件一个球体“Phere”当做子弹,并缩小至合适大小。添加ProjectMoveme 阅读全文
posted @ 2018-05-11 13:33 一粒沙 阅读(5367) 评论(0) 推荐(1)
[UE4]利用取模运算达到循环遍历数组的目的
摘要:X mod Y: 1、X<Y: X mod Y = X。计算记过永远都是等于X 2、X=Y:X mod Y = 0。重新回到数组第一个索引位置 阅读全文
posted @ 2018-05-11 10:19 一粒沙 阅读(2059) 评论(0) 推荐(0)
[UE4]运行时进入观察模式
摘要: 阅读全文
posted @ 2018-05-10 13:57 一粒沙 阅读(544) 评论(0) 推荐(0)
[UE4]创建多把枪,使用Class,参数的对象类型
摘要:先来说说函数输入参数的区别: 1、Object Reference 2、Class Reference 会出现可以让你选择一个类 3、Soft Object Reference 4、Soft Class Reference 阅读全文
posted @ 2018-05-10 10:05 一粒沙 阅读(1023) 评论(0) 推荐(0)
[UE4]运行时创建Actor
摘要: 阅读全文
posted @ 2018-05-09 23:55 一粒沙 阅读(1261) 评论(0) 推荐(0)
[UE4]换枪需要做的事,容器:数组、集合、Map
摘要:换枪: 1.需要同时保存多把枪 2.换下去的枪需要隐藏,而不是销毁 3.换枪应该有动作 4.不同的枪应该有不同的行为 蓝图中常见的容器 1.数组 特点: 1.元素连续存放 2.通过索引访问 3.索引从0开始,连续递增 2.集合 集合会把重复的元素去掉,也就是集合不存在重复的元素。 需要先把集合转换成 阅读全文
posted @ 2018-05-09 15:11 一粒沙 阅读(1113) 评论(0) 推荐(0)
[UE4]蓝图重构
摘要:假设现在有一个蓝图类BP_GunRife(已经有其它很多类在使用这个类),现在要增加另外一把枪BP_BunLauncher。 可以新建一个父类BP_Gun,让BP_GunRife和BP_BunLauncher都继承BP_Gun类: 比较方便的重构方法有: 1、直接把现有的“BP_GunRife”改名 阅读全文
posted @ 2018-05-09 14:30 一粒沙 阅读(536) 评论(0) 推荐(0)
[UE4]为什么会有类型检查
摘要:类型检查 定义:对象的行为是否符合类型的行为 作用:帮助开发者找出潜在的错误。 类型转换 隐式类型转换:整数可以和浮点数运算 显式类型转换/强制类型转换 阅读全文
posted @ 2018-05-08 17:18 一粒沙 阅读(489) 评论(0) 推荐(0)
[UE4]ChildActor组件
摘要:ChildActor组件可以让一个actor成为另外actor的组成部分,并在视图中展示出来。 阅读全文
posted @ 2018-05-08 16:31 一粒沙 阅读(3138) 评论(0) 推荐(0)
[UE4]把枪抽象为一个类
摘要: 阅读全文
posted @ 2018-05-08 16:10 一粒沙 阅读(377) 评论(0) 推荐(0)
[UE4]Character,飞行模式。
摘要:Character 是pawn的子类,可以行走、跳跃、游泳、飞行的Pawn。 阅读全文
posted @ 2018-05-08 11:52 一粒沙 阅读(3874) 评论(0) 推荐(0)
[UE4]Pawn和Controller,第一人称和第三人称切换
摘要:一、 Pawn 可以被控制的Actor,可以被Controller持有控制,并且从Controller中接受输入。例如:玩家、NPC(Not Player Character) 二、Controller 是非实体的Actor,可以持有Pawn并控制它的行为。 1.PlayerController 是 阅读全文
posted @ 2018-05-08 11:18 一粒沙 阅读(5133) 评论(0) 推荐(0)
[UE4]组件
摘要:用来组成Actor的子对象,Actor是由组件组成的。 几个关键的Component类型: 一、UActorComponent 这个Component的基类,可以被放到Actor里面, 可以接受Tick事件(每隔一帧调用一次)。 UActorComponent本身是没有3D变化(位置、缩放、朝向)数 阅读全文
posted @ 2018-05-07 23:06 一粒沙 阅读(2234) 评论(0) 推荐(0)
[UE4]Acotr
摘要:任何能被放在关卡中的对象都是Actor Tick是每帧都会调用的事件 阅读全文
posted @ 2018-05-07 22:00 一粒沙 阅读(324) 评论(0) 推荐(0)
[UE4]封装、继承、多态
摘要:面向对象编程的三大特征 一、封装 公开能做什么,隐藏如何做。封装的目的是减少类之间的依赖。 二、继承 让一个类拥有另一个类的状态和行为,前者可以不加修改地完全复用后者的实现,也可以对有些行为做出自己的实现。 继承的目的是复用代码 三、多态 一个接口,多种实现。 多态的目的是让代码更通用。 阅读全文
posted @ 2018-05-07 21:46 一粒沙 阅读(701) 评论(0) 推荐(0)
[UE4]目标是Pawn、Get Player Character
摘要:“目标是Pawn”表示这一个定义继承与Pawn类的方法。 这样可以很清楚的看到这个是方法是在什么地方定义的 “Get Player Character”可以获得当前控制的角色实例,可以转换成真正具体的Character实例 阅读全文
posted @ 2018-05-07 20:37 一粒沙 阅读(3026) 评论(0) 推荐(0)
[UE4]场景光照改进PostProcessVolume
摘要:PostProcessVolume可以做的效果很多,其中就可以实现太阳光斑效果。 Unbound勾上上,就表示不受“PostProcessVolume”组件的大小限制,直接应用到整个世界。如果不勾选,则只影响“PostProcessVolume”组件的覆盖范围内。 看向太阳,就能看到有光斑效果了。 阅读全文
posted @ 2018-05-06 09:30 一粒沙 阅读(7454) 评论(0) 推荐(0)
[UE4]把工程升级到最新版本
摘要:右键UE4工程文件,选择“Switch Unreal Engine version...” 确定后,再次双击打开工程升级到最新版本了。 阅读全文
posted @ 2018-05-05 17:36 一粒沙 阅读(3894) 评论(0) 推荐(0)
[UE4]蓝图转换成C++代码
摘要:版本:4.12 1.进行如下设置 2.将项目打包出来(任意一平台都行,本文以Windows为例) 3.打包完成后才会在原项目工程中生成蓝图转换成c++的代码 4.如图路径(转换后的代码路径较深所以一步一步说明) C_SourceCode是我建立UE4的项目名 Intermediate文件夹内是转化后 阅读全文
posted @ 2018-05-05 12:18 一粒沙 阅读(11429) 评论(0) 推荐(0)
[UE4]添加射击的准心
摘要:其实就是创建一个UI Widget,在UI Widget中添加一个准心图片(png)格式,准心图片设置为屏幕居中对齐,然后在自定义的GameMode中把这个UI Widget添加到视图中。 阅读全文
posted @ 2018-05-05 12:09 一粒沙 阅读(1485) 评论(0) 推荐(0)
[UE4]GameMode
摘要:GameMode定义了正在玩的游戏规则,积分等方面,游戏中有些数据和逻辑不适合放在某一个对象身上,这些数据在整个游戏运行中腰持续存在的(比如:积分、排名)。 每次游戏一启动,GameMode就被创建,GameMode可以记录随着游戏生命周期一直存在的数据,GameMode与GameInstance是 阅读全文
posted @ 2018-05-05 10:25 一粒沙 阅读(1957) 评论(0) 推荐(0)
[UE4]动画事件
摘要:在动画中添加事件通知,在动画蓝图中就可以使用这个事件通知: 在动画蓝图中可以使用“Try Get Pawn Owner”取得控制的角色实例 在Controller中,可以使用“Get Controlled Pawn”取得控制的角色实例 在AIController中,可以使用“Get Player C 阅读全文
posted @ 2018-05-04 23:18 一粒沙 阅读(2643) 评论(0) 推荐(0)
[UE4]有限状态机、动画状态机、纯函数
摘要:有限状态机 FSM:Finite State Machine,表示有限个状态以及在这些状态之间转移和动作的数学模型 纯函数: 纯函数: 先后调用顺序不重要,没有修改任何数值,只是获取数值或者临时计算一些数值,不更改已有的数值,只在需要的时候被执行,这样的函数就可以被定义为纯函数。 纯函数可以让整个蓝 阅读全文
posted @ 2018-05-04 20:35 一粒沙 阅读(4729) 评论(0) 推荐(1)
[UE4]使机器人受伤
摘要: 阅读全文
posted @ 2018-05-04 16:22 一粒沙 阅读(396) 评论(0) 推荐(0)
[UE4]计算机中的数据表示
摘要:一、位:数据的最小单位,一个位仅有两种状态 一个电路,通或断;磁盘上的小磁铁,南极或北极; 使用Bit表示位,百兆带宽,一秒钟可以传输一百兆个bit 二、字节:8个位组成一个字节,一个字节有256种状态。 字节使用Bye表示,1KB=1024字节,1MB=1024KB,1GB=1024MB C语言常 阅读全文
posted @ 2018-05-04 15:27 一粒沙 阅读(358) 评论(0) 推荐(0)
[UE4]UE4中的常见类
摘要:一、Actor:可以放在世界中物体 二、Pawn:可以接受Controller输入的Actor 三、Character:是一个可以行走、跑、跳等行为的Pawn 四、Controller:没有物理表现的Actor,可以控制Pawn 五、PlayerController:用于控制玩家角色 留、AICon 阅读全文
posted @ 2018-05-04 14:29 一粒沙 阅读(587) 评论(0) 推荐(0)
[UE4]射中机器人
摘要: 阅读全文
posted @ 2018-05-04 00:05 一粒沙 阅读(233) 评论(0) 推荐(0)
[UE4]射击和直线追踪
摘要:只有有朝向的组件(如character、Controller等)才能动态获取到朝向,在编辑视图中会有一个箭头表示正前方: 如果是没有朝向的组件(如摄像机),则获取到的朝向永远是固定的 阅读全文
posted @ 2018-05-03 20:37 一粒沙 阅读(520) 评论(0) 推荐(0)
[UE4]添加机器人
摘要:跟玩家角色一样,机器人也是继承自“Character”,动画蓝图也是跟角色玩家的一样,区别是机器人要使用“AIController”来控制 阅读全文
posted @ 2018-05-03 18:11 一粒沙 阅读(682) 评论(0) 推荐(0)
[UE4]让AI跑起来
摘要:让AI由静止状态变成跑步状态,做法跟玩家角色走路一样。 一、创建1D混合动画 二、在AI角色关联的动画蓝图中使用第一步创建的混合动画 阅读全文
posted @ 2018-05-03 16:59 一粒沙 阅读(2428) 评论(0) 推荐(0)
[UE4]机器人自动寻路
摘要:要让机器人能够自动寻路,需要画出自动寻路的范围,可以使用“Nav Mesh Bounds Volume”组件来自定寻路范围 通过“Delay”节点可以实现让AI执行Move To以后停顿1秒,然后继续搜寻并移动到目标,这样就可以实现AI不断搜寻。 如果AI与目标之间有障碍物,AI是会自动绕过障碍物的 阅读全文
posted @ 2018-05-03 16:17 一粒沙 阅读(4179) 评论(0) 推荐(0)
[UE4]产生开枪特效
摘要: 阅读全文
posted @ 2018-05-02 21:45 一粒沙 阅读(1301) 评论(0) 推荐(0)
[UE4]角色、动画蓝图、动画蒙太奇、动画之间的调用关系
摘要:一、在“角色”中设置要使用的“动画蓝图” 二、在“动画蓝图”中使用“动画”和“混合动画” 三、在“混合动画”中,也可以使用“动画” 四、在角色中使用“动画蒙太奇” 阅读全文
posted @ 2018-05-02 16:50 一粒沙 阅读(9146) 评论(0) 推荐(0)
[UE4]Axis Mappings轴映射和动作映射Action Mappings的区别
摘要:这里添加的映射只能在“玩家角色(Character)”的事件蓝图中使用。 从它们设置和蓝图使用界面就能看出他们的区别 阅读全文
posted @ 2018-05-02 16:19 一粒沙 阅读(1924) 评论(0) 推荐(0)
[UE4]添加蒙太奇动画
摘要:选择蒙太奇所使用的骨骼 阅读全文
posted @ 2018-05-02 15:57 一粒沙 阅读(1304) 评论(0) 推荐(0)
[UE4]混合动画以及Try Get Pawn Owner、Get Velocity、VectorLength的使用
摘要:混合动画,可以混合个多动画之间的动画,多个动画相当于关键帧,关键帧之间可以生成混合出过度动画。 实时动态更新Speed参数。 知识点: 一、可以在蓝图中使用“Try Get Pawn Owner”取得角色控制者 二、使用“Get Velocity”可以取得Pawn的移动速度 三、使用“VectorL 阅读全文
posted @ 2018-05-01 23:36 一粒沙 阅读(4752) 评论(0) 推荐(0)
[UE4]角色增加挂点、增加枪
摘要:人物骨骼增加Socket(骨骼) 增加手持武器预览: 角色蓝图增加组件“Skeletal Mesh”(好像这叫骨骼模型吧),并拖放至人物“Mesh”下面作为子组件。 选中刚建好的“SkeletalMesh”,然后再属性面板选择骨骼的挂点(Socket),并且将Location和Rotation全部设 阅读全文
posted @ 2018-05-01 21:45 一粒沙 阅读(3685) 评论(0) 推荐(0)
[UE4]动画序列面板
摘要: 阅读全文
posted @ 2018-05-01 15:42 一粒沙 阅读(730) 评论(0) 推荐(0)
[UE4]蓝图Get Control Rotation获取人物角色朝向,设置默认人物相机,朝向与controller绑定
摘要:具体应用:控制人物移动方向 也可以使用“CombineRotators”将角色控制器Z轴旋转90°,然后再取正面方向,达到跟“Get Right Vector”一样的效果: 设置关联人物朝向使用控制器的朝向,如果这了不设置,则只会发生相机改变朝向,而人物朝向不会变化(枪口不会指向相机的方向)。Con 阅读全文
posted @ 2018-05-01 14:53 一粒沙 阅读(18553) 评论(0) 推荐(0)