一、进行粒子效果生成练习
1、生成一个空项目
Assets->Import Package->Custom Package->SceneShot.unitypackage
2、创建一个粒子系统
GameObject->Effects->Particle System
在场景中创建一个粒子系统,并将其移动到场景中的Turret炮塔对象的发射管前
3、更改粒子系统参数
Duration:3.32 Start Delay:1 Start Lifetime:1 - 10 Start Speed:Curve Start Size:0.87 Start Rotation:180 Start Color:Gradent(#2EFE2E - #FFFFFF) Simulation Space:Custom Custom Simulation Space:Cube(Transform) Max Particles:500
4、Emission属性更改参数
Rate over Time :0Rate over Distance:0
Brusts :
Time Count Cycles Interval Probability 0 1482 infinite 0.01 1
5、Shape属性更改参数
Shape:Sphere
Radius:3.52
Radius Thickness:0
6、发射管相关参数
Inspector->Position: 通过鼠标移到两个发射管之一 Inspector->Ratation: x=0, y=0, z=0 Inspector->Particle System->Start Lifetime:0.5, Max Particles:100 Inspector->Particle System->Emission->Rate:500 Inspector->Particle System->Shape:Cone, Angle:0.5 Inspector->Particle System->Velocity over Lifetime->打勾,Z: 10 Inspector->Particle System->Color over Lifetime->打勾,选红色 Inspector->Particle System->Renderer->打勾, Render Mode:Stretched Billboard, Length Scale: 0.5,
7、发射管粒子对象
(1)Hierarchy-〉Particle System-〉Edit-〉Duplicate,复制另一个粒子对象,并拖到另一个发射管前
(2)运行,察看粒子运行效果
(3)再次单击Play按钮,结束游戏。
(4)按Ctrl+S,保存场景
(5)将另一个发射管前的粒子参数做一个更改,观察二者的区别。如修改shape->shape,将值由Cone改为Sprte。
二、粒子系统参数总结
1、主面板Particle System
Duration :粒子发射周期,意思就是在发射3.32秒以后进入下一个粒子发射周期。如果没有勾选looping的话,3.32秒之后粒子会停止发射。
Looping :粒子按照周期循环发射。
Prewarm :预热系统,比如说我有一个空间大小的粒子系统,但是粒子发射速度有限,我想在最开始的时候让粒子充满空间,此时就应该勾选Prewarm。
StartDelay :粒子延时发射,勾选后,延长一段时间才开始发射。
StartLifeTime :粒子从发生到消失的时间长短。
StartSpeed :粒子初始发生时候的速度。
3DStartSize :这个属性是当你需要把粒子在某一个方向上扩大的时候使用。
StartSize :粒子初始的大小。
3DStartRotation :需要在一个方向旋转了子的时候可以使用。
StartRotation :粒子初始旋转。
RandomizeRotation :随机旋转粒子方向,感觉在3D粒子的情况下,尤其是圆形的没什么用。
StartColor :粒子初始颜色,可以调整加上渐变色。
GravityModifier :重力修正。
SimulationSpace :a.Local,此时粒子会跟随父级物体移动。b.World,此时粒子不会跟随父级移动。c.Custom,粒子会跟着指定的物体移动。
SimulationSpeed :根据Update模拟的速度。
DeltaTime :一版的DeltaTime都是1,如果需要用到Sacled是在游戏需要暂停的时候,根据TimeManager来定。如果选择UnScale的话,就会忽略时间的影响。
ScalingMode :Local:粒子系统的缩放和自己Transform的一样会忽略父级的缩放。Hierarchy:粒子缩放跟随父级。Shape:将粒子系统跟随初始位置,但是不会影响粒子系统的大小。
MaxParticles :粒子系统可以同时存在的最大粒子数量。如果粒子书数量超过最大值粒子系统会销毁一部分粒子。
AutonRandomSeed :随机种子,如果勾选会生成完全不同不重复的粒子效果,如果勾选即为可重复。
2、Emission模块
RateOverTime :随单位时间生成粒子的数量。
RateOverDistance :随着移动距离产生的粒子数量。只有当粒子系统移动时,才发射粒子。
Bursts:Time :从第几秒开始。
Min :最小粒子数量。
Max :最大的粒子数量,粒子的数量会在Min和Max之间随机。
Cycles :在一个周期中循环的次数。
Interval :两次两次Cycles的间隔时间。
3、Renderer模块
(1) RenderMode :
Billboard:粒子总是面对相机。 StretchedBillboard:伸展板,可以根据相机、速度、长度来调节粒子的缩放。 HorizontalBillboard:粒子平面平行于Floor平面。 VerticalBillboard:粒子平面平行于世界坐标的Y轴,但是面向相机。 Mesh:将粒子渲染到网格上去。(2) TrailMaterial :需要使用拖尾效果的时候,才附材质。
(3) Material :用于渲染粒子的材质。
(4) SortMode :
ByDistance:根据粒子离相机的距离渲染。 OldestInFront:先渲染出来的在最上层。 YoungestInFront:后渲染出来的在最上层。(5) SortingFudge :排序容差,仅影响整个系统在场景中出现的位置。Sorting值越小,就越容易粒子系统在其它透明的
(6) GameObjects 上绘制的机会。
(7) Pivot :修改粒子渲染的轴点。
(8) VisualizePivot :可视化轴点。
Masking:
CustomVertexStreams:在材质的顶点着色器中配置哪些粒子属性可用 CastShadows:使用阴影。ReceiveShadows:规定阴影是否可以投射到粒子上,只有Opaque(不透明)的材质可以接受阴影。
以上就是c#使用Unity粒子实现炮塔发射系统的详细内容,更多关于Unity粒子系统炮塔发射的资料请关注其它相关文章!
查看更多关于c#使用Unity粒子实现炮塔发射系统的详细内容...