【GAD翻译馆】VR100天教程:第九天设置武器

发表于2017-12-01
评论2 1.45w浏览

译者:刘鸿(lewis2012     审校:王玥亭(玥亭)

 

欢迎回到第9!

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

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

 

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

继续我们上次讲到的,

接下来要做的是将武器附加到我们的角色,然后添加用于拍摄的游戏逻辑。

像往常一样,让我们开始吧!

 

添加我们的武器

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

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

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

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

 

创造我们的武器

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

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

Position: (0.25, -0.5, 1)

Scale: (0.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

 

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: