Get Time Seconds:游戏开始到现在过去了多少秒…
一.新增蓝图继承自Shooter名为AIShooter.玩家角色也是继承自Shooter. 二.使用AIMoveTo追踪玩家.玩家控制的角色调用这个方法没反应. 三.关卡中添加组件NavMeshBoundsVolumne(自动寻路,AI能找到你,就靠这个了),并缩放至合适的大小.按P键,可以显示/隐藏寻路范围区域(绿色显示). 四.将AIShooter放到场景中.运行游戏,可以看到机器人就会一直跟着我们了.…
角色死亡以后,让控制器控制另外一个只能移动,没有实体的Character角色 使用“Possess”函数让控制器控制新生成的观察者对象.如上图所示要使用Delay延迟1秒再生成观察者,是因为死亡的时候执行了AttachToComponent(把死亡时候第一人称模型的武器转移到第三人称模型上面去),然后又立即调用了Possess控制别的角色,导致调用的AttachToComponent不起作用,所以要延迟一定时间在调用Possess. 注意: 必须使用这个函数获得控制器.而不是使用…
String(字符串) string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value. string 类型是二进制安全的.意思是 redis 的 string 可以包含任何数据.比如邮箱,jpg图片或者序列化的对象. string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB. 使用场景 : 缓存,计数器,微博数,粉丝数,分布式锁     keys pattern : 查找所有符合定模式p…
一.什么是Celery? 中文名翻译为芹菜,是flask中处理异步定时周期任务的第三方组件 二.基本结构 1.需要跑的任务代码app 2.用管道broker与用于存储任务(就是个缓存)  工具一般用redis  或者用rabbitMQ(兔子) 3.执行任务的人worker 简单实例 首先建立三个文件分别写入一下代码 from celery import Celery import time #创建一个Celery实例,这就是我们用户的应用app my_task = Celery("tasks&q…
上面的代码更新库存的数据,存在多线程的问题,第一种方法使用synchronized关键字修饰的语句块代码,但是性能较低,并且还是存在问题的 在分布式的场景下,当前库存系统部署在多个tomcat上,即使加了同步锁,也会存在问题,一个线程访问tomcat1,另外一个线程同时访问tomcat2,两个都是进行减少库存操作也是存在问题的,synchronized同步不能跨jvm 上面的代码在一个jvm进程下面解决多线程是没有问题的,但是在分布式环境下部署多个tomcat下部署多个库存微服务,使用synch…
人物骨骼增加Socket(骨骼) 增加手持武器预览: 角色蓝图增加组件“Skeletal Mesh”(好像这叫骨骼模型吧),并拖放至人物“Mesh”下面作为子组件. 选中刚建好的“SkeletalMesh”,然后再属性面板选择骨骼的挂点(Socket),并且将Location和Rotation全部设置恢复为0,这样就跟在socket中添加的武器预览一样的效果了,不然的话位置和方向会有偏移.…
使用Pre Construct事件可以在编辑器中实时显示出选择的背景图片. 如果使用的是“Construct”事件则只能在游戏运行时把图片显示出来.…
包括构造函数也可以调用父类方法 事件也可以调用父级的事件…
课时1:案例演示 05:12 课时2:工程准备 07:35 (把一个项目从一个工程移动到另一个工程) 1.新建一个空白工程,不包含初学者内容 2.选择我们要复制的工程,按右键,如下图: 复制到新工程的content文件夹 课时3:蓝图类 08:07 课时4:蓝图类的编译和保存 05:44 课时5:开始游戏 08:14 课时6:动画蓝图 07:47 课时7:向前移动 06:49 课时8:向量 05:03 课时9:用向量表示方向 09:23 课时10:自由移动 04:22 课时11:roll·pit…
UE4中的官方文档结构比较混乱,且有部分错误,不方便学习.笔者试图通过本文,整理出一篇关于UE4网络的文章,方便朋友们对UE4中的网络同步部分的认识,并有进一步理解.如有讲得不清楚明白的地方,还望批评指正.如需转载请注明出处,http://www.cnblogs.com/Leonhard-/p/6511821.html,这是对作者最起码的尊重,谢谢大家. 本文的结构如下: 一.UE4网络综述 二.UE4中的几种同步方式 1.Actor Replication 2.Property Replica…
最近会在UE4上实现风格化渲染的需求,所以也借机写一下相关的制作教程.对应日系风格化渲染技法来说,关键还是法线的处理.   法线处理以前翻译的资料很多了,所以也不多做解释了,比如下图是最新的UE4上的卡渲游戏[四女神OL]   UE4开发四女神的示例详细介绍在这里. http://cgworld.jp/feature/201611-ue4fst2016-4gdss.html   用会Max Script或Python的话,可以很方便的在3dsMax或Maya上实现法线替换和烘培的工具,这里时间关…
先看效果图:小木块掉到地板上(小木块本身会消失掉),地板就开始了动效材质切换.引擎版本用的是4.11.2 方法步骤: 首先在UE4内容浏览器中新建一个材质. 第一步要实现一个扫光的效果,如下图. 实现这个效果的材质节点如下 这里有个地方说明一下,因为我这里地板动态扩散效果是沿着Y轴正方向,的所以上图红色线框处Mask值取的是G(RGB=XYZ),可以根据不同情况自己取不同的值. 2.把扫光白条换成自己理想的纹理.在上一张截图Base Color 与最后一个节点之间添加如下材质节点 就可以得到如下…
学习UE4框架中的标签,本篇是总结成员变量标签UPROPERTY. 引擎版本:4.12.5 前期准备: 1.新建项目,C++空模板,新建C++类,继承AActor,名称MyActor. 使用TestActor变量进行测试. // MyActor.h #pragma once #include "GameFramework/Actor.h" #include "MyActor.generated.h" UCLASS() class MYSTEAMONLINEC_API…
最近项目需求制作一个场景的远景部分.正好可以尝试使用一下UE4的 Landscape.不过直接在 Editor 里刷地形工作量太大,刷出的地形也不真实,最关键的是 Landscape 的工具并不是那么好用. 所以我们决定使用 WorldMachine 作为地形的生成工具,将地形的高度图导入 Editor,再在 Editor 中对细节进行修改.WorldMachine 生成的高度图相对人工算出来的要真实,最重要的是快,用它找坡度,沟壑更加准确. 在 UE4 中使用 WorldMachine 还要解…
转自:https://www.unrealengine.com/zh-CN/blog/getting-the-most-out-of-noise-in-ue4 UE4 推出基于材质的程序式噪声已经有一段时间了,但是大多数用户因其高昂的性能成本而不得不限制对其的使用.因此,许多用户采用的方法是在其他程序中编写平铺噪声纹理,然后将其放进 UE4 中使用.很多人都希望能在 UE4 中执行这个步骤,但是找不到足够方便的方法来实现. 我们已经在虚幻引擎 4.13 中满足了这些需求.这些改进可以分为几个类别…
Project Tango应该说是Google一试水AR的设备,其中Project Tango主要二个功能,一个是获取深度信息,如MS的Kinect,有相当多的设备都有这个功能,二是第一人称相对定位,这个就没那么常见了,如果对这个设备有更深的兴趣,可以看知乎上的这二个链接. Google Project Tango获取深度信息的原理是什么? Project tango是如何仅凭自身摄像头实现位置追踪的? 在这就不仔细来说这个东东了,上面二个链接比我自己再来说篇好多了,Project Tango本…
早上10点左右,某台线上ECS服务器突然没响应. 查看日志,发现如下信息: Aug 14 03:26:01 localhost rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="861" x-info="http://www.rsyslog.com"] rsyslogd was HUPedAug 16 09:54:19 localhost kerne…
转自:http://blog.csdn.net/u011707076/article/details/44243103 紧接上回,本篇文章将和大家一同整理总结UE4关于角色网格.动画.子弹类和HUD的简单实现. (五)角色添加网格 Character类为我们默认创建了一个SkeletaMeshComponent组件,所以我们仅仅需要做的就是使用哪一个静态网格模型.接下来我们为我们的FPSCharacter类创建一个蓝图,这样我们可以简单的把资源指定给静态网格模型这里,并且方便以后操作添加的组件.…
转自:http://blog.csdn.net/u011707076/article/details/44180951 从今天开始,我们一起来学习一下,如何使用C++将一个不带有任何初学者内容的空模板,从无到有的创建一个简答却完整的FPS项目,通过这几篇文章的学习,我们大致了解到UE4 C++编程的流程,能够成功创建一个新的游戏模式,创建出第一人称的角色,他能够在场景中漫游并且向周围射击,完成一个整个工程. 第一部分:   (一)创建项目,新建游戏模式   1.新建一个C++的空项目,没有初学者…
按步骤介绍 Red Hat linux 如何增加swap空间 方法/步骤 第一步:确保系统中有足够的空间来用做swap交换空间,我使用的是KVM,准备在一个独立的文件系统中添加一个swap交换文件,在/opt/image中添加2G的swap交换文件 第二步:添加交换文件并设置其大小为2G,使用如下命令 [root@sense image]# dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000 过段时间就返回如下结果: 2048000+…
想在虚拟机里面安装oracle10g,发现默认的swap交换空间不满足最低要求,因为我分配的物理内存是1G,那么就按照要求需要2G的swap交换空间,默认只有1G的交换空间.添加swap交换空间的步骤如下: 第一步:确保系统中有足够的空间来用做swap交换空间,我使用的是KVM,准备在一个独立的文件系统中添加一个swap交换文件,在/opt/image中添加2G的swap交换文件 第二步:添加交换文件并设置其大小为2G,使用如下命令 [root@sense image]# dd if=/dev/…
对个生产库的表增加1个字段.字段类型是INT型, 表数据有2千万条, alter table table_name add xxoo number(4) default  0 ; 因此 不仅要修改字典,还要刷新全部数据. 1) 在ALTER sql中有带缺省值,ORACLE会直接刷新全部的记录.2) 在ALTER sql中没有带缺省值,ORACLE只会影响到后来的记录. alter table table_name add xxoo number(4) default null; Table a…
我参考了这篇文章来构建项目的前台和后台的目录结构.感谢Andy的这篇文章.按照所有的步骤,您将有单独的前台和后台面板,如: http://localhost/index.php // 前台 http://localhost/backend.php // 后台管理 我使用了两个不同的数据模型来处理前台和后台的用户数据库 用户 User 管理用户 AdminUser LoginForm 登录表单 路径: models/LoginForm.php 在这里,我给这个类添加了新的变量,即 userType…
转http://stevex.blog.51cto.com/4300375/1285767/ 刚看到TimeUnit.SECONDS.sleep()方法时觉得挺奇怪的,这里怎么也提供sleep方法? 1 2 3 4 5 6 7 public void sleep(long timeout) throws InterruptedException {     if (timeout > 0) {         long ms = toMillis(timeout);         int ns…
虚幻4中常用的按键和快捷键 虚幻4中有一些按键和快捷键很常用,牢记它们并运动到实际的项目开发中,将会大大地提高你的工作效率和使得工作更简便快捷.下面将列举它们出来: 按键   动作  鼠标左键   选择actor  鼠标左键+拖动   前后移动和左右旋转摄像头  鼠标右键   选择actor并打开右键菜单  鼠标右键+拖动   旋转摄像头方向  鼠标左键+鼠标右键+拖动   摄像头上下左右移动  鼠标中键+拖动   摄像头上下左右移动  滑轮向上   摄像机向前移动  滑轮向下   摄像机向后移…
继上一篇介绍ue4打开web url窗口,这篇就来介绍下怎么访问php接口. 要做的两步: 1.c++自己写个接受请求的方法 f Post lhc-URL Request就是自定义的c++方法, /**###lhc * 增加一个参数,接收一个FString,该参数的意义是:用URL的途径向php webservice发送数据,该数据的格式是key=value&key=value.... * * @param WorldContextObject * @param url * */ void UJ…