2012-12-25 15:00:02 asd237241291 阅读数 19677

原创文章如需转载请注明:转载自 脱莫柔Unity3D QQ群:119706192本文链接地址: Unity3D ParticleSystem粒子系统(3.5版)【初级】

创建"粒子系统物体"(点击菜单GameObject -> Create Other -> Particle System)

添加"粒子系统组件"(点击Component -> Effects  -> Particle System)

粒子系统检视面板

 点击粒子系统检视面板的右上角的"+"来增加新的模块。(Show All Modules:显示全部

初始化模块:

回顶部
  • 持续时间(Duration):粒子系统发射粒子的持续时间
  • 循环(Looping):粒子系统是否循环
  • 预热(Prewarm):当looping开启时,才能启动预热(Prewarm),游戏开始时粒子已经发射了一个周期。
  • 初始延迟(Start Delay):粒子系统发射粒子之前的延迟。注意在prewarm(预热)启用下不能使用此项。
  • 初始生命(Start Lifetime)以秒为单位,粒子存活数量。
  • 初始速度(Start Speed):粒子发射时的速度。
  • 初始大小(Start Size):粒子发射时的大小。
  • 初始旋转(Start Rotation):粒子发射时的旋转值。
  • 初始颜色(Start Color):粒子发射时的颜色。
  • 重力修改器(Gravity Modifier):粒子在发射时受到的重力影响。
  • 继承速度(Inherit Velocity):---控制粒子速率的因素将继承自粒子系统的移动(对于移动中的粒子系统)。
  • 模拟空间(Simulation Space):粒子系统在自身坐标系还是世界坐标系。
  • 唤醒时播放(Play On Awake):如果启用粒子系统当在创建时,自动开始播放。
  • 最大粒子数(Max Particles):粒子发射的最大数量

发射模块(Emission):

回顶部

控制粒子的发射时的速率,在粒子系统存续期间可以在某个时间生成大堆粒子(模拟爆炸)。

  • 速率(Rate):每秒的粒子发射的数量 (小箭头可选择“每秒(Time)”或“每米(Distance)”)。
  • 突发(Bursts):在粒子系统生存期间增加爆发
  • 爆炸的时间 | 数量(Time | Particles):指定时间(在生存期内,以秒(Time)为单位时),将发射指定数量的粒子。用"+"或"-"调节爆发数量。

发射器形状模块(Shape):

回顶部

发射器形状内部随机位置生成,并能提供初始的力,该力的方向将延表面法线或随机方向发射。

  1. 球体【Sphere】
    • 半径(Radius):球体的半径。
    • 从外壳发射(Emit from Shell):从球体外壳发射。
    • 随机方向(Random Direction):随机方向或是沿表面法线。
  2. 半球【Hemisphere】
    • 半径(Radius):半椭圆的半径。
    • 从外壳发射(Emit from Shell):从半椭圆外壳发射。
    • 随机方向(Random Direction):随机方向或是沿表面法线。
  3. 锥体【Cone】喇叭~
    • 角度(Angle):圆锥的角度(喇叭口)。如果是0,粒子将延一个方向发射(直筒)。
    • 半径(Radius ):发射口半径。
  4. 立方体【Box】
    • Box X:X轴的缩放值
    • Box Y:Y轴的缩放值
    • Box Z:Z轴的缩放值
    • 随机方向(Random Direction):粒子将延一个随机方向发射(取消:延Z轴发射)。
  5. 网格【Mesh】
    • 类型(Type):粒子将从顶点(Vertex)、边(Edge)、或三角面(Triangle)发射。
    • 网格(Mesh):选择一个面作为发射面。
    • 随机方向(Random Direction):粒子发射将随机方向或是沿表面法线。

存活时间的速度模块(Velocity Over Lifetime): 

回顶部

粒子的直接动画路径。(通常用于复杂物理粒子,不过是简单的视觉行为和物理世界的小互动,如与飘荡的烟雾和气温降低。)

  • XYZ:使用常量曲线或在曲线中随机去控制粒子的运动。
  • Space:局部/世界 速度值在局部还是世界坐标系。

存活期间的限制速度模块(Limit Velocity Over Lifetime):

回顶部

-基本上被用于模拟的拖动。如果有了确定的阀值,将抑制或固定速率。可以通过坐标轴或向量调整。

  • 分离轴(Separate Axis):用于每个坐标轴控制。
  • ----速度(Speed):用常量或曲线指定来限制所有方向轴的速度。(未选中)
  • ----XYZ:用不同的轴分别控制。见最大最小曲线。(选中)
  • 阻尼(Dampen):(0-1)的值确定多少过度的速度将被减弱。(值为0.5,将以50%的速率降低速度)

存活期间的受力模块(Force Over Lifetime):

回顶部
  • XYZ:使用常量或随机曲线来控制作用于粒子上面的力。
  • Space:Local自己的坐标系,World世界的坐标系。
  • 随机(Randomize):每帧作用在粒子上面的力都是随机的。(两组xyz时可选择,随机范围是这两组xyz之间的差值。)

存活时间的颜色模块(Emission):

回顶部

控制每个粒子存活期间的颜色(与初始颜色叠加)。粒子存活时间越短变化越快。

两种颜色随机比例互相叠加。

颜色速度模块(Color By Speed):

回顶部

使粒子颜色根据其速度动画化。为颜色在1个特定范围内重新指定速度。

  • 颜色(Color):用于指定的颜色。使用渐变色来指定各种颜色。
  • 颜色缩放(Color Scale):使用颜色缩放可以方便的调节纯色和渐变色。
  • 速度范围(Speed Range):min和max值用来定义颜色速度范围。

存活时间的大小模块(Size Over Lifetime):

回顶部
  • 大小(Size):控制每个粒子在其存活期间内的大小。曲线,随机双曲线或随机范围数值。

存活时间的大小速度模块(Size By Speed):

回顶部
  • 大小(Size):大小用于指定速度。用曲线表示各种大小。
  • 速度范围(Speed Range):min和max值用来定义大小速度范围。

存活期间的旋转速度模块(Rotation Over Lifetime):

回顶部

以度为单位指定值。

  • 旋转速度(Rotational Speed):控制每个粒子在其存活期间内的旋转速度。使用常量,曲线,2曲线随机。

旋转速度模块(Rotation By Speed):

回顶部
  • 旋转速度(Rotational Speed):用来重新测量粒子的速度。使用曲线表示各种速度。
  • 速度范围(Speed Range):为min和max值用来定义旋转速度范围。

碰撞模块(Collision Module):

回顶部

为粒子系统建立碰撞。现在只有平面碰撞被支持,这个将很有效率的做简单探测。

  • 平面(Planes):Planes被定义为指定引用。可以动画化。如果多个面被使用,Y轴作为平面的法线。
  • 阻尼(Dampen):0-1 在碰撞后变慢。
  • 反弹(Bounce):0-1 当粒子碰撞后的反弹力度。
  • 生命减弱(Lifetime Loss):(0-1) 每次碰撞胜铭减弱的比例。0,碰撞后粒子正常死亡。1,碰撞后粒子立即死亡。
  • 可视化(Visualization):可视化平面:网格还是实体
  • -----网格(Grid):在场景渲染为辅助线框。
  • ----实体(Solid):在场景渲染为平面。
  • 缩放平面(Scale Plane):重新缩放平面

子粒子发射模块(Sub Emitter):

回顶部

可以生成其他粒子系统,用下列的粒子事件:出生、死亡、碰撞。

  • 出生(Birth):在每个粒子出生的时候生成其他粒子系统
  • 死亡(Death):在每个粒子死亡的时候生成其他粒子系统
  • 碰撞(Collision):在每个粒子碰撞的时候生成其他粒子系统。重要的 碰撞需要建立碰撞模块。见碰撞模块

纹理层动画模块(Texture Sheet Animation):

回顶部

在粒子存活期间动画化UV坐标。动画每帧可以显示在表格或1个表格的每行,这样将动画分开。每帧可以用曲线动画或者在2个曲线取随机。速度被定义为"循环"、
注意:用于动画的纹理是在渲染器模块中材质找到使用的。

  • 平铺(Tiles):定义纹理的平铺
  • 动画(Animation):指定动画类型:整个表格或是单行。
  • ----整个表(Whole Sheet):为UV动画使用整个表格。
  • -------时间帧(Frame over Time):在整个表格上控制UV动画。使用常量,曲线,2曲线随机。
  • ----单行(Single Row):为UV动画使用表格单独一行。
  • -------随机行(Random Row):如果选择第一行随机,不选择得指定行号(第一行是0)
  • -------时间帧(Frame over Time):在1个特定行控制每个粒子的UV动画。使用常量,曲线,2曲线随机。
  • 周期(Cycles):指定动画速度。

渲染器模块(Renderer):

回顶部

渲染模块显示粒子系统渲染组件的属性。注意:即使一个游戏物体有渲染粒子系统组件,当此模块被删除/添加后,它的属性也只能显示在这里。这个实际上是粒子系统渲染组件的添加和删除。

  • 渲染模式(Render Mode):选择下列粒子渲染模式之一
  • ----广告牌(Billboard):让粒子永远面对摄像机。
  • ----拉伸广告牌(Stretched Billboard):粒子将通过下面属性伸缩。
  • -------摄像机缩放(Camera Scale):决定摄像机的速度对粒子伸缩的影响程度。
  • -------速度缩放(Speed Scale):通过比较速度来决定粒子的长度。
  • -------长度缩放(Length Scale):通过比较宽度来决定粒子的长度。
  • ----水平广告牌(Horizontal Billboard):让粒子延Y轴对齐,面朝Y轴方向。
  • ----垂直广告牌(Vertical Billboard):当面对摄像机时,粒子延XZ轴对齐。
  • ----网格(Mesh):粒子被渲染时使用mesh而不是quad。
  • -------网格(Mesh):渲染粒子所用的网格引用。
  • 材质(Material):材质。
  • 排序模式(Sort Mode):绘画顺序可通过具体,生成早优先和生成晚优先。
  • 排序校正(Sorting Fudge):使用这个将影响绘画顺序。粒子系统带有更低sorting fudge值,更有可能被最后绘制,从而显示在透明物体和其他粒子系统的前面 。
  • 投射阴影(Cast Shadows):粒子能否投影?这是由材质决定的。
  • 接受阴影(Receive Shadows):粒子能否接受阴影?这是由材质决定的。
  • 最大粒子大小(Max Particle Size):设置最大粒子大小,相对于视窗大小。有效值为0-1。

粒子系统检视面板

管理复杂的粒子效果,untiy提供了粒子编辑器,用户从监事面板的粒子组件面板可以点击"Open Editor"按钮。


2016-09-21 00:14:04 Acmer_Sly 阅读数 2912

本文转载自 “android,unity3d” 博客,出处http://mahaile.blog.51cto.com/2891586/771167


首先创建一个新的场景 
 
 
点击菜单栏中的 Terrain-> create Terrain 菜单  

 
 
完成后如 下图
 
 
 
 
 
 

创建地形系统的时候 unity会按默认的 宽高 图像分辨率,纹理分辨率 等创建一个地形  不过不怕 这些我们都可以修改滴  

  如果需要在game 窗口(即是游戏运行窗口)中看效果 ,需要调整下摄像机的位置和角度  

操作方式  选中  Hierarchy 中的 main camera 摄像机 然后使用 场景编辑器上面那4 个 功能(拖动,移动,旋转,缩放)进行调节即可 调节过程中就可以再game 窗口中看到效果啦,   各位童鞋 多操作几次就可以熟练操作了


 
点击 Terrain ->resolution 菜单 可以设置地形的各个参数
 
 
 
如下图
 
 
 
 
 
 
 
 

 
如上图所示从上到下分别代表的含义是

 
Terrain Width: 地形的宽度

Terrain Height: 地形的高度

Terrain Length:地形的长度
 
HeightMap Resolution:地形高度图的分辨率
 
Detail Resolution:细节分辨率,控制草和细节网格地图的分辨率。数值越高标示效果越好,想对也越消耗机器性能,可能会卡。根据情况适当的调节。
 
Control Texture Resolution:控制不同纹理的分辨率。
 
Base Texture Resolution:控制相对纹理分辨率,这里指一定范围内的。

 
 
设置完毕点击 set Resolution按钮,有兴趣的朋友可以动态的修改一下参数,看看你的地形发生了什么样的改变?

 
修改完后我们来给地形添加点元素吧 

 
选中 Hierarchy 中的 刚刚创建的terrain 地形 右边出现了地形的编辑窗口
 
如图
 
 
 
 
 
 
 
 
 
 
上图中 的红框框 讲解  从上 到下
 
 
1: position 是地形的 位置坐标  
 
   rotation 的旋转坐标
 
   scale   缩放比例
 
   这个位置任何游戏组件都有这 3 个属性
 
 
 
2:  这7 个属性 从左往右 分别是 编辑高度、编辑特定高度、设置平滑、纹理贴图、画树模型、画草模型、其他设置.善用着七个工具可以编辑一个非常不错的游戏地形,稍后我会介绍这七个按钮的具体操作流程。
 
 
 
 2.1 选中编辑高度   下面出现 barusher 和 settings  属性栏

Brushes:地形绘制画笔,这里有很多种画笔的图案可供我们选择。
 
Brush Size :画笔宽度取值范围
Opacity :画笔高度取值范围
 

 
如图 
 
 
 
 
 
各位童鞋 可以修改参数 在地图系统上 绘制 高度 感受这些参数的 意义 
 
 
 
 
 
 
上图是我使用编辑高度拖拽出来的效果  现在有点难看哈 ,,没事滴   我们继续完善它 

 
 
2.2  编辑特定高度
 
 
和编辑高度页面中的信息差不多,只是多了一个Height用来设置最大的高度,编辑高度中Opacity是最大高度,但是在这里Height才是最大高度但是Opacity必需有数值,举个例子Opacity设置为100  Height设置 80 最高的高度就是80   .Opacity设置为20  Height设置 100最高的高度还是20.   
 
 
 
 
2.3 设置平滑
 
用上面拉出来的地形 如果 近距离看 会发现 有些山峰 的边角会有些粗糙, 这时我们就可以使用 设置平滑来 山峰的边角平滑过渡

 
2.4  纹理贴图
 
这个东东呢 ,就是给地图加上图片 ,从而实现 好看的地图 而非像上面光光的  图片资源方面我们可以导入系统标准的资源库,里面有很多好看的地形资源,当然也可以自己添加喜欢的图片做地形资源。
 
导入系统 图片资源  选择  菜单栏中的assets -> import package -> terrain assets   点击导入 ,这里只是导入 地形系统的资源  在此次你也可以导入其他资源   如下图
 
 
 
 
 
 
 
 

 
点击Edit Textures  出现一个下拉列表
 add Textures 添加一个贴图 
 Edit Textures  编辑贴图
 Remove Textures删除贴图
 
点击 addTextures 添加一个贴图 
 
如图 中的 箭头 标记  选择一个 你喜欢的地形图片  给地形 
 
 
 
 
 

Add Terrain Texture (添加贴图)
splat :选择一个贴图,上面导入了系统自带的地形资源,在这里随便添加两个贴图用于区分资源。也可以添加自己喜欢的图片,拖放在工程中就可以在这里看到图片资源。
 
Tile size x: 设置贴图X轴宽度
Tile size x:设置贴图Y轴宽度
Tile offset x:设置贴图X轴偏移量
 

Tile offset y:设置贴图Y轴偏移量


 

有兴趣的童鞋修改一下参数方可看到效果,这里暂时使用默认数值。。


 
 
现在回头看看 是不是好看多了 , 精彩还在后面的 ,我们继续 ....

 
 
2.5   画树模型 
 
 
既然 是地形 当然是有树啦  
 
 
Hierarchy 标签栏中,点击Create - > Tree 可以创建一个树的模型,设置自己的树木模型,这里我们先导入系统自带的树木模型,以后在讨论自定义模型的制作。

 
因为新建的工程中是没有树木和草地的贴图元素,可以在Unity3D 的标准资源库中导入,导入的方法和纹理贴图介绍的一样。打开Unity3D 在Project标签栏中 鼠标右键 Import package - > Tree Creator 将标准树木资源模型导入工程。
 
 
点击 Add Terrain Texture 添加一个 树模型  过程和 添加纹理贴图 类似 
 
 
如下图  
 
 
 
 
 
在上图中 花树模型的 属性 
 
 
Brush Size : 画笔绘制一次树木添加数量,数值越大越多,越小则越少,取值范围0到100。
Tree Density:树之间的百分比,在一片树中间在放入量一片树就得修改这个数值了,取值范围0到100。
Color Variation:树之间颜色差的范围,取值范围0到1。
TreeHeight:树的高度,它是与场景模型有一定比例,越大树越高,取值范围0到200。
Variation:树与树之间的高度比例,取值范围0到30。
Tree Width:树的宽度,它是与场景模型有一定比例,越大树越宽,取值范围0到200。
Variation: 树与树之间的宽度比例,取值范围0到30。


 
 
 
 
 
 
童鞋可以 调整这些参数 才地形上 花 并观看 效果 

 
我在 地形上 添加了 树 效果如下

 
 
 
 
game 游戏运行时的效果 如图
 
 
 
但我们在 游戏 的 game 窗口中 看 效果 会 发现  地形中 灰暗暗的一片  这是为什么呢 , 这是因为 光线不够 ,   这些unity 都为我们想好了 ,记得我们 前面有一章讲了 game object 吗 ?  现在我们来添加一个 平行光 (如何添加平行光 不知道的童鞋去看 Unity3D游戏开发 创建简单的游戏世界(三)  添加游戏组件 ),给 地形加点 亮度
 
各位童鞋注意哦,平行光的位置对游戏中的亮度是没有关系的, 角度才对亮度有关系, 所以我们添加了 平行光 旋转旋转角度就可以搞定了   

 
如下图 是不是好看多了  
 
 
 
 
画草模型:

起始它不仅能草,还能画一些自定义模型,可以处理一些零碎的小东西丰富游戏场景 它或 画树模型有些类似  这里就不再多啰嗦了 
 
主要设置一些3D游戏地形的一些参数


一下面列出一些主要参数的介绍,盆友们可以自己拖动鼠标修改一下其中的具体数值就可以在游戏视图中清晰的看到效果。

Pixel Error:控制地形密度容差,数值越大越圆滑,越小地形角度越明显。
Base Map Dist:控制地形贴图的距离.
Case shadows: 是否显示地形阴影
Draw:是否绘制绘制场景模型,比如树,草等等。
Wind Settings 地形中风的设置
Speed:风速 
Size:风的范围


 
 
学习了这一章 童鞋们赶快 试试 制作自己的喜欢的游戏地形吧 ,   哈哈 ,, 这章暂时就到这了 ,  有什么不明白的地方或遗漏的地方  欢迎积极留言 , 大家共同学习 共同进步 咔咔 

2017-09-29 20:03:05 RT_Geek 阅读数 818

Unity3d的背包系统,基于UGUI开发,使用的是Unity2017.1开发,但实测5.x也可以用。实现的功能有背包物品的拖拽,物品的提示信息、角色面板、商店、箱子、商店、物品的合成、升级等功能;

物品信息是由Json存储,使用unity3d插件JSON Object解析;


下节继续。。。。。。


2014-11-18 10:10:20 wolf96 阅读数 3615

选中带骨骼的3d模型

GameObject->Create Other->Ragdoll...

点开发现弹出了一个Create Ragdoll的窗口

前面的基础transform把骨骼拖进去即可

root 脖子

right Hips(右屁股)用右大腿根就行

right knee 右小腿

right foot 右脚

right arm右大臂根部

right elbow 右小臂


left就是right的左侧


middle spine 胯骨

head 头部

strength 强度

total mass 总质量,与倒下速度有关

注意以上骨骼不能重复

都弄完后点击Create,

在运行下,人物很逼真的倒下了。。。。




--by wolf96







没有更多推荐了,返回首页