怎么使用虚幻4多人游戏开发开发游戏

主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
CSDN &《程序员》研发主编,投稿&纠错等事宜请致邮
你只管努力,剩下的交给时光!
个人大数据技术博客:http://www.iteblog.com
人生得意须尽欢,莫使金樽空对月。
2016 年 9 月 23-24 日,由 CSDN 和创新工场联合主办的“”(Mobile Developer Conference China)将在北京o 国家会议中心召开,来自iOS、Android、跨平台开发、产品设计、VR开发、移动直播、人工智能、物联网、硬件开发、信息无障碍10个领域的技术专家将分享他们在各自行业的真知灼见。
从8月8日起至9月4日,MDCC大会门票处于6.8折优惠票价阶段,五人以上团购更有特惠,限量供应(,6.8折优惠,欲购从速!)
作者简介:房燕良,小米互娱VR技术专家。从2001年开始,自主研发3代游戏引擎,发布游戏超过10款。代表作品有《仙剑3》《功夫世界》《龙online》《神兵传奇》等。从2007年开始接触虚幻3引擎,对虚幻引擎有深入的研究和实践。在MDCC 2016上,房燕良将结合自身经验,以及对于虚幻4引擎渲染系统架构的理解,分享《虚幻4引擎渲染系统结构解析》。
虚幻引擎作为国际顶尖水平的3D引擎,一直是很多像我这样的技术人员的向往,感谢Epic Games采取了免费、开源的政策,使得“旧时王谢堂前燕,飞入寻常百姓家”。在当前VR开发如此火热的情况下,虚幻4在VR方面一直保持着技术领先。笔者有幸在虚幻3时代就有机会深入地学习了这款引擎,目前也在从事虚幻4 VR领域的开发工作,所以希望把自己的一点经验分享给更多的对虚幻4引擎技术感兴趣的同学。虚幻4 VR开发从何入手很多人都听说“虚幻引擎比较难学”,其实我想说“对未知的恐惧是学习新知的最大障碍”,并且虚幻4在易用性上确实已经比前一代有大幅改进。所以,希望对虚幻4引擎技术已经动心的同学,放松心情,勇敢一点,其实没那么难。无论是VR,还是游戏开发,首先我们都需要对引擎中的概念有一个基础的理解,把基础知识掌握好。这包括基本的编辑器操作、资源管理流程、C++/Blueprint蓝图编程,以及Actor、ActorComponent等基础入门知识。由于大量的入门知识并不适合使用文字表达,所以我正在CSDN学院连载虚幻4入门的系列视频教学课程()。对于没有接触过虚幻4开发的读者,我建议先看看此视频教程,再继续阅读本文。对引擎有了基本掌握之后,VR开发也就水到渠成了。VR开发在技术上,主要是需要对接主流的VR硬件,包括头戴式显示(HMD)、手柄等。例如Oculus和HTC Vive都提供了自己的SDK,让软件开发者可以访问他们的硬件。而整合这些SDK的工作,虚幻4引擎已经做好了,我们只要开启指定的插件即可(如图1所示)。虚幻4引擎在上层,针对VR硬件提供统一的抽象接口,在下面的示例中我们详细讲解。图1
虚幻4内置了主流VR硬件支持插件在Gear VR上开发搭积木的小游戏下面我们通过在Gear VR上运行一个简单的搭积木小游戏,来讲述使用虚幻4开发VR游戏的基本知识。在这个小游戏中,我们使用视线瞄准一个积木块,然后点击Gear VR头盔右侧的Touch Pad即可拿起积木;这时,转动头盔,拿起的积木块会跟随视线移动;再次点击Touch Pad,将这块积木放下。之后,使用物理刚体模拟,来进行状态更新。你可以尝试把很多积木块堆积起来。Gear VR项目创建首先我们需要使用C++ Basic Code工程模板来创建一个新的工程,基本设置要选择:Mobile/Tablet,以及Scalable 2D/3D。这里要注意,必须选择C++的工程模板,使用Blueprint模板的话,在打包到Gear VR后将无法正常运行。然后,必须向引擎中添加一个Oculus签名文件。具体的方法是:■ 手机使用USB线连接电脑;
■ 使用“adb devices”命令获取Device ID,例如:0b05;
■ 打开网址,把签名的Device ID粘贴进输入框,然后点Download按钮;
■ 将获取到的文件(例如oculussig_0b05)放入:引擎安装目录\引擎版本号\Engine\Build\Android\Java\assets(如图2所示)。
■ 最后,需要在编辑器中打开“Project Settings”-&“Android”,修改以下选项:
Minimum SDK Version:设置为19;
Target SDK Version:设置为19;
Conf igure the AndroidMani fest for
deployment to GearVR。
OSIG文件存储路径这样配置之后,这个UE4项目就可以打包到Gear VR上运行了。资源准备尽管虚幻4引擎中默认带了一些基本形状的几何体,不过,我还是使用3ds Max生成了一套自己的几何体FBX文件。另外,还有几个表情图标作为这些几何体的贴图,我们将使用不同的表情来标识对象的不同状态。将这些FBX、TGA文件拖入Content Browser中,即可导入。图3
积木的材质接下来,我们要在引擎中创建一个材质,如图3所示。请注意,贴图的节点“TextureSampleParameter2D”是一个Parameter,这使得我们可以在运行时改变这个节点的内容。Gear VR开发基础功能首先,创建一个叫作VRPlayerBase的C++类,它从Pawn派生,作为我们的玩家角色。开发Gear VR游戏的话,如果每次测试都要打包到手机上去运行,实在是相当忧伤,因为每次打包的时间……呵呵。所以,我写了一段C++代码,使用鼠标来模拟HMD头盔转动,这样就可以很方便地在编辑器中测试视线焦点相关的操作了。另外,Gear VR Touch Pad相关的操作,也封装了一下,一起放到这个类里面。关键代码如下:void AVRPlayerBase(class UInputComponent* InputComponent)
Super(InputComponent);
UPlayerInput(FInputAxisKeyMapping("Turn", EKeys, 1.f));
UPlayerInput(FInputAxisKeyMapping("LookUp", EKeys, -1.f));
UPlayerInput(FInputActionKeyMapping("MouseLMB", EKeys));
InputComponent-&BindAxis("Turn", this, &AVRPlayerBase);
InputComponent-&BindAxis("LookUp", this, &AVRPlayerBase);
InputComponent-&BindAction("MouseLMB", IE_Pressed, this, &AVRPlayerBase);
InputComponent-&BindTouch(IE_Pressed, this, &AVRPlayerBase);
InputComponent-&BindTouch(IE_Released, this, &AVRPlayerBase);
InputComponent-&BindTouch(IE_Repeat, this, &AVRPlayerBase);
}那么,在Gear VR真机运行时,如何使得摄像机跟随头显转动呢?这就简单了,因为引擎已经实现了这个功能,只不过它是实现在PlayerController上,这里设置一下VR Player的转动与Controller一致即可(见图4)。图4
Pawn的朝向设置接下来我们实现视线焦点检测的功能,这部分使用Blueprint来开发,具体情况见图5。图5
视线检测功能在此蓝图中,我们调用了引擎所提供的“LineTraceByChannel”来进行射线检测,见图6。图6
LineTraceByChannel我们需要指定这条线段的起点和终点。起点就是玩家的眼睛所在的位置:使用GetActorEyeViewPoint节点取得;终点就是沿着玩家的面朝向(GetForwardVector)一定距离的一个点。LineTraceByChannel有两个返回值,其中“Out Hit”是一个结构体,我们使用Break节点来取出结构体中我们需要的项:射线击中的最近的那个Actor;然后我们检测它是否实现了“BPI_VRObject”蓝图接口(这是我们自己定义的一个蓝图接口,后面详述);最后我们调用自定义事件:“OnFocusActorChanged”来处理具体的逻辑。现在,可以设置一个新的GameMode,来指定这个类作为Player Pawn,然后把它设置成默认的GameMode。积木块创建一个新的蓝图类,用来实现积木块的相关功能,选择从Static Mesh Actor来派生。首先,为了实现动态改变积木块贴图的功能,要在Construction Script中创建Dynamic Material Instance,如图7所示。图7
创建Dynamic Material Instance在图7所示Blueprint脚本中,我使用“CreateDynamicMaterialInstance”节点,为StaticMeshComponent创建了一个动态材质实例,并把它保存到一个名为“BlockMaterial”的变量之中。另外,考虑到今后可能添加其他的对象类型,创建了一个Blueprint Interface,命名为:用来定义玩家对场景中物体的交互,主要就是图8中的四项。图8
Blueprint Interface接下来,我们做一个简单的功能:当玩家注视着这个积木块时,它就向玩家眨个眼(换张贴图)。首先,要在积木块的Blueprint的Class Settings中,添加上述Blueprint Interface。然后,就可以在EventGraph中使用Add Event菜单,添加OnFocus和LostFocus事件处理了(如图9所示)。图9
Focus相关事件处理在上述蓝图中,我们实现了“BPI_VRObject”的两个接口事件,分别是:OnFocus和LostFocus,在焦点获得或者焦点失去的时候,我们调用“SetTextureParameterValue”节点,来改变材质中的BaseColor所使用的贴图资源对象。
接下来,就要实现一个有趣的功能:当积木块坠落的时候,显示一个害怕的表情;当积木块静止不动后,显示微笑表情。这个功能,通过刚体(Rigid Body)的Wake、Sleep状态来实现。从物理引擎的角度说,当物体静止不动时,物理引擎会把这个物体设置到Sleep状态,以节省运算量;当需要物理引擎计算其运动状态时,再把它叫醒。注意:要设置StaticMesh组件的“Generate WakeEvent”才能收到这两个事件,见图10。图10
刚体的Wake、Sleep事件处理在这个Blueprint脚本中,我们通过响应“OnComponentWake”和“OnComponentSleep”来变更了自定义变量“IsSleeping”,然后调用自定义事件“ChangeTextureByState”来变更材质的贴图参数。接下来,还可以做一个小功能:当玩家抓起这个积木时,它就开始哭。这个实现方法和上面的思路完全一样,在此不多赘述。在玩家周围随机生成一些积木块OK,既然的积木已经准备好了,就可以在关卡启动时,随机地生成一些积木,供玩家玩耍。这个功能可以在Level Blueprint或Game Mode中实现。这里,我们假设这是本测试关卡的功能,所以把它放在Level Blueprint中去实现。图11
在Level Blueprint中随时生成积木块图11展示的这段Blueprint代码,即是在PlayerStart对象周围随机产生了10个积木块。响应关卡的BeginPlay事件:通过ForLoop节点,调用10次SpawnActor节点,这个节点的Class参数选择成我们的积木块(BP_Block);积木块的出生点通过MakeTransform节点来生成。在MakeTransform节点中,使用了3种不同的随时方式来产生位置、旋转和缩放这三个参数。拿起和放下积木接下来,我们继续完善玩家类,添加拿起、放下积木块的功能,具体操作是:玩家首先要注视着某个积木,然后轻点Touch Pad可以拿起积木;转动头盔,积木会随其移动;如果再次轻点TouchPad,则放下这个积木。首先,我们在Touch Pad的Tap事件中实现上述流程。注意,这个Tap事件是在VRPlayerBase那个C++类中触发的,见图12。图12
Touch Pad的Tap事件响应在此,我们判断如果PickActor是一个有效值,则调用DropActor,否则的话,调用PickFocusActor。其中的Pickup Focus Actor和Drop Actor是两个自定义事件。在PickupFocusActor事件中,首先我们通知了这个积木块对象:调用它的OnPickup接口;然后使用一个TimeLine驱动的动画,来控制积木块的位置,使它从当前位置,平滑地移动到玩家面前的一个位置。在DropActor事件中,则首先通知了积木块对象:调用它的OnDrop接口;然后把PickedActor对象设为空值,代码见图13、图14。图13
捡起正在注视着的对象图14
放下正在拿着的积木总结通过上述过程,一个简单,但还有点意思的积木小游戏就准备好了(见图15)。你可以通过项目打包功能生成APK包,在Gear VR上进行体验。由于篇幅所限,项目中一些细节无法在此完全详述。大家可以从CSDN CODE下载这个项目的完整资源,来进行参考。图15
游戏运行效果本文所演示的项目,只是为了讲述最基本的开发方法,并没有在画面效果上做任何修饰。实际上,虚幻4现在手机上已然可以支持PBR材质效果。总之,各种酷炫的效果,还待大家去发掘。在今后的一段时间内我会持续更新关于虚幻4开发的视频教程和博客,欢迎大家关注。
关于移动开发新技术,更多精彩尽在MDCC 2016,详情请查看大会官网:。&>&&>&&>&&>&正文
虚幻4引擎免费开放使用!自己建个3A大作
08:02:25 来源:游民星空[编译] 作者:青森县 编辑:青森县 浏览:loading
  Epic Games现已正式宣布“虚幻4引擎”将提供给所有人使用,并且将来的更新内容也是免费的。
  用户可以使用虚幻4引擎开发游戏、教育以及建筑等一切可视化的构架,人气较高的电影、动画制作也包含其中。开发者利用虚幻4引擎盈利后,每季度的头3000美金之外的其它收入要按照5%的比例交钱给Epic Games。
  如果你现在就是虚幻4引擎的订购用户的话,你将会获得最近一次交易的退款。而且只要你曾经为这款引擎花过钱,你还会获得价值30美金的代金券,可以在虚幻引擎市场中购物。
友情提示:支持键盘左右键“← →”翻页
用手机访问
扫一扫,手机浏览
相关新闻:
综合热点资讯
单机游戏下载虚幻4引擎(UE4)教程:1天玩转游戏开发(更新中)
我的图书馆
虚幻4引擎(UE4)教程:1天玩转游戏开发(更新中)
您好,欢迎来到C语言中文网“虚幻4游戏开发”专题,您将利用C++基础知识来学会在虚幻4(Unreal Engine 4,简称UE4)游戏引擎下进行开发游戏。
这个UE4教程对于读者要求的基础知识很低,您只需要学过任何关于C++的基础教程就可以学会开发画面精美的游戏!如果没有学过C++,可以在本网站的《》进行基本语法的学习。学过C++的同学,也可以通过学习该课程来复习和实践C++知识。
游戏引擎和游戏开发的关系
游戏引擎好比汽车的引擎,游戏引擎驱动着游戏。您只需要告诉游戏引擎你要怎么运作,并且学会使用C++和UE4编辑器的使用,游戏引擎会负责把你的游戏实现出来。
因为虚幻4的源代码是开放的,等到你精通UE4游戏开发后,你甚至可以修改、模仿或打造出一个自己专属的游戏引擎。
TA的最新馆藏[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢虚幻4游戏开发_3_创建与继承材质
时间: 17:27:04
&&&& 阅读:924
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&感谢那位大神的视频教程,虽然找不到地址了,网上想找点ue4的视频教程真的很不容易,找到的,也大都是那种av画质模糊不清的,要高清的还要花钱卖,没讲什么东西还要花钱,真无力吐槽.
此博客根据那位大虾的视频教程整理后的图文教程,记下,以供以后查询和装B
1.新建文件夹为HERO(因为要给HERO这个动画模型新建材质)
2.右击-&材质;重命名base,如下图:(新建好的是空的,灰色的,下面的我是做好了截图的,所以颜色不同)
3.双击base材质,进入蓝图界面:
注意:首先需要明确一点的就是,比如,我创建了一个材质,以后我要用到第二个材质的时候,这个材质只需要改变第一个材质的一个,或一点点参数就够了,怎么办,难道还要重新写一遍那一大摞图吗?这时,引入了变量这个概念,所以,创建好第一个材质的时候,我创建第二个,只要从第一个第一个材质中继承,然后修改变量接口中的数据即可,不会动到别的数据.
先来看下第一个创建好的材质的蓝图
比如,以后我要创建新的材质,只要修改黄色框框里面的颜色数据就可以达到目的了,那么我们就要把这换成参数模式,而不是常量模式.
参数的这个控件在这儿
重命名该控件为BaseColor.保存,关闭材质
ok,第一个材质创建完毕.
4.创建一个和这个差不多的蓝色的材质球:在base这个材质上右击-&创建材质实例-&重命名为blue如图,此时颜色还一样,因为还没修改呢.
5.打开blue材质,界面有点不一样,哈哈,找到参数组-&勾选BaseColor那个变量参数,这样就可以修改颜色值了,有变量就是任性,想怎么改怎么改~!如图
保存,关闭blue材质.
6.然后给地板,人上材质贴图,如图:(配合本人性感的文字解释 ...莫打我...)
海洋上的黄金甲
菊花台前的绿巨人
标签:&&&&&&&&&&&&原文:http://blog.csdn.net/lunweiwangxi3/article/details/
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!轻松一扫,精彩不停
扫描下载APP
正在学习:
感谢你的评价,我们会继续努力!
恭喜,你已学完本节课程!
感谢你的评价,我们会继续努力!
写点什么吧,你的感受对其他同学有很大帮助噢
字数限250字以内
使用虚幻4制作卷轴射击游戏
CRYENGINE V 第三人称自定义角色制作
Lumberyard新手入门教程
购买后可以学习整个课程
&课程信息&
课程价格:0.00元
购买人数:52人
学生满意度:100%
直播倒计时:09小时52分15秒
上课时间:
线下课倒计时:09小时52分15秒
扫码下载APP
游戏开发者
学习使用UE4开发FPS游戏
1. 制作FPS游戏
2. 第一人称摄像机
3. 玩家生命值和护甲
4. 重新生成护甲和伤害函数
5. 溅血效果
6. 角色动画
7. 动画蓝图
8. 添加AK-47武器
9. AK-47武器开火
10. 匍匐动画
11. 冲刺动画
12. 使用旋转控制
13. 全自动步枪
14. 机械瞄准
15. 枪口火焰
16. 修复移动状态
17. 弹药和重装
18. 武器重装动画
19. 修复开火系统
第1章制作FPS游戏
制作FPS游戏
第一人称摄像机
玩家生命值和护甲
重新生成护甲和伤害函数
添加AK-47武器
AK-47武器开火
使用旋转控制
全自动步枪
修复移动状态
设置弹药和填装
武器填装系统
修复开火系统
该机构的同类课程
该机构的热门课程}

我要回帖

更多关于 虚幻4开发小游戏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信