我最近被问及如何激光器是在星球大战海沟运行完成,我会说我博客上的和其他几个项目,所以这里的第几。这是同样的材料我介绍了于2009年团结,所以如果你看过视频或在那里,没有什么新的;)
在这里,我们将介绍做激光与Unity3D的,看起来不错,是友好的表现为iPhone的一种方式。这并不意味着是详??尽的方式,它只是意味着是一个激光*是*在统一的基本概述,以及如何我在为iPhone游戏性能方面管理它。所以这一说法,让我们在跳转至设置它的一些步骤。

创建LineRenderer

0。首先,创建场景中的一个空游戏物体。
1。然后,将一条线渲染器组件到你的游戏物体和定位游戏物体在激光炮的尖端会火从。为什么不直接使用粒子发射器?这是因为椭球粒子发射器有一个bug。即使你设定的椭球的大小设置为0在所有3个轴或0.0001,你会看到,它开始于在z轴上的随机位置。团结承认错误。因此,要解决这个问题,因为我们不能使用发射粒子发射器从大炮的提示,我们必须首先显示一条线渲染器。下面是你可以使用的LineRenderer作为激光螺栓一些典型设置:
一般LineRenderer用于激光的特性
下面是它应该是什么样子的统一IDE时,你会得到你的游戏物体的地方:

 

游戏物体与放置在大炮LineRenderes

 

我创建了一个类叫LaserControl,当我想让它显示,这简直是我做的:

公共变种isShowingLaser:布尔= FALSE;功能showLaser(){如果(isShowingLaser)回报; isShowingLaser = *** E,thisRenderer.enabled = *** E,产量WaitForSeconds(.05); resetLaser(); isShowingLaser = FALSE; }

正如你所看到的,它显示了它的0.05毫秒然后通过调用复位激光刚刚做这个隐藏它:

功能resetLaser(){this.renderer.enabled = FALSE;}

3。所以,后来创建自己的类,它扩展MonoBehaviour,并将它附加到您添加的LineRenderer到游戏物体。

创建粒子发射器

现在,我们有这个非常好的LineRenderer激光,看起来不错从大炮的尖端来,我们确实需要发出一个激光“飞”在它自己的路径,对不对?因此,概念是:创建空的游戏物体到服务器作为您的发射器的3D点“跳”到时候你当它是从一个特定的大炮发射激光。由于粒子发射器计数为1战平呼吁所有的粒子,这使得它特别漂亮的iPhone版本。更妙的是,它是非常轻量级的基于Web的游戏。
0。建立每炮有1个新的游戏物体。在这种情况下,我有4的X翼,所以我创建了4游戏物体一无所有的他们。然后给他们喜欢的TL,TR,BL,BR(左上,topRight,bottomLeft,bottomRight)的名字。
下面是在编辑器中高亮显示发射器的地点之一的截图:

 

 

空游戏物体作为位置发射以后
1。在场景中的LineRenderer的最后定位这些新的游戏物体。这将是发射器跳转到只是被告知要放出(1)之前的位置。
2。现在,创建一个游戏对象。然后,选定GameOject,添加:1)椭球粒子发射器,2)粒子动画,3)粒子渲染。
3。在椭球粒子发射器,设置局部速度> Z = -500。这是速度本质上。如果你想更快的激光,增加数量。确保“模拟世界空间”被选中,因为这将允许发射的粒子进行其在世界空间路径,一旦他们被解雇了。将椭球为0在所有3个轴。最后,设置最小发射器范围= 0.0001,以确保它从最近的位置射击的游戏物体尽可能的中心。就像我说的,用的bug,它是在z轴有点乱,但你永远不会看到在游戏中。离开粒子动画原样。
4。现在的魔法使激光另一位是粒子渲染。你要设置“拉伸Patricles”=拉伸,用7左右的长度比例。你可以用这个号码打,因为这将决定如何好你看起来螺栓的长度。然后设置“最大粒径”= .01。
这里有一个屏幕截图的粒子发射器和渲染器的设置(动画师是留下了它的默认值):

 

粒子发射器的设置

结论

在这一点上,你必须在你的场景中的物理对象来管理您的激光器。剩下的最后一步是编写发射器移动到其中每个发射器4游戏物体的位置的,告诉LineRenderer显示(),然后放出1颗粒类 - BAM!您现在有激光在Unity!