top of page

VR 剑斗

成员: 李知默,刘懿宽

主要负责部分: 

● 玩法设计
● 声效系统实现
● 伤害计算系统,格挡判断系统以及重击判定代码

《VR 剑斗》的战斗可以简单地概括为面对面的近战决斗。我们想通过VR这一平台,创造出一种与众不同的,更具沉浸感和互动性的战斗体验。整个项目可以大致分为两个阶段:战斗以及自由探索。玩家在探索阶段可以进行自由移动,通过VR设备观察风景,获得提示并在到达特定区域之后进入战斗。在战斗阶段,玩家将在场景中与敌人进行决斗。
 

全流程视频

V2.0

V1.0是我们的第一个可玩的版本,游戏流程相对较短,并且进行了简陋的环境设置。在进行反馈收集以及试玩之后,我们进行了大量改进:

 

1. 游戏开始时的训练对战。在这个战斗中,敌人只会进行一种简单的攻击动作,并且双方的攻击除了重击外都不会造成伤害。这个场景能让新手玩家迅速上手并熟练格挡反击的系统。

 

2. 我们添加了音乐和对话。我们在整个游戏中为不同阶段添加了合适的音乐,以此来提升玩家的体验。除此之外,我们还通过一些简单的对话来为游戏添加了一个简单的背景故事。

 

3. 我们添加了更好的场景 

Full Gameplay V1.0

战斗系统

图片1.png

在战斗中,敌人会随机发起多次攻击,而且每一次攻击也会随机来自不同的方向。如图所示,我们大致将攻击来源分为四个方向,玩家通过对对应方向进行攻击就可以阻挡并弹反敌人的攻击。

blockcount.png

如图所示,我们创建了8个碰撞箱。分别区分为外侧的4个大碰撞箱,以及内侧的4个小碰撞体。当敌人发起攻击时,假如说攻击的来源方向是玩家的右侧,那么玩家左侧的碰撞箱将被激活。通过碰撞体,我们将会判断玩家的攻击方向是否来自敌人攻击的对应方向,并是否与敌人武器进行碰撞,当情况都满足时,触发格挡。

重攻击

vrblade.mp4.mp4.gif

我们的游戏项目在设计之初就希望实现以格挡反击为主要战斗系统的VR战斗。为了鼓励玩家使用格挡,我设计并实现了“重攻击”的系统。在玩家成功弹反3次攻击后,敌人将保持“受伤状态”3秒。玩家可以攻击心脏区域(红色区域)对敌人造成巨大伤害。

blockfunc.png
timer.png

重攻击功能的实现被集成在弹反功能的代码中。在玩家第三次抵挡攻击后,敌人将进入一个“受伤状态”。

 

 

在受伤状态下,玩家进行一次重攻击或者受伤时间结束将会让敌人退出状态,并重新开始弹反次数计数。

Recovery

recover1.png
recover3.png
recover2.png

为了让游戏变得更有挑战性和有趣,我们为最终boss设计了一个恢复血量的动作状态。如上图所示,当敌人的生命值下降到50%以下时,敌人会发出一声吼叫,并恢复部分生命值。

项目引用素材

Character models and animation: https://www.mixamo.com/#/
Environment: Chinese Ink Painting, by Jesse Mario,

https://assetstore.unity.com/packages/3d/environments/chinese-ink-painting-249173
Music: Colossal Game Music Collection, by The Indie Devs Nation, https://assetstore.unity.com/packages/audio/music/orchestral/colossal-game-music-collection-88190

bottom of page