首页
限免课
实战课
免费好课
课程库
经验
问答
会员课程
首页 |经验 |游戏 |经验详情

制作你的第一款VR塔防游戏

更新时间:2023-10-03

无私向斑马

游戏

1431

塔防游戏是一类通过在地图上建造炮塔或类似建筑物,以阻止游戏中敌人进攻的策略型游戏。玩家建造“塔”来控制大局,阻止敌兵通过你要防御的地图。每个塔防游戏中的“塔”不尽相同,有些是张牙舞爪的魔幻怪兽,有些是结构复杂的高科技武器。今天为大家带来一个VR塔防游戏的制作教程,大家可以试着操作一下。

搭建场景

1.打开Unity,创建一个新工程。将下载好的资源直接拖入Project视窗下的Assets下。

2.点击搜索标签,选择model,将其中的Environment,直接拖入到Hierarchy面板下,此时该模型的实例,将出现在场景的原点处。

注意:如果直接拖入Scene,位置不容易掌控。

3.为Environment中的子物体Plane.001,添加MeshRender组件。

4.将Inspector下Environment旁的Static打勾,在菜单栏的Window下打开Lighting面板,取消Auto(防止每次移动物体后的Bake),随后点击Build按钮对场景进行烘焙。

注意:希望快速烘焙,可以关闭Baked GI,同时将Precomputed Realtime GI分辨率调低,如下图。

制作你的第一款VR塔防游戏.jpg

此时场景的搭建便已初步完成。

设置敌人

接下来我们将完成敌人的生成与移动。

1.在菜单栏Window下,打开Navigation窗口,用以编辑敌人的寻路。将Agent Radius数值调小,使敌人拥有更多移动路径。点击Bake进行烘焙,如图。

制作你的第一款VR塔防游戏.jpg

2.在Assets中找到模型Drone,将其拖入场景(靠近地面),为其添加NavMeshAgent组件,该组件提供Bake地图范围,规划向目标点移动的功能。同时需要添加的还有EnemyNavigation脚本,添加后,将场景中的Tower拖至Inspector中EnemyNavigation脚本的Target属性,如下图。运行场景,敌人便向Tower方向移动了。

制作你的第一款VR塔防游戏.jpg

3.为Drone添加SphereCollider组件,调整碰撞体大小。创建新的Tag,命名为Enemy,将Drone的Tag更改为Enemy。同时为其添加Rigbody组件,取消Use Gravity,同时勾选Is Kinematic。

制作你的第一款VR塔防游戏.jpg

4.将Drone拖入到Project中的Prefabs文件夹内,更名为DronePrefab,形成预设。完成后,删除场景中的Drone。创建空物体,将其命名为Point,同时拖放置你所希望的敌人生成点。

5.为Point添加SpawnScript脚本,将DronePrefab,和场景中的Tower分别拖入Enemy,Target属性。根据需求,修改生成敌人间隔Spawn Interval。

6.为场景中添加更多的生成点,可以通过点击Inspector下Point旁的正方形,在场景中添 加醒目的标签,如图。运行场景,敌人便会向Tower不断靠近。

制作你的第一款VR塔防游戏.jpg

Camera的设置

1.点击场景中的Tower,在Hierarchy中添加一个空物体,将其命名为CameraPosition,将场景中的Camera作为CameraPosition的子物体,点击Camera中Transform下的Reset,此时Camera将与其父物体的位置相同。

我们需要注意:

a.在VR游戏中,Camera是由设备进行控制,如果希望移动Camera,需要为其添加一个父物体,通过移动父物体,从而达到移动Camera的作用。

b.CameraPosition的位置一定需要在Tower的外部,否则射击时,会出现问题。

制作你的第一款VR塔防游戏.jpg

2.在VR设备中,Camera会跟随设备进行选转。而在Editor中我们仍需要通过脚本进行控制。将脚本CameraEditorControl拖在Camera上,该脚本通过# if UNITY_EDITOR,只在编辑器运行情况下调用。

3.向场景中添加Image,点击Inspector下的stretch。按Alt键,选择扩充,将Image扩充至整个屏幕。

制作你的第一款VR塔防游戏.jpg

4.选中Image,点击Ctrl+6,为Image录制动画,在0:00时,为黑色,2:30时,为透明。

5. 点击Project下的该动画,取消Loop Time选项。

Tower的攻击

1.在Canvas下继续添加一个Image,将其命名为Reticle(瞄准点)。将Assets中的Reticle图片,拖至Source Image。把Canvas的Render Mode改为Screen Space-Camera,同时新建一个Camera命名为CameraUI,把其Clear Flags设为Depth only,Culling Mask设为UI,之后把CameraUI赋给Canvas的Render Camera。Reticle与Image在Hierarchy的顺序进行更改,如图。从而先渲染Reticle,后渲染Image。然后给Reticle添加脚本AdjustSize,同时把场景Camera赋值给Cam变量,Basic Dis与Farest Dis分别设为-210和400(可以自己调节并设置为最佳效果值)

制作你的第一款VR塔防游戏.jpg

2.在Camera上添加AudioSource组件,同时将音频Rifle拖入到AudioClip。取消Play On Awake,防止场景开始时的播放。

制作你的第一款VR塔防游戏.jpg

3.将Assets中的粒子Stone_BulletImpact,拖入场景中,同时为Camera添加ShootScript脚本。将刚添加后的Stone_BulletImpact,赋予该脚本。运行场景,击中敌人后,敌人消失。

Tower的血量

1.为Tower添加BoxCollider组件,而Camera不可再BoxCollider组件内部。

2.将Rigidbody组件添加至DronePrefab,取消Use Gravity,同时将Is Kinematic勾选(两物体间发生碰撞检测,移动物体需具有Rigidbody组件)

3.为Tower添加Tower Health脚本,以及AudioSource组件。将TankExplosion音频至于AudioClip中,取消Play On Awake。

制作你的第一款VR塔防游戏.jpg

4.在Canvas下创建一个新的Image,按照前面黑色淡入Image的制作方式设为占满Canvas,并把Color设置为红色,alpha值设为0。给Tower添加Tower Health脚本,把Canvas下的Image赋值给Damage Image,然后在拖入三个Drone到场景中,放置在Tower边上作为血量显示,同时把其中两个Drone分别赋值给脚本中的Drone Life 2和Drone Life 3变量。

退出与发布

1.将QuitApplicationScript脚本,添加到Camera上。该脚本包含编辑器和GearVR的退出功能。

2.打开菜单栏File中Build Setting。针对Oculus,选择PC,将Player Setting下的Virtual Reality Supported选中既可进行发布。而对于Gear VR,则选择Android,同样勾选Virtual Reality Supported。推荐选择Multithreaded Rendering和GPU Skinning,Unity在新版本中已经对这几个选项进行了优化。

制作你的第一款VR塔防游戏.jpg

版权声明 | 文章整理自网络,仅供学习参考,版权归属原作所有

               如有问题,请及时与我们联系,我们将第一时间做出处理

上一篇 下一篇

相关课程

ONLINE COURSES
  • 渲染是什么意思

    渲染是什么意思

    讲师:多喝热水

  • 实时渲染和离线渲染的区别

    实时渲染和离线渲染的区别

    讲师:多喝热水

  • 游戏建模和影视建模有什么区别

    游戏建模和影视建模有什么区别

    讲师:多喝热水

  • 工业建模和游戏建模哪个好

    工业建模和游戏建模哪个好

    讲师:多喝热水

免费好课

FREE GOOD COURSES
MORE
  • 剪映和PR的短视频剪辑技巧

    剪映和PR的短视频剪辑技巧

    3小时22分钟26秒

  • Stable Diffusion - 2024全新AI绘画系统教学

    Stable Diffusion - 2024全新AI绘画系统教学

    1小时40分钟49秒

  • UE5游戏开发黑科技-四大So Easy插件,从菜鸟到大师仅一步之遥!

    UE5游戏开发黑科技-四大So Easy插件,从菜鸟到大师仅一步之遥!

    37分钟30秒

  • AE软件入门基础课

    AE软件入门基础课

    3小时48分钟27秒

  • PS海报创意设计课

    PS海报创意设计课

    4小时55分钟26秒

  • Q版角色三头身设计课

    Q版角色三头身设计课

    3小时9分钟29秒

Copyright © 2015 - 2021北京云创科讯软件有限公司

京ICP备16013396号-1

经营许可证京ICP证161220号

课程咨询电话 18516802937

  • 在线咨询
  • 插件下载
  • 职业测评
  • 素材下载
  • 微信咨询
学习在线解答