查看原文
其他

VR丨100天系列教程(九):如何设置武器?

2017-12-05 刘鸿 Gad-腾讯游戏开发者平台

译者:刘鸿(lewis2012)

审校:王玥亭(玥亭)


系列回顾:

第一天:教你设置Unity Ball

第二天:Unity Space Shooter

第三天:Unity Space Shooter 2

第四天:Unity Space Shooter 3

第五天:Survival Shooter 1

第六天:Survival Shooter教程 2

第七天:创建一个第一人称射击

第八天:在第一人称射击中创造一个角色


欢迎回到第9天!


你想知道为什么今天帖子和上次的帖子之间有很大的差距吗?那是因为我参加了西雅图AR /VR hackaton #6!


Hackathon有3天,我花了2天时间才从中恢复过来!了解postmortem !


随着hackathon的结束,我又回到了这里,继续我们更新帖子!耶!


继续我们上次讲到的,接下来要做的是将武器附加到我们的角色,然后添加用于拍摄的游戏逻辑。像往常一样,让我们开始吧!


添加我们的武器


在我们目前的状态下,我们只有我们的角色:


我们需要添加一个武器,从我的研究中,在大多数游戏中,当玩家射击时,子弹实际上并不是来自枪,它来自相机的中心视图。


不仅如此,我们实际上并不发射出任何子弹,因为它的计算代价可能会变得昂贵。相反,我们只是射击Raycast,如果我们射击目标,我们做一些枪动画效果,使得子弹看起来来自于枪。


对于像火箭发射器这样较大的武器,我们必须创造子弹,但是对于快速的射击武器,如攻击步枪或手枪,我们可以使用Raycast。


创造我们的武器


我们做的第一件事是创造我们的“枪”。我敢肯定,我们可以从Unity的游戏商店(game store)找到枪支资产,先创建一个代表我们武器的简单立方体。我确定以后,我们可以附加枪支资产,很可能一切都会好的。


首先,我们创建一个立方体,并使其成为我们的主相机的子对象。我要命名 Gun。我将参数转换为下面这些值:


Position: (0.25, -0.5, 1)

Scale: (0 48 31096 48 14986 0 0 3563 0 0:00:08 0:00:04 0:00:04 3563.25, 0.25, 1)


确保禁用/删除 与立方体一起创建的  Box Collider。如果我们有它,我们的玩家对象将与枪发生冲突,造成意想不到的后果。


此外,我们应该有这样的东西:



如果我们看一下我们的游戏标签,我们应该看到这样的东西:



接下来,我们可以添加一些粒子效应或者类似的东西来产生我们发射的错觉。


我不会说谎,说我完全知道我正在做什么(不,我不知道),但是现在我要创建一个简单的粒子系统并把它附在枪头。


我的意图是,当我们开火时,我将播放粒子效果,当我们停止开火时候停止粒子效果它。


所以我们需要做的第一件事就是创建一个新的  粒子系统 ,使其成为Gun的子对象  。


我做了一些配置设置,如将Z  位置更改  为  0.2


其余的配置如下:

Duration: 1

Looping: unchecked

Start Lifetime: 0.05

Start Speed: 5

Start Size: 1

Start Color: Yellow

Play Awake: unchecked


这是它的外观和一些设置。看起来并不是太好,但我确信如果我们有材质资产,我们可以做得更好。



添加射击脚本


接下来,我创建了拍摄脚本并将其附加到我们的  主摄像头。 该脚本将被称为  PlayerShootingController。


以下是一个简单的射击脚本:



这段代码中没有什么特别复杂。我们刚刚从我们的鼠标所在的地方创建了一条射线,然后如果我们击中什么东西,我们就会打印出我们所命中的,并播放我们的粒子系统。



我们想要做的事情,为raycast创建一个图层与Shootable层相碰撞,但这是明天的事情了。


第九天结束。


这就是今天的教程!这么短么?是的,我知道,好吗?


总结我们今天所取得的成就:我们创造了我们的射击系统的开端。

我们为主摄像机添加了一个假的枪作为它的子对象,以便每当我们移动鼠标时,枪将停留在我们的相机前面。


然后我们添加了一个粒子系统,每当我们开火时会产生粒子。


在未来,我想回顾一下,如何使粒子看起来更加真实:可能通过使用更好的粒子系统材质,但是当我们到达那里时,我们会知道的。

最后,我们创建了一个脚本,将raycasts射击到我们的鼠标指向屏幕的位置。我们应该让它成为中心,但这是我们明天能解决的问题。


嗯,这是一个漫长的一天,我们明天再见!


点击阅读原文,可阅读原始文章或访问 VR挑战100天的内容表。


【版权声明】

已经询问原文作者JoshChang,并获取原文作者翻译许可,译文获得授权。


----------------------

今日推荐


让不懂编程的人爱上iPhone开发:第九篇

从《罗拉与巨人Lola and the Giant》看VR与非VR结合


添加小编微信,可享双重福利

1.加入GAD游戏VR交流圈

获取行业干货资讯,观看大牛分享直播

2.领取GAD独家VR资料库,地址在小编朋友圈

包括研究报告、游戏制作、项目分享等全套资料


↓长按添加小编GAD-安琪↓

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存