学VR要用到虚幻4引擎游戏大作进阶系列视频教程

AR/VR 训练营精选课程
4大体系,18大分类,AR/VR定制学习
AR/VR开发全流程实战课程
VR全景拍摄及缝合开发系列课程
虚幻4 VR高阶课程
Matterport内容创建与开发课程
教学模式:线下授课+项目实战
课程特色本套课程是由北京加速想象力CEO亲自授课,主要讲解编程技巧,主流开发引擎Unity3D,主流AR/VR技术开发,配合精选项目案例进行实践性开发与探索,全面掌握AR/VR开发流程。
授课对象:热爱互联网行业,对AR/VR行业感兴趣,喜欢编程。计算机、多媒体,数学等专业在校大学生以及企业在职开发人员,可针对企业定制培训。
授课对象:热爱互联网行业,对AR/VR行业感兴趣,喜欢编程。计算机、多媒体,数学等专业在校大学生以及企业在职开发人员,可针对企业定制培训。
授课对象:热爱互联网行业,对AR/VR行业感兴趣,喜欢编程。计算机、多媒体,数学等专业在校大学生以及企业在职开发人员,可针对企业定制培训。
1.Unity开发基础与项目实战
2.AR/VR开发流程基础教程
3.HoloLens开发系列教程
教学模式:线下授课+项目实战
课程特色VR全景视频相比于传统视频,能带给观众全新的沉浸式体验,乐视、优酷、爱奇艺等国内顶尖平台对于优质VR内容处于“极度饥渴”状态,本套课程能有效让学员在VR全景视频制作上游刃有余。
授课对象:热爱影视、旅游、音乐,且对VR有全面具体的了解,具有独立思考的能力与创作目标。有一定的摄影基础,并能熟练使用全景拍摄设备的在校大学生以及相关从业人员。
授课对象:热爱影视、旅游、音乐,且对VR有全面具体的了解,具有独立思考的能力与创作目标。有一定的摄影基础,并能熟练使用全景拍摄设备的在校大学生以及相关从业人员。
授课对象:热爱影视、旅游、音乐,且对VR有全面具体的了解,具有独立思考的能力与创作目标。有一定的摄影基础,并能熟练使用全景拍摄设备的在校大学生以及相关从业人员。
授课对象:热爱影视、旅游、音乐,且对VR有全面具体的了解,具有独立思考的能力与创作目标。有一定的摄影基础,并能熟练使用全景拍摄设备的在校大学生以及相关从业人员。
1.VR全景视频基础教程
2.VR全景拍摄实操教程
3.GoPano软件使用教程
4.全景视频缝合操作教程
教学模式:线下授课+项目实战
课程特色UE4是VR游戏开发最为流行的工具之一,本套课程将多个内容模块紧密连接,从实际游戏制作出发,执行项目开发流程,剖析UE4引擎的渲染原理和特效实现技法,给游戏作品带来前所未有的效率提升。
授课对象:针对行业岗位:主美等具有行业基础的高级美术人员 针对业内美术人员进行的专业性强、实践性强、密度极高的高级培训。培养熟悉UE4VR开发美术相关全流程的专业人才。
授课对象:针对具有相当美术和程序基础的游戏开发从业人员进行紧贴实战的高强度培训,真正成为能够衔接美术与程序开发工作,有引擎插件独立定制能力的技术美术人才。
授课对象:针对行业岗位:UE4动画师、动捕师。 针对具有行业基础的动画师进行紧贴实战的高强度培训,培养能够独挡一面的动画开发人才,能够熟练运用高级动捕技术结合手K动画制作出电影级的UE4引擎动画。
授课对象:针对具有美术基础的特效师进行紧贴VR项目实战的高强度培训,熟练掌握UE4特效制作全流程,能够在UE4VR开发中快速制作出符合项目要求的优质特效素材。
1.UE4 VR场景美术高阶教程
2.UE4 VR技术美术高阶教程
3.UE4 VR动画开发高阶教程
4.UE4 VR粒子特效高阶教程
教学模式:线下授课+项目实战
课程特色本套课程从理论上对Matterport空间点云扫描仪的了解,及应用领域介绍,素材后处理及展示方式的操作等,让学员能够自己做应用程序并应用在更多领域,包括房地产,家居改善。
授课对象:全景拍摄公司、VR公司及相关技术人员
授课对象:全景拍摄公司、VR公司及相关技术人员
1.拍摄技巧及内容素材修复
2.Matterport内容创建与开发课程
学习咨询热线:400-992-9691播放列表加载中...
正在载入...
分享视频:
嵌入代码:
拍下二维码,随时随地看视频
【游民星空】虚幻4引擎新功能:用VR设备
上 传 者:
内容介绍:
【游民星空】虚幻4引擎新功能:用VR设备
我来说点啥
版权所有 CopyRight
| 京网文[0号 |
| 京公网安备:
互联网药品信息服务资格证:(京)-非经营性- | 广播电视节目制作经营许可证:(京)字第403号
<img src="" width="34" height="34"/>
<img src=""/>
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<img width="132" height="99" src=""/>
在线人数:
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<img src="///img/blank.png" data-src=""/>
<img src="///img/blank.png" data-src="http://"/>
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/>
<i data-vid="" class="ckl_plays">
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/><i data-vid="" class="ckl_plays">
没有数据!
{upload_level_name}
粉丝 {fans_count}
{video_count}
{description}收藏的论坛
次世代引擎打造 虚幻4引擎电影级VR演示
  【PCgames VR业界快讯】虚幻4引擎不论是在游戏还是其他建模领域中已经给予我们看到了一个性能非常出色其真实还原度高的引擎系统,而随着VR虚拟现实的知名度不断提升以及VR虚拟现实其改变传统视觉效果的体验,如果两者之间能刷出火花出来将会是一个让人期待的结果。  而最近Epic Games公司发布了一则采用虚幻4引擎制作Showdown电影级VR演示视频,在演示中展示了一个让人难以置信的激烈战斗场景,炽烈的战斗环境中,炮火撞击建筑物、机甲武器攻击以及受到物体受到破坏是的光影,烟火以及爆炸效果都相当的出色。  Showdown通过Epic Games launcher免费使用,并且可以在Oculus DK2或以上版本、索尼PlayStation Morpheushe、HTC Vive以及SteamVR等虚拟现实设备上兼容使用。UDN-企业互联网技术人气社区
后使用快捷导航没有帐号?
浏览&&:&787
回复&&:&0
回复的帖子
本帖最后由 芭芭拉 于
16:38 编辑
  虚幻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.jpg (171.55 KB, 下载次数: 0)
16:22 上传
图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 fordeployment to GearVR。
1.jpg (27.56 KB, 下载次数: 0)
16:21 上传
图2 OSIG文件存储路径
  这样配置之后,这个UE4项目就可以打包到Gear VR上运行了。
  资源准备
  尽管虚幻4引擎中默认带了一些基本形状的几何体,不过,我还是使用3ds Max生成了一套自己的几何体FBX文件。另外,还有几个表情图标作为这些几何体的贴图,我们将使用不同的表情来标识对象的不同状态。将这些FBX、TGA文件拖入Content Browser中,即可导入。
1.jpg (175.41 KB, 下载次数: 2)
16:21 上传
图3 积木的材质
  接下来,我们要在引擎中创建一个材质,如图3所示。请注意,贴图的节点“TextureSampleParameter2D”是一个Parameter,这使得我们可以在运行时改变这个节点的内容。
  Gear VR开发基础功能
  首先,创建一个叫作VRPlayerBase的C++类,它从Pawn派生,作为我们的玩家角色。开发Gear VR游戏的话,如果每次测试都要打包到手机上去运行,实在是相当忧伤,因为每次打包的时间……呵呵。所以,我写了一段C++代码,使用鼠标来模拟HMD头盔转动,这样就可以很方便地在编辑器中测试视线焦点相关的操作了。另外,Gear VR Touch Pad相关的操作,也封装了一下,一起放到这个类里面。关键代码如下:
void AVRPlayerBase::SetupPlayerInputComponent(class UInputComponent* InputComponent)
{
& & Super::SetupPlayerInputComponent(InputComponent);
& & //-- 测试用的鼠标转动操作
& & // InitializeDefaultPawnInputBindings
& & UPlayerInput::AddEngineDefinedAxisMapping(FInputAxisKeyMapping(&Turn&, EKeys::MouseX, 1.f));
& & UPlayerInput::AddEngineDefinedAxisMapping(FInputAxisKeyMapping(&LookUp&, EKeys::MouseY, -1.f));
& & UPlayerInput::AddEngineDefinedActionMapping(FInputActionKeyMapping(&MouseLMB&, EKeys::LeftMouseButton));
& & // Action Bind
& & InputComponent-&BindAxis(&Turn&, this, &AVRPlayerBase::AddControllerYawInput);
& & InputComponent-&BindAxis(&LookUp&, this, &AVRPlayerBase::AddControllerPitchInput);
& & InputComponent-&BindAction(&MouseLMB&, IE_Pressed, this, &AVRPlayerBase::OnTouchTap);
& & //-- Touch
& & InputComponent-&BindTouch(IE_Pressed, this, &AVRPlayerBase::OnTouchBegin);
& & InputComponent-&BindTouch(IE_Released, this, &AVRPlayerBase::OnTouchEnd);
& & InputComponent-&BindTouch(IE_Repeat, this, &AVRPlayerBase::OnFingerMove);
}复制代码
  那么,在Gear VR真机运行时,如何使得摄像机跟随头显转动呢?这就简单了,因为引擎已经实现了这个功能,只不过它是实现在PlayerController上,这里设置一下VR Player的转动与Controller一致即可(见图4)。
1.jpg (42.38 KB, 下载次数: 1)
16:20 上传
图4 Pawn的朝向设置
  接下来我们实现视线焦点检测的功能,这部分使用Blueprint来开发,具体情况见图5。
1.jpg (278.27 KB, 下载次数: 0)
16:20 上传
图5 视线检测功能
  在此蓝图中,我们调用了引擎所提供的“LineTraceByChannel”来进行射线检测,见图6。
1.jpg (30.99 KB, 下载次数: 1)
16:20 上传
图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所示。
1.jpg (106.66 KB, 下载次数: 1)
16:20 上传
图7 创建Dynamic Material Instance
  在图7所示Blueprint脚本中,我使用“CreateDynamicMaterialInstance”节点,为StaticMeshComponent创建了一个动态材质实例,并把它保存到一个名为“BlockMaterial”的变量之中。
  另外,考虑到今后可能添加其他的对象类型,创建了一个Blueprint Interface,命名为:用来定义玩家对场景中物体的交互,主要就是图8中的四项。
1.jpg (19.97 KB, 下载次数: 0)
16:19 上传
图8 Blueprint Interface
  接下来,我们做一个简单的功能:当玩家注视着这个积木块时,它就向玩家眨个眼(换张贴图)。首先,要在积木块的Blueprint的Class Settings中,添加上述Blueprint Interface。然后,就可以在EventGraph中使用Add Event菜单,添加OnFocus和LostFocus事件处理了(如图9所示)。
1.jpg (137.3 KB, 下载次数: 0)
16:19 上传
图9 Focus相关事件处理
  在上述蓝图中,我们实现了“BPI_VRObject”的两个接口事件,分别是:OnFocus和LostFocus,在焦点获得或者焦点失去的时候,我们调用“SetTextureParameterValue”节点,来改变材质中的BaseColor所使用的贴图资源对象。
  接下来,就要实现一个有趣的功能:当积木块坠落的时候,显示一个害怕的表情;当积木块静止不动后,显示微笑表情。这个功能,通过刚体(Rigid Body)的Wake、Sleep状态来实现。从物理引擎的角度说,当物体静止不动时,物理引擎会把这个物体设置到Sleep状态,以节省运算量;当需要物理引擎计算其运动状态时,再把它叫醒。注意:要设置StaticMesh组件的“Generate WakeEvent”才能收到这两个事件,见图10。
1.jpg (99.95 KB, 下载次数: 0)
16:19 上传
图10 刚体的Wake、Sleep事件处理
  在这个Blueprint脚本中,我们通过响应“OnComponentWake”和“OnComponentSleep”来变更了自定义变量“IsSleeping”,然后调用自定义事件“ChangeTextureByState”来变更材质的贴图参数。
  接下来,还可以做一个小功能:当玩家抓起这个积木时,它就开始哭。这个实现方法和上面的思路完全一样,在此不多赘述。
  在玩家周围随机生成一些积木块OK,既然的积木已经准备好了,就可以在关卡启动时,随机地生成一些积木,供玩家玩耍。这个功能可以在Level Blueprint或Game Mode中实现。这里,我们假设这是本测试关卡的功能,所以把它放在Level Blueprint中去实现。
1.jpg (227.15 KB, 下载次数: 0)
16:18 上传
图11 在Level Blueprint中随时生成积木块
  图11展示的这段Blueprint代码,即是在PlayerStart对象周围随机产生了10个积木块。响应关卡的BeginPlay事件:通过ForLoop节点,调用10次SpawnActor节点,这个节点的Class参数选择成我们的积木块(BP_Block);积木块的出生点通过MakeTransform节点来生成。在MakeTransform节点中,使用了3种不同的随时方式来产生位置、旋转和缩放这三个参数。
1.jpg (227.15 KB, 下载次数: 0)
16:18 上传
拿起和放下积木
  接下来,我们继续完善玩家类,添加拿起、放下积木块的功能,具体操作是:玩家首先要注视着某个积木,然后轻点Touch Pad可以拿起积木;转动头盔,积木会随其移动;如果再次轻点TouchPad,则放下这个积木。
  首先,我们在Touch Pad的Tap事件中实现上述流程。注意,这个Tap事件是在VRPlayerBase那个C++类中触发的,见图12。
1.jpg (114.68 KB, 下载次数: 0)
16:18 上传
图12 Touch Pad的Tap事件响应
  在此,我们判断如果PickActor是一个有效值,则调用DropActor,否则的话,调用PickFocusActor。
  其中的Pickup Focus Actor和Drop Actor是两个自定义事件。在PickupFocusActor事件中,首先我们通知了这个积木块对象:调用它的OnPickup接口;然后使用一个TimeLine驱动的动画,来控制积木块的位置,使它从当前位置,平滑地移动到玩家面前的一个位置。在DropActor事件中,则首先通知了积木块对象:调用它的OnDrop接口;然后把PickedActor对象设为空值,代码见图13、图14。
1.jpg (319.72 KB, 下载次数: 0)
16:18 上传
图13 捡起正在注视着的对象
1.jpg (122.77 KB, 下载次数: 0)
16:17 上传
图14 放下正在拿着的积木
  通过上述过程,一个简单,但还有点意思的积木小游戏就准备好了(见图15)。你可以通过项目打包功能生成APK包,在Gear VR上进行体验。由于篇幅所限,项目中一些细节无法在此完全详述。大家可以从CSDN CODE下载这个项目的完整资源,来进行参考。
1.jpg (730.35 KB, 下载次数: 0)
16:17 上传
图15 游戏运行效果
  本文所演示的项目,只是为了讲述最基本的开发方法,并没有在画面效果上做任何修饰。实际上,虚幻4现在手机上已然可以支持PBR材质效果。总之,各种酷炫的效果,还待大家去发掘。
地址:北京市海淀区北清路68号
移动客户端下载
微信公众号:yonyouudn
扫描右侧二维码关注我们
专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041
京公网网备安4
Powered by Discuz!

我要回帖

更多关于 虚幻4引擎中文版下载 的文章

 

随机推荐